From 324b5cd032c143693f7b89fb40756d92602bcac7 Mon Sep 17 00:00:00 2001
From: phpcjl <phpcjl@gmail.com>
Date: 星期三, 18 十二月 2024 17:25:03 +0800
Subject: [PATCH] 1
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java | 5 +-
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml | 4 +-
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java | 2
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java | 12 +++++-
ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml | 67 +++++++--------------------------
5 files changed, 31 insertions(+), 59 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java
index 19d0672..70ef058 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java
@@ -13,8 +13,9 @@
public interface BalanceChangeRecordMapper extends BaseMapper<BalanceChangeRecord> {
IPage<BalanceChangeRecord> pageList(@Param("page") Page<BalanceChangeRecord> page,@Param("agentQuery") BalanceQuery agentQuery);
+
+ List<BalanceChangeRecord> selectBalanceChangeRecordList(@Param("changeRecord") BalanceChangeRecord balanceChangeRecord);
+
IPage<BalanceChangeRecord> queryCommissionStatistics(@Param("page") Page<BalanceChangeRecord> page,
@Param("changeRecord") BalanceChangeRecord changeRecord);
-
- List<UserPoint> findLatestChangeByType(BalanceChangeRecord balanceChangeRecord);
}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
index 850405b..1a3ca07 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
@@ -14,12 +14,15 @@
import com.ruoyi.account.service.BalanceChangeRecordService;
import com.ruoyi.account.vo.CommissionStatistics;
import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.other.api.domain.ShopPoint;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
@Service
@@ -38,9 +41,14 @@
@Override
public CommissionStatistics commissionStatistics(Page<BalanceChangeRecord> page, BalanceChangeRecord balanceChangeRecord) {
+ List<BalanceChangeRecord> balanceChangeRecordList = this.baseMapper.selectBalanceChangeRecordList(balanceChangeRecord);
+ BigDecimal totalCommission = balanceChangeRecordList.stream()
+ .filter(item -> !(item.getChangeType().equals(2) && item.getChangeType().equals(5)))
+ .map(BalanceChangeRecord::getChangeAmount)
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
+ .setScale(2, RoundingMode.HALF_UP);
IPage<BalanceChangeRecord> balanceChangeRecordIPage = this.baseMapper.queryCommissionStatistics(page, balanceChangeRecord);
-// return new CommissionStatistics(totalCommission, changeRecordPage);
- return null;
+ return new CommissionStatistics(totalCommission, balanceChangeRecordIPage);
}
}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java
index 24f543e..b55d179 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java
@@ -21,7 +21,7 @@
public CommissionStatistics() {
}
- public CommissionStatistics(BigDecimal totalCommission, Page<BalanceChangeRecord> changeRecordPage) {
+ public CommissionStatistics(BigDecimal totalCommission, IPage<BalanceChangeRecord> changeRecordPage) {
this.totalCommission = totalCommission;
this.userPointPage = changeRecordPage;
}
diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml
index a947cb1..4bfdf8b 100644
--- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml
+++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml
@@ -21,14 +21,17 @@
</if>
</where>
</select>
- <select id="queryCommissionStatistics" resultType="com.ruoyi.account.api.model.BalanceChangeRecord">
+
+ <sql id="balanceChangeRecordList">
SELECT
- tcr.*,
tau.`name` userName,
- tau.phone userPhone
+ tau.phone userPhone,
+ tbcr.change_type,
+ tbcr.create_time,
+ tbcr.change_amount
FROM
- t_balance_change_record tcr
- LEFT JOIN t_app_user tau ON tcr.app_user_id = tau.id
+ t_balance_change_record tbcr
+ LEFT JOIN t_app_user tau ON tbcr.app_user_id = tau.id
<where>
<if test="changeRecord.userName != null and changeRecord.userName != ''">
and tau.name like concat('%',#{changeRecord.userName},'%')
@@ -36,56 +39,16 @@
<if test="changeRecord.userPhone != null and changeRecord.userPhone != ''">
and tau.phone like concat('%',#{changeRecord.userPhone},'%')
</if>
- <if test="changeRecord.changeType != null">
- and tcr.change_type = #{changeRecord.changeType}
- </if>
<if test="changeRecord.startTime != null and changeRecord.endTime != null">
- and DATE(tcr.create_time) between #{changeRecord.startTime} and #{changeRecord.endTime}
+ and DATE(tbcr.create_time) between #{changeRecord.startTime} and #{changeRecord.endTime}
</if>
</where>
+ </sql>
+
+ <select id="selectBalanceChangeRecordList" resultType="com.ruoyi.account.api.model.BalanceChangeRecord">
+ <include refid="balanceChangeRecordList"/>
</select>
- <select id="findLatestChangeByType" resultType="com.ruoyi.account.api.model.UserPoint">
- SELECT
- id,
- app_user_id,
- order_id,
- change_type,
- before_amount,
- change_amount,
- after_amount,
- del_flag,
- create_time
- FROM
- (
- SELECT
- id,
- app_user_id,
- order_id,
- change_type,
- before_amount,
- change_amount,
- after_amount,
- del_flag,
- create_time,
- ROW_NUMBER() OVER ( PARTITION BY change_type, app_user_id ORDER BY create_time DESC ) rn
- FROM
- t_balance_change_record
- <where>
- <if test="changeRecord.userName != null and changeRecord.userName != ''">
- and tau.name like concat('%',#{changeRecord.userName},'%')
- </if>
- <if test="changeRecord.userPhone != null and changeRecord.userPhone != ''">
- and tau.phone like concat('%',#{changeRecord.userPhone},'%')
- </if>
- <if test="changeRecord.changeType != null">
- and tcr.change_type = #{changeRecord.changeType}
- </if>
- <if test="changeRecord.startTime != null and changeRecord.endTime != null">
- and DATE(tcr.create_time) between #{changeRecord.startTime} and #{changeRecord.endTime}
- </if>
- </where>
- ) AS subquery
- WHERE
- rn = 1
+ <select id="queryCommissionStatistics" resultType="com.ruoyi.account.api.model.BalanceChangeRecord">
+ <include refid="balanceChangeRecordList"/>
</select>
</mapper>
diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml
index 467e2e1..937b56a 100644
--- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml
+++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml
@@ -4,8 +4,8 @@
<sql id="ShopPointList">
SELECT
- ts.`name`,
- ts.shop_manager,
+ ts.`name` shopName,
+ ts.shop_manager shopLeaderName,
ts.phone,
tsp.type,
tsp.create_time,
--
Gitblit v1.7.1