935090232@qq.com
2021-03-12 c1bcebc75e3a057ffe21c1c6e580e1f2cf1fbf79
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
@@ -46,7 +46,9 @@
               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
@@ -58,40 +60,136 @@
   <select id="findShopSalesmanApplyList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo">
      SELECT
      b.nick_name
      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.user_id
      LEFT JOIN shop_salesman_grade g ON b.salesman_grade = g.id
      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>
         and a.company_id=#{record.companyId}
          a.company_id=#{record.companyId}
         <if test="record.shenheState != null and record.shenheState != ''">
            and a.apply_status=#{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>
      <if test="record.offset >=0  and record.limit >0">
         limit
         #{record.offset},#{record.limit}
      </if>
   </select>
   <select id="findShopSalesmanApplyListTotal" resultType="java.lang.Integer">
      SELECT count(*)
   <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
      LEFT JOIN shop_salesman_grade g ON b.salesman_grade = g.id
      <where>
         and a.company_id=#{record.companyId}
         <if test="record.shenheState != null and record.shenheState != ''">
            and a.apply_status=#{shenheState}
         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>