diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/controller/ProductUserReqController.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/controller/ProductUserReqController.java index 5278bdfce..6ab13a979 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/controller/ProductUserReqController.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/controller/ProductUserReqController.java @@ -80,4 +80,15 @@ public class ProductUserReqController extends BaseController { public AjaxResult edit(@RequestBody @Validated ProductUserReqUpdateVo productUserReqUpdateVo) { return toAjax(pmsProductRequirementService.updateUserReq(productUserReqUpdateVo)); } + + /** + * 删除用户需求 + */ + @RequiresPermissions("pms:pmsProductRequirement:remove") + @Log(title = "用户需求", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + @ApiOperation(value = "删除用户需求") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(pmsProductRequirementService.deleteUserReqByIds(ids)); + } } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductRequirementService.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductRequirementService.java index aa6990066..bd53955b9 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductRequirementService.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/IPmsProductRequirementService.java @@ -145,4 +145,6 @@ public interface IPmsProductRequirementService Long insertUserReq(ProductUserReqInputVo productUserReqInputVo); int updateUserReq(ProductUserReqUpdateVo productUserReqUpdateVo); + + int deleteUserReqByIds(Long[] ids); } 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 5fd3e2d7b..6dcfa3b69 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 @@ -239,6 +239,33 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS return pmsProductRequirementMapper.updatePmsProductRequirement(pmsProductRequirement); } + @Override + public int deleteUserReqByIds(Long[] ids) { + int success = 0; + for (Long id : ids) { + success += deleteUserReqById(id); + } + return success; + } + + + /** + * 删除产品需求信息 + * + * @param id 产品需求主键 + * @return 结果 + */ + @Transactional(rollbackFor = Exception.class) + public int deleteUserReqById(Long id) { + PmsProductRequirement oldPmsProductRequirement = selectPmsProductRequirementById(id, true); + if (!ProductReqStatus.PENDING_REVIEW_USER_REQ.getKey().equals(oldPmsProductRequirement.getStatus())) { + throw new ServiceException("只有待审核状态的用户需求才能被删除"); + } + pmsJournalsService.deletePmsJournalsByTypeAndJournalId(PmsConstants.JOURNAL_TYPE_PRODUCT_REQUIREMENT, id); + pmsProductService.updatePmsProductChange(oldPmsProductRequirement.getPmsProductIdentifier()); + return pmsProductRequirementMapper.deletePmsProductRequirementById(id); + } + private ProductUserReqDetailVo toProductUserReqDetailVo(PmsProductRequirement pmsProductRequirement) { ProductUserReqDataVo productUserReqDataVo = toProductUserReqDataVo(pmsProductRequirement); ProductUserReqDetailVo productUserReqDetailVo = productUserReqDataVo.toProductReqUserDetailVo();