|
|
@@ -0,0 +1,206 @@
|
|
|
+package com.ydtech.modules.xxl.handler;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.xxl.job.core.handler.annotation.XxlJob;
|
|
|
+import com.ydtech.modules.admin.model.po.SysCarInfo;
|
|
|
+import com.ydtech.modules.admin.model.po.SysCarUserInfo;
|
|
|
+import com.ydtech.modules.admin.service.SysCarInfoService;
|
|
|
+import com.ydtech.modules.admin.service.SysCarUserInfoService;
|
|
|
+import com.ydtech.modules.ins.model.vo.KindInfoVo;
|
|
|
+import com.ydtech.modules.ins.model.vo.RiskInfoVo;
|
|
|
+import com.ydtech.modules.order.entity.InsOrders;
|
|
|
+import com.ydtech.modules.order.entity.po.InsOrdersKind;
|
|
|
+import com.ydtech.modules.order.entity.po.InsOrdersRisk;
|
|
|
+import com.ydtech.modules.order.service.InsOrdersKindService;
|
|
|
+import com.ydtech.modules.order.service.InsOrdersRiskService;
|
|
|
+import com.ydtech.modules.order.service.InsOrdersService;
|
|
|
+import com.ydtech.utils.idgen.IdGenerate;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+*@author: tz
|
|
|
+*@description: 订单数据中的车辆信息 同步 sys_car_info表
|
|
|
+*@create: 2024年3月7日15:13:57
|
|
|
+*/
|
|
|
+@Component
|
|
|
+public class SyncCarInfoHandler {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private InsOrdersService insOrdersService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysCarUserInfoService sysCarUserInfoService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysCarInfoService sysCarInfoService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private InsOrdersRiskService insOrdersRiskService;
|
|
|
+ @Autowired
|
|
|
+ private InsOrdersKindService insOrdersKindService;
|
|
|
+
|
|
|
+ //同步用户信息
|
|
|
+ @XxlJob("SyncCarInfoHandler")
|
|
|
+ public void SyncCarInfoHandler() {
|
|
|
+
|
|
|
+// List<InsOrders> list = insOrdersService.list();
|
|
|
+// //需要保存的车主用户数据
|
|
|
+// List<SysCarUserInfo> sysCarUserInfos = new ArrayList<>();
|
|
|
+// List<SysCarInfo> sysCarInfos = new ArrayList<>();
|
|
|
+// List<InsOrdersRisk> insOrdersRisks = new ArrayList<>();
|
|
|
+// List<InsOrdersKind> insOrdersKinds = new ArrayList<>();
|
|
|
+// list.forEach(insOrders -> {
|
|
|
+// JSONObject ownerInfo = insOrders.getOwnerinfo();
|
|
|
+// JSONObject applyinfo = insOrders.getApplyinfo();
|
|
|
+// JSONObject insureInfo = insOrders.getInsureinfo();
|
|
|
+// //车主信息是否存在
|
|
|
+// if(sysCarUserInfos.stream().filter(x->x.getIdentifyNumber().equals(ownerInfo.getString("identifyNumber"))).count() > 0){
|
|
|
+// List<SysCarUserInfo> identifyNumber = sysCarUserInfos.stream().filter(x -> x.getIdentifyNumber().equals(ownerInfo.getString("identifyNumber"))).collect(Collectors.toList());
|
|
|
+// String id = identifyNumber.get(0).getId();
|
|
|
+// insOrders.setOwnerId(id);
|
|
|
+// insOrders.setInsureId(id);
|
|
|
+// insOrders.setApplyId(id);
|
|
|
+// }else {
|
|
|
+// SysCarUserInfo sysCarUserInfo1 = ownerInfo.toJavaObject(SysCarUserInfo.class);
|
|
|
+// sysCarUserInfo1.setId(IdGenerate.nextId());
|
|
|
+// sysCarUserInfos.add(sysCarUserInfo1);
|
|
|
+// insOrders.setOwnerId(sysCarUserInfo1.getId());
|
|
|
+// insOrders.setInsureId(sysCarUserInfo1.getId());
|
|
|
+// insOrders.setApplyId(sysCarUserInfo1.getId());
|
|
|
+// }
|
|
|
+// //同车主
|
|
|
+// if(!applyinfo.getBoolean("owner")){
|
|
|
+// SysCarUserInfo sysCarUserInfo = applyinfo.toJavaObject(SysCarUserInfo.class);
|
|
|
+// sysCarUserInfo.setId(IdGenerate.nextId());
|
|
|
+// sysCarUserInfos.add(sysCarUserInfo);
|
|
|
+// insOrders.setApplyId(sysCarUserInfo.getId());
|
|
|
+// }
|
|
|
+// //同被保人 或 车主
|
|
|
+// if(!insureInfo.getBoolean("insuranceHolder") && !insureInfo.getBoolean("owner")){
|
|
|
+// SysCarUserInfo sysCarUserInfo = insureInfo.toJavaObject(SysCarUserInfo.class);
|
|
|
+// sysCarUserInfo.setId(IdGenerate.nextId());
|
|
|
+// sysCarUserInfos.add(sysCarUserInfo);
|
|
|
+// insOrders.setInsureId(sysCarUserInfo.getId());
|
|
|
+// }
|
|
|
+//
|
|
|
+// JSONObject carInfo = insOrders.getCarinfo();
|
|
|
+// //车辆信息
|
|
|
+// if(sysCarInfos.stream().filter(x->x.getLicenseNo().equals(carInfo.getString("licenseNo"))).count() > 0){
|
|
|
+// List<SysCarInfo> collect = sysCarInfos.stream().filter(x -> x.getLicenseNo().equals(carInfo.getString("licenseNo"))).collect(Collectors.toList());
|
|
|
+// String id = collect.get(0).getId();
|
|
|
+// insOrders.setCarInfoId(id);
|
|
|
+// }else{
|
|
|
+// SysCarInfo sysCarInfo = carInfo.toJavaObject(SysCarInfo.class);
|
|
|
+// sysCarInfo.setId(IdGenerate.nextId());
|
|
|
+// sysCarInfos.add(sysCarInfo);
|
|
|
+// insOrders.setCarInfoId(sysCarInfo.getId());
|
|
|
+// }
|
|
|
+//
|
|
|
+// //risk kind
|
|
|
+// JSONArray risk = insOrders.getRisk();
|
|
|
+// JSONArray kind = insOrders.getKing();
|
|
|
+//
|
|
|
+// for(int i=0;i<risk.size();i++){
|
|
|
+// JSONObject jsonObject = risk.getJSONObject(i);
|
|
|
+// RiskInfoVo riskInfoVo = jsonObject.toJavaObject(RiskInfoVo.class);
|
|
|
+// InsOrdersRisk insOrdersRisk = new InsOrdersRisk(riskInfoVo, insOrders.getOrderno());
|
|
|
+// insOrdersRisks.add(insOrdersRisk);
|
|
|
+// }
|
|
|
+//
|
|
|
+// for(int i=0;i<kind.size();i++){
|
|
|
+// JSONObject jsonObject = kind.getJSONObject(i);
|
|
|
+// KindInfoVo javaObject = jsonObject.toJavaObject(KindInfoVo.class);
|
|
|
+// InsOrdersKind insOrdersKind = new InsOrdersKind(javaObject, insOrders.getOrderno());
|
|
|
+// insOrdersKinds.add(insOrdersKind);
|
|
|
+// }
|
|
|
+//
|
|
|
+// });
|
|
|
+//
|
|
|
+// List<SysCarUserInfo> sysCarUserInfoList = sysCarUserInfos.stream()
|
|
|
+// .collect(Collectors.toMap(
|
|
|
+// SysCarUserInfo::getIdentifyNumber, // 使用 licenseNo 作为 key
|
|
|
+// user -> user, // 直接使用用户信息作为 value
|
|
|
+// (existing, replacement) -> existing // 若有重复的 licenseNo,则保留第一个出现的用户信息
|
|
|
+// ))
|
|
|
+// .values()
|
|
|
+// .stream()
|
|
|
+// .collect(Collectors.toList());
|
|
|
+// sysCarUserInfoService.saveBatch(sysCarUserInfoList);
|
|
|
+//
|
|
|
+// List<SysCarInfo> sysCarInfoList = sysCarInfos.stream()
|
|
|
+// .collect(Collectors.toMap(
|
|
|
+// SysCarInfo::getLicenseNo, // 使用 licenseNo 作为 key
|
|
|
+// user -> user, // 直接使用用户信息作为 value
|
|
|
+// (existing, replacement) -> existing // 若有重复的 licenseNo,则保留第一个出现的用户信息
|
|
|
+// ))
|
|
|
+// .values()
|
|
|
+// .stream()
|
|
|
+// .collect(Collectors.toList());
|
|
|
+//
|
|
|
+// //转换transfer_flag
|
|
|
+// sysCarInfoList.forEach(sysCarInfo -> {
|
|
|
+// if(sysCarInfo.getTransferFlag().equals("true")){
|
|
|
+// sysCarInfo.setTransferFlag("1");
|
|
|
+// }else{
|
|
|
+// sysCarInfo.setTransferFlag("0");
|
|
|
+// }
|
|
|
+// });
|
|
|
+// //转换 no_license_flag
|
|
|
+// sysCarInfoList.forEach(sysCarInfo -> {
|
|
|
+// if(sysCarInfo.getNoLicenseFlag().equals("true")){
|
|
|
+// sysCarInfo.setNoLicenseFlag("1");
|
|
|
+// }else{
|
|
|
+// sysCarInfo.setNoLicenseFlag("0");
|
|
|
+// }
|
|
|
+// });
|
|
|
+// //转换 loan_status
|
|
|
+// sysCarInfoList.forEach(sysCarInfo -> {
|
|
|
+// if(sysCarInfo.getLoanStatus().equals("true")){
|
|
|
+// sysCarInfo.setLoanStatus("1");
|
|
|
+// }else{
|
|
|
+// sysCarInfo.setLoanStatus("0");
|
|
|
+// }
|
|
|
+// });
|
|
|
+//
|
|
|
+// //转换used_car
|
|
|
+// sysCarInfoList.forEach(sysCarInfo -> {
|
|
|
+// if(sysCarInfo.getUsedCar().equals("true")){
|
|
|
+// sysCarInfo.setUsedCar("1");
|
|
|
+// }else{
|
|
|
+// sysCarInfo.setUsedCar("0");
|
|
|
+// }
|
|
|
+// });
|
|
|
+//
|
|
|
+// //转换out_of_insurance
|
|
|
+// sysCarInfoList.forEach(sysCarInfo -> {
|
|
|
+// if(sysCarInfo.getOutOfInsurance().equals("true")){
|
|
|
+// sysCarInfo.setOutOfInsurance("1");
|
|
|
+// }else{
|
|
|
+// sysCarInfo.setOutOfInsurance("0");
|
|
|
+// }
|
|
|
+// });
|
|
|
+//
|
|
|
+// sysCarInfoService.saveBatch(sysCarInfoList);
|
|
|
+//
|
|
|
+// for (InsOrdersRisk insOrdersRisk : insOrdersRisks) {
|
|
|
+// insOrdersRisk.setId(IdGenerate.nextId());
|
|
|
+// }
|
|
|
+//
|
|
|
+// for(InsOrdersKind insOrdersKind : insOrdersKinds){
|
|
|
+// insOrdersKind.setId(IdGenerate.nextId());
|
|
|
+// }
|
|
|
+//
|
|
|
+// insOrdersRiskService.saveBatch(insOrdersRisks);
|
|
|
+// insOrdersKindService.saveBatch(insOrdersKinds);
|
|
|
+// insOrdersService.saveOrUpdateBatch(list);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|