Commit a974d055b6e2ed323f47aae550e985d38ae8ab08
1 parent
c6a97515
📖 CRM:【还款】code review 还款的代码,补全对应的 todo list
Showing
6 changed files
with
24 additions
and
20 deletions
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/business/package-info.java deleted
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/clue/package-info.java deleted
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/product/package-info.java deleted
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivablePlanServiceImpl.java
| @@ -52,7 +52,10 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService { | @@ -52,7 +52,10 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService { | ||
| 52 | private CrmPermissionService crmPermissionService; | 52 | private CrmPermissionService crmPermissionService; |
| 53 | 53 | ||
| 54 | @Override | 54 | @Override |
| 55 | + // TODO @puhui999:操作日志 | ||
| 55 | public Long createReceivablePlan(CrmReceivablePlanCreateReqVO createReqVO, Long userId) { | 56 | public Long createReceivablePlan(CrmReceivablePlanCreateReqVO createReqVO, Long userId) { |
| 57 | + // TODO @liuhongfeng:第几期的计算;基于是 contractId + contractDO 的第几个还款 | ||
| 58 | + // TODO @liuhongfeng contractId:校验合同是否存在 | ||
| 56 | // 插入 | 59 | // 插入 |
| 57 | CrmReceivablePlanDO receivablePlan = CrmReceivablePlanConvert.INSTANCE.convert(createReqVO); | 60 | CrmReceivablePlanDO receivablePlan = CrmReceivablePlanConvert.INSTANCE.convert(createReqVO); |
| 58 | receivablePlan.setFinishStatus(false); | 61 | receivablePlan.setFinishStatus(false); |
| @@ -87,7 +90,9 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService { | @@ -87,7 +90,9 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService { | ||
| 87 | 90 | ||
| 88 | @Override | 91 | @Override |
| 89 | @CrmPermission(bizType = CrmBizTypeEnum.CRM_RECEIVABLE_PLAN, bizId = "#updateReqVO.id", level = CrmPermissionLevelEnum.WRITE) | 92 | @CrmPermission(bizType = CrmBizTypeEnum.CRM_RECEIVABLE_PLAN, bizId = "#updateReqVO.id", level = CrmPermissionLevelEnum.WRITE) |
| 93 | + // TODO @puhui999:操作日志 | ||
| 90 | public void updateReceivablePlan(CrmReceivablePlanUpdateReqVO updateReqVO) { | 94 | public void updateReceivablePlan(CrmReceivablePlanUpdateReqVO updateReqVO) { |
| 95 | + // TODO @liuhongfeng:如果已经有对应的还款,则不允许编辑; | ||
| 91 | // 校验存在 | 96 | // 校验存在 |
| 92 | validateReceivablePlanExists(updateReqVO.getId()); | 97 | validateReceivablePlanExists(updateReqVO.getId()); |
| 93 | 98 | ||
| @@ -136,6 +141,7 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService { | @@ -136,6 +141,7 @@ public class CrmReceivablePlanServiceImpl implements CrmReceivablePlanService { | ||
| 136 | return receivablePlanMapper.selectPageByCustomerId(pageReqVO); | 141 | return receivablePlanMapper.selectPageByCustomerId(pageReqVO); |
| 137 | } | 142 | } |
| 138 | 143 | ||
| 144 | + // TODO @puhui999:这个没有 transfer 接口;可能是的哈 | ||
| 139 | @Override | 145 | @Override |
| 140 | public void transferReceivablePlan(CrmReceivablePlanTransferReqVO reqVO, Long userId) { | 146 | public void transferReceivablePlan(CrmReceivablePlanTransferReqVO reqVO, Long userId) { |
| 141 | // 1 校验回款计划是否存在 | 147 | // 1 校验回款计划是否存在 |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivableServiceImpl.java
| @@ -53,10 +53,10 @@ public class CrmReceivableServiceImpl implements CrmReceivableService { | @@ -53,10 +53,10 @@ public class CrmReceivableServiceImpl implements CrmReceivableService { | ||
| 53 | @Resource | 53 | @Resource |
| 54 | private CrmPermissionService crmPermissionService; | 54 | private CrmPermissionService crmPermissionService; |
| 55 | 55 | ||
| 56 | - // TODO @liuhongfeng:创建还款后,是不是什么时候,要更新 plan? | ||
| 57 | @Override | 56 | @Override |
| 57 | + // TODO @puhui999:操作日志 | ||
| 58 | public Long createReceivable(CrmReceivableCreateReqVO createReqVO) { | 58 | public Long createReceivable(CrmReceivableCreateReqVO createReqVO) { |
| 59 | - // 插入 | 59 | + // 插入还款 |
| 60 | CrmReceivableDO receivable = CrmReceivableConvert.INSTANCE.convert(createReqVO); | 60 | CrmReceivableDO receivable = CrmReceivableConvert.INSTANCE.convert(createReqVO); |
| 61 | if (ObjectUtil.isNull(receivable.getAuditStatus())) { | 61 | if (ObjectUtil.isNull(receivable.getAuditStatus())) { |
| 62 | receivable.setAuditStatus(CommonStatusEnum.ENABLE.getStatus()); | 62 | receivable.setAuditStatus(CommonStatusEnum.ENABLE.getStatus()); |
| @@ -64,15 +64,17 @@ public class CrmReceivableServiceImpl implements CrmReceivableService { | @@ -64,15 +64,17 @@ public class CrmReceivableServiceImpl implements CrmReceivableService { | ||
| 64 | receivable.setAuditStatus(CrmAuditStatusEnum.DRAFT.getStatus()); | 64 | receivable.setAuditStatus(CrmAuditStatusEnum.DRAFT.getStatus()); |
| 65 | 65 | ||
| 66 | // TODO @liuhongfeng:一般来说,逻辑的写法,是要先检查,后操作 db;所以,你这个 check 应该放到 CrmReceivableDO receivable 之前; | 66 | // TODO @liuhongfeng:一般来说,逻辑的写法,是要先检查,后操作 db;所以,你这个 check 应该放到 CrmReceivableDO receivable 之前; |
| 67 | - // 校验 | ||
| 68 | checkReceivable(receivable); | 67 | checkReceivable(receivable); |
| 69 | 68 | ||
| 70 | receivableMapper.insert(receivable); | 69 | receivableMapper.insert(receivable); |
| 70 | + | ||
| 71 | + // TODO @liuhongfeng:需要更新关联的 plan | ||
| 71 | return receivable.getId(); | 72 | return receivable.getId(); |
| 72 | } | 73 | } |
| 73 | 74 | ||
| 74 | // TODO @liuhongfeng:这里的括号要注意排版; | 75 | // TODO @liuhongfeng:这里的括号要注意排版; |
| 75 | private void checkReceivable(CrmReceivableDO receivable) { | 76 | private void checkReceivable(CrmReceivableDO receivable) { |
| 77 | + // TODO @liuhongfeng:校验 no 的唯一性 | ||
| 76 | // TODO @liuhongfeng:这个放在参数校验合适 | 78 | // TODO @liuhongfeng:这个放在参数校验合适 |
| 77 | if (ObjectUtil.isNull(receivable.getContractId())) { | 79 | if (ObjectUtil.isNull(receivable.getContractId())) { |
| 78 | throw exception(CONTRACT_NOT_EXISTS); | 80 | throw exception(CONTRACT_NOT_EXISTS); |
| @@ -96,17 +98,29 @@ public class CrmReceivableServiceImpl implements CrmReceivableService { | @@ -96,17 +98,29 @@ public class CrmReceivableServiceImpl implements CrmReceivableService { | ||
| 96 | } | 98 | } |
| 97 | 99 | ||
| 98 | @Override | 100 | @Override |
| 101 | + // TODO @puhui999:操作日志 | ||
| 102 | + // TODO @puhui999:权限校验 | ||
| 99 | public void updateReceivable(CrmReceivableUpdateReqVO updateReqVO) { | 103 | public void updateReceivable(CrmReceivableUpdateReqVO updateReqVO) { |
| 100 | // 校验存在 | 104 | // 校验存在 |
| 101 | validateReceivableExists(updateReqVO.getId()); | 105 | validateReceivableExists(updateReqVO.getId()); |
| 106 | + // TODO @liuhongfeng:只有在草稿、审核中,可以提交修改 | ||
| 102 | 107 | ||
| 103 | - // 更新 | 108 | + // 更新还款 |
| 104 | CrmReceivableDO updateObj = CrmReceivableConvert.INSTANCE.convert(updateReqVO); | 109 | CrmReceivableDO updateObj = CrmReceivableConvert.INSTANCE.convert(updateReqVO); |
| 105 | receivableMapper.updateById(updateObj); | 110 | receivableMapper.updateById(updateObj); |
| 111 | + | ||
| 112 | + // TODO @liuhongfeng:需要更新关联的 plan | ||
| 106 | } | 113 | } |
| 107 | 114 | ||
| 115 | + // TODO @liuhongfeng:缺一个取消合同的接口;只有草稿、审批中可以取消;CrmAuditStatusEnum | ||
| 116 | + | ||
| 117 | + // TODO @liuhongfeng:缺一个发起审批的接口;只有草稿可以发起审批;CrmAuditStatusEnum | ||
| 118 | + | ||
| 108 | @Override | 119 | @Override |
| 120 | + // TODO @puhui999:操作日志 | ||
| 121 | + // TODO @puhui999:权限校验 | ||
| 109 | public void deleteReceivable(Long id) { | 122 | public void deleteReceivable(Long id) { |
| 123 | + // TODO @liuhongfeng:如果被 CrmReceivablePlanDO 所使用,则不允许删除 | ||
| 110 | // 校验存在 | 124 | // 校验存在 |
| 111 | validateReceivableExists(id); | 125 | validateReceivableExists(id); |
| 112 | // 删除 | 126 | // 删除 |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/package-info.java deleted