Просмотр исходного кода

添加泰康 核对一些字段

wlq 1 год назад
Родитель
Сommit
cf5547f059

+ 26 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/client/HttpService.java

@@ -234,6 +234,32 @@ public class HttpService {
         return response.getData();
     }
 
+    /**
+     * 当前渠道是否支持十座以上客车
+     *
+     * @param token
+     * @param tplatformId
+     * @param fromId
+     * @param comCode
+     * @return 0:不支持10座以上的客车。1:支持。
+     */
+    public String carTypePassengerSeat(String token, String tplatformId, String fromId, String comCode) {
+        CarTypeParam param = new CarTypeParam();
+        param.setTplatformId(tplatformId);
+        param.setChannelCode("OffWeb");
+        param.setFromId(fromId);
+        param.setComCode(comCode);
+
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.add("tkCarRequestToken", token);
+
+        CarTypeResult.Response response = client.request(HttpURL.carType, param, httpHeaders, CarTypeResult.Response.class);
+
+        checkResponseUnknownField(response);
+
+        return response.getPassengerSeat();
+    }
+
     /**
      * 05 根据关键字查询渠道
      *

+ 2 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/TKLoginSession.java

@@ -18,4 +18,6 @@ public class TKLoginSession {
 
     private LoginResult loginInfo;
 
+    private String comCode;
+
 }

+ 1 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TKQuotationBaseServiceImpl.java

@@ -113,7 +113,7 @@ public class TKQuotationBaseServiceImpl implements QuotationBaseService {
         // todo 暂时不知道是否需要执行 /car/modelinfo/checkVehicleType 接口
 
         // # 创建车险投保单
-        tkSimpleService.orderCreate(session, mainOrderId, commonCarInfoVo, tkAreaInfoVo, tkCarModel);
+        tkSimpleService.orderCreate(session, mainOrderId, commonQuoteVo, tkAreaInfoVo, tkCarModel);
 
         // # 初始化车险投保单
         PreciseInitResult preciseInitResult = tkSimpleService.orderInit(session, mainOrderId);

+ 56 - 25
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TKSimpleService.java

@@ -40,13 +40,20 @@ public class TKSimpleService {
 
         token = identityTokenResult.getTkCarRequestToken();
 
+
         TKLoginSession session = new TKLoginSession();
-        session.setUsername(loginInfo.getWebsysUserVo().getUsername());
+        session.setToken(token);
         session.setTplatformId(tplatformId);
-        session.setTplatLoginKey(loginInfo.getTplatLoginKey());
-        session.setFromid(loginInfo.getWebsysUserVo().getFromid());
         session.setLoginInfo(loginInfo);
-        session.setToken(token);
+        session.setTplatLoginKey(loginInfo.getTplatLoginKey());
+
+        LoginResult.WebsysUserVo websysUserVo = loginInfo.getWebsysUserVo();
+        if (websysUserVo != null) {
+            session.setUsername(websysUserVo.getUsername());
+            session.setFromid(websysUserVo.getFromid());
+            String comCode = websysUserVo.getWebsysUserAreaVos().get(0).getAreacode();
+            session.setComCode(comCode);
+        }
 
         return session;
     }
@@ -531,9 +538,9 @@ public class TKSimpleService {
      * <pre>
      * var _carOwnerNature = $("#ownerNature input:radio[name=nature]:checked").val();//车主性质
      * if (passengerSeat == '1'){
-     * 	obj.carInfoVo.carType = _carType;
+     *    obj.carInfoVo.carType = _carType;
      * } else {
-     * 	if ( _carType == 'A' && _carOwnerNature == '1'){//个人客车
+     *    if ( _carType == 'A' && _carOwnerNature == '1'){//个人客车
      * 		obj.carInfoVo.carType = 'A';
      *    } else if (_carType == 'A' &&  == '2'){//机关团体客车
      * 		obj.carInfoVo.carType = 'C';
@@ -551,6 +558,10 @@ public class TKSimpleService {
      * @return
      */
     public String carType(String passengerSeat, String carType, String carOwnerNature) {
+        if (passengerSeat == null || carType == null || carOwnerNature == null) {
+            return carType;
+        }
+
         if (!passengerSeat.equals("1")) {
             if (carType.equals("A")) {
                 if (carOwnerNature.equals("1")) {
@@ -588,6 +599,25 @@ public class TKSimpleService {
         String tplatLoginKey = session.getTplatLoginKey();
         String fromId = session.getFromid();
 
+
+        // 车辆所有人信息
+        TKCarOwnerVo carOwnerVo = new TKCarOwnerVo();
+
+        CustomerInfoVo commonCustomersInfo = commonQuoteVo.getOwnersInfo();
+
+        if (commonCustomersInfo != null) {
+            carOwnerVo.setCarOwnerNature("1"); // todo
+            carOwnerVo.setCertificateType("01");  // 身份证
+            carOwnerVo.setId(commonCustomersInfo.getIdentifyNumber());
+            carOwnerVo.setName(commonCustomersInfo.getName());
+            carOwnerVo.setBirthDate(commonCustomersInfo.getBirthday());
+            carOwnerVo.setSerialno(BigDecimal.ZERO);
+            carOwnerVo.setSex(commonCustomersInfo.getGender()); // todo
+            carOwnerVo.setInsuredAddress("");
+        }
+
+
+
         // 投保人信息
         SaveBasicInfoParam.InsureInfo insureInfo = new SaveBasicInfoParam.InsureInfo();
         insureInfo.setAppliInfo(new SaveBasicInfoParam.AppliInfo());
@@ -602,12 +632,20 @@ public class TKSimpleService {
         car.setCarBookingTime(""); // 页面上没有输入框,原注释为“上海地区开具发票日期”,但感觉是车辆时间。
         car.setBillNo(""); // 页面上没有输入框,发票号
 
-        String passengerSeat = "";
-        car.setCarType(carType(passengerSeat, tkCarModel.getModelName(), tkCarModel.getFuelType()));
-
         CarInfoVo commonCarInfoVo = commonQuoteVo.getCarInfoVo();
 
         if (commonCarInfoVo != null) {
+            // 车辆大类
+            String carKindCode = commonCarInfoVo.getCarKindCode();
+
+            if (carKindCode.equals(CarKindCode.CAR_KIND_CODE_A0.getCode())) {
+                car.setCarType("A");
+            } else if (carKindCode.equals(CarKindCode.CAR_KIND_CODE_A1.getCode())) {
+                car.setCarType("D");
+            } else {
+                throw new RuntimeException("未知车辆大类:" + carKindCode);
+            }
+
             car.setVinNo(commonCarInfoVo.getVinNo()); // 车架号
             car.setEngineNo(commonCarInfoVo.getEngineNo()); // 发动机号
             car.setEnrollDate(commonCarInfoVo.getRegisterDate()); // 初登日期
@@ -662,26 +700,19 @@ public class TKSimpleService {
             TKSimpleService.setLicenseTypeByLicenseNo(car, car.getLicenseNo());
         }
 
-        orderCreateOther(null);
-        car.setCarModel(Arrays.asList(tkCarModel));
-        car.setBrandName(tkCarModel.getModelName()); // todo 与 commonCarInfoVo.getBrandName() 重复
-
-        // 车辆所有人信息
-        TKCarOwnerVo carOwnerVo = new TKCarOwnerVo();
+        String passengerSeat = httpService.carTypePassengerSeat(session.getToken(), session.getTplatformId(), session.getFromid(), session.getComCode());
 
-        CustomerInfoVo commonCustomersInfo = commonQuoteVo.getOwnersInfo();
+        String carType = carType(passengerSeat, car.getCarType(), carOwnerVo.getCarOwnerNature());
 
-        if (commonCustomersInfo != null) {
-            carOwnerVo.setCarOwnerNature("1"); // todo
-            carOwnerVo.setCertificateType("01");  // 身份证
-            carOwnerVo.setId(commonCustomersInfo.getIdentifyNumber());
-            carOwnerVo.setName(commonCustomersInfo.getName());
-            carOwnerVo.setBirthDate(commonCustomersInfo.getBirthday());
-            carOwnerVo.setSerialno(BigDecimal.ZERO);
-            carOwnerVo.setSex(commonCustomersInfo.getGender()); // todo
-            carOwnerVo.setInsuredAddress("");
+        if (carType != null) {
+            car.setCarType(carType);
         }
 
+
+        orderCreateOther(null);
+        car.setCarModel(Arrays.asList(tkCarModel));
+        car.setBrandName(tkCarModel.getModelName()); // todo 与 commonCarInfoVo.getBrandName() 重复
+
         // 车船税信息
         TKCarTax carTax = new TKCarTax();
         carTax.setIsPayTax("1"); // 是否代缴车船税