|
|
@@ -19,6 +19,7 @@ import com.jzg.commons.entity.dto.InsOrdersParam;
|
|
|
import com.jzg.commons.entity.dto.InsTaskImagesAdd;
|
|
|
import com.jzg.commons.entity.enums.MessageCodeEnum;
|
|
|
import com.jzg.commons.entity.orders.po.*;
|
|
|
+import com.jzg.commons.entity.orders.vo.HistoryQuoteResultVo;
|
|
|
import com.jzg.commons.entity.orders.vo.InsOrdersListVo;
|
|
|
import com.jzg.commons.entity.po.InsTaskImages;
|
|
|
import com.jzg.commons.entity.po.SysMessageTemplate;
|
|
|
@@ -43,17 +44,20 @@ import com.jzg.quotation.commons.entity.vo.orders.InsOrdersVo;
|
|
|
import com.jzg.quotation.commons.utils.SnowFlakeUtil;
|
|
|
import com.jzg.quotation.summary.consumer.template.OrderMessageTemplate;
|
|
|
import com.jzg.quotation.summary.mapper.InsOrdersMapper;
|
|
|
+import com.jzg.quotation.summary.mapper.InsOrdersQrcodeMapper;
|
|
|
import com.jzg.quotation.summary.service.*;
|
|
|
import com.jzg.quotation.summary.state.listener.OrderStateListener;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.Setter;
|
|
|
import org.apache.commons.beanutils.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.net.URL;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
@@ -94,6 +98,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
private final OrderStateListener orderStateListener;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private InsOrdersQrcodeMapper insOrdersQrcodeMapper;
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
@@ -480,59 +487,60 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrders.setOrderStatus(String.valueOf(stateResult.getCurrentState()));
|
|
|
|
|
|
baseMapper.updateById(insOrders);
|
|
|
-
|
|
|
- // 更新起保终保时间
|
|
|
- List<InsOrdersRisk> insOrdersRiskList = insOrdersRiskService.list(new LambdaQueryWrapper<InsOrdersRisk>().eq(InsOrdersRisk::getOrderNo, ordersNo));
|
|
|
- if(Objects.nonNull(insOrdersRiskList) && !insOrdersRiskList.isEmpty()){
|
|
|
- for (InsOrdersRisk insOrdersRisk : insOrdersRiskList) {
|
|
|
- if(insOrdersRisk.getRiskCode().equals(InsuranceRisk.TRAFFIC.getCode())){
|
|
|
- insOrdersRisk.setStartDate(LocalDateTime.parse(quoteResponse.getCiRiskInfoVo().getStartDate(),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
- insOrdersRisk.setEndDate(LocalDateTime.parse(quoteResponse.getCiRiskInfoVo().getEndDate(),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
- }
|
|
|
- if(insOrdersRisk.getRiskCode().equals(InsuranceRisk.BUSINESS.getCode())){
|
|
|
- insOrdersRisk.setStartDate(LocalDateTime.parse(quoteResponse.getBiRiskInfoVo().getStartDate(),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
- insOrdersRisk.setEndDate(LocalDateTime.parse(quoteResponse.getBiRiskInfoVo().getEndDate(),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ // 判断状态 是否是成功 如何成功则处理下面的流程
|
|
|
+ if(stateResult.getCurrentState() == Integer.parseInt(InsOrderStatusEnum.WAIT_AUDIT.getCode())) {
|
|
|
+ // 更新起保终保时间
|
|
|
+ List<InsOrdersRisk> insOrdersRiskList = insOrdersRiskService.list(new LambdaQueryWrapper<InsOrdersRisk>().eq(InsOrdersRisk::getOrderNo, ordersNo));
|
|
|
+ if (Objects.nonNull(insOrdersRiskList) && !insOrdersRiskList.isEmpty()) {
|
|
|
+ for (InsOrdersRisk insOrdersRisk : insOrdersRiskList) {
|
|
|
+ if (insOrdersRisk.getRiskCode().equals(InsuranceRisk.TRAFFIC.getCode())) {
|
|
|
+ insOrdersRisk.setStartDate(LocalDateTime.parse(quoteResponse.getCiRiskInfoVo().getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ insOrdersRisk.setEndDate(LocalDateTime.parse(quoteResponse.getCiRiskInfoVo().getEndDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ }
|
|
|
+ if (insOrdersRisk.getRiskCode().equals(InsuranceRisk.BUSINESS.getCode())) {
|
|
|
+ insOrdersRisk.setStartDate(LocalDateTime.parse(quoteResponse.getBiRiskInfoVo().getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ insOrdersRisk.setEndDate(LocalDateTime.parse(quoteResponse.getBiRiskInfoVo().getEndDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- insOrdersRiskService.updateBatchById(insOrdersRiskList);
|
|
|
-
|
|
|
- //更新费用
|
|
|
- InsOrdersCosts ordersCosts = insOrdersCostsService.getOne(new LambdaQueryWrapper<InsOrdersCosts>()
|
|
|
- .eq(InsOrdersCosts::getOrderNo,ordersNo));
|
|
|
- if(Objects.isNull(ordersCosts)){
|
|
|
- ordersCosts = new InsOrdersCosts();
|
|
|
- ordersCosts.setOrderNo(ordersNo);
|
|
|
- }
|
|
|
- BigDecimal ciPremium = new BigDecimal(quoteResponse.getCiPremium());
|
|
|
- BigDecimal biPremium = new BigDecimal(quoteResponse.getBiPremium());
|
|
|
- BigDecimal niPremium = new BigDecimal(quoteResponse.getNiPremium());
|
|
|
- BigDecimal vvTax = new BigDecimal(quoteResponse.getVvTax());
|
|
|
- ordersCosts.setJqPremium(ciPremium);
|
|
|
- ordersCosts.setSyPremium(biPremium);
|
|
|
- ordersCosts.setJyPremium(niPremium);
|
|
|
- ordersCosts.setTaxPremium(vvTax);
|
|
|
- ordersCosts.setSumPremium(ciPremium.add(biPremium).add(niPremium).add(vvTax));
|
|
|
- insOrdersCostsService.saveOrUpdate(ordersCosts);
|
|
|
-
|
|
|
- //更新评分
|
|
|
- InsOrdersOther ordersOther = insOrdersOtherService.getOne(new LambdaQueryWrapper<InsOrdersOther>().eq(InsOrdersOther::getOrderNo,ordersNo));
|
|
|
- if(Objects.isNull(ordersOther)){
|
|
|
- ordersOther = new InsOrdersOther();
|
|
|
- ordersOther.setOrderNo(ordersNo);
|
|
|
- ordersOther.setScore(quoteResponse.getScoreVo().getScore());
|
|
|
- ordersOther.setJqScore(quoteResponse.getScoreVo().getJqScore());
|
|
|
- ordersOther.setSyScore(quoteResponse.getScoreVo().getSyScore());
|
|
|
- ordersOther.setTpColorScore(quoteResponse.getScoreVo().getTpColorScore());
|
|
|
- }
|
|
|
- insOrdersOtherService.saveOrUpdate(ordersOther);
|
|
|
-
|
|
|
- //更新投保单号
|
|
|
- InsOrdersPolicy ordersPolicy = insOrdersPolicyService.getOne(new LambdaQueryWrapper<InsOrdersPolicy>().eq(InsOrdersPolicy::getOrderNo,ordersNo));
|
|
|
- ordersPolicy.setJqApplyNo(quoteResponse.getCiPolicyNumber());
|
|
|
- ordersPolicy.setSyApplyNo(quoteResponse.getBiPolicyNumber());
|
|
|
- insOrdersPolicyService.saveOrUpdate(ordersPolicy);
|
|
|
+ insOrdersRiskService.updateBatchById(insOrdersRiskList);
|
|
|
+
|
|
|
+ //更新费用
|
|
|
+ InsOrdersCosts ordersCosts = insOrdersCostsService.getOne(new LambdaQueryWrapper<InsOrdersCosts>()
|
|
|
+ .eq(InsOrdersCosts::getOrderNo, ordersNo));
|
|
|
+ if (Objects.isNull(ordersCosts)) {
|
|
|
+ ordersCosts = new InsOrdersCosts();
|
|
|
+ ordersCosts.setOrderNo(ordersNo);
|
|
|
+ }
|
|
|
+ BigDecimal ciPremium = new BigDecimal(quoteResponse.getCiPremium());
|
|
|
+ BigDecimal biPremium = new BigDecimal(quoteResponse.getBiPremium());
|
|
|
+ BigDecimal niPremium = new BigDecimal(quoteResponse.getNiPremium());
|
|
|
+ BigDecimal vvTax = new BigDecimal(quoteResponse.getVvTax());
|
|
|
+ ordersCosts.setJqPremium(ciPremium);
|
|
|
+ ordersCosts.setSyPremium(biPremium);
|
|
|
+ ordersCosts.setJyPremium(niPremium);
|
|
|
+ ordersCosts.setTaxPremium(vvTax);
|
|
|
+ ordersCosts.setSumPremium(ciPremium.add(biPremium).add(niPremium).add(vvTax));
|
|
|
+ insOrdersCostsService.saveOrUpdate(ordersCosts);
|
|
|
+
|
|
|
+ //更新评分
|
|
|
+ InsOrdersOther ordersOther = insOrdersOtherService.getOne(new LambdaQueryWrapper<InsOrdersOther>().eq(InsOrdersOther::getOrderNo, ordersNo));
|
|
|
+ if (Objects.isNull(ordersOther)) {
|
|
|
+ ordersOther = new InsOrdersOther();
|
|
|
+ ordersOther.setOrderNo(ordersNo);
|
|
|
+ ordersOther.setScore(quoteResponse.getScoreVo().getScore());
|
|
|
+ ordersOther.setJqScore(quoteResponse.getScoreVo().getJqScore());
|
|
|
+ ordersOther.setSyScore(quoteResponse.getScoreVo().getSyScore());
|
|
|
+ ordersOther.setTpColorScore(quoteResponse.getScoreVo().getTpColorScore());
|
|
|
+ }
|
|
|
+ insOrdersOtherService.saveOrUpdate(ordersOther);
|
|
|
|
|
|
+ //更新投保单号
|
|
|
+ InsOrdersPolicy ordersPolicy = insOrdersPolicyService.getOne(new LambdaQueryWrapper<InsOrdersPolicy>().eq(InsOrdersPolicy::getOrderNo, ordersNo));
|
|
|
+ ordersPolicy.setJqApplyNo(quoteResponse.getCiPolicyNumber());
|
|
|
+ ordersPolicy.setSyApplyNo(quoteResponse.getBiPolicyNumber());
|
|
|
+ insOrdersPolicyService.saveOrUpdate(ordersPolicy);
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -565,6 +573,34 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrdersPolicy.setJyApplyNo(underwritingResultsVo.getJyApplyNo());
|
|
|
}
|
|
|
insOrdersPolicyService.updateById(insOrdersPolicy);
|
|
|
+
|
|
|
+ //更新二维码
|
|
|
+ InsOrdersQrcode insOrdersQrcode = new InsOrdersQrcode();
|
|
|
+ insOrdersQrcode.setId(IdGenerate.nextId());
|
|
|
+ insOrdersQrcode.setOrderno(underwritingResultsVo.getOrdersNo());
|
|
|
+ String paylink = "";
|
|
|
+ if(isHttpUrl(insOrders.getPayLink())){
|
|
|
+ paylink = insOrders.getPayLink().replace("{", "").replace("}", "");
|
|
|
+ insOrdersQrcode.setJumpUrl(paylink);
|
|
|
+ }else{
|
|
|
+ if(paylink.contains("data:image/jpg;base64,")){
|
|
|
+ paylink = paylink.replace("data:image/jpg;base64,","");
|
|
|
+ }
|
|
|
+ insOrdersQrcode.setJumpUrl(paylink);
|
|
|
+ }
|
|
|
+ insOrdersQrcode.setQrcodeStatus(0);
|
|
|
+ insOrdersQrcode.setCreatetime(LocalDateTime.now());
|
|
|
+ insOrdersQrcodeMapper.insert(insOrdersQrcode);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private boolean isHttpUrl(String urls) {
|
|
|
+ try {
|
|
|
+ new URL(urls);
|
|
|
+ return true;
|
|
|
+ } catch (java.net.MalformedURLException e) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -657,4 +693,14 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
return new QuoteEchoVo(insOrdersVo);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ /**
|
|
|
+ * 获取历史报价信息
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<HistoryQuoteResultVo> getHistoryQuote(){
|
|
|
+ String userName = baseController.getUserName();
|
|
|
+ return insOrdersMapper.getHistoryQuote(userName);
|
|
|
+ }
|
|
|
+
|
|
|
}
|