From d6725f3040a0e4a67aaefa0bb12a5eed9d9a2926 Mon Sep 17 00:00:00 2001 From: wyw <13885678+wyw0828@user.noreply.gitee.com> Date: Tue, 30 Jul 2024 12:36:42 +0800 Subject: [PATCH] =?UTF-8?q?[fit]=20=E4=BC=98=E5=8C=96=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E5=90=88=E5=90=8C=E5=85=B3=E8=81=94=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/cms/enums/ErrorCodeConstants.java | 6 +--- .../extContract/ExtContractController.java | 5 ++-- .../outscontract/OutsContractController.java | 5 ++-- .../cms/service/contract/ContractService.java | 4 +-- .../service/contract/ContractServiceImpl.java | 27 ++++++++++++++--- .../extContract/ExtContractService.java | 4 +-- .../extContract/ExtContractServiceImpl.java | 29 +++++++++++++++---- .../outscontract/OutsContractService.java | 4 +-- .../outscontract/OutsContractServiceImpl.java | 23 +++++++++++++-- 9 files changed, 80 insertions(+), 27 deletions(-) diff --git a/yudao-module-cms/yudao-module-cms-api/src/main/java/cn/iocoder/yudao/module/cms/enums/ErrorCodeConstants.java b/yudao-module-cms/yudao-module-cms-api/src/main/java/cn/iocoder/yudao/module/cms/enums/ErrorCodeConstants.java index fa4a86ec3..c10c0d59e 100644 --- a/yudao-module-cms/yudao-module-cms-api/src/main/java/cn/iocoder/yudao/module/cms/enums/ErrorCodeConstants.java +++ b/yudao-module-cms/yudao-module-cms-api/src/main/java/cn/iocoder/yudao/module/cms/enums/ErrorCodeConstants.java @@ -23,6 +23,7 @@ public interface ErrorCodeConstants { // ========== 外包合同关联 2_023_000_000 ========== ErrorCode CONTRACT_OUTS_NOT_EXISTS = new ErrorCode(2_023_000_000, "外包合同关联不存在"); + ErrorCode CONTRACT_OUTS_ALREADY_EXISTS = new ErrorCode(2_023_000_000, "外包合同关联已经存在"); ErrorCode CONTRACT_NOT_EXISTS = new ErrorCode(2_024_000_000, "合同不存在"); @@ -40,9 +41,4 @@ public interface ErrorCodeConstants { ErrorCode CONTRACT_EXT_NOT_EXISTS = new ErrorCode(2_028_000_000, "外部合同关联不存在"); - - - - - } diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/ExtContractController.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/ExtContractController.java index 83de1c395..138657e67 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/ExtContractController.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/extContract/ExtContractController.java @@ -27,6 +27,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @Tag(name = "管理后台 - 外部合同") @@ -42,14 +43,14 @@ public class ExtContractController { @Operation(summary = "创建外部合同") @PreAuthorize("@ss.hasPermission('cms-ext:ext-contract:create')") public CommonResult createExtContract(@Valid @RequestBody ExtContractSaveReqVO createReqVO) { - return success(extContractService.createExtContract(createReqVO)); + return success(extContractService.createExtContract(getLoginUserId(),createReqVO)); } @PutMapping("/update") @Operation(summary = "更新外部合同") @PreAuthorize("@ss.hasPermission('cms-ext:ext-contract:update')") public CommonResult updateExtContract(@Valid @RequestBody ExtContractSaveReqVO updateReqVO) { - extContractService.updateExtContract(updateReqVO); + extContractService.updateExtContract(getLoginUserId(),updateReqVO); return success(true); } diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontract/OutsContractController.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontract/OutsContractController.java index b6df6307f..14d07d450 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontract/OutsContractController.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontract/OutsContractController.java @@ -27,6 +27,7 @@ import java.util.List; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @Tag(name = "管理后台 - 外包合同") @RestController @@ -41,14 +42,14 @@ public class OutsContractController { @Operation(summary = "创建外包合同") @PreAuthorize("@ss.hasPermission('cms:outs-contract:create')") public CommonResult createOutsContract(@Valid @RequestBody OutsContractSaveReqVO createReqVO) { - return success(outsContractService.createOutsContract(createReqVO)); + return success(outsContractService.createOutsContract(getLoginUserId(),createReqVO)); } @PutMapping("/update") @Operation(summary = "更新外包合同") @PreAuthorize("@ss.hasPermission('cms:outs-contract:update')") public CommonResult updateOutsContract(@Valid @RequestBody OutsContractSaveReqVO updateReqVO) { - outsContractService.updateOutsContract(updateReqVO); + outsContractService.updateOutsContract(getLoginUserId(),updateReqVO); return success(true); } diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractService.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractService.java index 399d9dcb9..ce8f9c679 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractService.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractService.java @@ -20,14 +20,14 @@ public interface ContractService { * @param createReqVO 创建信息 * @return 编号 */ - Long createContract(@Valid ContractSaveReqVO createReqVO); + Long createContract(Long loginUserId,@Valid ContractSaveReqVO createReqVO); /** * 更新合同 * * @param updateReqVO 更新信息 */ - void updateContract(@Valid ContractSaveReqVO updateReqVO); + void updateContract(Long loginUserId,@Valid ContractSaveReqVO updateReqVO); /** * 删除合同 diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractServiceImpl.java index a3379ae2c..e7402cce7 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contract/ContractServiceImpl.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.cms.dal.mysql.extcontract.ExtContractMapper; import cn.iocoder.yudao.module.pms.api.ProjectApi; import cn.iocoder.yudao.module.pms.api.project.dto.ProjectDetailRespDTO; import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -24,6 +25,7 @@ import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_NOT_EXISTS; /** * 合同 Service 实现类 @@ -42,30 +44,47 @@ public class ContractServiceImpl implements ContractService { private ProjectApi projectApi; @Resource - private ExtContractMapper extContractMapper; + private AdminUserApi adminUserApi; @Override - public Long createContract(ContractSaveReqVO createReqVO) { + public Long createContract(Long loginUserId,ContractSaveReqVO createReqVO) { if (createReqVO == null){ throw exception(PARAM_NOT_EXISTS); } + if (loginUserId == null){ + throw exception(PARAM_NOT_EXISTS); + } + String userName = adminUserApi.getUser(loginUserId).getNickname(); + if (userName == null){ + throw exception(USER_NOT_EXISTS); + } ContractDO contract = BeanUtils.toBean(createReqVO, ContractDO.class); - //校验 + //校验,项目是否存在 projectApi.validProjectExist(contract.getProjectId()); + + contract.setCreator(userName); + contract.setUpdater(userName); contractMapper.insert(contract); + + //返回 return contract.getId(); } @Override - public void updateContract(ContractSaveReqVO updateReqVO) { + public void updateContract(Long loginUserId,ContractSaveReqVO updateReqVO) { //校验 validateContractExists(updateReqVO.getId()); projectApi.validProjectExist(updateReqVO.getProjectId()); // 更新 ContractDO updateObj = BeanUtils.toBean(updateReqVO, ContractDO.class); + String userName = adminUserApi.getUser(loginUserId).getNickname(); + if (userName == null){ + throw exception(USER_NOT_EXISTS); + } + updateObj.setUpdater(userName); contractMapper.updateById(updateObj); } diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractService.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractService.java index 6bb68eff6..55f96c2d1 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractService.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractService.java @@ -22,14 +22,14 @@ public interface ExtContractService { * @param createReqVO 创建信息 * @return 编号 */ - Long createExtContract(@Valid ExtContractSaveReqVO createReqVO); + Long createExtContract(Long loginUserId,@Valid ExtContractSaveReqVO createReqVO); /** * 更新外部合同 * * @param updateReqVO 更新信息 */ - void updateExtContract(@Valid ExtContractSaveReqVO updateReqVO); + void updateExtContract(Long loginUserId,@Valid ExtContractSaveReqVO updateReqVO); /** * 删除外部合同 diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractServiceImpl.java index 47032fb33..f92af7fda 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/extContract/ExtContractServiceImpl.java @@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.cms.dal.mysql.extcontract.ExtContractMapper; import cn.iocoder.yudao.module.pms.api.ProjectApi; import cn.iocoder.yudao.module.pms.api.project.dto.ProjectDetailRespDTO; import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -23,6 +24,7 @@ import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_NOT_EXISTS; /** * 外部合同 Service 实现类 @@ -42,22 +44,32 @@ public class ExtContractServiceImpl implements ExtContractService { @Resource private CustomerCompanyMapper customerCompanyMapper; + @Resource + private AdminUserApi adminUserApi; + @Override - public Long createExtContract(ExtContractSaveReqVO createReqVO) { + public Long createExtContract(Long loginUserId,ExtContractSaveReqVO createReqVO) { if (createReqVO == null){ throw exception(PARAM_NOT_EXISTS); } - ExtContractDO contract = BeanUtils.toBean(createReqVO, ExtContractDO.class); + ExtContractDO extContract = BeanUtils.toBean(createReqVO, ExtContractDO.class); //校验 - projectApi.validProjectExist(contract.getProjectId()); - extContractMapper.insert(contract); + projectApi.validProjectExist(extContract.getProjectId()); + + String userName = adminUserApi.getUser(loginUserId).getNickname(); + if (userName == null){ + throw exception(USER_NOT_EXISTS); + } + extContract.setCreator(userName); + extContract.setUpdater(userName); + extContractMapper.insert(extContract); //返回 - return contract.getId(); + return extContract.getId(); } @Override - public void updateExtContract(ExtContractSaveReqVO updateReqVO) { + public void updateExtContract(Long loginUserId,ExtContractSaveReqVO updateReqVO) { //校验 if (updateReqVO == null){ throw exception(PARAM_NOT_EXISTS); @@ -65,8 +77,13 @@ public class ExtContractServiceImpl implements ExtContractService { validateExtContractExists(updateReqVO.getId()); projectApi.validProjectExist(updateReqVO.getProjectId()); + String userName = adminUserApi.getUser(loginUserId).getNickname(); + if (userName == null){ + throw exception(USER_NOT_EXISTS); + } // 更新 ExtContractDO updateObj = BeanUtils.toBean(updateReqVO, ExtContractDO.class); + updateObj.setUpdater(userName); extContractMapper.updateById(updateObj); } diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractService.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractService.java index fd08b7196..a7df32d1d 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractService.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractService.java @@ -23,14 +23,14 @@ public interface OutsContractService { * @param createReqVO 创建信息 * @return 编号 */ - Long createOutsContract(@Valid OutsContractSaveReqVO createReqVO); + Long createOutsContract(Long loginUserId,@Valid OutsContractSaveReqVO createReqVO); /** * 更新外包合同 * * @param updateReqVO 更新信息 */ - void updateOutsContract(@Valid OutsContractSaveReqVO updateReqVO); + void updateOutsContract(Long loginUserId,@Valid OutsContractSaveReqVO updateReqVO); /** * 删除外包合同 diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractServiceImpl.java index 279b71065..3d43cae07 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontract/OutsContractServiceImpl.java @@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.cms.dal.mysql.outscontract.OutsContractMapper; import cn.iocoder.yudao.module.cms.service.contract.ContractService; import cn.iocoder.yudao.module.pms.api.ProjectApi; import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -21,6 +22,7 @@ import java.util.Objects; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_NOT_EXISTS; /** * 外包合同 Service 实现类 @@ -40,8 +42,11 @@ public class OutsContractServiceImpl implements OutsContractService { @Resource private ProjectApi projectApi; + @Resource + private AdminUserApi adminUserApi; + @Override - public Long createOutsContract(OutsContractSaveReqVO createReqVO) { + public Long createOutsContract(Long loginUserId,OutsContractSaveReqVO createReqVO) { if (createReqVO == null) { throw exception(PARAM_NOT_EXISTS); @@ -66,6 +71,14 @@ public class OutsContractServiceImpl implements OutsContractService { if (!Objects.equals(createReqVO.getName(), contract.getName())) { throw exception(CONTRACT_NAME_NOT_EXISTS); } + //TODO 待优化 + String userName = adminUserApi.getUser(loginUserId).getNickname(); + if (userName == null){ + throw exception(USER_NOT_EXISTS); + } + outsContract.setCreator(userName); + outsContract.setUpdater(userName); + outsContractMapper.insert(outsContract); @@ -73,7 +86,7 @@ public class OutsContractServiceImpl implements OutsContractService { } @Override - public void updateOutsContract(OutsContractSaveReqVO updateReqVO) { + public void updateOutsContract(Long loginUserId,OutsContractSaveReqVO updateReqVO) { // 校验 validateOutsContractExists(updateReqVO.getId()); @@ -86,8 +99,13 @@ public class OutsContractServiceImpl implements OutsContractService { if (!Objects.equals(updateReqVO.getProjectId(), outsContractDO.getProjectId())) { throw exception(PROJECT_NOT_EXISTS); } + String userName = adminUserApi.getUser(loginUserId).getNickname(); + if (userName == null){ + throw exception(USER_NOT_EXISTS); + } // 更新 OutsContractDO updateObj = BeanUtils.toBean(updateReqVO, OutsContractDO.class); + updateObj.setUpdater(userName); outsContractMapper.updateById(updateObj); } @@ -126,6 +144,7 @@ public class OutsContractServiceImpl implements OutsContractService { @Override public PageResult getOutsContractPage(OutsContractPageReqVO pageReqVO) { + if (pageReqVO == null) { throw exception(PARAM_NOT_EXISTS); }