Helius
2022-05-27 4351e71d782741143a98f86f6648acd16689165f
zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -61,6 +61,7 @@
        <result property="country" column="country" />
        <result property="sessionKey" column="session_key" />
        <result property="userIsAuthorize" column="user_is_authorize" />
        <result property="validFlag" column="valid_flag" />
        <!-- 扩展属性 -->
        <result property="staffName" column="STAFF_NAME"/>
@@ -124,6 +125,7 @@
        <result property="country" column="country" />
        <result property="sessionKey" column="session_key" />
        <result property="userIsAuthorize" column="user_is_authorize" />
        <result property="validFlag" column="valid_flag" />
        <!-- 扩展属性 -->
        <result property="staffName" column="STAFF_NAME"/>
@@ -142,7 +144,7 @@
        COMMISSION_ALL,IN_DATE,STAFF_ID,SHOP_ID,IS_DELETE,REMARK,PASSWORD,
        EMAIL,CREATE_TIME,UUID,BALANCE,blood,sfCard,link,marry,vocation,handleTime from
        sys_vip_info
        WHERE company_id=#{companyId}
        WHERE company_id=#{companyId}  and IS_DELETE = 'N'
        and (STAFF_ID = #{staffId} or BEATUY_ID = #{staffId})
        AND datediff(date_add(concat(
        date_format(BIRTHDAY1, "%Y"),
@@ -168,7 +170,7 @@
      select count(*) from
      sys_vip_info
      WHERE
      company_id=#{companyId}
      company_id=#{companyId} and IS_DELETE = 'N'
      AND (STAFF_ID = #{staffId}  or BEATUY_ID = #{staffId})
      AND datediff(date_add(concat(
      date_format(BIRTHDAY1, "%Y"),
@@ -187,7 +189,7 @@
        sys_vip_info a
        LEFT JOIN service_record b ON a.ID
        = b.vip_id
        WHERE company_id=#{companyId}
        WHERE company_id=#{companyId} and  a.IS_DELETE = 'N'
        and (a.STAFF_ID = #{staffId} or a.BEATUY_ID = #{staffId})
        AND b.follow_time BETWEEN curdate()
        AND
@@ -211,6 +213,7 @@
      = b.vip_id
      WHERE
      company_id=#{companyId}
        and a.IS_DELETE  = 'N'
        and
      (a.STAFF_ID = #{staffId}  or a.BEATUY_ID = #{staffId})
      AND b.follow_time BETWEEN curdate()
@@ -225,6 +228,7 @@
        LEFT JOIN sys_proj_services b ON a.ID = b.VIP_ID
        WHERE
        company_id=#{companyId}
        and a.IS_DELETE = 'N'
        and
        (a.STAFF_ID = #{staffId} or a.BEATUY_ID = #{staffId})
        AND b.YY_TIME BETWEEN curdate()
@@ -249,6 +253,7 @@
      LEFT JOIN sys_proj_services b ON a.ID = b.VIP_ID
      WHERE
      company_id=#{companyId}
        and a.IS_DELETE  = 'N'
        and
      (a.STAFF_ID = #{staffId}  or a.BEATUY_ID = #{staffId})
      AND b.YY_TIME BETWEEN curdate()
@@ -537,6 +542,9 @@
            <if test="avatarUrl != null and avatarUrl != '' ">
                avatar_url  = #{avatarUrl},
            </if>
            <if test="validFlag != null and validFlag != '' ">
                valid_flag  = #{validFlag},
            </if>
        </set>
@@ -562,6 +570,14 @@
            #{item}
        </foreach>
    </delete>
    <update id="deleteLogicByIds" parameterType="java.util.List">
        UPDATE sys_vip_info set IS_DELETE = 'Y' where ID in
        <foreach collection="list" index="index" item="item" open="("
                 separator="," close=")">
            #{item}
        </foreach>
    </update>
    <!-- 根据id删除 -->
    <delete id="deleteById">
@@ -611,7 +627,7 @@
    <select id="findByOpenId" resultMap="SysVipInfoMap">
        select *
        from sys_vip_info where openid=#{openId}
        from sys_vip_info where openid=#{openId} and IS_DELETE  = 'N'
    </select>
    <!-- 根据手机和密码查询 -->
@@ -623,7 +639,7 @@
    <!-- 判断是否为唯一 -->
    <select id="selectTotalByField" resultType="java.lang.Integer">
      select count(*) from
      sys_vip_info where ${field} = #{value}
      sys_vip_info where ${field} = #{value} and IS_DELETE  = 'N'
   </select>
    <!-- 根据对象查询 -->
@@ -703,7 +719,7 @@
      COMMISSION_ALL,IN_DATE,STAFF_ID,SHOP_ID,IS_DELETE,REMARK,PASSWORD,
      EMAIL,CREATE_TIME,UUID,BALANCE 
        from sys_vip_info where
        company_id=#{companyId}
        company_id=#{companyId} and IS_DELETE = 'N'
        and PHONE like concat('%',#{keyWord},'%') limit 0,10
   </select>
@@ -716,7 +732,7 @@
      COMMISSION_ALL,IN_DATE,STAFF_ID,SHOP_ID,IS_DELETE,REMARK,PASSWORD,
      EMAIL,CREATE_TIME,UUID,BALANCE,blood,sfCard,link,marry,vocation 
        from sys_vip_info 
        where company_id=#{companyId}
        where company_id=#{companyId} and IS_DELETE = 'N'
      and (instr(PHONE,#{keyWord})
         or instr(VIP_NAME ,#{keyWord})
         or instr(zjm ,#{keyWord})
@@ -742,6 +758,7 @@
        <include refid="select"></include>
        <include refid="from"></include>
        where 1=1
        and a.IS_DELETE = 'N'
        and
        (a.VIP_NO =#{key} or
        a.VIP_NAME =#{key} or
@@ -757,6 +774,7 @@
    <sql id="whereVo">
       <where>
           a.IS_DELETE  = 'N'
        <if test="record!=null">
            <if test="record.keyWord != null and record.keyWord !='' ">
                and (a.VIP_NO like CONCAT('%',#{record.keyWord},'%') or
@@ -787,7 +805,7 @@
    </sql>
    <sql id="where">
        where 1=1
        where 1=1 and a.IS_DELETE  = 'N'
        <if test="record!=null">
            <if test="record.id != null and record.id !='' ">
                and a.ID = #{record.id}
@@ -1067,7 +1085,7 @@
        (select a.id from sys_vip_info a
        where 1=1
        where 1=1  and   a.IS_DELETE = 'N'
        <if test="record.parentId != null and record.parentId !='' ">
            and a.parent_id = #{record.parentId}
        </if>
@@ -1080,7 +1098,7 @@
        f.vip_name as name
        from sys_vip_info d
        LEFT JOIN sys_vip_info f on d.parent_id = f.id
        where 1=1
        where 1=1  and d.IS_DELETE = 'N'
        <if test="record.parentId != null and record.parentId !='' ">
            and d.parent_id = #{record.parentId}
        </if>
@@ -1108,7 +1126,7 @@
        (select a.id from sys_vip_info a
        where 1=1
        where 1=1 and a.IS_DELETE  = 'N')
        <if test="record.parentId != null and record.parentId !='' ">
            and a.parent_id = #{record.parentId}
        </if>
@@ -1121,7 +1139,7 @@
        f.vip_name as name
        from sys_vip_info d
        LEFT JOIN sys_vip_info f on d.parent_id = f.id
        where 1=1
        where 1=1 and d.IS_DELETE = 'N'
        <if test="record.parentId != null and record.parentId !='' ">
            and d.parent_id = #{record.parentId}
        </if>)k
@@ -1134,7 +1152,7 @@
        f.vip_name as name
        from sys_vip_info d
        LEFT JOIN sys_vip_info f on d.parent_id = f.id
        where 1=1
        where 1=1 and d.IS_DELETE = 'N'
        <if test="record.parentId != null and record.parentId !='' ">
            and d.parent_id = #{record.parentId}
        </if>
@@ -1156,7 +1174,7 @@
        count(*)
        from sys_vip_info d
        LEFT JOIN sys_vip_info f on d.parent_id = f.id
        where 1=1
        where 1=1 and d.IS_DELETE  = 'N'
        <if test="record.parentId != null and record.parentId !='' ">
            and d.parent_id = #{record.parentId}
        </if>
@@ -1172,7 +1190,7 @@
        (select a.id from sys_vip_info a
        where 1=1
        where 1=1  and a.IS_DELETE  = 'N'
        <if test="record.parentId != null and record.parentId !='' ">
            and a.parent_id = #{record.parentId}
        </if>
@@ -1198,7 +1216,7 @@
        (select a.id from sys_vip_info a
        where 1=1
        where a.IS_DELETE  = 'N')
        <if test="record.parentId != null and record.parentId !='' ">
            and a.parent_id = #{record.parentId}
        </if>
@@ -1208,13 +1226,13 @@
    <select id="selectByPhone" resultMap="SysVipInfoMapSimple">
      select * from sys_vip_info where  PHONE = #{phone} and company_id=#{companyId}
      select * from sys_vip_info where  PHONE = #{phone} and company_id=#{companyId} and  IS_DELETE = 'N'
   </select>
    <select id="selectVipTelphoneByIds" resultType="java.lang.String">
        select phone from sys_vip_info
        where phone is not null and id in
        where phone is not null and IS_DELETE = 'N' and id in
        <foreach collection="list" index="index" item="item" open="("
                 separator="," close=")">
            #{item}
@@ -1224,18 +1242,18 @@
    <select id="selectAllVipPhone" resultType="java.lang.String">
      select phone from sys_vip_info
      where
       company_id=#{companyId}
       company_id=#{companyId} and IS_DELETE = 'N'
       and phone is not null
   </select>
    <select id="selectVipPhoneWithShop" resultType="java.lang.String">
        select phone from sys_vip_info
        where phone is not null and shop_id=#{shopId}
        where phone is not null and shop_id=#{shopId} and IS_DELETE = 'N'
    </select>
    <select id="selectOldUserByTelphone" resultMap="SysVipInfoMap">
        select * from sys_vip_info where  phone=#{telphone} and is_deal=1
        select * from sys_vip_info where  phone=#{telphone} and is_deal=1 and IS_DELETE = 'N'
    </select>
@@ -1354,13 +1372,14 @@
    </insert>
    <select id="selectVipInfoByVipNo" resultMap="SysVipInfoMapSimple">
        select * from sys_vip_info where company_id=#{companyId} and vip_no=#{vipNo}
        select * from sys_vip_info where company_id=#{companyId} and vip_no=#{vipNo} and IS_DELETE = 'N'
    </select>
    <select id="selectVipAddressBookByList" resultType="com.matrix.system.app.vo.VipInfoListVo">
        select
               a.ID id,
               a.VIP_NAME vipName,
               a.VIP_NO vipNo,
               a.PHONE phone,
               a.photo photo,
               b.arriveCnt arriveCnt,
@@ -1410,7 +1429,7 @@
        </if>
        left join sys_shop_info g on a.shop_id = g.id
        left join sys_vip_level h on a.level_id=h.id
        where 1=1
        where 1=1 and   a.IS_DELETE = 'N'
        <if test="record.queryKey != null and record.queryKey != ''">
            and (instr(PHONE,#{record.queryKey})
                or instr(VIP_NAME ,#{record.queryKey})
@@ -1460,7 +1479,7 @@
               c.LEVEL_NAME vipLevel,
               a.POINT_ALL integral,
               e.shop_short_name shopName,
               sum(IFNULL(b.gift_money, 0) + IFNULL(b.real_money, 0)) totalBalance,
               sum(IFNULL(b.real_money, 0)) totalBalance,
               sum(IFNULL(b.gift_money, 0)) giftBalance,
               (select sum(IFNULL(d.goods_cash, 0) + IFNULL(d.proj_cash, 0) + IFNULL(d.card_cash, 0)) from achieve_new d where d.vip_id=a.id) totalShopping
        from sys_vip_info a
@@ -1472,8 +1491,68 @@
    <select id="selectVipArrearsStatistics" resultType="java.util.Map">
        select
            a.VIP_NAME vipName,
            a.PHONE phone,
            c.shop_short_name shopName,
            sum(b.arrears) arrears,
            count(1) cnt,
            d.su_name staffName
        from sys_vip_info a
         inner join sys_order b on a.ID=b.VIP_ID
         inner join sys_shop_info c on a.SHOP_ID=c.ID
         left join sys_users d on a.STAFF_ID=d.su_id
        where b.STATU='欠款' and b.arrears!=0 and a.IS_DELETE = 'N'
            <if test="record.companyId!=null">
                and a.company_id=#{record.companyId}
            </if>
            <if test="record.shopId!=null">
                and a.shop_id=#{record.shopId}
            </if>
            <if test='record.vipName!=null and record.vipName!="" '>
                and (a.vip_name like concat('%', #{record.vipName}, '%') or a.vip_no like concat('%', #{record.vipName}, '%') or a.phone like concat('%', #{record.vipName}, '%'))
            </if>
        group by a.id
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
            <if test="pageVo.sort !=null  and pageVo.order !=null">
                order by
                ${pageVo.sort} ${pageVo.order}
            </if>
            <if test="pageVo.offset >=0  and pageVo.limit >0">
                limit
                #{pageVo.offset},#{pageVo.limit}
            </if>
        </if>
    </select>
    <select id="selectVipArrearsStatisticsTotal" resultType="java.lang.Integer">
        select count(1) from (
            select
                a.VIP_NAME vipName,
                a.PHONE phone,
                c.shop_short_name shopName,
                sum(b.arrears) arrears,
                count(1) cnt,
                d.su_name staffName
            from sys_vip_info a
                inner join sys_order b on a.ID=b.VIP_ID
                inner join sys_shop_info c on a.SHOP_ID=c.ID
                left join sys_users d on a.STAFF_ID=d.su_id
            where b.STATU='欠款' and b.arrears!=0 and a.IS_DELETE = 'N'
                <if test="record.companyId!=null">
                    and a.company_id=#{record.companyId}
                </if>
                <if test="record.shopId!=null">
                    and a.shop_id=#{record.shopId}
                </if>
                <if test='record.vipName!=null and record.vipName!="" '>
                    and (a.vip_name like concat('%', #{record.vipName}, '%') or a.vip_no like concat('%', #{record.vipName}, '%') or a.phone like concat('%', #{record.vipName}, '%'))
                </if>
            group by a.id
        ) a
    </select>
</mapper>