完成了第一版
This commit is contained in:
parent
b3d35ad3d2
commit
54c72002d7
|
@ -176,9 +176,7 @@ public class ProjectController {
|
||||||
// @SysLog(title = "项目管理", content = "小程序用户查看正在推广的项目")
|
// @SysLog(title = "项目管理", content = "小程序用户查看正在推广的项目")
|
||||||
public BaseResponse<List<UserProjectVO>> queryUserProjectList(HttpServletRequest request) {
|
public BaseResponse<List<UserProjectVO>> queryUserProjectList(HttpServletRequest request) {
|
||||||
Long userId = (Long) request.getAttribute("userId");
|
Long userId = (Long) request.getAttribute("userId");
|
||||||
LambdaQueryWrapper<UserProject> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
List<UserProject> userProjectList = commonService.findByFieldEqTargetField(UserProject::getUserId, userId, userProjectService);
|
||||||
lambdaQueryWrapper.eq(UserProject::getUserId, userId);
|
|
||||||
List<UserProject> userProjectList = userProjectService.list(lambdaQueryWrapper);
|
|
||||||
List<UserProjectVO> userProjectVOS = commonService.convertList(userProjectList, UserProjectVO.class);
|
List<UserProjectVO> userProjectVOS = commonService.convertList(userProjectList, UserProjectVO.class);
|
||||||
return ResultUtils.success(userProjectVOS);
|
return ResultUtils.success(userProjectVOS);
|
||||||
}
|
}
|
||||||
|
@ -213,9 +211,7 @@ public class ProjectController {
|
||||||
Project project = commonService.copyProperties(projectUpdateRequest, Project.class);
|
Project project = commonService.copyProperties(projectUpdateRequest, Project.class);
|
||||||
projectService.updateById(project);
|
projectService.updateById(project);
|
||||||
// 批量修改用户项目记录
|
// 批量修改用户项目记录
|
||||||
LambdaQueryWrapper<UserProject> userProjectLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
List<UserProject> userProjectList = commonService.findByFieldEqTargetField(UserProject::getProjectId, project.getId(), userProjectService);
|
||||||
userProjectLambdaQueryWrapper.eq(UserProject::getProjectId, project.getId());
|
|
||||||
List<UserProject> userProjectList = userProjectService.list(userProjectLambdaQueryWrapper);
|
|
||||||
for (UserProject userProject : userProjectList) {
|
for (UserProject userProject : userProjectList) {
|
||||||
userProject.setProjectName(project.getProjectName());
|
userProject.setProjectName(project.getProjectName());
|
||||||
userProject.setProjectImage(project.getProjectImage());
|
userProject.setProjectImage(project.getProjectImage());
|
||||||
|
|
|
@ -157,52 +157,33 @@ public class ProjectDetailController {
|
||||||
subUserProjectCommissionList.sort(Comparator.comparing(SubUserProjectCommission::getUserId));
|
subUserProjectCommissionList.sort(Comparator.comparing(SubUserProjectCommission::getUserId));
|
||||||
// 更新下级用户项目明细抽佣表记录
|
// 更新下级用户项目明细抽佣表记录
|
||||||
BigDecimal projectSettlementPrice = projectDetail.getProjectSettlementPrice();
|
BigDecimal projectSettlementPrice = projectDetail.getProjectSettlementPrice();
|
||||||
Map<Long, BigDecimal> userParentMap = null;
|
// 封装Map集合(键:下级用户id,值:下级用户单价)
|
||||||
boolean flag = true;
|
Map<Long, BigDecimal> subUserUnitPriceMap = new HashMap<>();
|
||||||
Long tempUserId = null;
|
// 存储根用户的单价
|
||||||
|
subUserUnitPriceMap.put(0L, projectSettlementPrice);
|
||||||
for (SubUserProjectCommission subUserProjectCommission : subUserProjectCommissionList) {
|
for (SubUserProjectCommission subUserProjectCommission : subUserProjectCommissionList) {
|
||||||
// 记录上级用户的对下级用户的抽佣比例
|
// 记录上级用户的对下级用户的抽佣比例
|
||||||
BigDecimal currentCommissionRate = subUserProjectCommission.getCurrentCommissionRate();
|
BigDecimal currentCommissionRate = subUserProjectCommission.getCurrentCommissionRate();
|
||||||
Long subUserId = subUserProjectCommission.getSubUserId();
|
|
||||||
Long userId = subUserProjectCommission.getUserId();
|
Long userId = subUserProjectCommission.getUserId();
|
||||||
if (flag) {
|
Long subUserId = subUserProjectCommission.getSubUserId();
|
||||||
tempUserId = userId;
|
// 获取当前用户的单价,并将当前记录修改为当前用户的单价
|
||||||
flag = false;
|
BigDecimal userUnitPrice = subUserUnitPriceMap.get(userId);
|
||||||
}
|
subUserProjectCommission.setMyUnitPrice(userUnitPrice);
|
||||||
userParentMap.put(subUserId, currentCommissionRate);
|
// 计算下级用户的单价
|
||||||
// if (userParentMap == null) userParentMap = new HashMap<>();
|
BigDecimal subUserUnitPrice = userUnitPrice.multiply(BigDecimal.ONE.subtract(currentCommissionRate));
|
||||||
// userParentMap.put(subUserId, currentCommissionRate);
|
// 存储下级用户的单价
|
||||||
|
subUserUnitPriceMap.put(subUserId, subUserUnitPrice);
|
||||||
}
|
}
|
||||||
// 更新用户项目明细抽佣表记录
|
// 更新下级用户项目明细抽佣表记录
|
||||||
|
|
||||||
// 获取所有的小程序用户
|
|
||||||
// List<UserInfo> userInfoList = commonService.findByFieldEqTargetField(UserInfo::getUserRole, UserConstant.DEFAULT_ROLE, userInfoService);
|
|
||||||
// 用来存储每个用户的上级列表
|
|
||||||
// Map<Long, List<Long>> userParentMap = new HashMap<>();
|
|
||||||
// for (UserInfo userInfo : userInfoList) {
|
|
||||||
// String superUserList = userInfo.getSuperUserList();
|
|
||||||
// if (superUserList != null) userParentMap.put(userInfo.getId(), Arrays.stream(superUserList.split(",")).map(Long::parseLong).collect(Collectors.toList()));
|
|
||||||
// }
|
|
||||||
// userInfoService.findPathToRoot()
|
|
||||||
// 4.更新所有用户的结算价格
|
|
||||||
// for (SubUserProjectCommission subUserProjectCommission : subUserProjectCommissionList) {
|
|
||||||
// Long userId = subUserProjectCommission.getUserId();
|
|
||||||
// List<Long> parentIds = userParentMap.get(userId);
|
|
||||||
// parentIds.add(userId);
|
|
||||||
// BigDecimal totalRate = BigDecimal.ONE;
|
|
||||||
// for (int i = 0; i < parentIds.size() - 1; i ++ ) {
|
|
||||||
// String key = parentIds.get(i) + "-" + parentIds.get(i + 1);
|
|
||||||
// BigDecimal commissionRate = commissionRateMap.get(key);
|
|
||||||
// totalRate = totalRate.multiply(BigDecimal.ONE.subtract(commissionRate));
|
|
||||||
// }
|
|
||||||
// BigDecimal projectSettlementPrice = projectDetail.getProjectSettlementPrice();
|
|
||||||
// BigDecimal projectMinSettlementPrice = projectDetail.getProjectMinSettlementPrice();
|
|
||||||
// BigDecimal finallySettlementPrice = projectSettlementPrice.multiply(totalRate);
|
|
||||||
// if (finallySettlementPrice.compareTo(projectMinSettlementPrice) < 0) finallySettlementPrice = projectMinSettlementPrice;
|
|
||||||
// subUserProjectCommission.setMyUnitPrice(finallySettlementPrice);
|
|
||||||
// }
|
|
||||||
subUserProjectCommissionService.updateBatchById(subUserProjectCommissionList);
|
subUserProjectCommissionService.updateBatchById(subUserProjectCommissionList);
|
||||||
|
// 更新用户项目明细抽佣表记录
|
||||||
|
List<ProjectCommission> projectCommissionList = commonService.findByFieldEqTargetField(ProjectCommission::getProjectDetailId, projectDetail.getId(), projectCommissionService);
|
||||||
|
for (ProjectCommission projectCommission : projectCommissionList) {
|
||||||
|
Long userId = projectCommission.getUserId();
|
||||||
|
BigDecimal userUnitPrice = subUserUnitPriceMap.get(userId);
|
||||||
|
projectCommission.setMyUnitPrice(userUnitPrice);
|
||||||
|
}
|
||||||
|
projectCommissionService.updateBatchById(projectCommissionList);
|
||||||
|
|
||||||
return ResultUtils.success(true);
|
return ResultUtils.success(true);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user