From a224d732031f857a5a007f71e7beefb44e2f3164 Mon Sep 17 00:00:00 2001 From: wyw <13885678+wyw0828@user.noreply.gitee.com> Date: Mon, 29 Jul 2024 12:58:16 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E4=BC=98=E5=8C=96=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=8C=E5=A4=96=E9=83=A8=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=8C=E5=A4=96=E5=8C=85=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=AE=A1=E7=90=86=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 | 27 ++++++++------ .../vo/ContractOutsPageReqVO.java | 20 ++++++++++ .../contractouts/vo/ContractOutsRespVO.java | 24 ++++++++++++ .../vo/ContractOutsSaveReqVO.java | 21 +++++++++++ .../cms/service/contract/ContractService.java | 8 ++++ .../service/contract/ContractServiceImpl.java | 30 ++++++++------- .../contractouts/ContractOutsServiceImpl.java | 12 ++---- .../extContract/ExtContractServiceImpl.java | 37 ++++++++++--------- .../outscontract/OutsContractServiceImpl.java | 16 ++++++-- .../yudao/module/pms/api/ProjectApi.java | 6 +++ .../module/pms/api/project/ProjectImpl.java | 12 ++++++ 11 files changed, 159 insertions(+), 54 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 b777cceaa..fa4a86ec3 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 @@ -8,13 +8,27 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode; * @date 2024/7/3 */ public interface ErrorCodeConstants { + ErrorCode CUSTOMER_COMPANY_NOT_EXISTS = new ErrorCode(1_020_000_000, "客户公司管理不存在"); + + ErrorCode PROJECT_NOT_EXISTS = new ErrorCode(1_021_000_000, "项目信息不存在"); + + ErrorCode PARAM_NOT_EXISTS = new ErrorCode(1_022_000_000, "请求参数错误"); + + // ========== 外包合同 2_021_000_000 ========== + ErrorCode OUTS_CONTRACT_NOT_EXISTS = new ErrorCode(2_021_000_000, "外包合同不存在"); + + // ========== 外包合同历史 2_022_000_000 ========== + ErrorCode OUTS_CONTRACT_HISTORY_NOT_EXISTS = new ErrorCode(2_022_000_000, "外包合同历史不存在"); + + // ========== 外包合同关联 2_023_000_000 ========== + ErrorCode CONTRACT_OUTS_NOT_EXISTS = new ErrorCode(2_023_000_000, "外包合同关联不存在"); + ErrorCode CONTRACT_NOT_EXISTS = new ErrorCode(2_024_000_000, "合同不存在"); ErrorCode CONTRACT_NAME_NOT_EXISTS = new ErrorCode(2_024_001_000, "合同名称不存在"); - ErrorCode CONTRACT_HISTORY_NOT_EXISTS = new ErrorCode(2_025_000_000, "历史合同不存在"); @@ -25,19 +39,8 @@ public interface ErrorCodeConstants { ErrorCode CONTRACT_EXT_NOT_EXISTS = new ErrorCode(2_028_000_000, "外部合同关联不存在"); - // ========== 外包合同 2_021_000_000 ========== - ErrorCode OUTS_CONTRACT_NOT_EXISTS = new ErrorCode(2_021_000_000, "外包合同不存在"); - - // ========== 外包合同历史 2_022_000_000 ========== - ErrorCode OUTS_CONTRACT_HISTORY_NOT_EXISTS = new ErrorCode(2_022_000_000, "外包合同历史不存在"); - - // ========== 外包合同关联 2_023_000_000 ========== - ErrorCode CONTRACT_OUTS_NOT_EXISTS = new ErrorCode(2_023_000_000, "外包合同关联不存在"); - ErrorCode CUSTOMER_COMPANY_NOT_EXISTS = new ErrorCode(1_020_000_000, "客户公司管理不存在"); - - ErrorCode PROJECT_NOT_EXISTS = new ErrorCode(1_021_000_000, "项目信息不存在"); diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsPageReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsPageReqVO.java index 7f419a813..09bc958f3 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsPageReqVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsPageReqVO.java @@ -23,5 +23,25 @@ public class ContractOutsPageReqVO extends PageParam { @Schema(description = "外包合同id", example = "9277") private Long outsContractId; + @Schema(description = "创建人") + private String creator; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "更新人") + private String updater; + + @Schema(description = "更新时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] updateTime; + + @Schema(description = "是否删除") + private Boolean delete; + + @Schema(description = "租户id", example = "15943") + private Long tenantId; + } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsRespVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsRespVO.java index a8e4f3c3c..018d38131 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsRespVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsRespVO.java @@ -24,4 +24,28 @@ public class ContractOutsRespVO { @ExcelProperty("外包合同id") private Long outsContractId; + @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建人") + private String creator; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新人", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("更新人") + private String updater; + + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + private LocalDateTime updateTime; + + @Schema(description = "是否删除", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否删除") + private Boolean delete; + + @Schema(description = "租户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15943") + @ExcelProperty("租户id") + private Long tenantId; + } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsSaveReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsSaveReqVO.java index e9228a630..81d8a5e1b 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsSaveReqVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/contractouts/vo/ContractOutsSaveReqVO.java @@ -22,6 +22,27 @@ public class ContractOutsSaveReqVO { @NotNull(message = "外包合同id不能为空") private Long outsContractId; + @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "创建人不能为空") + private String creator; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新人", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "更新人不能为空") + private String updater; + + @Schema(description = "更新时间") + private LocalDateTime updateTime; + + @Schema(description = "是否删除", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否删除不能为空") + private Boolean delete; + + @Schema(description = "租户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15943") + @NotNull(message = "租户id不能为空") + private Long tenantId; 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 a7236cfd2..399d9dcb9 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 @@ -58,4 +58,12 @@ public interface ContractService { * @return */ BigDecimal getProvisionalSettlement(Long id); + + /** + * 判断合同是否存在 + * @param id 合同id + */ + void validateContractExists(Long id); + + } \ No newline at end of file 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 cd0e74021..a3379ae2c 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 @@ -47,13 +47,13 @@ public class ContractServiceImpl implements ContractService { @Override public Long createContract(ContractSaveReqVO createReqVO) { + if (createReqVO == null){ + throw exception(PARAM_NOT_EXISTS); + } + ContractDO contract = BeanUtils.toBean(createReqVO, ContractDO.class); //校验 - Long projectId = contract.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null) { - throw exception(PROJECT_NOT_EXISTS); - } + projectApi.validProjectExist(contract.getProjectId()); contractMapper.insert(contract); //返回 return contract.getId(); @@ -63,11 +63,7 @@ public class ContractServiceImpl implements ContractService { public void updateContract(ContractSaveReqVO updateReqVO) { //校验 validateContractExists(updateReqVO.getId()); - Long projectId = updateReqVO.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null) { - throw exception(PROJECT_NOT_EXISTS); - } + projectApi.validProjectExist(updateReqVO.getProjectId()); // 更新 ContractDO updateObj = BeanUtils.toBean(updateReqVO, ContractDO.class); contractMapper.updateById(updateObj); @@ -88,10 +84,12 @@ public class ContractServiceImpl implements ContractService { if (id == null) { throw exception(CONTRACT_NOT_EXISTS); } + ContractDO contractDO = contractMapper.selectById(id); if (contractDO == null) { throw exception(CONTRACT_NOT_EXISTS); } + Long projectId = contractDO.getProjectId(); if (projectId == null) { @@ -133,9 +131,13 @@ public class ContractServiceImpl implements ContractService { @Override public PageResult getContractPage(ContractPageReqVO pageReqVO) { //校验 + if (pageReqVO == null){ + throw exception(PARAM_NOT_EXISTS); + } + Long projectId = pageReqVO.getProjectId(); ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null){ + if (project == null) { throw exception(PROJECT_NOT_EXISTS); } @@ -171,11 +173,13 @@ public class ContractServiceImpl implements ContractService { } - private void validateContractExists(Long projectId) { - if (contractMapper.selectById(projectId) == null) { + @Override + public void validateContractExists(Long id) { + if (contractMapper.selectById(id) == null) { throw exception(CONTRACT_NOT_EXISTS); } } + } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractouts/ContractOutsServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractouts/ContractOutsServiceImpl.java index 6824c9b89..b40300a24 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractouts/ContractOutsServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/contractouts/ContractOutsServiceImpl.java @@ -4,9 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.cms.controller.admin.contractouts.vo.ContractOutsPageReqVO; import cn.iocoder.yudao.module.cms.controller.admin.contractouts.vo.ContractOutsSaveReqVO; -import cn.iocoder.yudao.module.cms.dal.dataobject.contract.ContractDO; import cn.iocoder.yudao.module.cms.dal.dataobject.contractouts.ContractOutsDO; -import cn.iocoder.yudao.module.cms.dal.mysql.contract.ContractMapper; import cn.iocoder.yudao.module.cms.dal.mysql.contractouts.ContractOutsMapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -28,22 +26,18 @@ public class ContractOutsServiceImpl implements ContractOutsService { @Resource private ContractOutsMapper contractOutsMapper; - @Resource - private ContractMapper contractMapper; - - - @Override public Long createContractOuts(ContractOutsSaveReqVO createReqVO) { ContractOutsDO outsDO = BeanUtils.toBean(createReqVO, ContractOutsDO.class); Long contractId = createReqVO.getContractId(); Long outsContractId = createReqVO.getOutsContractId(); - if (contractId == null){ + if (contractId == null) { throw exception(CONTRACT_NOT_EXISTS); } - if (outsContractId == null){ + if (outsContractId == null) { throw exception(CONTRACT_OUTS_NOT_EXISTS); } + contractOutsMapper.insert(outsDO); // 返回 return createReqVO.getId(); 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 9211fd1e6..47032fb33 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 @@ -22,8 +22,7 @@ import java.util.ArrayList; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.EXT_CONTRACT_NOT_EXISTS; -import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.PROJECT_NOT_EXISTS; +import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; /** * 外部合同 Service 实现类 @@ -46,13 +45,12 @@ public class ExtContractServiceImpl implements ExtContractService { @Override public Long createExtContract(ExtContractSaveReqVO createReqVO) { + if (createReqVO == null){ + throw exception(PARAM_NOT_EXISTS); + } ExtContractDO contract = BeanUtils.toBean(createReqVO, ExtContractDO.class); //校验 - Long projectId = contract.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null) { - throw exception(PROJECT_NOT_EXISTS); - } + projectApi.validProjectExist(contract.getProjectId()); extContractMapper.insert(contract); //返回 return contract.getId(); @@ -61,12 +59,12 @@ public class ExtContractServiceImpl implements ExtContractService { @Override public void updateExtContract(ExtContractSaveReqVO updateReqVO) { //校验 - validateExtContractExists(updateReqVO.getId()); - Long projectId = updateReqVO.getProjectId(); - ProjectRespDTO project = projectApi.getProject(projectId); - if (project == null) { - throw exception(PROJECT_NOT_EXISTS); + if (updateReqVO == null){ + throw exception(PARAM_NOT_EXISTS); } + + validateExtContractExists(updateReqVO.getId()); + projectApi.validProjectExist(updateReqVO.getProjectId()); // 更新 ExtContractDO updateObj = BeanUtils.toBean(updateReqVO, ExtContractDO.class); extContractMapper.updateById(updateObj); @@ -80,11 +78,6 @@ public class ExtContractServiceImpl implements ExtContractService { extContractMapper.deleteById(id); } - private void validateExtContractExists(Long id) { - if (extContractMapper.selectById(id) == null) { - throw exception(EXT_CONTRACT_NOT_EXISTS); - } - } // 需要联表查询 // 1.项目编号 pms_project 直接 √ @@ -140,6 +133,9 @@ public class ExtContractServiceImpl implements ExtContractService { @Override public PageResult getExtContractPage(ExtContractPageReqVO pageReqVO) { + if (pageReqVO == null){ + throw exception(PARAM_NOT_EXISTS); + } PageResult extContractDOPageResult = extContractMapper.selectPage(pageReqVO); List excontractDOList = extContractDOPageResult.getList(); @@ -168,4 +164,11 @@ public class ExtContractServiceImpl implements ExtContractService { return preAmount.add(designFee).add(surveyFees).add(testingFee).add(other); } + + private void validateExtContractExists(Long id) { + if (extContractMapper.selectById(id) == null) { + throw exception(EXT_CONTRACT_NOT_EXISTS); + } + } + } \ No newline at end of file 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 74f6f5664..279b71065 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 @@ -6,7 +6,6 @@ import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractRespVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontract.vo.OutsContractPageReqVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontract.vo.OutsContractRespVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontract.vo.OutsContractSaveReqVO; -import cn.iocoder.yudao.module.cms.dal.dataobject.contract.ContractDO; import cn.iocoder.yudao.module.cms.dal.dataobject.outscontract.OutsContractDO; import cn.iocoder.yudao.module.cms.dal.mysql.outscontract.OutsContractMapper; import cn.iocoder.yudao.module.cms.service.contract.ContractService; @@ -43,8 +42,13 @@ public class OutsContractServiceImpl implements OutsContractService { @Override public Long createOutsContract(OutsContractSaveReqVO createReqVO) { + + if (createReqVO == null) { + throw exception(PARAM_NOT_EXISTS); + } + OutsContractDO outsContract = BeanUtils.toBean(createReqVO, OutsContractDO.class); - //TODO 待优化 把校验逻辑提取 + Long contractId = outsContract.getContractId(); ContractRespVO contract = contractService.getContract(contractId); @@ -72,7 +76,7 @@ public class OutsContractServiceImpl implements OutsContractService { public void updateOutsContract(OutsContractSaveReqVO updateReqVO) { // 校验 validateOutsContractExists(updateReqVO.getId()); - //TODO 待优化 把校验逻辑提取 + Long contractId = updateReqVO.getContractId(); ContractRespVO contract = contractService.getContract(contractId); if (contract == null) { @@ -122,11 +126,16 @@ public class OutsContractServiceImpl implements OutsContractService { @Override public PageResult getOutsContractPage(OutsContractPageReqVO pageReqVO) { + if (pageReqVO == null) { + throw exception(PARAM_NOT_EXISTS); + } + Long projectId = pageReqVO.getProjectId(); ProjectRespDTO project = projectApi.getProject(projectId); if (project == null) { throw exception(PROJECT_NOT_EXISTS); } + PageResult outsContractDOPageResult = outsContractMapper.selectPage(pageReqVO); List outsContractDOList = outsContractDOPageResult.getList(); List outsContractRespVOList = new ArrayList<>(); @@ -137,6 +146,7 @@ public class OutsContractServiceImpl implements OutsContractService { OutsContractRespVO outsContract = getOutsContract(id); outsContractRespVOList.add(outsContract); } + PageResult pageResult = new PageResult<>(); pageResult.setList(outsContractRespVOList); return pageResult; diff --git a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/ProjectApi.java b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/ProjectApi.java index 01f9482cf..1fefbafcb 100644 --- a/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/ProjectApi.java +++ b/yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/api/ProjectApi.java @@ -14,4 +14,10 @@ public interface ProjectApi { */ ProjectDetailRespDTO getProjectDetailById(Long projectId); + /** + * 判断项目是否存在 + * @param projectId + */ + void validProjectExist(Long projectId); + } diff --git a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectImpl.java b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectImpl.java index f03131aa0..50861cb82 100644 --- a/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectImpl.java +++ b/yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/api/project/ProjectImpl.java @@ -11,10 +11,14 @@ import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstants.PROJECT_NOT_EXISTS; + @Service @Validated public class ProjectImpl implements ProjectApi { + @Resource private ProjectMapper projectMapper; @@ -32,4 +36,12 @@ public class ProjectImpl implements ProjectApi { ProjectDetailRespDTO detailRespDTO = BeanUtils.toBean(projectMapperDetail, ProjectDetailRespDTO.class); return detailRespDTO; } + + @Override + public void validProjectExist(Long projectId) { + if (projectMapper.selectById(projectId) == null) { + throw exception(PROJECT_NOT_EXISTS); + } + } + }