czh 2 лет назад
Родитель
Сommit
ae33bf66fe

+ 40 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcOpenapiController.java

@@ -0,0 +1,40 @@
+package com.sckw.contract.controller;
+
+import com.sckw.contract.model.vo.req.ESignCallBackReqVo;
+import com.sckw.contract.model.vo.req.QueryListReqVo;
+import com.sckw.contract.service.KwcOpenapiService;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.enums.EntTypeEnum;
+import com.sckw.core.web.response.HttpResult;
+import jakarta.validation.Valid;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author czh
+ * @desc 对外开放的接口
+ * @date 2023/8/14
+ */
+@RestController
+@RequestMapping("kwcOpenapi")
+public class KwcOpenapiController {
+
+
+    @Autowired
+    private KwcOpenapiService kwcOpenapiService;
+
+    /**
+     * @desc: e签宝回调
+     * @param: reqVo 入参
+     * @author: czh
+     * @date 2023/8/14
+     * @return HttpResult
+     */
+    @RequestMapping("eSignCallBack")
+    public HttpResult eSignCallBack(@Valid @RequestBody ESignCallBackReqVo reqVo) throws SystemException {
+        kwcOpenapiService.eSignCallBack(reqVo);
+        return HttpResult.ok();
+    }
+}

+ 37 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/ESignCallBackReqVo.java

@@ -0,0 +1,37 @@
+package com.sckw.contract.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc e签宝回调参数
+ * @date 2023/8/14
+ */
+@Data
+public class ESignCallBackReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -7117715297411077846L;
+
+    /**
+     * 合同id
+     */
+    @NotNull(message = "合同id不能为空")
+    private Long contractId;
+
+    /**
+     * 状态
+     */
+    @NotNull(message = "合同状态不能为空")
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 44 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java

@@ -1,12 +1,21 @@
 package com.sckw.contract.service;
 
+import com.sckw.contract.dao.KwcContractLogisticsMapper;
+import com.sckw.contract.dao.KwcContractTradeMapper;
+import com.sckw.contract.model.entity.KwcContractLogistics;
+import com.sckw.contract.model.entity.KwcContractTrade;
+import com.sckw.contract.model.vo.req.ESignCallBackReqVo;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 @Service
 public class CommonBusinessService {
@@ -14,6 +23,18 @@ public class CommonBusinessService {
     @DubboReference(version = "2.0.0", group = "design", check = false)
     private RemoteSystemService remoteSystemService;
 
+    @Autowired
+    private KwcContractTradeMapper kwcContractTradeMapper;
+
+    @Autowired
+    private KwcContractLogisticsMapper kwcContractLogisticsMapper;
+
+    @Autowired
+    private KwcContractLogisticsService kwcContractLogisticsService;
+
+    @Autowired
+    private KwcContractTradeService kwcContractTradeService;
+
     /**
      * @return Map
      * @desc: 查企业
@@ -24,4 +45,27 @@ public class CommonBusinessService {
     public Map<Long, EntCacheResDto> queryEntCacheMapByIds(List<Long> entIdList) {
         return remoteSystemService.queryEntCacheMapByIds(entIdList);
     }
+
+    /**
+     * @param reqVo e签宝回调参数
+     * @desc: 审批
+     * @author: czh
+     * @date: 2023/8/14
+     */
+    public void approval(ESignCallBackReqVo reqVo) {
+        Long contractId = reqVo.getContractId();
+        KwcContractTrade kwcContractTrade = kwcContractTradeMapper.selectById(contractId);
+        if (Objects.nonNull(kwcContractTrade)) {
+            kwcContractTradeService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
+            return;
+        }
+
+        KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(contractId);
+        if (Objects.nonNull(kwcContractLogistics)) {
+            kwcContractLogisticsService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
+            return;
+        }
+
+        throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.CONTRACT_NOT_EXISTS);
+    }
 }

+ 22 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java

@@ -708,4 +708,25 @@ public class KwcContractLogisticsService {
     public void test() {
         remoteContractService.queryContractBaseInfo(Collections.singletonList(165121415794659328L));
     }
-}
+
+    @Transactional(rollbackFor = {})
+    public void approval(Long id, Integer status, String remark) {
+        LambdaQueryWrapper<KwcContractLogistics> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwcContractLogistics::getId, id).
+                eq(KwcContractLogistics::getDelFlag, Global.NO).
+                eq(KwcContractLogistics::getStatus, ContractStatusEnum.SUBMIT.getCode());
+        KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectOne(wrapper);
+        if (Objects.isNull(kwcContractLogistics)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.CONTRACT_NOT_EXISTS);
+        }
+
+        kwcContractLogistics.setStatus(status);
+        kwcContractLogistics.setRemark(remark);
+        kwcContractLogistics.setUpdateTime(new Date());
+        kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
+        if (kwcContractLogisticsMapper.updateById(kwcContractLogistics) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+        }
+    }
+
+}

+ 21 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java

@@ -637,6 +637,27 @@ public class KwcContractTradeService {
         return list;
     }
 
+
+    @Transactional(rollbackFor = {})
+    public void approval(Long id, Integer status, String remark) {
+        LambdaQueryWrapper<KwcContractTrade> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwcContractTrade::getId, id).
+                eq(KwcContractTrade::getDelFlag, Global.NO).
+                eq(KwcContractTrade::getStatus, ContractStatusEnum.SUBMIT.getCode());
+        KwcContractTrade kwcContractTrade = kwcContractTradeMapper.selectOne(wrapper);
+        if (Objects.isNull(kwcContractTrade)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.CONTRACT_NOT_EXISTS);
+        }
+
+        kwcContractTrade.setStatus(status);
+        kwcContractTrade.setRemark(remark);
+        kwcContractTrade.setUpdateTime(new Date());
+        kwcContractTrade.setUpdateBy(LoginUserHolder.getUserId());
+        if (kwcContractTradeMapper.updateById(kwcContractTrade) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+        }
+    }
+
 }
 
 

+ 29 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcOpenapiService.java

@@ -0,0 +1,29 @@
+package com.sckw.contract.service;
+
+import com.sckw.contract.model.vo.req.ESignCallBackReqVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author czh
+ * @desc 对外开放接口业务实现
+ * @date 2023/8/14
+ */
+@Service
+public class KwcOpenapiService {
+
+    @Autowired
+    private CommonBusinessService commonBusinessService;
+
+
+    /**
+     * @desc: e签宝回调
+     * @param: reqVo 入参
+     * @author: czh
+     * @date 2023/8/14
+     */
+    public void eSignCallBack(ESignCallBackReqVo reqVo) {
+        commonBusinessService.approval(reqVo);
+    }
+
+}

+ 0 - 1
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -253,7 +253,6 @@ public class KwmCooperateManageService {
             return;
         }
 
-
         try {
             EasyExcelUtil.writeSingleExcel("合作管理.xlsx", "sheet1", cooperateManageQueryResVos, CooperateManageQueryResVo.class);
         } catch (IOException e) {