|
|
@@ -10,25 +10,22 @@ import com.ydtech.modules.ins.model.vo.RiskInfoVo;
|
|
|
import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
|
|
|
import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequest;
|
|
|
import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequestHead;
|
|
|
+import com.ydtech.modules.order.entity.api.huatai.constants.HuaTaiTransCode;
|
|
|
+import com.ydtech.modules.order.entity.api.huatai.response.HuaTaiActualValueResponse;
|
|
|
import com.ydtech.modules.order.entity.api.huatai.response.HuaTaiModelsQueryResponse;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.BaseRequestHead;
|
|
|
import com.ydtech.modules.order.entity.api.zhongmei.constants.TimeConstants;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.constants.TransCode;
|
|
|
import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.ContractEnum;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.request.QuotedPriceRequest;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.response.ModelsQueryResponse;
|
|
|
import com.ydtech.modules.order.entity.config.HuaTaiConfigureParameters;
|
|
|
-import com.ydtech.modules.order.entity.config.ZmConfigureParameters;
|
|
|
import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
|
|
|
import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
|
|
|
import com.ydtech.modules.order.entity.vo.VehicleAndVesselTax;
|
|
|
-import com.ydtech.utils.StringUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.Data;
|
|
|
import lombok.EqualsAndHashCode;
|
|
|
import lombok.NoArgsConstructor;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
@@ -49,14 +46,14 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@JsonProperty("businessData")
|
|
|
private BusinessDataDto businessData;
|
|
|
|
|
|
- public HuaTaiQuotedPriceRequest(BaseQuoteInfoVo baseQuoteInfoVo, HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto, AccidentalDrivingVo accidentalDrivingVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
- this.businessData = new BusinessDataDto(baseQuoteInfoVo, fullCarDataDto, accidentalDrivingVo, huaTaiConfigureParameters);
|
|
|
+ public HuaTaiQuotedPriceRequest(BaseQuoteInfoVo baseQuoteInfoVo, HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto, HuaTaiActualValueResponse actualValueResponse, AccidentalDrivingVo accidentalDrivingVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
+ this.businessData = new BusinessDataDto(baseQuoteInfoVo, fullCarDataDto,actualValueResponse, accidentalDrivingVo, huaTaiConfigureParameters);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void setHead(HuaTaiBaseRequestHead head) {
|
|
|
super.setHead(head);
|
|
|
- super.getHead().setTransCode(TransCode.QUOTE_PRICE);
|
|
|
+ super.getHead().setTransCode(HuaTaiTransCode.QUOTE_PRICE);
|
|
|
}
|
|
|
//Y 机构代码
|
|
|
@JsonProperty("loginCom")
|
|
|
@@ -84,7 +81,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@JsonProperty("saleInfo")
|
|
|
private SaleInfoDto saleInfo;
|
|
|
|
|
|
- public BusinessDataDto(BaseQuoteInfoVo baseQuoteInfoVo, HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto, AccidentalDrivingVo accidentalDrivingVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
+ public BusinessDataDto(BaseQuoteInfoVo baseQuoteInfoVo, HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto, HuaTaiActualValueResponse actualValueResponse,AccidentalDrivingVo accidentalDrivingVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
CarInfoVo carInfo = baseQuoteInfoVo.getCarInfo();
|
|
|
List<RiskInfoVo> riskList = baseQuoteInfoVo.getRiskList();
|
|
|
List<KindInfoVo> kindList = baseQuoteInfoVo.getKindList();
|
|
|
@@ -98,7 +95,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
// 车辆信息
|
|
|
this.insuredObject = new InsuredObjectDto(carInfo, fullCarDataDto);
|
|
|
// 保险信息
|
|
|
- this.contract = new ContractDto().getContract(riskList, kindList, i - 1,vesselTax);
|
|
|
+ this.contract = new ContractDto().getContract(riskList, kindList, i - 1,vesselTax,actualValueResponse);
|
|
|
// 客户信息
|
|
|
this.customer = new CustomerDto().getCustomers(ownerInfo, policyHolderInfo, insuredPersonInfo);
|
|
|
//销售信息
|
|
|
@@ -122,7 +119,10 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@JsonProperty("computerIp")
|
|
|
private String computerIp;
|
|
|
public BusinessMainDto(HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
-
|
|
|
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ this.makeCom = huaTaiConfigureParameters.getComCode();
|
|
|
+ this.operatorCode = huaTaiConfigureParameters.getOperatorCode();
|
|
|
+ this.operateDate = df.format(new Date());
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -365,7 +365,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@JsonProperty("ChargingPost")
|
|
|
private List<ChargingPostDto> chargingPost;
|
|
|
|
|
|
- public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, List<KindInfoVo> kindInfoVos, Integer quantity,VehicleAndVesselTax vesselTax) {
|
|
|
+ public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, List<KindInfoVo> kindInfoVos, Integer quantity,VehicleAndVesselTax vesselTax, HuaTaiActualValueResponse actualValueResponse) {
|
|
|
List<ContractDto> contractDTOS = new ArrayList<>();
|
|
|
for (RiskInfoVo riskInfoVo : riskInfoVos) {
|
|
|
ContractDto contractDto = new ContractDto();
|
|
|
@@ -375,7 +375,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
contractDto.tax = new ContractDto.TaxDto(vesselTax);
|
|
|
}
|
|
|
if (InsuranceRisk.BUSINESS.getCode().equals(riskInfoVo.getRiskCode())) {
|
|
|
- contractDto.coverage = new ContractDto.CoverageDto().getBusiness(kindInfoVos, quantity,contractMain);
|
|
|
+ contractDto.coverage = new ContractDto.CoverageDto().getBusiness(kindInfoVos, quantity,contractMain,actualValueResponse);
|
|
|
}
|
|
|
contractDTOS.add(contractDto);
|
|
|
}
|
|
|
@@ -464,7 +464,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
* @param quantity 乘客数
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<CoverageDto> getBusiness(List<KindInfoVo> kindInfoVos, int quantity,ContractMainDto contractMain) {
|
|
|
+ public List<CoverageDto> getBusiness(List<KindInfoVo> kindInfoVos, int quantity,ContractMainDto contractMain, HuaTaiActualValueResponse actualValueResponse) {
|
|
|
List<CoverageDto> list = new ArrayList<>();
|
|
|
for (KindInfoVo kindInfoVo : kindInfoVos) {
|
|
|
CoverageDto coverageDto = new CoverageDto();
|
|
|
@@ -480,9 +480,8 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
coverageDto.unitAmount = String.valueOf(kindInfoVo.getUnitAmount());
|
|
|
// 车损
|
|
|
if ("A".equals(code)) {//中煤特殊处理
|
|
|
- //车损险保额,第三方若有实际价值判断逻辑,可按照第三方规则送保额,中煤会校验保额是否在新车购置价浮动范围期间内;
|
|
|
- //若第三方无实际价值判断逻辑,可保额直接送0,中煤会按照中煤实际价值逻辑自动覆盖;
|
|
|
- coverageDto.amount = 0;
|
|
|
+ //车损险保额
|
|
|
+ coverageDto.amount = actualValueResponse.getActualValue();
|
|
|
}
|
|
|
// 司机
|
|
|
if (ArrayUtil.indexOf(InsuranceTypeCorrespondence.getDriver(), code) >= 0) {
|