From e423d56d730db1baed24f3f7dbbc4141038776b6 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Fri, 18 Jun 2021 22:12:03 +0800
Subject: [PATCH] 修复每日业绩bug和优化赠送业绩计算方式
---
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml | 211 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 196 insertions(+), 15 deletions(-)
diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
index e0375f5..1d001af 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
@@ -38,37 +38,62 @@
SELECT
a.nick_name,
a.avatar_url,
- a.phone_number,
+ a.phone,
(
SELECT
IFNULL(sum(IFNULL( b.amount, 0 )),0)
FROM
shop_salesman_order b
WHERE
- b.user_id = a.open_id
- AND b.sales_user_id = #{openId}
+ b.user_id = a.id
+ and order_status=2
+ AND b.sales_user_id = #{userId}
+
) AS revenueAmount,
- ( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} ) AS orderCount
+ ( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.id AND c.sales_user_id = #{userId} ) AS orderCount
FROM
- biz_user a
+ sys_vip_info a
WHERE
- a.parent_open_id = #{openId}
+ a.recommend_id = #{userId}
AND a.is_sales = #{isSales}
</select>
<select id="findShopSalesmanApplyList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo">
SELECT
+ a.id id,
a.user_id userId,
+ b.avatar_url avatarUrl,
b.nick_name nickname,
- (SELECT s.nick_name from biz_user s where s.user_id = a.parent_user_id) parentUser,
+ (SELECT s.nick_name FROM sys_vip_info s
+ WHERE s.id = a.parent_user_id ) parentUser,
+ c.nick_name parentUserNow,
+ ( SELECT COUNT(*) FROM sys_vip_info
+ WHERE recommend_id = a.user_id AND is_sales != 1 ) lowerLevelNum,
+ ( SELECT COUNT(*) FROM sys_vip_info
+ WHERE recommend_id = a.user_id AND is_sales = 1 ) invitedNum,
+ ( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
+ WHERE order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
+ ( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
+ WHERE order_status = 1 AND sales_user_id = a.user_id ) balance,
+ g.NAME grade,
+ a.create_time createTime,
+ a.apply_status applyStatus,
+ a.apply_way applyWay
FROM
shop_salesman_apply a
- LEFT JOIN biz_user b ON a.user_id = b.user_id
- LEFT JOIN shop_salesman_grade g ON b.salesman_grade = g.id
+ LEFT JOIN sys_vip_info b ON a.user_id = b.id
+ LEFT JOIN shop_salesman_grade g ON a.grade_id = g.id
+ LEFT JOIN sys_vip_info c ON c.id = b.recommend_id
<where>
a.company_id=#{record.companyId}
<if test="record.shenheState != null and record.shenheState != ''">
and a.apply_status=#{record.shenheState}
+ </if>
+ <if test="record.salemanGrade != null and record.salemanGrade != ''">
+ and a.grade_id=#{record.salemanGrade}
+ </if>
+ <if test="record.userName != null and record.userName != ''">
+ and b.nick_name like concat('%',#{record.userName},'%')
</if>
</where>
<if test="record.sort !=null">
@@ -82,7 +107,7 @@
b.nick_name nickName
FROM
shop_salesman_apply a
- LEFT JOIN biz_user b ON a.user_id = b.user_id
+ LEFT JOIN sys_vip_info b ON a.user_id = b.id
<where>
a.company_id = #{record.companyId}
and a.apply_status = #{record.applyStatus}
@@ -97,15 +122,16 @@
</select>
<select id="selectBizUserApplyList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo">
SELECT
- a.user_id userId,
- a.nick_name nickName
+ a.id userId,
+ a.nick_name nickName,
+ a.avatar_url avatarUrl,
+ a.create_time createTime,
+ a.phone
FROM
- biz_user a
- LEFT JOIN shop_salesman_apply b ON a.user_id = b.user_id
+ sys_vip_info a
<where>
a.company_id = #{record.companyId}
and a.is_sales != 1
- and b.apply_status != 1
<if test="record.nickName != null and record.nickName != ''">
and a.nick_name like concat('%',#{record.nickName},'%')
</if>
@@ -116,4 +142,159 @@
</if>
</select>
+ <select id="selectSalesmanCenterInfo" resultType="com.matrix.system.shopXcx.vo.SalesmanCenterInfo">
+ select
+ IFNULL(withdrawal_cash,0) as withdrawal_cash,
+ (
+ SELECT
+ IFNULL(sum(IFNULL( b.amount, 0 )),0)
+ FROM
+ shop_salesman_order b
+ WHERE order_status=2
+ AND b.sales_user_id = #{openId}
+
+ ) AS totalRevenue,
+ (
+ SELECT
+ IFNULL(sum(IFNULL( b.amount, 0 )),0)
+ FROM
+ shop_salesman_order b
+ WHERE order_status=2 and revenue_type=1
+ AND b.sales_user_id = #{openId}
+
+ ) AS salesRevenue,
+ (
+ SELECT
+ IFNULL(sum(IFNULL( b.amount, 0 )),0)
+ FROM
+ shop_salesman_order b
+ WHERE order_status=2 and revenue_type=2
+ AND b.sales_user_id = #{openId}
+
+ ) AS invitationRevenue,
+ IFNULL(withdrawal_cash,0) as withdrawal_cash,
+ (
+ SELECT
+ IFNULL(sum(IFNULL( b.amount, 0 )),0)
+ FROM
+ shop_salesman_order b
+ WHERE order_status=1
+ AND b.sales_user_id = #{openId}
+
+ ) AS djsRevenue,
+
+ ( SELECT count( * ) FROM shop_salesman_order c WHERE c.sales_user_id = #{openId} and revenue_type =1 ) AS salesorderCount,
+ ( SELECT count( * ) FROM shop_salesman_order c WHERE c.sales_user_id = #{openId} and revenue_type =2 ) AS invitationOrderCount,
+ (select count(*) from sys_vip_info where recommend_id=#{openId} and is_sales=1) as invitationCount,
+ (select count(*) from sys_vip_info where recommend_id=#{openId} and is_sales=2) as customerCount
+ from sys_vip_info a where
+ a.id=#{id}
+
+ </select>
+
+ <select id="selectShopSalesmanDetailByOpenId" resultType="com.matrix.system.fenxiao.vo.SalesmanBasicDetailVo">
+ SELECT
+ a.user_id userId,
+ b.avatar_url avatarUrl,
+ b.nick_name nickname,
+ g.NAME grade,
+ b.phone,
+ (SELECT s.nick_name FROM sys_vip_info s
+ WHERE s.id = a.parent_user_id ) parentUser,
+ ( SELECT COUNT(*) FROM sys_vip_info
+ WHERE recommend_id = a.user_id AND is_sales != 1 ) lowerLevelNum,
+ ( SELECT COUNT(*) FROM sys_vip_info
+ WHERE recommend_id = a.user_id AND is_sales = 1 ) invitedNum,
+ ( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
+ WHERE order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
+ ( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
+ WHERE order_status = 1 AND sales_user_id = a.user_id ) balance,
+ a.create_time createTime,
+ a.apply_status applyStatus,
+ a.apply_way applyWay
+ FROM
+ shop_salesman_apply a
+ LEFT JOIN sys_vip_info b ON a.user_id = b.id
+ LEFT JOIN shop_salesman_grade g ON a.grade_id = g.id
+ where a.id = #{applyId}
+ </select>
+
+ <select id="findCustomDetail" resultType="com.matrix.system.fenxiao.vo.ShopCustomDetailVo">
+ SELECT
+ b.id userId,
+ b.avatar_url avatarUrl,
+ b.nick_name nickname,
+ b.binding_parent_time createTime,
+ (select COUNT(*) from shop_salesman_order c where c.order_status = 1 and c.sales_user_id = b.id) doneNum
+ FROM sys_vip_info b
+ <where>
+ b.company_id = #{record.companyId}
+ AND b.is_sales != 1
+ and b.recommend_id = #{record.userId}
+ <if test="record.userName != null and record.userName != ''">
+ and b.nick_name like concat('%',#{record.userName},'%')
+ </if>
+ </where>
+ <if test="record.sort !=null">
+ order by
+ b.${record.sort} ${record.order}
+ </if>
+ </select>
+ <select id="findCustomLow" resultType="com.matrix.system.fenxiao.vo.ShopCustomDetailVo">
+ SELECT
+ b.id userId,
+ b.avatar_url avatarUrl,
+ b.nick_name nickname,
+ a.create_time createTime,
+ a.apply_way applyWay
+ FROM
+ shop_salesman_apply a
+ LEFT JOIN sys_vip_info b ON b.id = a.user_id
+ <where>
+ a.company_id = #{record.companyId}
+ AND b.is_sales = 1
+ and b.recommend_id = #{record.userId}
+ and a.apply_status = 2
+ <if test="record.userName != null and record.userName != ''">
+ and b.nick_name like concat('%',#{record.userName},'%')
+ </if>
+ </where>
+ <if test="record.sort !=null">
+ order by
+ a.${record.sort} ${record.order}
+ </if>
+ </select>
+
+ <select id="findShopOrderDetail" resultType="com.matrix.system.fenxiao.vo.ShopOrderDetailVo">
+ select
+ a.order_id orderId,
+ a.create_time createTime,
+ a.amount amount,
+ a.revenue_type revenueType,
+ a.order_status orderStatus,
+ b.nick_name nickName,
+ b.avatar_url avatarUrl,
+ c.order_no orderNo,
+ c.order_money orderMoney,
+ c.order_status orderState,
+ f.shop_name storeName
+ from shop_salesman_order a
+ left join sys_vip_info b on b.id=a.user_id
+ left join shop_order c on a.order_id=c.id
+ LEFT JOIN sys_shop_info f on f.id = c.store_id
+ <where>
+ a.sales_user_id = #{record.userId}
+ <if test="record.orderType != null and record.orderType != ''">
+ and a.order_status = #{record.orderType}
+ </if>
+ <if test="record.userName != null and record.userName != ''">
+ and b.nick_name like concat('%',#{record.userName},'%')
+ </if>
+ </where>
+ <if test="record.sort !=null">
+ order by
+ a.${record.sort} ${record.order}
+ </if>
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1