From 9d9832c4fc87f8da685f055da7ea7145879b4e0b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 18 十二月 2024 17:03:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/PointChangeType.java | 3
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java | 3
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java | 78 ++++++--------------------
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml | 72 +++++++++++-------------
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java | 2
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java | 2
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/WithdrawalAuditStatus.java | 2
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java | 7 ++
8 files changed, 63 insertions(+), 106 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java
index adf20b6..ad2a4a3 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java
@@ -38,7 +38,7 @@
private Long id;
@ApiModelProperty(value = "变动类型(1-消费,2-返佣,3-拉新,4-每日分享,5-每日签到,6-使用时长, 7-注册积分, 8-门店业绩," +
- "9-门店返佣,10-技师业绩,11-兑换商品,12-他人赠送,13-赠与他人)")
+ "9-门店返佣,14-下级门店返佣,10-技师业绩,11-兑换商品,12-他人赠送,13-赠与他人)")
@TableField("type")
private Integer type;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/PointChangeType.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/PointChangeType.java
similarity index 92%
rename from ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/PointChangeType.java
rename to ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/PointChangeType.java
index 5082a61..c6aedee 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/PointChangeType.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/PointChangeType.java
@@ -1,4 +1,4 @@
-package com.ruoyi.account.enums;
+package com.ruoyi.other.api.enums;
import lombok.Getter;
@@ -14,6 +14,7 @@
REGISTER(7, "注册积分"),
SHOP_ACHIEVEMENT(8, "门店业绩"),
SHOP_REBATE(9, "门店返佣"),
+ JUNIOR_SHOP_REBATE(14, "下级门店返佣"),
TECHNICIAN_ACHIEVEMENT(10, "技师业绩"),
EXCHANGE_GOODS(11, "兑换商品"),
OTHER_GIFT(12, "他人赠送"),
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/WithdrawalAuditStatus.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/WithdrawalAuditStatus.java
similarity index 90%
rename from ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/WithdrawalAuditStatus.java
rename to ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/WithdrawalAuditStatus.java
index 4788fd6..bf06e86 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/WithdrawalAuditStatus.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/WithdrawalAuditStatus.java
@@ -1,4 +1,4 @@
-package com.ruoyi.account.enums;
+package com.ruoyi.other.api.enums;
import lombok.Getter;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
index 132dc25..f2fc4eb 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
@@ -7,7 +7,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.api.model.UserPoint;
-import com.ruoyi.account.enums.PointChangeType;
+import com.ruoyi.other.api.enums.PointChangeType;
import com.ruoyi.account.mapper.UserPointMapper;
import com.ruoyi.account.service.AppUserService;
import com.ruoyi.account.service.PointSettingService;
@@ -19,7 +19,6 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.PhoneNumberValidator;
-import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.other.api.domain.PointSetting;
import com.ruoyi.other.api.domain.Shop;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java
index 06caeb7..65f5425 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java
@@ -1,7 +1,7 @@
package com.ruoyi.account.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.account.enums.WithdrawalAuditStatus;
+import com.ruoyi.other.api.enums.WithdrawalAuditStatus;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.api.model.WithdrawalRequests;
import com.ruoyi.account.service.AppUserService;
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java
index 02355d9..feee1b5 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java
@@ -1,7 +1,9 @@
package com.ruoyi.other.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.other.api.domain.ShopPoint;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -15,6 +17,9 @@
*/
public interface ShopPointMapper extends BaseMapper<ShopPoint> {
- List<ShopPoint> findLatestChangeByType(ShopPoint shopPoint);
+ List<ShopPoint> selectShopPointList(@Param("shopPoint") ShopPoint shopPoint);
+
+ IPage<ShopPoint> queryShpointPage(@Param("page") IPage<ShopPoint> page,@Param("shopPoint") ShopPoint shopPoint);
+
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java
index 98c5dd0..f9e435f 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java
@@ -1,22 +1,16 @@
package com.ruoyi.other.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.account.api.feignClient.AppUserClient;
-import com.ruoyi.account.api.model.AppUser;
-import com.ruoyi.common.core.utils.StringUtils;
-import com.ruoyi.other.api.domain.Shop;
-import com.ruoyi.other.mapper.ShopPointMapper;
import com.ruoyi.other.api.domain.ShopPoint;
+import com.ruoyi.other.api.enums.PointChangeType;
+import com.ruoyi.other.mapper.ShopPointMapper;
import com.ruoyi.other.service.ShopPointService;
-import com.ruoyi.other.service.ShopService;
import com.ruoyi.other.vo.ShopPointStatistics;
import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-import javax.annotation.Resource;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -29,64 +23,28 @@
*/
@Service
public class ShopPointServiceImpl extends ServiceImpl<ShopPointMapper, ShopPoint> implements ShopPointService {
- @Resource
- private ShopPointMapper shopPointMapper;
- @Resource
- private ShopService shopService;
@Override
public ShopPointStatistics statistics(IPage<ShopPoint> page, ShopPoint shopPoint) {
-
- String shopName = shopPoint.getShopName();
- String phone = shopPoint.getPhone();
- String shopLeaderName = shopPoint.getShopLeaderName();
- Integer shopId = shopPoint.getShopId();
- List<Integer> shopIds = shopService.listObjs(new LambdaQueryWrapper<Shop>()
- .select(Shop::getId)
- .eq(shopId!=null,Shop::getId,shopId)
- .like(StringUtils.isNotEmpty(shopName), Shop::getName, shopName)
- .like(StringUtils.isNotEmpty(phone), Shop::getPhone, phone)
- .like(StringUtils.isNotEmpty(shopLeaderName), Shop::getShopManager, shopLeaderName))
- .stream().map(o -> (Integer) o).collect(Collectors.toList());
- if (CollectionUtils.isEmpty(shopIds)) {
- return new ShopPointStatistics();
- }
-
- shopPoint.setShopIds(shopIds);
-
+ List<ShopPoint> shopPoints = this.baseMapper.selectShopPointList(shopPoint);
+ Map<Integer, Integer> shopPointMap = shopPoints.stream()
+ .collect(Collectors.groupingBy(
+ ShopPoint::getType,
+ Collectors.summingInt(ShopPoint::getVariablePoint)
+ ));
ShopPointStatistics shopPointStatistics = new ShopPointStatistics();
- List<ShopPoint> latestChangeByType = shopPointMapper.findLatestChangeByType(shopPoint);
- for (ShopPoint sp : latestChangeByType) {
- switch (sp.getType()) {
- case 1:
- shopPointStatistics.setShopPoint(sp.getVariablePoint());
- break;
- case 2:
- shopPointStatistics.setShopCommissionPoint(sp.getVariablePoint());
- break;
- case 3:
- shopPointStatistics.setSubShopCommissionPoint(sp.getVariablePoint());
- break;
- }
- }
- shopPointStatistics.setTotalPoint(shopPointStatistics.getShopPoint() + shopPointStatistics.getShopCommissionPoint() + shopPointStatistics.getSubShopCommissionPoint());
+ int sPoint = shopPointMap.getOrDefault(PointChangeType.SHOP_ACHIEVEMENT.getCode(), 0);
+ int shopCommissionPoint = shopPointMap.getOrDefault(PointChangeType.SHOP_REBATE.getCode(), 0);
+ int subShopCommissionPoint = shopPointMap.getOrDefault(PointChangeType.JUNIOR_SHOP_REBATE.getCode(), 0);
+ shopPointStatistics.setTotalPoint(sPoint + shopCommissionPoint + subShopCommissionPoint);
+ shopPointStatistics.setShopPoint(sPoint);
+ shopPointStatistics.setShopCommissionPoint(shopCommissionPoint);
+ shopPointStatistics.setSubShopCommissionPoint(subShopCommissionPoint);
-
- boolean condition = shopPoint.getStartTime() != null && shopPoint.getEndTime() != null;
- IPage<ShopPoint> shopPointIPage = page(page, new LambdaQueryWrapper<ShopPoint>()
- .in(!CollectionUtils.isEmpty(shopPoint.getShopIds()), ShopPoint::getShopId, shopPoint.getShopIds())
- .eq(shopPoint.getType() != null, ShopPoint::getType, shopPoint.getType())
- .between(condition, ShopPoint::getCreateTime, shopPoint.getStartTime(), shopPoint.getEndTime())
- .orderByDesc(ShopPoint::getCreateTime));
- List<ShopPoint> shopPoints = shopPointIPage.getRecords();
- for (ShopPoint sp : shopPoints) {
- Shop shop = shopService.getById(sp.getShopId());
- sp.setShopName(shop.getName());
- sp.setShopLeaderName(shop.getShopManager());
- sp.setPhone(shop.getPhone());
- }
+ IPage<ShopPoint> shopPointIPage = this.baseMapper.queryShpointPage(page, shopPoint);
shopPointStatistics.setShopPointIPage(shopPointIPage);
+
return shopPointStatistics;
}
}
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 6828ee3..467e2e1 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
@@ -2,47 +2,41 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.other.mapper.ShopPointMapper">
- <select id="findLatestChangeByType" resultType="com.ruoyi.other.api.domain.ShopPoint">
+ <sql id="ShopPointList">
SELECT
- id,
- shop_id,
- type,
- historical_point,
- variable_point,
- create_time,
- create_user_id,
- object_id
+ ts.`name`,
+ ts.shop_manager,
+ ts.phone,
+ tsp.type,
+ tsp.create_time,
+ tsp.variable_point
FROM
- (
- SELECT
- id,
- shop_id,
- type,
- historical_point,
- variable_point,
- create_time,
- create_user_id,
- object_id,
- ROW_NUMBER() OVER ( PARTITION BY type,create_user_id ORDER BY create_time DESC ) AS rn
- FROM
- t_shop_point
+ t_shop_point tsp
+ LEFT JOIN t_shop ts ON tsp.shop_id = ts.id
+ <where>
+ <if test="shopPoint.shopName != null and shopPoint.shopName != ''">
+ AND ts.`name` LIKE concat('%',#{shopPoint.shopName},'%')
+ </if>
+ <if test="shopPoint.shopLeaderName != null and shopPoint.shopLeaderName != ''">
+ AND ts.shop_manager LIKE concat('%',#{shopPoint.shopLeaderName},'%')
+ </if>
+ <if test="shopPoint.phone != null and shopPoint.phone != ''">
+ AND ts.phone LIKE concat('%',#{shopPoint.phone},'%')
+ </if>
+ <if test="shopPoint.type != null">
+ AND tsp.type = #{shopPoint.type}
+ </if>
+ <if test="shopPoint.startTime !=null and shopPoint.endTime !=null">
+ AND tsp.create_time BETWEEN #{shopPoint.startTime} AND #{shopPoint.endTime}
+ </if>
- <where>
- <if test="shopIds != null and shopIds.size() > 0">
- AND shop_id IN
- <foreach collection="shopIds" item="shopId" open="(" close=")" separator=",">
- #{shopId}
- </foreach>
- </if>
- <if test="type != null">
- AND `type` = #{type}
- </if>
- <if test="startTime != null and endTime != null">
- AND create_time BETWEEN #{startTime} AND #{endTime}
- </if>
- </where>
- ) AS subquery
- WHERE
- rn = 1
+ </where>
+ </sql>
+
+ <select id="selectShopPointList" resultType="com.ruoyi.other.api.domain.ShopPoint">
+ <include refid="ShopPointList"/>
+ </select>
+ <select id="queryShpointPage" resultType="com.ruoyi.other.api.domain.ShopPoint">
+ <include refid="ShopPointList"/>
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.7.1