销售归属木一个门店和项目的逻辑

This commit is contained in:
spllzh
2025-08-14 17:14:19 +08:00
parent 386eee9896
commit 4b9b9a487c

View File

@@ -6,6 +6,7 @@ import com.rj.entity.Dealership;
import com.rj.entity.ProjectManagement; import com.rj.entity.ProjectManagement;
import com.rj.entity.SalesManagement; import com.rj.entity.SalesManagement;
import com.rj.service.IDealershipService; import com.rj.service.IDealershipService;
import com.rj.service.IProjectManagementService;
import com.rj.service.ISalesManagementService; import com.rj.service.ISalesManagementService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@@ -124,6 +125,8 @@ public class SalesManagementController {
@Autowired @Autowired
private IDealershipService dealershipService; private IDealershipService dealershipService;
@Autowired
IProjectManagementService projectManagementService;
/** /**
* 分页查询销售列表 * 分页查询销售列表
@@ -178,6 +181,12 @@ public class SalesManagementController {
.distinct() .distinct()
.collect(Collectors.toList()); .collect(Collectors.toList());
List<String> projectIds = salesPage.getRecords().stream()
.map(SalesManagement::getProjectId)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
// 批量获取门店信息 // 批量获取门店信息
Map<String, String> dealershipNameMap; Map<String, String> dealershipNameMap;
@@ -191,8 +200,23 @@ public class SalesManagementController {
dealershipNameMap = new HashMap<>(); dealershipNameMap = new HashMap<>();
} }
// 批量获取门店信息
Map<String, String> projectNameMap;
if (!projectIds.isEmpty()) {
LambdaQueryWrapper<ProjectManagement> projectManagementQueryWrapper = new LambdaQueryWrapper<>();
projectManagementQueryWrapper.in(ProjectManagement::getId, projectIds);
List<ProjectManagement> projectManagementList = projectManagementService.list(projectManagementQueryWrapper);
projectNameMap = projectManagementList.stream()
.collect(Collectors.toMap(ProjectManagement::getId, ProjectManagement::getProjectName));
} else {
projectNameMap = new HashMap<>();
}
salesPage.getRecords().forEach(sales -> { salesPage.getRecords().forEach(sales -> {
sales.setDealershipName(dealershipNameMap.get(sales.getDealershipId())); sales.setDealershipName(dealershipNameMap.get(sales.getDealershipId()));
sales.setProjectName(projectNameMap.get(sales.getProjectId()));
}); });
result.put("success", true); result.put("success", true);