<?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.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.open_id userId,
|
a.nick_name nickName
|
FROM
|
biz_user a
|
LEFT JOIN shop_salesman_apply b ON a.open_id = b.user_id
|
<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>
|
</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} ) AS orderCount,
|
(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>
|
|
</mapper>
|