Commit 1245c464ed738773d898614389bd462c3cd67ecd

Authored by 张志伟
1 parent 30f8f45d

:alien: 对接保险新的sdk

fw-valhalla-rpc/src/main/java/cn/fw/valhalla/rpc/angel/InsurerRpcService.java
... ... @@ -17,8 +17,10 @@ import org.springframework.data.redis.core.BoundValueOperations;
17 17 import org.springframework.data.redis.core.StringRedisTemplate;
18 18 import org.springframework.stereotype.Service;
19 19 import org.springframework.util.Assert;
  20 +import org.springframework.util.CollectionUtils;
20 21  
21 22 import java.util.Date;
  23 +import java.util.List;
22 24 import java.util.Objects;
23 25 import java.util.concurrent.TimeUnit;
24 26  
... ... @@ -84,25 +86,37 @@ public class InsurerRpcService {
84 86 if (StringUtils.isValid(cache)) {
85 87 return JSONObject.parseObject(cache, InsuranceDTO.class);
86 88 }
87   - Message<InsuranceOrderDTO> msg = insuranceEstimateApiService.getCusLatest(customerId);
  89 + Message<List<InsuranceOrderDTO>> msg = insuranceEstimateApiService.getCusLatest(customerId);
  90 +
88 91 log.info("查询正在生效的保险信息:{}", msg.getResult());
89   - InsuranceOrderDTO data = msg.getData();
90   - if (!msg.isSuccess() || Objects.isNull(data) || Objects.isNull(data.getInsuranceInfo())) {
  92 + List<InsuranceOrderDTO> data = msg.getData();
  93 + if (!msg.isSuccess() || CollectionUtils.isEmpty(data)) {
91 94 return null;
92 95 }
93   - Date tciEndTime = data.getInsuranceInfo().getTciEndTime();
94   - Date vciEndTime = data.getInsuranceInfo().getVciEndTime();
  96 + Date tciEndTime = null;
  97 + Date vciEndTime = null;
  98 + Date tciStartTime = null;
  99 + Date vciStartTime = null;
  100 + for (InsuranceOrderDTO insuranceOrderDTO : data) {
  101 + if (1 == insuranceOrderDTO.getInsuranceInfo().getInsuranceType()) {
  102 + tciEndTime = insuranceOrderDTO.getInsuranceInfo().getEndTime();
  103 + tciStartTime = insuranceOrderDTO.getInsuranceInfo().getStartTime();
  104 + } else if (2 == insuranceOrderDTO.getInsuranceInfo().getInsuranceType()) {
  105 + vciEndTime = insuranceOrderDTO.getInsuranceInfo().getEndTime();
  106 + vciStartTime = insuranceOrderDTO.getInsuranceInfo().getStartTime();
  107 + }
  108 + }
95 109 final Date now = new Date();
96 110 boolean before1 = !Objects.isNull(tciEndTime) && now.before(tciEndTime);
97   - boolean before2 = !Objects.isNull(tciEndTime) && now.before(vciEndTime);
  111 + boolean before2 = !Objects.isNull(vciEndTime) && now.before(vciEndTime);
98 112  
99 113 if (before1 || before2) {
100 114 InsuranceDTO dto = new InsuranceDTO();
101 115 BeanUtils.copyProperties(data, dto);
102   - dto.setEffectDate(data.getInsuranceInfo().getVciStartTime());
103   - dto.setExpiryDate(data.getInsuranceInfo().getVciEndTime());
104   - dto.setTciEffectDate(data.getInsuranceInfo().getTciStartTime());
105   - dto.setTciExpiryDate(data.getInsuranceInfo().getTciEndTime());
  116 + dto.setEffectDate(vciStartTime);
  117 + dto.setExpiryDate(vciEndTime);
  118 + dto.setTciEffectDate(tciStartTime);
  119 + dto.setTciExpiryDate(tciEndTime);
106 120 setToCache(key, JSONObject.toJSONString(dto), 30);
107 121 return dto;
108 122 }
... ...