<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao">
|
<!-- 定义ShopSalesmanApply 的复杂关联map -->
|
<resultMap type="com.matrix.system.fenxiao.entity.ShopSalesmanApply" id="ShopSalesmanApplyMap">
|
<id property="id" column="id" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="applyWay" column="apply_way" />
|
<result property="userId" column="user_id" />
|
<result property="parentUserId" column="parent_user_id" />
|
<result property="applyStatus" column="apply_status" />
|
<result property="remark" column="remark" />
|
<result property="companyId" column="company_id" />
|
</resultMap>
|
|
|
<!-- 定义ShopSalesmanApply 的简单map ,本map不添加其他的关联属性 -->
|
<resultMap type="com.matrix.system.fenxiao.entity.ShopSalesmanApply" id="ShopSalesmanApplySimpleMap">
|
<id property="id" column="id" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="applyWay" column="apply_way" />
|
<result property="userId" column="user_id" />
|
<result property="parentUserId" column="parent_user_id" />
|
<result property="applyStatus" column="apply_status" />
|
<result property="remark" column="remark" />
|
<result property="companyId" column="company_id" />
|
</resultMap>
|
|
<select id="selectInvitationuserInPage" resultType="com.matrix.system.shopXcx.vo.SalesmanVo">
|
SELECT
|
a.nick_name,
|
a.avatar_url,
|
a.phone_number,
|
(
|
SELECT
|
IFNULL(sum(IFNULL( b.amount, 0 )),0)
|
FROM
|
shop_salesman_order b
|
WHERE
|
b.user_id = a.open_id
|
and order_status=2
|
AND b.sales_user_id = #{openId}
|
|
) AS revenueAmount,
|
( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} ) AS orderCount
|
FROM
|
biz_user a
|
WHERE
|
a.parent_open_id = #{openId}
|
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.open_id = a.parent_user_id ) parentUser,
|
( SELECT COUNT(*) FROM biz_user
|
WHERE parent_open_id = a.user_id AND is_sales != 1 ) lowerLevelNum,
|
( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
|
WHERE user_id = a.user_id AND order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
|
( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
|
WHERE user_id = a.user_id AND 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.open_id
|
LEFT JOIN shop_salesman_grade g ON a.grade_id = g.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">
|
order by
|
a.${record.sort} ${record.order}
|
</if>
|
</select>
|
<select id="findShopSalesmanAppliingList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo">
|
SELECT
|
a.user_id userId,
|
b.nick_name nickName
|
FROM
|
shop_salesman_apply a
|
LEFT JOIN biz_user b ON a.user_id = b.user_id
|
<where>
|
a.company_id = #{record.companyId}
|
and a.apply_status = #{record.applyStatus}
|
<if test="record.nickName != null and record.nickName != ''">
|
and b.nick_name like concat('%',#{record.nickName},'%')
|
</if>
|
</where>
|
<if test="record.sort !=null">
|
order by
|
a.${record.sort} ${record.order}
|
</if>
|
</select>
|
<select id="selectBizUserApplyList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo">
|
SELECT
|
a.user_id userId,
|
a.open_id openId,
|
a.nick_name nickName,
|
a.avatar_url avatarUrl,
|
a.create_time createTime,
|
a.phone_number phone
|
FROM
|
biz_user a
|
<where>
|
a.company_id = #{record.companyId}
|
and a.is_sales != 1
|
<if test="record.nickName != null and record.nickName != ''">
|
and a.nick_name like concat('%',#{record.nickName},'%')
|
</if>
|
</where>
|
<if test="record.sort !=null">
|
order by
|
a.${record.sort} ${record.order}
|
</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
|
b.user_id = a.open_id
|
and 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
|
b.user_id = a.open_id
|
and 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
|
b.user_id = a.open_id
|
and 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
|
b.user_id = a.open_id
|
and order_status=1
|
AND b.sales_user_id = #{openId}
|
|
) AS djsRevenue,
|
|
( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} and revenue_type =1 ) AS salesorderCount,
|
( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} and revenue_type =2 ) AS invitationOrderCount,
|
|
(select count(*) from biz_user where parent_open_id=#{openId} and is_sales=1) as invitationCount,
|
(select count(*) from biz_user where parent_open_id=#{openId} and is_sales=2) as customerCount
|
from biz_user a where
|
a.open_id=#{openId}
|
|
</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_number phone,
|
(SELECT s.nick_name FROM biz_user s
|
WHERE s.open_id = a.parent_user_id ) parentUser,
|
( SELECT COUNT(*) FROM biz_user
|
WHERE parent_open_id = a.user_id AND is_sales != 1 ) lowerLevelNum,
|
( SELECT COUNT(*) FROM biz_user
|
WHERE parent_open_id = a.user_id AND is_sales = 1 ) invitedNum,
|
( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
|
WHERE user_id = a.user_id AND order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
|
( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
|
WHERE user_id = a.user_id AND 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 biz_user b ON a.user_id = b.open_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
|
a.user_id userId,
|
b.avatar_url avatarUrl,
|
b.nick_name nickname,
|
b.binding_parent_time createTime,
|
a.apply_way applyWay,
|
(select COUNT(*) from shop_salesman_order c where c.order_status = 1 and c.sales_user_id = a.user_id) doneNum
|
FROM
|
shop_salesman_apply a
|
LEFT JOIN biz_user b ON b.parent_open_id = a.user_id
|
<where>
|
a.company_id = #{record.companyId}
|
AND b.is_sales != 1
|
and b.parent_open_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="findCustomLow" resultType="com.matrix.system.fenxiao.vo.ShopCustomDetailVo">
|
SELECT
|
a.user_id userId,
|
b.avatar_url avatarUrl,
|
b.nick_name nickname,
|
b.binding_parent_time createTime,
|
a.apply_way applyWay
|
FROM
|
shop_salesman_apply a
|
LEFT JOIN biz_user b ON b.parent_open_id = a.user_id
|
<where>
|
a.company_id = #{record.companyId}
|
AND b.is_sales = 1
|
and b.parent_open_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,
|
(select s.store_name from shop_store s where s.store_id = c.store_id) storeName
|
from shop_salesman_order a
|
left join biz_user b on b.open_id=a.user_id
|
left join shop_order c on a.order_id=c.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>
|