From 9e236c206d563ec1e91deb81ff0b76faeafbb58d Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Mon, 16 Dec 2024 17:18:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E9=9C=80=E6=B1=82=E9=87=8D=E6=9E=84):=20?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=A7=E5=93=81=E9=9C=80=E6=B1=82=E8=A7=84?= =?UTF-8?q?=E6=A0=BC=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 需求规格变更时需校验附件置空的情况 Signed-off-by: OTTO <731554297@qq.com> --- .../domain/vo/ProductReqSpecsChangeVo.java | 3 +- .../service/impl/PmsProjectServiceImpl.java | 51 +++++++++---------- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/ProductReqSpecsChangeVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/ProductReqSpecsChangeVo.java index 3bfccf97a..d047eb9d0 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/ProductReqSpecsChangeVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/ProductReqSpecsChangeVo.java @@ -12,6 +12,7 @@ import lombok.Data; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; +import java.util.Objects; /** * 产品需求对象 pms_product_requirement @@ -55,7 +56,7 @@ public class ProductReqSpecsChangeVo { if (StringUtils.isNotEmpty(this.getTitle()) && !this.title.equals(oldPmsProductRequirement.getTitle())) { return true; } - return this.getFileIdentifiers() != null && !this.getFileIdentifiers().equals(oldPmsProductRequirement.getFileIdentifiers()); + return !Objects.equals(this.getFileIdentifiers(), oldPmsProductRequirement.getFileIdentifiers()); } public PmsProductRequirement toPmsProductRequirement() { diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/impl/PmsProjectServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/impl/PmsProjectServiceImpl.java index 192fed2f7..70af76153 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/impl/PmsProjectServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/impl/PmsProjectServiceImpl.java @@ -47,12 +47,11 @@ import static com.microservices.common.httpClient.constant.GitLinkConstants.DATA /** * 项目Service业务层处理 - * + * * @author wanjia */ @Service -public class PmsProjectServiceImpl implements IPmsProjectService -{ +public class PmsProjectServiceImpl implements IPmsProjectService { @Resource private PmsProjectMapper pmsProjectMapper; @@ -105,11 +104,10 @@ public class PmsProjectServiceImpl implements IPmsProjectService * @return 项目 */ @Override - public PmsProjectDetailVo selectPmsProjectById(Long id) - { + public PmsProjectDetailVo selectPmsProjectById(Long id) { PmsProject pmsProject = selectAndCheckPmsProjectById(id); PmsProjectDetailVo pmsProjectDetailVo = new PmsProjectDetailVo(); - BeanUtils.copyProperties(pmsProject,pmsProjectDetailVo); + BeanUtils.copyProperties(pmsProject, pmsProjectDetailVo); pmsProjectDetailVo.setProjectMemberCount(pmsProjectMembersMapper.countMemberByProjectId(pmsProject.getId())); pmsProjectDetailVo.setProjectRepositoryCount(pmsProjectRepositoryMapper.countRepositoryByProjectId(pmsProject.getId())); pmsProjectDetailVo.setProjectAssignee(pmsCommonService.getSimpleSysUserByGitlinkUserId(pmsProject.getProjectAssigneeId())); @@ -123,13 +121,12 @@ public class PmsProjectServiceImpl implements IPmsProjectService /** * 查询项目列表 - * + * * @param pmsProject 项目 * @return 项目 */ @Override - public List selectPmsProjectList(PmsProject pmsProject) - { + public List selectPmsProjectList(PmsProject pmsProject) { return pmsProjectMapper.selectPmsProjectList(pmsProject); } @@ -190,14 +187,13 @@ public class PmsProjectServiceImpl implements IPmsProjectService /** * 新增项目 - * + * * @param pmsProjectInputVo 项目 * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int insertPmsProject(PmsProjectInputVo pmsProjectInputVo) - { + public int insertPmsProject(PmsProjectInputVo pmsProjectInputVo) { PmsEnterprise pmsEnterprise = pmsEnterpriseService.selectPmsEnterpriseById(pmsProjectInputVo.getPmsEnterpriseId()); PmsUtils.validStartTimeAndEndTime(pmsProjectInputVo.getStartTime(), pmsProjectInputVo.getEndTime()); if (pmsProjectInputVo.getPmsProductId() != null) { @@ -250,14 +246,13 @@ public class PmsProjectServiceImpl implements IPmsProjectService /** * 批量删除项目 - * + * * @param ids 需要删除的项目主键 * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public boolean deletePmsProjectByIds(Long[] ids) - { + public boolean deletePmsProjectByIds(Long[] ids) { for (Long projectId : ids) { selectAndCheckPmsProjectById(projectId); // 删除项目关联仓库 @@ -294,19 +289,18 @@ public class PmsProjectServiceImpl implements IPmsProjectService //同步更新项目-仓库数据 if (pmsProjectUpdateVo.getIsResetRepositoryIdsToNull() != null && pmsProjectUpdateVo.getIsResetRepositoryIdsToNull()) { pmsProjectRepositoryMapper.deletePmsProjectRepositoryByProjectId(updatedPmsProjectId); - } else - if (StringUtils.isNotEmpty(pmsProjectUpdateVo.getProjectRepositoryIds())) { - List repositoryIdList = Arrays.asList(pmsProjectUpdateVo.getProjectRepositoryIds().split(",")); - if (!repositoryIdList.isEmpty()) { - pmsProjectRepositoryMapper.deletePmsProjectRepositoryByProjectId(updatedPmsProjectId); - for (String repoId : repositoryIdList) { - PmsProjectRepository pmsProjectRepository = new PmsProjectRepository(); - pmsProjectRepository.setProjectRepositoryId(Long.valueOf(repoId)); - pmsProjectRepository.setPmsProjectId(updatedPmsProjectId); - pmsProjectRepositoryService.insertPmsProjectRepository(pmsProjectRepository); - } + } else if (StringUtils.isNotEmpty(pmsProjectUpdateVo.getProjectRepositoryIds())) { + List repositoryIdList = Arrays.asList(pmsProjectUpdateVo.getProjectRepositoryIds().split(",")); + if (!repositoryIdList.isEmpty()) { + pmsProjectRepositoryMapper.deletePmsProjectRepositoryByProjectId(updatedPmsProjectId); + for (String repoId : repositoryIdList) { + PmsProjectRepository pmsProjectRepository = new PmsProjectRepository(); + pmsProjectRepository.setProjectRepositoryId(Long.valueOf(repoId)); + pmsProjectRepository.setPmsProjectId(updatedPmsProjectId); + pmsProjectRepositoryService.insertPmsProjectRepository(pmsProjectRepository); } } + } //同步更新项目-成员数据 if (StringUtils.isNotEmpty(pmsProjectUpdateVo.getPmsProjectMemberIds())) { @@ -314,7 +308,7 @@ public class PmsProjectServiceImpl implements IPmsProjectService if (!memberIdList.isEmpty()) { pmsProjectMembersMapper.deletePmsProjectMembersByProjectId(updatedPmsProjectId); for (String memberId : memberIdList) { - PmsProjectMembers pmsProjectMembers= new PmsProjectMembers(); + PmsProjectMembers pmsProjectMembers = new PmsProjectMembers(); pmsProjectMembers.setPmsProjectMemberId(Long.valueOf(memberId)); pmsProjectMembers.setPmsProjectId(updatedPmsProjectId); pmsProjectMembersService.insertPmsProjectMembersWithoutAuthCheck(pmsProjectMembers); @@ -374,6 +368,9 @@ public class PmsProjectServiceImpl implements IPmsProjectService */ @Override public PmsProject selectAndCheckPmsProjectById(Long id) { + if (id == null) { + throw new ServiceException(HttpStatus.FORBIDDEN, "项目ID不能为空"); + } PmsProject pmsProjectSearch = new PmsProject(); pmsProjectSearch.setId(id); List projectList = pmsProjectMapper.selectPmsProjectList(pmsProjectSearch);