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.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);
}