Commit 5eefbfe122a7b53e4b7d86e28509aaa1fa9f9b90

Authored by YunaiV
1 parent 068d8951

✨ feat(mes): 优化销售通知单创建和更新逻辑

重构销售通知单的创建和更新方法,统一数据校验逻辑,确保编码唯一性和客户存在性检查。此变更提升了代码的可维护性和一致性。
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/salesnotice/MesWmSalesNoticeServiceImpl.java
... ... @@ -43,10 +43,8 @@ public class MesWmSalesNoticeServiceImpl implements MesWmSalesNoticeService {
43 43  
44 44 @Override
45 45 public Long createSalesNotice(MesWmSalesNoticeSaveReqVO createReqVO) {
46   - // 校验编码唯一
47   - validateNoticeCodeUnique(null, createReqVO.getNoticeCode());
48   - // DONE @AI:clientId 存在;
49   - clientService.validateClientExists(createReqVO.getClientId());
  46 + // 校验数据
  47 + validateSalesNoticeSave(createReqVO);
50 48  
51 49 // 插入
52 50 MesWmSalesNoticeDO notice = BeanUtils.toBean(createReqVO, MesWmSalesNoticeDO.class);
... ... @@ -59,10 +57,8 @@ public class MesWmSalesNoticeServiceImpl implements MesWmSalesNoticeService {
59 57 public void updateSalesNotice(MesWmSalesNoticeSaveReqVO updateReqVO) {
60 58 // 校验存在 + 草稿状态
61 59 validateSalesNoticeExistsAndDraft(updateReqVO.getId());
62   - // 校验编码唯一
63   - validateNoticeCodeUnique(updateReqVO.getId(), updateReqVO.getNoticeCode());
64   - // 校验客户存在
65   - clientService.validateClientExists(updateReqVO.getClientId());
  60 + // 校验数据
  61 + validateSalesNoticeSave(updateReqVO);
66 62  
67 63 // 更新
68 64 MesWmSalesNoticeDO updateObj = BeanUtils.toBean(updateReqVO, MesWmSalesNoticeDO.class);
... ... @@ -142,6 +138,15 @@ public class MesWmSalesNoticeServiceImpl implements MesWmSalesNoticeService {
142 138 return notice;
143 139 }
144 140  
  141 + private void validateSalesNoticeSave(MesWmSalesNoticeSaveReqVO saveReqVO) {
  142 + // 校验编码唯一
  143 + validateNoticeCodeUnique(saveReqVO.getId(), saveReqVO.getNoticeCode());
  144 + // 校验客户存在
  145 + if (saveReqVO.getClientId() != null) {
  146 + clientService.validateClientExists(saveReqVO.getClientId());
  147 + }
  148 + }
  149 +
145 150 private void validateNoticeCodeUnique(Long id, String noticeCode) {
146 151 MesWmSalesNoticeDO notice = salesNoticeMapper.selectByNoticeCode(noticeCode);
147 152 if (notice == null) {
... ...