|
|
@@ -340,23 +340,30 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
InsOrders insOrders1 = baseMapper.selectById(quoteInfoVo.getOrderNo());
|
|
|
|
|
|
-// // 2.1 查看是否有订单
|
|
|
-// //一个月内的订单
|
|
|
-// LocalDateTime now = LocalDateTime.now();
|
|
|
-// LocalDateTime oneMonthAgo = now.minus(1, ChronoUnit.MONTHS);
|
|
|
-// List<InsOrders> insOrdersList = this.list(new LambdaQueryWrapper<InsOrders>()
|
|
|
-// .eq(InsOrders::getProductid,quoteInfoVo.getProductId())
|
|
|
-// .eq(InsOrders::getLicenseno,quoteInfoVo.getCarInfo().getLicenseNo())
|
|
|
-// .eq(InsOrders::getUserid,quoteInfoVo.getUserId())
|
|
|
-// .ge(InsOrders::getCreatetime, oneMonthAgo)
|
|
|
-// .le(InsOrders::getCreatetime, now));
|
|
|
-//
|
|
|
-// if(!insOrdersList.isEmpty()){
|
|
|
-// // 修改订单
|
|
|
-// insOrders.setOrderno(insOrdersList.get(0).getOrderno());
|
|
|
-// this.updateById(insOrders);
|
|
|
-// return insOrdersList.get(0);
|
|
|
-// }
|
|
|
+ // 2.1 查看是否有订单 如果存在订单 则更新订单后 直接返回
|
|
|
+ //一个月内的订单
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ LocalDateTime oneMonthAgo = now.minus(1, ChronoUnit.MONTHS);
|
|
|
+ //条件 产品 车牌 用户
|
|
|
+ List<InsOrders> insOrdersList = this.list(new LambdaQueryWrapper<InsOrders>()
|
|
|
+ .eq(InsOrders::getProductid,quoteInfoVo.getProductId())
|
|
|
+ .eq(InsOrders::getLicenseno,quoteInfoVo.getCarInfo().getLicenseNo())
|
|
|
+ .eq(InsOrders::getUserid,quoteInfoVo.getUserId())
|
|
|
+ .ge(InsOrders::getCreatetime, oneMonthAgo)
|
|
|
+ .le(InsOrders::getCreatetime, now));
|
|
|
+
|
|
|
+ if(!insOrdersList.isEmpty()){
|
|
|
+ InsOrders newOrders = new InsOrders(user, dept, quoteInfoVo);
|
|
|
+ // 同步订单id
|
|
|
+ newOrders.setOrderno(insOrdersList.get(0).getOrderno());
|
|
|
+ // 对比订单是否进行修改
|
|
|
+ if(!this.contrastOrder(insOrdersList.get(0),newOrders)) {
|
|
|
+ this.updateById(newOrders);
|
|
|
+ //刷新缓存
|
|
|
+ this.updateOrderCache(newOrders);
|
|
|
+ }
|
|
|
+ return newOrders;
|
|
|
+ }
|
|
|
|
|
|
// 代课录单操作
|
|
|
Integer entryStatus = Optional.ofNullable(insOrders1)
|
|
|
@@ -408,8 +415,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
// 4 将报价信息存入redis 中
|
|
|
quoteInfoVo.setUserId(insOrders.getUserid());
|
|
|
String s = JSON.toJSONString(quoteInfoVo);
|
|
|
-
|
|
|
- redisTemplate.opsForValue().set(QUOTE_INFO_KEY + insOrders.getOrderno(), s, QUOTE_INFO_KEY_TIME, TimeUnit.DAYS);
|
|
|
+ this.updateOrderCache(insOrders);
|
|
|
|
|
|
return insOrders;
|
|
|
}
|
|
|
@@ -789,7 +795,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
orderAndAreaCompany.setAccidentInfo(accidentInfo);
|
|
|
orderAndAreaCompany.setJyName(insAreaCompanyAccidentalDriving.getRideRiskName());
|
|
|
- orderAndAreaCompany.setJyQuantity(insAreaCompanyAccidentalDriving.getQuantity().toString());
|
|
|
+ if(!Objects.isNull(insAreaCompanyAccidentalDriving.getQuantity())) {
|
|
|
+ orderAndAreaCompany.setJyQuantity(insAreaCompanyAccidentalDriving.getQuantity().toString());
|
|
|
+ }
|
|
|
} else {
|
|
|
orderAndAreaCompany.setAccidentInfo(new JSONArray());
|
|
|
}
|
|
|
@@ -1976,4 +1984,50 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
return license;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 更新订单的起保与终保时间
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void updateOrderStartingInsruanceTime(String orderno,String jqStartTime,String jqEndTime,String syStartTime,String syEndTime){
|
|
|
+ InsOrders order = this.getById(orderno);
|
|
|
+ if((Objects.isNull(order.getJqstartdate()) || !order.getJqstartdate().equals(jqStartTime)) &&
|
|
|
+ (Objects.isNull(order.getJqenddate()) || !order.getJqenddate().equals(jqEndTime)) &&
|
|
|
+ (Objects.isNull(order.getSystartdate()) || !order.getSystartdate().equals(syStartTime)) &&
|
|
|
+ (Objects.isNull(order.getSyenddate()) || !order.getSyenddate().equals(syEndTime))){
|
|
|
+ order.setJqstartdate(jqStartTime);
|
|
|
+ order.setJqenddate(jqEndTime);
|
|
|
+ order.setSystartdate(syStartTime);
|
|
|
+ order.setSyenddate(syEndTime);
|
|
|
+ this.updateById(order);
|
|
|
+ //更新redis缓存
|
|
|
+ this.updateOrderCache(order);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateOrderCache(InsOrders orders){
|
|
|
+ // 9-24 修改 key 订单号 + 产品id
|
|
|
+ redisTemplate.opsForValue().set(QUOTE_INFO_KEY + orders.getOrderno(),JSONObject.toJSONString(orders), QUOTE_INFO_KEY_TIME, TimeUnit.DAYS);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String getOrderCacheData(String orderno){
|
|
|
+ return redisTemplate.opsForValue().get(QUOTE_INFO_KEY + orderno);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 对比订单
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public boolean contrastOrder(InsOrders oldOrder,InsOrders newOrder){
|
|
|
+ JSONObject oldOrderObj = JSONObject.parseObject(JSONObject.toJSONString(oldOrder));
|
|
|
+ JSONObject newOrderObj = JSONObject.parseObject(JSONObject.toJSONString(newOrder));
|
|
|
+ oldOrderObj.remove("createtime");
|
|
|
+ oldOrderObj.remove("entryStatus");
|
|
|
+ newOrderObj.remove("createtime");
|
|
|
+ return oldOrderObj.equals(newOrderObj);
|
|
|
+ }
|
|
|
}
|