From 553d4a1887a2b0adb8e636867b0c7e834cfbb1e8 Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Sat, 30 Nov 2024 17:03:39 +0800 Subject: [PATCH] =?UTF-8?q?feat(=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=E4=B8=AD=E7=9A=84=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E8=A7=84=E6=A0=BC=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 完善用户需求评审接口:用户需求评审通过时创建一条对应的需求规格 Signed-off-by: OTTO <731554297@qq.com> --- .../product/domain/PmsProductRequirement.java | 9 +++++++++ .../PmsProductRequirementServiceImpl.java | 20 ++++++++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/PmsProductRequirement.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/PmsProductRequirement.java index f41844dd6..831f59b35 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/PmsProductRequirement.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/PmsProductRequirement.java @@ -169,6 +169,15 @@ public class PmsProductRequirement extends BaseEntity return target; } + public PmsProductRequirement userReqToReqSpecs() { + PmsProductRequirement target = new PmsProductRequirement(); + BeanUtils.copyProperties(this, target); + target.setId(null); + target.setFromId(this.id); + target.setStatus(ProductReqStatus.REVIEWED_REQ_SPECS.getKey()); + return target; + } + public PmsProductRequirement toChangeReqSpecs(ProductReqSpecsUpdateVo productReqSpecsUpdateVo) { PmsProductRequirement target = new PmsProductRequirement(); BeanUtils.copyProperties(this, target); diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java index b78a8d1af..9822da7e2 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java @@ -296,20 +296,34 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS if (!ProductReqStatus.PENDING_REVIEW_USER_REQ.getKey().equals(userReq.getStatus())) { throw new ServiceException("只有待审核状态的用户需求才能进行审核"); } + PmsProductReqOperationRecord pmsProductReqOperationRecord + = productUserReqReviewVo.toPmsProductReqOperationRecord(SecurityUtils.getUsername()); if (ProductReqReviewStatus.PASS.getKey().equals(productUserReqReviewVo.getReviewStatus())) { userReq.setStatus(ProductReqStatus.REVIEWED_USER_REQ.getKey()); - //TODO:已通过的用户需求需创建一条对应的需求规格 + userReqToReqSpecs(userReq, pmsProductReqOperationRecord); } else if (ProductReqReviewStatus.REJECTED.getKey().equals(productUserReqReviewVo.getReviewStatus())) { userReq.setStatus(ProductReqStatus.REJECTED_USER_REQ.getKey()); } else { throw new ServiceException("请选择正确的审核意见"); } // 记录评审意见 - pmsProductReqOperationRecordService.insertPmsProductReqOperationRecord( - productUserReqReviewVo.toPmsProductReqOperationRecord(SecurityUtils.getUsername())); + pmsProductReqOperationRecordService.insertPmsProductReqOperationRecord(pmsProductReqOperationRecord); return updateRequirement(userReq, userReq.getPmsProductIdentifier()); } + /** + * 用户需求转换为需求规格 + */ + private void userReqToReqSpecs(PmsProductRequirement userReq, PmsProductReqOperationRecord record) { + PmsProductRequirement reqSpecs = + userReq.userReqToReqSpecs(); + reqSpecs.setIdentifier(genReqSpecsIdentifier(userReq.getPmsProductIdentifier(), userReq.getTitle())); + reqSpecs.setCreateAndUpdate(SecurityUtils.getUsername()); + pmsProductRequirementMapper.insertPmsProductRequirement(reqSpecs); + record.setProductRequirementId(reqSpecs.getId()); + pmsProductReqOperationRecordService.insertPmsProductReqOperationRecord(record); + } + @Override public GenericsTableDataInfo selectReqSpecsList(ProductReqSpecsSearchVo productReqSpecsSearchVo) { pmsProductService.selectPmsProductByIdentifier(productReqSpecsSearchVo.getPmsProductIdentifier());