package com.ydtech.modules.xxl.service.impl; import com.ydtech.modules.order.components.ConfigureParametersComponents; import com.ydtech.modules.order.components.zijin.ZijinRequestApiComponents; import com.ydtech.modules.order.entity.api.zijin.constants.enums.OrderStatusEnum; import com.ydtech.modules.order.entity.api.zijin.request.OrderNoRequest; import com.ydtech.modules.order.entity.api.zijin.response.QueryOrderDetailResponse; import com.ydtech.modules.order.service.ZijinOrderApiService; 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 lombok.RequiredArgsConstructor; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Service; /** * @version * @author: hxl * @Date: 2024/3/28 11:36 * @Description: 紫金财险 */ @Service @RequiredArgsConstructor public class ZijinQueryStatusService implements BaseQueryStatusService { private final ConfigureParametersComponents configureParametersComponents; private final ZijinRequestApiComponents zijinRequestApiComponents; private final PtlAgreementAttributionService ptlAgreementAttributionService; private final ZijinOrderApiService zijinOrderApiService; /** * * @param insAreaCompany 业务订单 * @return */ @Override public QueryStatusResult queryStatus(InsAreaCompany insAreaCompany) { QueryStatusResult queryStatusResult = new QueryStatusResult(); queryStatusResult.setStatus(false); // 1 通过 协议id获取配置实体 // PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(insAreaCompany.getAgreementId()); HttpHeaders httpHeaders = zijinRequestApiComponents.getHttpHeaders(insAreaCompany.getAgreementId()); // 2 请求查看订单状态 OrderNoRequest orderNoRequest = new OrderNoRequest(insAreaCompany.getId()); QueryOrderDetailResponse queryOrderDetailResponse = zijinRequestApiComponents.getOrderDetail(insAreaCompany.getInsOrderNo(), httpHeaders); QueryOrderDetailResponse.ResultObjDTO resultObj = queryOrderDetailResponse.getResultObj(); String orderStatus = resultObj.getOrderStatus(); // 3. 订单生效以后修改状态 if (OrderStatusEnum.O_4.getCode().equals(orderStatus)) { // 3.1 非车险订单存入数据 String payTime = resultObj.getPayTime(); queryStatusResult.setPayTime(payTime); queryStatusResult.setStatus(true); } return queryStatusResult; } /** * @Description 更新承保状态和支付时间 * @Author hxl * @Date 2024/3/28 17:58 * @Param * @Return * @Exception * */ public void updateOrderStatusAndPayDate(InsAreaCompany insAreaCompany) { zijinOrderApiService.getOrderDetailNew(insAreaCompany.getId()); } }