refactor(sip): 优化项目订单信息保存逻辑
- 修改 saveProductInfo 方法,增加 projectId 参数- 更新项目产品信息的保存逻辑,兼容已有项目 ID 的情况- 在订单信息插入和更新时,传递正确的项目 ID 参数master
parent
d2eb5e8f9b
commit
faad898297
|
@ -88,7 +88,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
|
|||
projectOrderInfo.setOrderCode(orderNumber);
|
||||
projectOrderInfo.setCreateTime(DateUtils.getNowDate());
|
||||
projectOrderInfo.setCreateBy(ShiroUtils.getUserId().toString());
|
||||
saveProductInfo(projectOrderInfo);
|
||||
saveProductInfo(projectOrderInfo, projectOrderInfo.getProjectId());
|
||||
List<ProjectOrderFileLog> contractFileList = projectOrderInfo.getContractFileList();
|
||||
int i = projectOrderInfoMapper.insertProjectOrderInfo(projectOrderInfo);
|
||||
if (CollUtil.isNotEmpty(contractFileList)) {
|
||||
|
@ -97,7 +97,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
|
|||
return i;
|
||||
}
|
||||
|
||||
private void saveProductInfo(ProjectOrderInfo projectOrderInfo) {
|
||||
private void saveProductInfo(ProjectOrderInfo projectOrderInfo, Long projectId) {
|
||||
//插入产品信息
|
||||
List<ProjectProductInfo> projectProductInfoList = projectOrderInfo.getHardwareProjectProductInfoList();
|
||||
if (CollUtil.isEmpty(projectProductInfoList)) {
|
||||
|
@ -107,7 +107,9 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
|
|||
projectProductInfoList.addAll(CollUtil.isNotEmpty(projectOrderInfo.getMaintenanceProjectProductInfoList()) ? projectOrderInfo.getMaintenanceProjectProductInfoList() : new ArrayList<>());
|
||||
if (CollUtil.isNotEmpty(projectProductInfoList)) {
|
||||
for (ProjectProductInfo projectProductInfo : projectProductInfoList) {
|
||||
projectProductInfo.setProjectId(projectOrderInfo.getId());
|
||||
if (projectProductInfo.getProjectId() == null) {
|
||||
projectProductInfo.setProjectId(projectId);
|
||||
}
|
||||
}
|
||||
productInfoService.saveBatch(projectProductInfoList);
|
||||
}
|
||||
|
@ -160,7 +162,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
|
|||
}
|
||||
projectOrderInfo.setUpdateBy(ShiroUtils.getUserId().toString());
|
||||
projectOrderInfo.setUpdateTime(DateUtils.getNowDate());
|
||||
saveProductInfo(projectOrderInfo);
|
||||
saveProductInfo(projectOrderInfo, projectOrderInfo.getProjectId());
|
||||
return projectOrderInfoMapper.updateProjectOrderInfo(projectOrderInfo);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue