Commit a974d055b6e2ed323f47aae550e985d38ae8ab08

Authored by YunaiV
1 parent c6a97515

📖 CRM:【还款】code review 还款的代码,补全对应的 todo list

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