feat(项目管理产品需求重构): 完善产品中的用户需求功能开发

新增接口:删除用户需求

Signed-off-by: OTTO <731554297@qq.com>
This commit is contained in:
OTTO 2024-11-29 13:38:06 +08:00
parent 804309d5d7
commit 52e4c771fa
3 changed files with 40 additions and 0 deletions

View File

@ -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));
}
}

View File

@ -145,4 +145,6 @@ public interface IPmsProductRequirementService
Long insertUserReq(ProductUserReqInputVo productUserReqInputVo);
int updateUserReq(ProductUserReqUpdateVo productUserReqUpdateVo);
int deleteUserReqByIds(Long[] ids);
}

View File

@ -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();