package com.ydtech.modules.xxl.service.impl; import cn.hutool.core.collection.CollUtil; import com.ydtech.modules.ins.model.guoren.InsOrderStatusResp; import com.ydtech.modules.order.components.ConfigureParametersComponents; import com.ydtech.modules.order.components.gouren.GuorenRequestApiComponent; import com.ydtech.modules.order.entity.api.guoren.constants.PlatformInterfaceCode; import com.ydtech.modules.order.entity.api.guoren.request.ApplicationDetailsRequest; import com.ydtech.modules.order.service.GuorenOrderApiService; import com.ydtech.modules.protocol.service.PtlAgreementAttributionService; import com.ydtech.modules.xxl.model.InsAreaCompany; import com.ydtech.modules.xxl.model.QueryStatusResult; import com.ydtech.modules.xxl.service.BaseQueryStatusService; import com.ydtech.utils.StringUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** * @version * @author: hxl * @Date: 2024/3/28 11:34 * @Description: 国任财险 */ @Service @RequiredArgsConstructor public class GuoRenQueryStatusService implements BaseQueryStatusService { private final ConfigureParametersComponents configureParametersComponents; private final GuorenRequestApiComponent guorenRequestApiComponent; private final PtlAgreementAttributionService ptlAgreementAttributionService; private final GuorenOrderApiService guorenOrderApiService; public InsOrderStatusResp insOrderStatus(InsAreaCompany iac) { ApplicationDetailsRequest applicationDetailsRequest = new ApplicationDetailsRequest(); // 交强投保单号 applicationDetailsRequest.addProposalNos(iac.getJqapplyno()); // 商业投保单号 applicationDetailsRequest.addProposalNos(iac.getSyapplyno()); //投保单状态查询 return guorenRequestApiComponent.request(applicationDetailsRequest, PlatformInterfaceCode.API_IIRBT00010, InsOrderStatusResp.class); } /** * * @param insAreaCompany 业务订单 * @return */ @Override public QueryStatusResult queryStatus(InsAreaCompany insAreaCompany) { QueryStatusResult queryStatusResult = new QueryStatusResult(); queryStatusResult.setStatus(false); // 获取协议配置信息 InsOrderStatusResp iosr = insOrderStatus(insAreaCompany); if (null != iosr && CollUtil.isNotEmpty(iosr.getData())) { InsOrderStatusResp.DataDTO jqDataDTO = iosr.getData().stream().filter(a -> a.getProposalNo().equals(insAreaCompany.getJqapplyno())).findFirst().orElse(null); InsOrderStatusResp.DataDTO syDataDTO = iosr.getData().stream().filter(b -> b.getProposalNo().equals(insAreaCompany.getSyapplyno())).findFirst().orElse(null); boolean updateFlag = false; if (null != jqDataDTO && StringUtils.isNotEmpty(jqDataDTO.getPolicyNo())) { insAreaCompany.setJqpolicyno(jqDataDTO.getPolicyNo()); updateFlag = true; } if (null != syDataDTO && StringUtils.isNotEmpty(syDataDTO.getPolicyNo())) { insAreaCompany.setSypolicyno(syDataDTO.getPolicyNo()); updateFlag = true; } // 支付 if (updateFlag) { queryStatusResult.setStatus(true); queryStatusResult.setPayTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); } } return queryStatusResult; } /** * @Description 更新承保状态和支付时间 * @Author hxl * @Date 2024/3/28 17:58 * @Param * @Return * @Exception * */ public void updateOrderStatusAndPayDate(InsAreaCompany insAreaCompany) { guorenOrderApiService.insOrderInfoNew(insAreaCompany.getId()); } }