国贸2.0系统推送合同:处理结果异步返回

This commit is contained in:
guojunyun
2025-11-10 11:21:30 +08:00
parent e757aa4904
commit 65d11fdc47
6 changed files with 182 additions and 96 deletions

View File

@@ -9,6 +9,7 @@ import com.zt.plat.module.contractorder.api.dto.order.PurchaseOrderWithDetailsDT
import com.zt.plat.module.contractorder.api.dto.order.SalesOrdDtlDTO; import com.zt.plat.module.contractorder.api.dto.order.SalesOrdDtlDTO;
import com.zt.plat.module.contractorder.api.vo.contract.international.IntContract; import com.zt.plat.module.contractorder.api.vo.contract.international.IntContract;
import com.zt.plat.module.contractorder.api.vo.contract.international.IntContractPageReq; import com.zt.plat.module.contractorder.api.vo.contract.international.IntContractPageReq;
import com.zt.plat.module.contractorder.api.vo.contract.international.IntPushContractReqVO;
import com.zt.plat.module.contractorder.enums.ApiConstants; import com.zt.plat.module.contractorder.enums.ApiConstants;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@@ -44,7 +45,7 @@ public interface ContractApi {
@PostMapping(PREFIX + "/push") @PostMapping(PREFIX + "/push")
@Operation(summary = "国贸2.0系统推送合同") @Operation(summary = "国贸2.0系统推送合同")
CommonResult<Boolean> push(@Valid @RequestBody IntContract reqVO); void push(@Valid @RequestBody IntPushContractReqVO pushReqVO);
@GetMapping(PREFIX + "/logistics/list/page") @GetMapping(PREFIX + "/logistics/list/page")
@Operation(summary = "国贸2.0系统合同分页查询") @Operation(summary = "国贸2.0系统合同分页查询")

View File

@@ -0,0 +1,24 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "国贸2.0系统推送合同 Request VO")
@Data
public class IntPushContractReqVO {
@Schema(description = "接口请求号")
private String __requestId_;
@Schema(description = "接口类型")
private String __interfaceType__;
@Schema(description = "操作标志")
private String operateFlag;
@Schema(description = "发送时间 yyyyMMddHHmmss")
private String datetime;
@Schema(description = "单据号")
private String busiBillCode;
@Schema(description = "发送方系统")
private String system;
@Schema(description = "发送数据")
private IntContract data;
}

View File

@@ -0,0 +1,29 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
import cn.hutool.json.JSONObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "国贸2.0系统推送合同 Response VO")
@Data
public class IntPushContractRespVO {
@Schema(description = "接口请求号")
private String __requestId_;
@Schema(description = "接口类型")
private String __interfaceType__;
@Schema(description = "单据号")
private String busiBillCode;
@Schema(description = "返回状态")
private Integer code;
@Schema(description = "返回信息")
private String message;
@Schema(description = "返回时间 yyyyMMddHHmmss")
private String datetime;
@Schema(description = "返回方系统")
private String system;
@Schema(description = "操作标志")
private String operateFlag;
@Schema(description = "返回数据")
private JSONObject data;
}

View File

@@ -9,6 +9,7 @@ import com.zt.plat.module.contractorder.api.ContractApi;
import com.zt.plat.module.contractorder.api.vo.contract.*; import com.zt.plat.module.contractorder.api.vo.contract.*;
import com.zt.plat.module.contractorder.api.vo.contract.international.IntContract; import com.zt.plat.module.contractorder.api.vo.contract.international.IntContract;
import com.zt.plat.module.contractorder.api.vo.contract.international.IntContractPageReq; import com.zt.plat.module.contractorder.api.vo.contract.international.IntContractPageReq;
import com.zt.plat.module.contractorder.api.vo.contract.international.IntPushContractReqVO;
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO; import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
import com.zt.plat.module.contractorder.service.contract.ContractService; import com.zt.plat.module.contractorder.service.contract.ContractService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -195,14 +196,14 @@ public class ContractController implements BusinessControllerMarker {
@PostMapping("/push") @PostMapping("/push")
@Operation(summary = "国贸2.0系统推送合同") @Operation(summary = "国贸2.0系统推送合同")
@PreAuthorize("@ss.hasPermission('base:contract:create')") @PreAuthorize("@ss.hasPermission('base:contract:create')")
CommonResult<Boolean> push(@Valid @RequestBody IntContract reqVO) { public void push(@Valid @RequestBody IntPushContractReqVO pushReqVO) {
return contractApi.push(reqVO); contractApi.push(pushReqVO);
} }
@PostMapping("/logistics/list/page") @PostMapping("/logistics/list/page")
@Operation(summary = "国贸2.0系统合同分页查询") @Operation(summary = "国贸2.0系统合同分页查询")
@PreAuthorize("@ss.hasPermission('base:contract:query')") @PreAuthorize("@ss.hasPermission('base:contract:query')")
CommonResult<PageResult<IntContract>> logisticsListPage(IntContractPageReq pageReq) { public CommonResult<PageResult<IntContract>> logisticsListPage(IntContractPageReq pageReq) {
return contractApi.logisticsListPage(pageReq); return contractApi.logisticsListPage(pageReq);
} }
} }

View File

@@ -14,8 +14,6 @@ import org.springframework.web.client.RestTemplate;
/** /**
* ePlat共享服务调用工具类 * ePlat共享服务调用工具类
* @author ChenZhaoxue
* @date 2025/3/27
*/ */
@Slf4j @Slf4j
@Configuration @Configuration
@@ -43,7 +41,7 @@ public class ShareServiceUtil {
* ePlat共享服务调用 * ePlat共享服务调用
* @param serviceNo 服务号 * @param serviceNo 服务号
* @param request 请求json字符串 * @param request 请求json字符串
* @return * @return 调用结果
*/ */
public String callShareService(String serviceNo, String request) { public String callShareService(String serviceNo, String request) {
String url = String.format("%s/service/%s", urlPrex, serviceNo); String url = String.format("%s/service/%s", urlPrex, serviceNo);