From 72d4be7ed75bfc3ad771e083dbca91b3ae4b6f10 Mon Sep 17 00:00:00 2001 From: chen-xin-zhi <3588068430@qq.com> Date: Thu, 15 May 2025 20:31:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../userInfo/impl/UserInfoServiceImpl.java | 19 ++++++----- .../greenorange/promotion/list/ListTest.java | 32 +++++++++++++++++++ 2 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 src/test/java/com/greenorange/promotion/list/ListTest.java diff --git a/src/main/java/com/greenorange/promotion/service/userInfo/impl/UserInfoServiceImpl.java b/src/main/java/com/greenorange/promotion/service/userInfo/impl/UserInfoServiceImpl.java index 2838712..a67323d 100644 --- a/src/main/java/com/greenorange/promotion/service/userInfo/impl/UserInfoServiceImpl.java +++ b/src/main/java/com/greenorange/promotion/service/userInfo/impl/UserInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.greenorange.promotion.constant.SystemConstant; import com.greenorange.promotion.constant.UserConstant; import com.greenorange.promotion.exception.ThrowUtils; import com.greenorange.promotion.mapper.UserInfoMapper; +import com.greenorange.promotion.model.dto.projectCommission.ProjectCommissionAddRequest; import com.greenorange.promotion.model.dto.userInfo.*; import com.greenorange.promotion.model.entity.ProjectCommission; import com.greenorange.promotion.model.entity.SubUserProjectCommission; @@ -169,20 +170,22 @@ public class UserInfoServiceImpl extends ServiceImpl // 查询上级用户的项目抽佣记录 List projectCommissionList = commonService.findByFieldEqTargetField(ProjectCommission::getUserId, parentUserInfo.getId(), projectCommissionService); // 插入当前用户的项目抽佣记录 + List projectCommissions = new ArrayList<>(); for (ProjectCommission projectCommission : projectCommissionList) { - ProjectCommission currentUserProjectCommission = commonService.copyProperties(projectCommission, ProjectCommission.class); - currentUserProjectCommission.setId(null); - currentUserProjectCommission.setMyUnitPrice(projectCommission.getMyUnitPrice().multiply(BigDecimal.ONE.subtract(projectCommission.getCurrentCommissionRate()))); - currentUserProjectCommission.setCurrentCommissionRate(BigDecimal.ZERO); - currentUserProjectCommission.setUserId(myUserInfo.getId()); + ProjectCommissionAddRequest projectCommissionAddRequest = commonService.copyProperties(projectCommission, ProjectCommissionAddRequest.class); + ProjectCommission proCommission = commonService.copyProperties(projectCommissionAddRequest, ProjectCommission.class); + proCommission.setMyUnitPrice(projectCommission.getMyUnitPrice().multiply(BigDecimal.ONE.subtract(projectCommission.getCurrentCommissionRate()))); + proCommission.setCurrentCommissionRate(BigDecimal.ZERO); + proCommission.setUserId(myUserInfo.getId()); + projectCommissions.add(proCommission); } - projectCommissionService.saveBatch(projectCommissionList); + projectCommissionService.saveBatch(projectCommissions); // 插入下级用户的项目明细抽佣记录 List proCommissionList = commonService.findByFieldEqTargetField(ProjectCommission::getUserId, parentUserInfo.getId(), projectCommissionService); List subUserProjectCommissionList = new ArrayList<>(); for (ProjectCommission projectCommission : proCommissionList) { - SubUserProjectCommission subUserProjectCommission = commonService.copyProperties(projectCommission, SubUserProjectCommission.class); - subUserProjectCommission.setId(null); + ProjectCommissionAddRequest projectCommissionAddRequest = commonService.copyProperties(projectCommission, ProjectCommissionAddRequest.class); + SubUserProjectCommission subUserProjectCommission = commonService.copyProperties(projectCommissionAddRequest, SubUserProjectCommission.class); subUserProjectCommission.setSubUserId(myUserInfo.getId()); subUserProjectCommissionList.add(subUserProjectCommission); } diff --git a/src/test/java/com/greenorange/promotion/list/ListTest.java b/src/test/java/com/greenorange/promotion/list/ListTest.java new file mode 100644 index 0000000..16c0571 --- /dev/null +++ b/src/test/java/com/greenorange/promotion/list/ListTest.java @@ -0,0 +1,32 @@ +package com.greenorange.promotion.list; + +import java.util.ArrayList; +import java.util.List; + +public class ListTest { + public static void main(String[] args) { + List list = new ArrayList<>(); + list.add(new Node(1)); + list.add(new Node(2)); + list.add(new Node(3)); + for (Node node : list) { + System.out.println(node.val); + } + for (Node node : list) { + node.setVal(1); + } + for (Node node : list) { + System.out.println(node.val); + } + } +} + +class Node { + int val; + public Node(int val) { + this.val = val; + } + public void setVal(int val) { + this.val = val; + } +} \ No newline at end of file