GuoRenQueryStatusService.java 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.ydtech.modules.xxl.service.impl;
  2. import cn.hutool.core.collection.CollUtil;
  3. import com.ydtech.modules.ins.model.guoren.InsOrderStatusResp;
  4. import com.ydtech.modules.order.components.ConfigureParametersComponents;
  5. import com.ydtech.modules.order.components.gouren.GuorenRequestApiComponent;
  6. import com.ydtech.modules.order.entity.api.guoren.constants.PlatformInterfaceCode;
  7. import com.ydtech.modules.order.entity.api.guoren.request.ApplicationDetailsRequest;
  8. import com.ydtech.modules.order.service.GuorenOrderApiService;
  9. import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
  10. import com.ydtech.modules.xxl.model.InsAreaCompany;
  11. import com.ydtech.modules.xxl.model.QueryStatusResult;
  12. import com.ydtech.modules.xxl.service.BaseQueryStatusService;
  13. import com.ydtech.utils.StringUtils;
  14. import lombok.RequiredArgsConstructor;
  15. import org.springframework.stereotype.Service;
  16. import java.time.LocalDateTime;
  17. import java.time.format.DateTimeFormatter;
  18. /**
  19. * @version
  20. * @author: hxl
  21. * @Date: 2024/3/28 11:34
  22. * @Description: 国任财险
  23. */
  24. @Service
  25. @RequiredArgsConstructor
  26. public class GuoRenQueryStatusService implements BaseQueryStatusService {
  27. private final ConfigureParametersComponents configureParametersComponents;
  28. private final GuorenRequestApiComponent guorenRequestApiComponent;
  29. private final PtlAgreementAttributionService ptlAgreementAttributionService;
  30. private final GuorenOrderApiService guorenOrderApiService;
  31. public InsOrderStatusResp insOrderStatus(InsAreaCompany iac) {
  32. ApplicationDetailsRequest applicationDetailsRequest = new ApplicationDetailsRequest();
  33. // 交强投保单号
  34. applicationDetailsRequest.addProposalNos(iac.getJqapplyno());
  35. // 商业投保单号
  36. applicationDetailsRequest.addProposalNos(iac.getSyapplyno());
  37. //投保单状态查询
  38. return guorenRequestApiComponent.request(applicationDetailsRequest, PlatformInterfaceCode.API_IIRBT00010, InsOrderStatusResp.class);
  39. }
  40. /**
  41. *
  42. * @param insAreaCompany 业务订单
  43. * @return
  44. */
  45. @Override
  46. public QueryStatusResult queryStatus(InsAreaCompany insAreaCompany) {
  47. QueryStatusResult queryStatusResult = new QueryStatusResult();
  48. queryStatusResult.setStatus(false);
  49. // 获取协议配置信息
  50. InsOrderStatusResp iosr = insOrderStatus(insAreaCompany);
  51. if (null != iosr && CollUtil.isNotEmpty(iosr.getData())) {
  52. InsOrderStatusResp.DataDTO jqDataDTO =
  53. iosr.getData().stream().filter(a -> a.getProposalNo().equals(insAreaCompany.getJqapplyno())).findFirst().orElse(null);
  54. InsOrderStatusResp.DataDTO syDataDTO =
  55. iosr.getData().stream().filter(b -> b.getProposalNo().equals(insAreaCompany.getSyapplyno())).findFirst().orElse(null);
  56. boolean updateFlag = false;
  57. if (null != jqDataDTO && StringUtils.isNotEmpty(jqDataDTO.getPolicyNo())) {
  58. insAreaCompany.setJqpolicyno(jqDataDTO.getPolicyNo());
  59. updateFlag = true;
  60. }
  61. if (null != syDataDTO && StringUtils.isNotEmpty(syDataDTO.getPolicyNo())) {
  62. insAreaCompany.setSypolicyno(syDataDTO.getPolicyNo());
  63. updateFlag = true;
  64. }
  65. // 支付
  66. if (updateFlag) {
  67. queryStatusResult.setStatus(true);
  68. queryStatusResult.setPayTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
  69. }
  70. }
  71. return queryStatusResult;
  72. }
  73. /**
  74. * @Description 更新承保状态和支付时间
  75. * @Author hxl
  76. * @Date 2024/3/28 17:58
  77. * @Param
  78. * @Return
  79. * @Exception
  80. *
  81. */
  82. public void updateOrderStatusAndPayDate(InsAreaCompany insAreaCompany) {
  83. guorenOrderApiService.insOrderInfoNew(insAreaCompany.getId());
  84. }
  85. }