Bläddra i källkod

订单合同新增接口

chenxiaofei 2 månader sedan
förälder
incheckning
5ef9cb6ec3

+ 9 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcLogisticsContractController.java

@@ -3,6 +3,7 @@ package com.sckw.contract.controller;
 import com.sckw.contract.model.vo.req.ContractDetailReq;
 import com.sckw.contract.model.vo.req.LogisticListReq;
 import com.sckw.contract.model.vo.req.QueryLogisticListReq;
+import com.sckw.contract.model.vo.req.UpdateLogisticsReq;
 import com.sckw.contract.model.vo.res.QueryLogisticDetailResp;
 import com.sckw.contract.model.vo.res.QueryLogisticListResp;
 import com.sckw.contract.service.operateService.KwcContractLogisticsService;
@@ -52,4 +53,12 @@ public class KwcLogisticsContractController {
     public BaseResult<QueryLogisticDetailResp> queryLogisticsContractDetail(@RequestBody ContractDetailReq req) {
        return BaseResult.success(kwcContractLogisticsService.queryLogisticsContractDetail(req)) ;
     }
+
+    /**
+     * 修改合同状态
+     */
+    @PostMapping("/updateLogistics")
+    public BaseResult<Boolean> updateLogistics(@RequestBody UpdateLogisticsReq req) {
+        return BaseResult.success(kwcContractLogisticsService.updateLogistics(req));
+    }
 }

+ 1 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dubbo/RemoteContractServiceImpl.java

@@ -57,7 +57,7 @@ public class RemoteContractServiceImpl implements RemoteContractService {
 
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
     private RemoteSystemService remoteSystemService;
-    @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000
+    @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
     private TransportRemoteService transportRemoteService ;
 
     private final KwcContractTradeRepository kwcContractTradeRepository ;

+ 1 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/ContractDetailReq.java

@@ -27,5 +27,6 @@ public class ContractDetailReq implements Serializable {
     /**
      * 物流合同id
      */
+    @Schema(description = "物流合同id")
     private Long contractId;
 }

+ 30 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/UpdateLogisticsReq.java

@@ -0,0 +1,30 @@
+package com.sckw.contract.model.vo.req;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author :chenXiaoFei
+ * @version :1.0
+ * @description : 手动完结请求参数
+ * @create :2025-11-08 16:47:00
+ */
+@Data
+public class UpdateLogisticsReq implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 9190078347612391118L;
+
+    /**
+     * 物流合同id
+     */
+    @Schema(description = "物流合同id")
+    private Long logContractId;
+    /**
+     * 物流状态
+     */
+    @Schema(description = "物流状态")
+    private Integer logStatus;
+}

+ 6 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/repository/KwcContractLogisticsRepository.java

@@ -53,4 +53,10 @@ public class KwcContractLogisticsRepository extends ServiceImpl<KwcContractLogis
                 .eq(KwcContractLogistics::getDelFlag, 0)
                 .in(KwcContractLogistics::getId, logContractIds));
     }
+
+    public Boolean updateLogistics(KwcContractLogistics updateLogistics) {
+       return update(updateLogistics,
+                Wrappers.<KwcContractLogistics>lambdaQuery()
+                        .eq(KwcContractLogistics::getId, updateLogistics.getId()));
+    }
 }

+ 19 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractLogisticsService.java

@@ -1391,4 +1391,23 @@ public class KwcContractLogisticsService {
         tradeGoodsInfo.setPrice(x.getPrice());
         return tradeGoodsInfo;
     }
+
+    public Boolean updateLogistics(UpdateLogisticsReq req) {
+        log.info("更新物流合同参数:{}", JSON.toJSONString( req));
+        KwcContractLogistics logistics = kwcContractLogisticsRepository.queryById(req.getLogContractId());
+        if (Objects.isNull(logistics)){
+            throw new BusinessException("物流合同不存在");
+        }
+        KwcContractLogistics updateLogistics = new KwcContractLogistics();
+        if (Objects.nonNull(req.getLogStatus()) && Objects.equals(logistics.getStatus(),
+                ContractStatusEnum.SUBMIT.getCode())){
+            updateLogistics.setStatus(req.getLogStatus());
+            updateLogistics.setId(logistics.getId());
+        }
+        if (Objects.nonNull(req.getLogStatus()) && Objects.equals(logistics.getStatus(),ContractStatusEnum.SIGNED.getCode())){
+            updateLogistics.setStatus(req.getLogStatus());
+            updateLogistics.setId(logistics.getId());
+        }
+       return kwcContractLogisticsRepository.updateLogistics(updateLogistics);
+    }
 }