refactor(sip): 优化项目订单信息保存逻辑

- 修改 saveProductInfo 方法,增加 projectId 参数- 更新项目产品信息的保存逻辑,兼容已有项目 ID 的情况- 在订单信息插入和更新时,传递正确的项目 ID 参数
master
chenhao 2025-06-06 17:54:35 +08:00
parent d2eb5e8f9b
commit faad898297
1 changed files with 6 additions and 4 deletions

View File

@ -88,7 +88,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
projectOrderInfo.setOrderCode(orderNumber); projectOrderInfo.setOrderCode(orderNumber);
projectOrderInfo.setCreateTime(DateUtils.getNowDate()); projectOrderInfo.setCreateTime(DateUtils.getNowDate());
projectOrderInfo.setCreateBy(ShiroUtils.getUserId().toString()); projectOrderInfo.setCreateBy(ShiroUtils.getUserId().toString());
saveProductInfo(projectOrderInfo); saveProductInfo(projectOrderInfo, projectOrderInfo.getProjectId());
List<ProjectOrderFileLog> contractFileList = projectOrderInfo.getContractFileList(); List<ProjectOrderFileLog> contractFileList = projectOrderInfo.getContractFileList();
int i = projectOrderInfoMapper.insertProjectOrderInfo(projectOrderInfo); int i = projectOrderInfoMapper.insertProjectOrderInfo(projectOrderInfo);
if (CollUtil.isNotEmpty(contractFileList)) { if (CollUtil.isNotEmpty(contractFileList)) {
@ -97,7 +97,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
return i; return i;
} }
private void saveProductInfo(ProjectOrderInfo projectOrderInfo) { private void saveProductInfo(ProjectOrderInfo projectOrderInfo, Long projectId) {
//插入产品信息 //插入产品信息
List<ProjectProductInfo> projectProductInfoList = projectOrderInfo.getHardwareProjectProductInfoList(); List<ProjectProductInfo> projectProductInfoList = projectOrderInfo.getHardwareProjectProductInfoList();
if (CollUtil.isEmpty(projectProductInfoList)) { if (CollUtil.isEmpty(projectProductInfoList)) {
@ -107,7 +107,9 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
projectProductInfoList.addAll(CollUtil.isNotEmpty(projectOrderInfo.getMaintenanceProjectProductInfoList()) ? projectOrderInfo.getMaintenanceProjectProductInfoList() : new ArrayList<>()); projectProductInfoList.addAll(CollUtil.isNotEmpty(projectOrderInfo.getMaintenanceProjectProductInfoList()) ? projectOrderInfo.getMaintenanceProjectProductInfoList() : new ArrayList<>());
if (CollUtil.isNotEmpty(projectProductInfoList)) { if (CollUtil.isNotEmpty(projectProductInfoList)) {
for (ProjectProductInfo projectProductInfo : projectProductInfoList) { for (ProjectProductInfo projectProductInfo : projectProductInfoList) {
projectProductInfo.setProjectId(projectOrderInfo.getId()); if (projectProductInfo.getProjectId() == null) {
projectProductInfo.setProjectId(projectId);
}
} }
productInfoService.saveBatch(projectProductInfoList); productInfoService.saveBatch(projectProductInfoList);
} }
@ -160,7 +162,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
} }
projectOrderInfo.setUpdateBy(ShiroUtils.getUserId().toString()); projectOrderInfo.setUpdateBy(ShiroUtils.getUserId().toString());
projectOrderInfo.setUpdateTime(DateUtils.getNowDate()); projectOrderInfo.setUpdateTime(DateUtils.getNowDate());
saveProductInfo(projectOrderInfo); saveProductInfo(projectOrderInfo, projectOrderInfo.getProjectId());
return projectOrderInfoMapper.updateProjectOrderInfo(projectOrderInfo); return projectOrderInfoMapper.updateProjectOrderInfo(projectOrderInfo);
} }