Browse Source

添加泰康 临时提交

wlq 1 năm trước cách đây
mục cha
commit
fe77d1dd3d

+ 184 - 0
tenant/insurance/quotation-taikang/doc/A.md

@@ -0,0 +1,184 @@
+
+
+```js
+var rootBaseURL = "//car.tk.cn/carSelfService/rest";
+var baseURL = "//car.tk.cn/carSelfService/rest/controller/entrance";
+var payURL = "//car.tk.cn/carSelfService/rest/pay/getWechatPayMessage";
+var uploadImgUrl = "//car.tk.cn/carSelfService/PhototoBase64Servlet";
+var updatePayURL = "//car.tk.cn/carSelfService/rest/ordermange/updatePayOrder";
+var wapAddress = "//m.tk.cn/carTKInsure/#/insureProcess/userinformation/";
+var wechatAddress = "//wechat.wei.tk.cn/carTKInsure/#/insureProcess/userinformation/";
+var toHuanXinChat = '//car.tk.cn/offwebNew/#/customerService';   //在线客服路径
+var quoteInitUrl ='//car.tk.cn/carSelfService/rest/init/quote'; // 报价页面初始化接口
+var jcywInitUrl = '//car.tk.cn/carSelfService/rest/car/accident/init'; // 加购驾意险报价页面初始化接口
+var jcywPreciseUrl = '//car.tk.cn/carSelfService/rest/car/accident/quote'; //加购驾意险 计算保费
+var quotePreciseUrl = '//car.tk.cn/carSelfService/rest/precise/init'; //保费计算接口
+var quoteSaveUrl = '//car.tk.cn/carSelfService/rest/save/quote'; //保费保存接口
+var proposalSaveUrl = '//car.tk.cn/carSelfService/rest/car/accident/proposal'; //驾乘宝下单接口
+var floatNoticeUrl = '//car.tk.cn/carSelfService/rest/float/notice/get'; //浮动告知单接口
+var quotationUrl = '//car.tk.cn/carSelfService/rest/init/quotation'; //获取保单详情
+var quoteSendUrl = '//car.tk.cn/carSelfService/rest/precise/send/message'; // 发送报价信息到手机
+var tPlatFormDomain = '//car.tk.cn'; // T平台域名
+var xichengxuDomain = 'https://car.tk.cn'; // 跳转小程序
+var invoiceUrl = '//car.tk.cn/carSelfService/rest/image/getInvoiceURL'; // 发票信息
+var engageQueryUrl = '//car.tk.cn/carSelfService/rest/engage/engageQuery'; // 特约模板
+var policyUrl = '//car.tk.cn/carSelfService/rest/image/download/policy'; // 保单信息
+var sendEmailPolicy = '//car.tk.cn/carSelfService/rest/image/reSendEmail'; // 电子保单发送至邮箱
+var sendEmailInvoice = '//car.tk.cn/carSelfService/rest/image/sendElectronicInvoice'; // 电子发票发送至邮箱
+var endorseListUrl = '//car.tk.cn/carSelfService/rest/endorse/management/query'; // 批单管理
+var claimListUrl = '//car.tk.cn/carSelfService/rest/order/management/settlement'; // 陪案列表
+var claimPicturesUrl = '//car.tk.cn/carSelfService/rest/order/management/settlement'; // 陪案详情影像信息
+var claimCatalogueUrl = '//car.tk.cn/carSelfService/rest/image/query/accessory'; // 影像目录信息
+var staticFileUrl = '//car.tk.cn/carSelfStaticFiles/offweb/image/'; // 图片资源路径
+var getPriceNewUrl = '//car.tk.cn/carSelfService/rest/marketing/queryAntQuote'; //查看报价信息
+var groupCarAreaURL = '//car.tk.cn/carSelfService/rest/group/car/area'; //团车管理里的地区接口
+var groupCarListURL = '//car.tk.cn/carSelfService/rest/group/car/query' //团车列表
+var dialogListURL = '//car.tk.cn/carSelfService/rest/group/car/report' //团车弹框提交接口
+var checkCarUploadFile = '//car.tk.cn/carSelfService/carCheck/upload/file' // 验车资料上传接口
+var checkCarDeleteFile = '//car.tk.cn/carSelfService/carCheck/delete' // 验车资料删除接口
+var checkCarSubmit = '//car.tk.cn/carSelfService/carCheck/submit' // 验车资料上传完成提交接口
+var validateCarAIResult = '//car.tk.cn/carSelfService/carCheck/AIResult/query' // 智能验车
+var idCardCollection = '//car.tk.cn/carSelfService/rest/ocr/idCardCollection' //下单之后的证件采集接口
+var getRetransmission = '//car.tk.cn/carSelfService/rest/pay/forward' // 获取转发支付链接
+var kkk = 'MP5t1OVqJCBALNKc';
+var vvv = 'A9CAED282E409002'
+var recorURL = "//tbonline.tk.cn"; //可回溯上传地址测试预生产
+var sdkURL =  "//tbonline.tk.cn/SDK/BestWatcher.min.js";//可回溯引入js地址
+var APPKEY =  "6F34B4F00751421488629B3E6BAB88FF";//td埋点
+var REQUEST_URL =  "//tianew.taikang.com/g/w";//td埋点
+var WEB_VIEW_FLAG_UA =  "tkonline_car_wap_prod_20200207";//td埋点
+var loginCss = "//www.tk.cn/tkcms/file/upload/carInsurances/css/login.css"
+var loginJs = "//ecs.tk.cn/eservice/login/login.jsp"
+var offURL = "//car.tk.cn/offweb/views/page/basicInfo/basicInfo.html"
+var jquery = "//cdn.bootcss.com/jquery/3.3.1/jquery.js"
+var downTemplateList = '//car.tk.cn/carSelfService/carCheck/attorneyList' // 委托书列表
+var downTemplate = '//car.tk.cn/carSelfService/carCheck/attorney' // 下载委托书
+var canCrossRenewalUrl = '//car.tk.cn/carSelfService/rest/area/renewal';
+var priceListUrl = 'https://car.tk.cn/carTKInsure/#/priceList?';//H5报价单
+var currentEnv = 'pro';//用于判断当前环境
+var tradeChange = '//car.tk.cn/carSelfService/rest/order/management/agent/tradeChange'; //上海交易更改
+var senc_sdk = 'https://data-shence.tk.cn/sa?project=default';
+var APP_sc = '6F34B4F00751421488629B3E6BAB88FF';
+var tradeChangeList = '//car.tk.cn/carSelfService/rest/order/management/agent/tradeChangeList'
+
+```
+
+
+```js
+var bjmpdom = '';//66956渠道 车损险的dom内容
+var bjmpdomOption = [];//66956渠道 车损险不计免赔选项
+var actualValue = 0;//车辆实际价值
+var minValue, maxValue;
+var minValueDIDI, maxValueDIDI;
+var minValueMarket, maxValueMarket; // 网电营销的上下浮
+var purchasePrice = 0;//新车购置价
+var useYear = 0;//使用年限
+var seats = 0;//座位数
+var isCutCar = 0;//1减税车0非减税车
+var provinceCode = '';//省份code
+//var maxDate = 60;
+var instantInsureBZAllowed = 1 //是否允许较强险即时生效
+var instantInsureCIAllowed = 1 //是否允许商业险即时生效
+var forbidBzFlag//交强险是否在投保范围之内
+var forbidCiFlag//商业险是否在投保范围之内
+var bzKind = ''//交强险数据
+var isInitPremium = 0//是否为初始化保费计算 0 初始化 1点击保费计算
+var isRiskPremiumNext = 0//0险别初始化 1保费计算
+var choiceFlag = null//投保查询次数控制校验码
+var amount_jdcssbxInit = 0//车损险默认
+var startDateBZInit, startDateCIInit, endDateBZInit, endDateCIInit//交强险起保日期、商业险起保日期
+var inputAll = ''
+var tipsMessage = ''//自核规则提示语
+//var deviceList = [];//新增设备信息数组
+//var deviceListSum = {};//新增设备合计信息
+var deviceList = []//特种车新增设备信息数组
+var deviceListSum = {}//特种车新增设备合计信息
+var comCode = ''
+var renewalFlag = ''//是否续保标识 1续保 0非续保
+var isTurnToProtect = ''//是否转保标识 1续保 0非转保
+var statusBZ = ''//交强险状态  0非续保   1 续保
+var statusCIP = "";//商业险状态  0非续保   1 续保
+var carType = "";//车辆大类 D为货车 其他默认为客车
+var bzFlag, ciFlag;//交强险商业险投保标识
+var ciDisCount = 0;//交强险折扣系数
+var bzDisCount = 0;//商业险折扣系数
+var reward = 0;//投保奖励
+var isNewEnergyFlag = ''; //是否新能源车 0非新能源车  1新能源车
+var purchasePrice = 0; //新能源车购置价
+var isNewCar = 0; //是否新车
+var jqStartHour1 = '' //交强险的起保小时
+var statusFlag = '' //险别初始化返回状态标识
+var tplatformId = localStorage.getItem('tplatformId');
+// var tplatformId ='3eb09271425afd6f57aba4d25eee29da';
+// localStorage.setItem("fromId","66956");
+
+var priceImgHeight = '';
+var priceImgWidth = '';
+var priceImg = '';
+var property = "";//内勤标识
+var guCIInsureDemandPayList = [];//交强理赔列表
+var guCIInsureDemandPeccancyList = [];//交强交通违法记录
+var guCiInsureRiskItemDtoList = [];//交强优惠系数
+var guCiInsureRiskWarningList = [];//交强风险警告
+var guCIInsureDemand = {};//交强投保查询主表信息
+var guCIEndcaseInfoDtoList = [];//交强结案信息
+var guCIInsureDemandPayList1 = [];//商业理赔列表
+var guCIInsureDemandPeccancyList1 = [];//商业交通违法记录
+var guCiInsureRiskItemDtoList1 = [];//商业优惠系数
+var guCiInsureRiskWarningList1 = [];//商业风险警告
+var guCIInsureDemand1 = {};//商业投保查询主表信息
+var guCIEndcaseInfoDtoList1 = [];//商业结案信息
+var insurableList = [];//内勤增加不推荐投保险别列表
+var taxType = '';//是否是全国地区
+var taxFlag = ''; // 计税分类
+var ybwysz = []; //医保外用三者
+var ybwysj = []; //医保外用司机
+var ybwyck = []; //医保外用乘客
+//蚂蚁二期新增变量
+var marketQuery = commonfunCtrl.getParameterByName('marketQuery');
+var leadsid = commonfunCtrl.getParameterByName('leadsid');
+var antMode = commonfunCtrl.getParameterByName('antMode');//是否是飞马标识
+var premiumTrialFlag = commonfunCtrl.getParameterByName('premiumTrialFlag') ? commonfunCtrl.getParameterByName('premiumTrialFlag') : '0'; //保费试算标识
+console.log("保费试算标识", premiumTrialFlag)
+var RatioListAll = []; //T平台期望折扣列表
+var RatioList = [];//T平台商业险变化时期望折扣列表
+var quoNo = ''
+// T平台续保管理
+var renewalOrderManage = commonfunCtrl.getParameterByName('renewalManage');//续保管理标志
+var renewalOrderManageCode = commonfunCtrl.getParameterByName('renewalManageCode')
+console.log('142初始化', renewalOrderManageCode, premiumTrialFlag)
+var newRiskCode = '';//商业险类型
+var newRiskType = '';//返回的商业险类型
+var enrollDate = localStorage.getItem('firstCerti');//初登日期
+var provinceList = '';//省列表
+var cityList = '';//市列表
+var areaList = '';//区列表
+var backNum = 0;
+var addNum = 0;
+var realVal = '';//车辆实际价值
+var isSelsyEndTimeJq = '0';//是否勾选商业险止期同交强险止期
+var riskContrlInfoFlag = '0'
+var isSYdqd = '0'
+var passcarType = 0//过户车种类 1-单交强 2-单商业 3-交强险+商业险
+var startDateBZ = ''//过户车 交强险起保日期
+var startDateCIP = ''//过户车 商业险起保日期
+var startDateBZflag = 0//过户车 交强险起保日期显示标识 1-显示 0-不显示
+var startDateCIPflag = 0//过户车 商业险起保日期显示标识 1-显示 0-不显示
+var InstantInureFlagCI = '0' //过户车 交强实时起保标志
+var InstantInureFlagBI = '0' //过户车 商业实时起保标志
+var selJCYWXPlanCode = ''//驾意险选择的方案
+var detailsInfo = [] //vip权益
+var userName = localStorage.getItem('userName') || ''// 用于页面水印
+var bailoutDiscountLogo = '' //新疆续保纾困标识
+var initData = '' // 页面初始化数据集合
+var initStartDateBZ = '';//交强险初始起保日期
+var initStartDateCI = '';//商业险初始起保日期
+var orderVersion = localStorage.getItem('orderVersion') ? localStorage.getItem('orderVersion') : "";
+var issueOpinion = ''
+var insuredMemberFlag = commonfunCtrl.getParameterByName('insuredMemberFlag');
+var preQuoteFlag = 0;//是否为试算
+var carProduct = {};//车险专属产品
+var selectedButton = '';//选中按钮
+var jcywxcaseListHtmlVIP = []
+var jcywxcaseListHtml = []
+```

+ 1 - 1
tenant/insurance/quotation-taikang/CarModelQuery.md → tenant/insurance/quotation-taikang/doc/CarModelQuery.md

@@ -3,7 +3,7 @@
 
 大概有4到6种方式的查询,其中还有上海的特殊处理。
 
-少部分在 [CarModelinfoQueryParam.java](src/main/java/com/jzg/quotation/taikang/model/api/CarModelinfoQueryParam.java) 上, 大部分参数在 [KTCarInfoVo.java](src/main/java/com/jzg/quotation/taikang/model/entity/KTCarInfoVo.java) 上传值。
+少部分在 [CarModelinfoQueryParam.java](../src/main/java/com/jzg/quotation/taikang/model/api/CarModelinfoQueryParam.java) 上, 大部分参数在 [KTCarInfoVo.java](src/main/java/com/jzg/quotation/taikang/model/entity/KTCarInfoVo.java) 上传值。
 
 `CarModelinfoQueryParam` 传参说明
 ---------------------------------------

+ 0 - 0
tenant/insurance/quotation-taikang/KindInfoVo.md → tenant/insurance/quotation-taikang/doc/KindInfoVo.md


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

@@ -518,7 +518,7 @@ public class HttpService {
         param.setTplatformId(tplatformId);
         param.setInitFlag("quote");
         param.setTplatLoginKey(tplatLoginKey);
-        param.setTKChgOwnerInfo(TKChgOwnerInfo);
+        param.setChgOwnerInfo(TKChgOwnerInfo);
 
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.add("tkCarRequestToken", token());
@@ -553,7 +553,7 @@ public class HttpService {
         param.setTplatformId(tplatformId);
         param.setInitFlag("vip_quote");
         param.setTplatLoginKey(tplatLoginKey);
-        param.setTKChgOwnerInfo(TKChgOwnerInfo);
+        param.setChgOwnerInfo(TKChgOwnerInfo);
 
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.add("tkCarRequestToken", token());

+ 27 - 27
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/api/PreciseInitParam.java

@@ -41,7 +41,7 @@ public class PreciseInitParam extends UnknownFieldEntity {
     /**
      * 过户信息
      */
-    private TKChgOwnerInfo TKChgOwnerInfo;
+    private TKChgOwnerInfo chgOwnerInfo;
 
 
     /**
@@ -57,7 +57,7 @@ public class PreciseInitParam extends UnknownFieldEntity {
     /**
      * 商业险种信息
      */
-    private TKBzKindVo TKBzKindVo;
+    private TKBzKindVo bzKindVo;
 
     /**
      * 商业险折扣
@@ -69,7 +69,7 @@ public class PreciseInitParam extends UnknownFieldEntity {
      *
      * 保费计算前,要选择投保商业险的项目,比如“车辆损失保险”、“第三者责任保险”、“车上人员责任保险(司机)”、“车上人员责任保险(乘客)”、“	附加法定节假日限额翻倍险” 等。
      */
-    private List<TKCiKindsVo> TKCiKindsVo;
+    private List<TKCiKindsVo> ciKindsVo;
 
     /**
      * 商业险佣金金额
@@ -100,7 +100,7 @@ public class PreciseInitParam extends UnknownFieldEntity {
     /**
      * 驾驶员意外险信息
      */
-    private TKDriverAccidentVo TKDriverAccidentVo;
+    private TKDriverAccidentVo driverAccidentVo;
 
     /**
      * 预期折扣
@@ -120,7 +120,7 @@ public class PreciseInitParam extends UnknownFieldEntity {
     /**
      * 标志信息
      */
-    private TKFlag TKFlag;
+    private TKFlag flag;
 
     /**
      * 好开始折扣
@@ -130,12 +130,12 @@ public class PreciseInitParam extends UnknownFieldEntity {
     /**
      * 其他信息
      */
-    private TKOther TKOther;
+    private TKOther other;
 
     /**
      * 保费信息
      */
-    private TKPremium TKPremium;
+    private TKPremium premium;
 
     /**
      * 风险评分
@@ -145,17 +145,17 @@ public class PreciseInitParam extends UnknownFieldEntity {
     /**
      * 增值服务
      */
-    private TKValueAdded TKValueAdded;
+    private TKValueAdded valueAdded;
 
     /**
      * 设备列表
      */
-    private List<TKDevice> TKDeviceList;
+    private List<TKDevice> deviceList;
 
     /**
      * 充电桩信息
      */
-    private List<TKChargingPost> TKChargingPost;
+    private List<TKChargingPost> chargingPosts;
 
     /**
      * 风险类型
@@ -165,34 +165,34 @@ public class PreciseInitParam extends UnknownFieldEntity {
     /**
      * 车税信息
      */
-    private TKCarTax TKCarTax;
-    private TKCarTaxInfo TKCarTaxInfo;
+    private TKCarTax carTax;
+    private TKCarTaxInfo carTaxInfo;
 
     /** 投保信息 */
-    private TKInsureInfo TKInsureInfo;
+    private TKInsureInfo insureInfo;
 
     /** 报价标志 */
     private String quoteFlag;
 
 
-    private TKCarProduct TKCarProduct;
+    private TKCarProduct carProduct;
 
     @Override
     protected void addChildUnknownFields() {
-        addChildUnknownField("chgOwnerInfo", TKChgOwnerInfo);
-        addChildUnknownField("ciKindsVo", TKCiKindsVo);
+        addChildUnknownField("chgOwnerInfo", chgOwnerInfo);
+        addChildUnknownField("ciKindsVo", ciKindsVo);
         addChildUnknownField("date", date);
-        addChildUnknownField("driverAccidentVo", TKDriverAccidentVo);
-        addChildUnknownField("flag", TKFlag);
-        addChildUnknownField("other", TKOther);
-        addChildUnknownField("premium", TKPremium);
-        addChildUnknownField("valueAdded", TKValueAdded);
-        addChildUnknownField("deviceList", TKDeviceList);
-        addChildUnknownField("chargingPost", TKChargingPost);
-        addChildUnknownField("carTax", TKCarTax);
-        addChildUnknownField("carTaxInfo", TKCarTaxInfo);
-        addChildUnknownField("insureInfo", TKInsureInfo);
-        addChildUnknownField("carProduct", TKCarProduct);
+        addChildUnknownField("driverAccidentVo", driverAccidentVo);
+        addChildUnknownField("flag", flag);
+        addChildUnknownField("other", other);
+        addChildUnknownField("premium", premium);
+        addChildUnknownField("valueAdded", valueAdded);
+        addChildUnknownField("deviceList", deviceList);
+        addChildUnknownField("chargingPost", chargingPosts);
+        addChildUnknownField("carTax", carTax);
+        addChildUnknownField("carTaxInfo", carTaxInfo);
+        addChildUnknownField("insureInfo", insureInfo);
+        addChildUnknownField("carProduct", carProduct);
     }
 }
 

+ 11 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/api/PreciseInitResult.java

@@ -122,6 +122,9 @@ public class PreciseInitResult extends UnknownFieldEntity {
     private TKCarTaxInfo carTaxInfo;
     private TKCarTax carTax;
 
+    /**
+     * 充电桩信息
+     */
     private List<TKChargingPost> chargingPost;
 
     /**
@@ -153,6 +156,14 @@ public class PreciseInitResult extends UnknownFieldEntity {
 
     private String insuredMemberFlag;
 
+    /**
+     * 商业险类型
+     *
+     * 新能源车时,为 0808
+     * 传统能源车时,为 0809
+     */
+    private String riskType;
+
     @Override
     protected void addChildUnknownFields() {
         addChildUnknownField("bzKindVo", bzKindVo);

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

@@ -10,4 +10,6 @@ import lombok.Setter;
 @Getter
 @Setter
 public class TKCarTaxInfo extends UnknownFieldEntity {
+
+    private String taxFlag;
 }

+ 3 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKChargingPost.java

@@ -4,6 +4,9 @@ import com.jzg.quotation.taikang.client.UnknownFieldEntity;
 import lombok.Getter;
 import lombok.Setter;
 
+/**
+ * 充电桩信息
+ */
 @Getter
 @Setter
 public class TKChargingPost extends UnknownFieldEntity {

+ 1 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKCiKindsVo.java

@@ -94,7 +94,7 @@ public class TKCiKindsVo extends UnknownFieldEntity {
      *
      * 否则为 “0”
      */
-    private Integer quantity;
+    private String quantity;
 
     /**
      * 报价金额

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

@@ -1,29 +1,21 @@
 package com.jzg.quotation.taikang.service;
 
 import com.jzg.quotation.commons.constant.InsuranceCode;
-import com.jzg.quotation.commons.constant.enums.quote.KindCode;
 import com.jzg.quotation.commons.entity.vo.aggregated.InsuranceUploadImageVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteResultsVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.UnderwritingVo;
 import com.jzg.quotation.commons.entity.vo.base.OrderBase;
 import com.jzg.quotation.commons.entity.vo.quote.CarInfoVo;
-import com.jzg.quotation.commons.entity.vo.quote.KindInfoVo;
-import com.jzg.quotation.commons.entity.vo.quote.RiskInfoVo;
 import com.jzg.quotation.commons.service.QuotationBaseService;
 import com.jzg.quotation.taikang.client.HttpService;
 import com.jzg.quotation.taikang.model.api.*;
-import com.jzg.quotation.taikang.model.entity.TKAmount;
 import com.jzg.quotation.taikang.model.entity.TKAreaInfoVo;
 import com.jzg.quotation.taikang.model.entity.TKCarModel;
-import com.jzg.quotation.taikang.model.entity.TKCiKindsVo;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 @Service(value = InsuranceCode.INSURANCE_TKIC)
 public class TKQuotationBaseServiceImpl implements QuotationBaseService {
@@ -85,115 +77,8 @@ public class TKQuotationBaseServiceImpl implements QuotationBaseService {
         // # 初始化车险投保单
         PreciseInitResult preciseInitResult = tkSimpleService.orderInit(loginInfo, mainOrderId);
 
-        RiskInfoVo commonCiRiskInfoVo = commonQuoteVo.getCiRiskInfoVo();
-        RiskInfoVo commonBiRiskInfoVo = commonQuoteVo.getBiRiskInfoVo();
-        List<KindInfoVo> commonBiKindInfoVos = commonQuoteVo.getKindInfoVo();
-
-
-        List<TKCiKindsVo> tkCiKindsVo = preciseInitResult.getCiKindsVo();
-
-        Map<String, TKCiKindsVo> tkCiKindsVoMap = new HashMap<>();
-
-        for (TKCiKindsVo tkCiKindVo : tkCiKindsVo) {
-            tkCiKindVo.setIsSelect("0");
-            tkCiKindVo.setQuoteAmount(BigDecimal.ZERO);
-            tkCiKindVo.setQuoteAmountCN("不投保");
-            tkCiKindVo.setPremium(BigDecimal.ZERO);
-            tkCiKindVo.setTotalPremium(BigDecimal.ZERO);
-            tkCiKindsVoMap.put(tkCiKindVo.getKindCode(), tkCiKindVo);
-        }
-
-        for (KindInfoVo commonBiKindInfoVo : commonBiKindInfoVos) {
-            TKCiKindsVo tkCiKindVo = tkCiKindsVoMap.get(commonBiKindInfoVo.getKindCode());
-
-            String kindCode = tkCiKindVo.getKindCode();
-
-            List<TKAmount> amounts = tkCiKindVo.getAmounts();
-
-            // 是否为单独的险种,即没有(保额)可选项的,只有一个固定金额的保费。
-            // 比如:附加法定节假日限额翻倍险、发动机进水损坏除外特约条款、新增加设备损失保险,目前好像只有这三种。
-            boolean isSingle = false;
-            TKAmount tkAmount = null;
-
-
-            String commonAmount = commonBiKindInfoVo.getAmount();
-
-            for (TKAmount amount : amounts) {
-                String amountEname = amount.getAmountEname();
-                if (amountEname.equals("2")) {
-                    // 不投保
-                    continue;
-                } else if (amountEname.equals("1")) {
-                    // 投保
-                    isSingle = true;
-                    break;
-                } else if (amountEname.equals(commonAmount)) {
-                    tkAmount =  amount;
-                    break;
-                }
-            }
-
-            KindCode b = KindCode.B;
-            KindCode d4 = KindCode.D4;
-
-
-
-            if (isSingle) {
-                tkCiKindVo.setIsSelect("1"); // 表示选择了此险种
-                tkCiKindVo.setUnitAmountCN(tkAmount.getAmountCname());
-                tkCiKindVo.setQuoteAmountCN(tkAmount.getAmountCname());
-
-                BigDecimal quoteAmount = unitAmount.multiply(new BigDecimal(quantity));
-
-                tkCiKindVo.setQuoteAmount(quoteAmount);
-            } else if (tkAmount != null) {
-
-            }
-
-            if (!isSingle && tkAmount == null) {
-                throw new RuntimeException("123123123213");
-            }
-
-            if (kindCode.equals("101")) {
-                // 车辆损失保险
-            }
-
-            if (kindCode.equals("102")) {
-                // 第三者责任保险
-            }
-
-            if (kindCode.equals("103")) {
-                // 车上人员责任保险(司机)
-            }
-
-            if (kindCode.equals("104")) {
-                // 车上人员责任保险(乘客)
-
-                Integer quantity = tkCiKindVo.getQuantity();
-
-                if (quantity != null && quantity > 0) {
-                    BigDecimal unitAmount = new BigDecimal(tkAmount.getAmountEname());
-
-                    tkCiKindVo.setIsSelect("1"); // 表示选择了此险种
-                    tkCiKindVo.setUnitAmount(unitAmount);
-                    tkCiKindVo.setUnitAmountCN(tkAmount.getAmountCname());
-                    tkCiKindVo.setQuoteAmountCN(tkAmount.getAmountCname());
-
-                    BigDecimal quoteAmount = unitAmount.multiply(new BigDecimal(quantity));
-
-                    tkCiKindVo.setQuoteAmount(quoteAmount);
-                } else {
-                    tkCiKindVo.setQuoteAmount(new BigDecimal(tkAmount.getAmountEname()));
-                    tkCiKindVo.setQuoteAmountCN(tkAmount.getAmountCname());
-                }
-
-            }
-
-        }
-
-
         // # 车险投保单报价
-        tkSimpleService.orderQuote(loginInfo, mainOrderId, preciseInitResult);
+        tkSimpleService.orderQuote(loginInfo, mainOrderId, preciseInitResult, commonQuoteVo);
 
         return null;
     }

+ 124 - 2
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TKSimpleService.java

@@ -1,6 +1,10 @@
 package com.jzg.quotation.taikang.service;
 
+import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
 import com.jzg.quotation.commons.entity.vo.quote.CarInfoVo;
+import com.jzg.quotation.commons.entity.vo.quote.KindInfoVo;
+import com.jzg.quotation.commons.entity.vo.quote.RiskInfoVo;
+import com.jzg.quotation.commons.entity.vo.quote.VehicleAndVesselTaxVo;
 import com.jzg.quotation.commons.filter.CarModelsFilterUtils;
 import com.jzg.quotation.taikang.client.HttpService;
 import com.jzg.quotation.taikang.model.api.*;
@@ -9,7 +13,9 @@ import org.apache.commons.lang3.StringUtils;
 
 import java.math.BigDecimal;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class TKSimpleService {
 
@@ -636,22 +642,137 @@ public class TKSimpleService {
      *
      * @param result
      * @param mainOrderId
+     * @param preciseInitResult
+     * @param commonQuoteVo
      */
     public PreciseInitResult orderQuote(LoginResult result,
                                         String mainOrderId,
-                                        PreciseInitResult preciseInitResult) {
+                                        PreciseInitResult preciseInitResult,
+                                        QuoteVo commonQuoteVo) {
+        PreciseInitParam preciseInitParam = Converter.Instance.convertToParam(preciseInitResult);
+
         // 全局固定参数
         String tplatformId = result.getTplatformId();
         String tplatLoginKey = result.getTplatLoginKey();
+        String fromId = result.getWebsysUserVo().getFromid();
+
+        {
+            TKFlag flag = preciseInitParam.getFlag();
+            if (flag == null) {
+                flag = new TKFlag();
+                preciseInitParam.setFlag(flag);
+            }
+            flag.setVipWeekFlag("0");
+        }
+
+        {
+            TKOther other = preciseInitParam.getOther();
+            if (other != null) {
+                other = new TKOther();
+                preciseInitParam.setOther(other);
+            }
+            other.setFromID(fromId);
+            other.setChannelCode("OffWeb");
+        }
+
+        {
+            TKCarTaxInfo carTaxInfo = preciseInitParam.getCarTaxInfo();
+            if (carTaxInfo == null) {
+                carTaxInfo = new TKCarTaxInfo();
+                preciseInitParam.setCarTaxInfo(carTaxInfo);
+            }
+
+
+
+        }
+        TKDateInfo date = preciseInitParam.getDate();
+
+        // 同步交强险
+        RiskInfoVo commonCiRiskInfoVo = commonQuoteVo.getCiRiskInfoVo();
+
+        TKBzKindVo bzKindVo = preciseInitParam.getBzKindVo();
+
+        // 车船税信息
+        VehicleAndVesselTaxVo vehicleAndVesselTax = commonQuoteVo.getVehicleAndVesselTax();
+
+        if (vehicleAndVesselTax != null) {
+            TKCarTaxInfo carTaxInfo = preciseInitParam.getCarTaxInfo();
+
+            if (carTaxInfo != null) {
+                carTaxInfo = new TKCarTaxInfo();
+                preciseInitParam.setCarTaxInfo(carTaxInfo);
+            }
+
+            carTaxInfo.setTaxFlag("T");
+
+            TKCarTax carTax = preciseInitParam.getCarTax();
+
+            carTax.setTaxFlag("T");
+        }
+
+
+
+
+        // 同步商业险
+        RiskInfoVo commonBiRiskInfoVo = commonQuoteVo.getBiRiskInfoVo();
+        date.setStartDateCI(commonBiRiskInfoVo.getStartDate());
+        date.setEndDateCI(commonBiRiskInfoVo.getEndDate());
+
+        // 同步险种
+        Map<String, TKCiKindsVo> tkCiKindsVoMap = new HashMap<>();
+
+        for (TKCiKindsVo tkCiKindVo : preciseInitParam.getCiKindsVo()) {
+            String isSelect = tkCiKindVo.getIsSelect();
+            BigDecimal premium = tkCiKindVo.getPremium();
+
+            if (isSelect != null && isSelect.equals("1") &&
+                    premium != null && premium.compareTo(BigDecimal.ZERO) == 0) {
+                continue;
+            }
+
+            tkCiKindVo.setIsSelect("0");
+            tkCiKindVo.setQuoteAmount(BigDecimal.ZERO);
+            tkCiKindVo.setQuoteAmountCN("不投保");
+            tkCiKindVo.setPremium(BigDecimal.ZERO);
+            tkCiKindVo.setTotalPremium(BigDecimal.ZERO);
+            tkCiKindsVoMap.put(tkCiKindVo.getKindCode(), tkCiKindVo);
+        }
+
+        List<KindInfoVo> commonBiKindInfoVos = commonQuoteVo.getKindInfoVo();
+        if (commonBiKindInfoVos != null && commonBiKindInfoVos.size() > 0) {
+            for (KindInfoVo commonBiKindInfoVo : commonBiKindInfoVos) {
+                TKCiKindsVo tkCiKindVo = tkCiKindsVoMap.get(commonBiKindInfoVo.getKindCode());
+
+                tkCiKindVo.setIsSelect("1");
+                tkCiKindVo.setQuoteAmount(new BigDecimal(commonBiKindInfoVo.getAmount()));
+                tkCiKindVo.setQuoteAmountCN(commonBiKindInfoVo.getAmount());
+                tkCiKindVo.setUnitAmount(new BigDecimal(commonBiKindInfoVo.getUnitAmount()));
+                tkCiKindVo.setUnitAmountCN(commonBiKindInfoVo.getUnitAmount());
+
+                String quantity = commonBiKindInfoVo.getQuantity();
+                String serviceTimes = commonBiKindInfoVo.getServiceTimes();
+
+                if (StringUtils.isNotBlank(quantity)) {
+                    tkCiKindVo.setQuantity(quantity);
+                } else if (StringUtils.isNotBlank(serviceTimes)) {
+                    tkCiKindVo.setQuantity(serviceTimes);
+                }
+
+                String deductibleRate = commonBiKindInfoVo.getDeductibleRate();
+                tkCiKindVo.setDeductibleAmount(null); // todo
+            }
+        }
+
 
-        PreciseInitParam preciseInitParam = Converter.Instance.convertToParam(preciseInitResult);
 
+        // 请求接口
         preciseInitParam.setChannelCode("OffWeb");
         preciseInitParam.setInitFlag("quote");
         preciseInitParam.setTplatformId(tplatformId);
         preciseInitParam.setTplatLoginKey(tplatLoginKey);
         preciseInitParam.setOrderID(mainOrderId);
         preciseInitParam.setRiskType("0808");
+        // orderVersion = 1
 
         PreciseInitResult preciseQuoteResult = httpService.preciseInitToQuote(preciseInitParam);
 
@@ -659,6 +780,7 @@ public class TKSimpleService {
             throw new RuntimeException("HttpService#preciseInitToQuote (报价)失败!");
         }
 
+        return preciseQuoteResult;
     }
 
 }