SyncCarInfoHandler.java 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. package com.ydtech.modules.xxl.handler;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.xxl.job.core.handler.annotation.XxlJob;
  5. import com.ydtech.modules.admin.model.po.SysCarInfo;
  6. import com.ydtech.modules.admin.model.po.SysCarUserInfo;
  7. import com.ydtech.modules.admin.service.SysCarInfoService;
  8. import com.ydtech.modules.admin.service.SysCarUserInfoService;
  9. import com.ydtech.modules.ins.model.vo.KindInfoVo;
  10. import com.ydtech.modules.ins.model.vo.RiskInfoVo;
  11. import com.ydtech.modules.order.entity.InsOrders;
  12. import com.ydtech.modules.order.entity.po.InsOrdersKind;
  13. import com.ydtech.modules.order.entity.po.InsOrdersRisk;
  14. import com.ydtech.modules.order.service.InsOrdersKindService;
  15. import com.ydtech.modules.order.service.InsOrdersRiskService;
  16. import com.ydtech.modules.order.service.InsOrdersService;
  17. import com.ydtech.utils.idgen.IdGenerate;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.stereotype.Component;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. import java.util.stream.Collectors;
  23. /**
  24. *@author: tz
  25. *@description: 订单数据中的车辆信息 同步 sys_car_info表
  26. *@create: 2024年3月7日15:13:57
  27. */
  28. @Component
  29. public class SyncCarInfoHandler {
  30. @Autowired
  31. private InsOrdersService insOrdersService;
  32. @Autowired
  33. private SysCarUserInfoService sysCarUserInfoService;
  34. @Autowired
  35. private SysCarInfoService sysCarInfoService;
  36. @Autowired
  37. private InsOrdersRiskService insOrdersRiskService;
  38. @Autowired
  39. private InsOrdersKindService insOrdersKindService;
  40. //同步用户信息
  41. @XxlJob("SyncCarInfoHandler")
  42. public void SyncCarInfoHandler() {
  43. // List<InsOrders> list = insOrdersService.list();
  44. // //需要保存的车主用户数据
  45. // List<SysCarUserInfo> sysCarUserInfos = new ArrayList<>();
  46. // List<SysCarInfo> sysCarInfos = new ArrayList<>();
  47. // List<InsOrdersRisk> insOrdersRisks = new ArrayList<>();
  48. // List<InsOrdersKind> insOrdersKinds = new ArrayList<>();
  49. // list.forEach(insOrders -> {
  50. // JSONObject ownerInfo = insOrders.getOwnerinfo();
  51. // JSONObject applyinfo = insOrders.getApplyinfo();
  52. // JSONObject insureInfo = insOrders.getInsureinfo();
  53. // //车主信息是否存在
  54. // if(sysCarUserInfos.stream().filter(x->x.getIdentifyNumber().equals(ownerInfo.getString("identifyNumber"))).count() > 0){
  55. // List<SysCarUserInfo> identifyNumber = sysCarUserInfos.stream().filter(x -> x.getIdentifyNumber().equals(ownerInfo.getString("identifyNumber"))).collect(Collectors.toList());
  56. // String id = identifyNumber.get(0).getId();
  57. // insOrders.setOwnerId(id);
  58. // insOrders.setInsureId(id);
  59. // insOrders.setApplyId(id);
  60. // }else {
  61. // SysCarUserInfo sysCarUserInfo1 = ownerInfo.toJavaObject(SysCarUserInfo.class);
  62. // sysCarUserInfo1.setId(IdGenerate.nextId());
  63. // sysCarUserInfos.add(sysCarUserInfo1);
  64. // insOrders.setOwnerId(sysCarUserInfo1.getId());
  65. // insOrders.setInsureId(sysCarUserInfo1.getId());
  66. // insOrders.setApplyId(sysCarUserInfo1.getId());
  67. // }
  68. // //同车主
  69. // if(!applyinfo.getBoolean("owner")){
  70. // SysCarUserInfo sysCarUserInfo = applyinfo.toJavaObject(SysCarUserInfo.class);
  71. // sysCarUserInfo.setId(IdGenerate.nextId());
  72. // sysCarUserInfos.add(sysCarUserInfo);
  73. // insOrders.setApplyId(sysCarUserInfo.getId());
  74. // }
  75. // //同被保人 或 车主
  76. // if(!insureInfo.getBoolean("insuranceHolder") && !insureInfo.getBoolean("owner")){
  77. // SysCarUserInfo sysCarUserInfo = insureInfo.toJavaObject(SysCarUserInfo.class);
  78. // sysCarUserInfo.setId(IdGenerate.nextId());
  79. // sysCarUserInfos.add(sysCarUserInfo);
  80. // insOrders.setInsureId(sysCarUserInfo.getId());
  81. // }
  82. //
  83. // JSONObject carInfo = insOrders.getCarinfo();
  84. // //车辆信息
  85. // if(sysCarInfos.stream().filter(x->x.getLicenseNo().equals(carInfo.getString("licenseNo"))).count() > 0){
  86. // List<SysCarInfo> collect = sysCarInfos.stream().filter(x -> x.getLicenseNo().equals(carInfo.getString("licenseNo"))).collect(Collectors.toList());
  87. // String id = collect.get(0).getId();
  88. // insOrders.setCarInfoId(id);
  89. // }else{
  90. // SysCarInfo sysCarInfo = carInfo.toJavaObject(SysCarInfo.class);
  91. // sysCarInfo.setId(IdGenerate.nextId());
  92. // sysCarInfos.add(sysCarInfo);
  93. // insOrders.setCarInfoId(sysCarInfo.getId());
  94. // }
  95. //
  96. // //risk kind
  97. // JSONArray risk = insOrders.getRisk();
  98. // JSONArray kind = insOrders.getKing();
  99. //
  100. // for(int i=0;i<risk.size();i++){
  101. // JSONObject jsonObject = risk.getJSONObject(i);
  102. // RiskInfoVo riskInfoVo = jsonObject.toJavaObject(RiskInfoVo.class);
  103. // InsOrdersRisk insOrdersRisk = new InsOrdersRisk(riskInfoVo, insOrders.getOrderno());
  104. // insOrdersRisks.add(insOrdersRisk);
  105. // }
  106. //
  107. // for(int i=0;i<kind.size();i++){
  108. // JSONObject jsonObject = kind.getJSONObject(i);
  109. // KindInfoVo javaObject = jsonObject.toJavaObject(KindInfoVo.class);
  110. // InsOrdersKind insOrdersKind = new InsOrdersKind(javaObject, insOrders.getOrderno());
  111. // insOrdersKinds.add(insOrdersKind);
  112. // }
  113. //
  114. // });
  115. //
  116. // List<SysCarUserInfo> sysCarUserInfoList = sysCarUserInfos.stream()
  117. // .collect(Collectors.toMap(
  118. // SysCarUserInfo::getIdentifyNumber, // 使用 licenseNo 作为 key
  119. // user -> user, // 直接使用用户信息作为 value
  120. // (existing, replacement) -> existing // 若有重复的 licenseNo,则保留第一个出现的用户信息
  121. // ))
  122. // .values()
  123. // .stream()
  124. // .collect(Collectors.toList());
  125. // sysCarUserInfoService.saveBatch(sysCarUserInfoList);
  126. //
  127. // List<SysCarInfo> sysCarInfoList = sysCarInfos.stream()
  128. // .collect(Collectors.toMap(
  129. // SysCarInfo::getLicenseNo, // 使用 licenseNo 作为 key
  130. // user -> user, // 直接使用用户信息作为 value
  131. // (existing, replacement) -> existing // 若有重复的 licenseNo,则保留第一个出现的用户信息
  132. // ))
  133. // .values()
  134. // .stream()
  135. // .collect(Collectors.toList());
  136. //
  137. // //转换transfer_flag
  138. // sysCarInfoList.forEach(sysCarInfo -> {
  139. // if(sysCarInfo.getTransferFlag().equals("true")){
  140. // sysCarInfo.setTransferFlag("1");
  141. // }else{
  142. // sysCarInfo.setTransferFlag("0");
  143. // }
  144. // });
  145. // //转换 no_license_flag
  146. // sysCarInfoList.forEach(sysCarInfo -> {
  147. // if(sysCarInfo.getNoLicenseFlag().equals("true")){
  148. // sysCarInfo.setNoLicenseFlag("1");
  149. // }else{
  150. // sysCarInfo.setNoLicenseFlag("0");
  151. // }
  152. // });
  153. // //转换 loan_status
  154. // sysCarInfoList.forEach(sysCarInfo -> {
  155. // if(sysCarInfo.getLoanStatus().equals("true")){
  156. // sysCarInfo.setLoanStatus("1");
  157. // }else{
  158. // sysCarInfo.setLoanStatus("0");
  159. // }
  160. // });
  161. //
  162. // //转换used_car
  163. // sysCarInfoList.forEach(sysCarInfo -> {
  164. // if(sysCarInfo.getUsedCar().equals("true")){
  165. // sysCarInfo.setUsedCar("1");
  166. // }else{
  167. // sysCarInfo.setUsedCar("0");
  168. // }
  169. // });
  170. //
  171. // //转换out_of_insurance
  172. // sysCarInfoList.forEach(sysCarInfo -> {
  173. // if(sysCarInfo.getOutOfInsurance().equals("true")){
  174. // sysCarInfo.setOutOfInsurance("1");
  175. // }else{
  176. // sysCarInfo.setOutOfInsurance("0");
  177. // }
  178. // });
  179. //
  180. // sysCarInfoService.saveBatch(sysCarInfoList);
  181. //
  182. // for (InsOrdersRisk insOrdersRisk : insOrdersRisks) {
  183. // insOrdersRisk.setId(IdGenerate.nextId());
  184. // }
  185. //
  186. // for(InsOrdersKind insOrdersKind : insOrdersKinds){
  187. // insOrdersKind.setId(IdGenerate.nextId());
  188. // }
  189. //
  190. // insOrdersRiskService.saveBatch(insOrdersRisks);
  191. // insOrdersKindService.saveBatch(insOrdersKinds);
  192. // insOrdersService.saveOrUpdateBatch(list);
  193. }
  194. }