⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 droolsbusiness.java

📁 使用Drool规则引擎开发关于保险评估的一个案例。仅供参考
💻 JAVA
字号:
package org.acme.insurance.web;import java.text.SimpleDateFormat;import java.util.Date;import javax.servlet.http.HttpServletRequest;import org.acme.insurance.base.AccessoriesCoverage;import org.acme.insurance.base.Driver;import org.acme.insurance.base.DriverAdditionalInfo;import org.acme.insurance.base.Policy;import org.acme.insurance.base.SupplementalInfo;import org.drools.StatefulSession;public class DroolsBusiness {	private DriverAdditionalInfo driverAdit = new DriverAdditionalInfo();	private SupplementalInfo suppinfo = new SupplementalInfo();	private AccessoriesCoverage accessCov = new AccessoriesCoverage();	private Driver driverMale = new Driver();	private SimpleDateFormat df = new java.text.SimpleDateFormat("MM/dd/yyyy");	private Date defaultBirthday;	private Policy policy = new Policy();	private StatefulSession session;	public boolean isApproved() {		return policy.isApproved();	}	public double getBasePrice() {		return policy.getBasePrice();	}	public double getRiskFactor() {		return driverMale.getInsuranceFactor();	}	public double getInsurancePrice() {		return policy.getInsurancePrice();	}	public void execute(HttpServletRequest request) throws Exception {		session = InsuranceSessionHelper.getSession();		defaultBirthday = df.parse(request.getParameter("birthdate"));		policy.setBasePrice(500.00);		driverMale.setBirhDate(defaultBirthday);		driverMale.setId(400);		driverMale.setGenre(Integer.parseInt(request.getParameter("sexo")));		driverMale.setMaritalState(Integer.parseInt(request				.getParameter("estadoCivil")));		driverMale.setHasChildren(Boolean.parseBoolean(request				.getParameter("temFilhos")));		driverMale.setPriorClaims(Integer.parseInt(request				.getParameter("sinistros")));		driverMale.setLicenceYears(Integer.parseInt(request				.getParameter("habilitacao")));		driverAdit.setDriverId(driverMale.getId());		driverAdit.setDayVehiclePlace(Integer.parseInt(request				.getParameter("garagemDia")));		driverAdit.setNightVehiclePlace(Integer.parseInt(request				.getParameter("garagemNoite")));		driverAdit.setJobStatus(Integer.parseInt(request				.getParameter("profissao")));		driverAdit.setResidenceStatus(Integer.parseInt(request				.getParameter("condicaoImovel")));		suppinfo.setDriverId(driverMale.getId());		suppinfo.setExtraAssistence(Boolean.parseBoolean(request				.getParameter("assistencia24h")));		suppinfo.setExtraCar(Boolean.parseBoolean(request				.getParameter("carroReserva")));		suppinfo.setGlassCoverage(Boolean.parseBoolean(request				.getParameter("vidros")));		suppinfo.setNonRelatedExpenses(Boolean.parseBoolean(request				.getParameter("despExtra")));		accessCov.setDriverId(driverMale.getId());		accessCov.setAlarmSystemValue(Double.parseDouble(request				.getParameter("sistemaSom")));		accessCov.setArmorValue(Double.parseDouble(request				.getParameter("blindagem")));		accessCov.setSoundSystemValue(Double.parseDouble(request				.getParameter("sistemaSom")));		policy.setApproved(false);		session.insert(policy);		session.insert(driverMale);		session.insert(driverAdit);		session.insert(suppinfo);		session.insert(accessCov);		session.fireAllRules();		System.out.println("Insurance Factor: "				+ driverMale.getInsuranceFactor());		System.out.println("Is Approved     : " + policy.isApproved());		System.out.println("Insurance Price :" + policy.getInsurancePrice());				session.dispose();	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -