| <?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, | 
|         b.binding_parent_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, | 
|         b.binding_parent_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> |