xiaoyong931011
2023-10-30 3156be749dfc93764850b27f7cc2b4514a3ae4d0
src/main/resources/mapper/modules/ChatUserMapper.xml
@@ -8,6 +8,7 @@
        a.nick_name nickName,
        a.chat_no chatNo,
        a.model_type modelType,
        a.create_group createGroup,
        a.phone phone,
        a.status status,
        a.invite_id inviteId,
@@ -19,6 +20,9 @@
        left join chat_wallet b on b.user_id = a.user_id and type = 'USDT'
        <where>
            <if test="record != null">
                <if test="record.phone != null and record.phone != ''">
                    and a.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
                </if>
                <if test="record.nickName != null and record.nickName != ''">
                    and a.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
                </if>
@@ -32,6 +36,54 @@
        </where>
        group by a.user_id
        order by a.create_time desc
    </select>
    <select id="selectUserPerkListInPage" resultType="cc.mrbird.febs.mall.vo.AdminChatUserPerkVo">
        select
        a.user_id userId,
        a.nick_name nickName,
        a.chat_no chatNo,
        a.get_boom getBoom,
        a.phone phone,
        a.invite_id inviteId,
        a.is_robot isRobot,
        date_format(a.create_time, '%Y-%m-%d %H:%m:%s') createTime,
        IFNULL(sum(b.total_amount), 0) totalAmount,
        IFNULL(sum(b.ava_amount), 0) avaAmount,
        (
            SELECT
                COUNT(c.id)
            FROM chat_red_bag c
            where c.from_user_id = a.user_id
                AND c.msg_type = 'GROUP'
        ) groupRedBagNum,
        (
            select IFNULL(sum(IFNULL(d.amount,0)),0)
            from chat_amount_flow d
            where (d.type = 7 or d.type = 9)
            and d.user_id = a.user_id
        ) teamPerkAmount
        from chat_user a
        left join chat_wallet b on b.user_id = a.user_id and b.type = 'USDT'
        <where>
            a.is_robot = 0
            <if test="record.phone != null and record.phone != ''">
                and a.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
            </if>
            <if test="record.nickName != null and record.nickName != ''">
                and a.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
            </if>
            <if test="record.inviteId != null and record.inviteId != ''">
                and (find_in_set(#{record.inviteId}, referrer_ids) or invite_id = #{record.inviteId})
            </if>
            <if test="record.isRobot != null">
                and a.is_robot = #{record.isRobot}
            </if>
        </where>
        group by a.user_id
        HAVING teamPerkAmount > 0
        order by
        a.user_id asc ,a.create_time asc
    </select>
    <select id="selectByUserId" resultType="cc.mrbird.febs.mall.entity.ChatUser">
@@ -71,16 +123,20 @@
        a.type type,
        a.amount amount,
        b.nick_name nickName,
        b.phone phone,
        date_format(a.create_time, '%Y-%m-%d %H:%m:%s') createTime,
        a.ava_amount avaAmount,
        a.state state,
        a.remark remark
        from chat_amount_flow a
        left join chat_user b on b.user_id = a.user_id
        inner join chat_user b on b.user_id = a.user_id
        <where>
            <if test="record != null">
                <if test="record.phone != null and record.phone != ''">
                    and b.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
                </if>
                <if test="record.nickName != null and record.nickName != ''">
                    and b.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
                    and b.nick_name = #{record.nickName}
                </if>
                <if test="record.type != null and record.type != ''">
                    and a.type = #{record.type}
@@ -94,6 +150,7 @@
        select
        date_format(a.created_time, '%Y-%m-%d %H:%m:%s') createdTime,
        b.nick_name nickName,
        b.phone phone,
        a.amount amount,
        a.last_amount lastAmount,
        a.status status,
@@ -105,6 +162,9 @@
        left join chat_user b on b.user_id = a.user_id
        <where>
            <if test="record != null">
                <if test="record.phone != null and record.phone != ''">
                    and b.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
                </if>
                <if test="record.nickName != null and record.nickName != ''">
                    and b.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
                </if>
@@ -120,15 +180,20 @@
        select
        date_format(a.created_time, '%Y-%m-%d %H:%m:%s') createdTime,
        b.nick_name nickName,
        b.phone phone,
        a.id id,
        a.amount amount,
        (a.amount - a.fee) amount,
        a.type type,
        a.address address,
        a.address_type addressType,
        a.state state
        from member_coin_withdraw a
        left join chat_user b on b.user_id = a.user_id
        <where>
            <if test="record != null">
                <if test="record.phone != null and record.phone != ''">
                    and b.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
                </if>
                <if test="record.nickName != null and record.nickName != ''">
                    and b.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
                </if>
@@ -202,6 +267,12 @@
        order by a.create_time desc
    </select>
    <select id="selectVersionListInPage" resultType="cc.mrbird.febs.mall.vo.AdminVersionVo">
        select
        a.*
        from chat_version a
    </select>
    <update id="updateIsRobotByGroupId">
        update chat_group
        set
@@ -225,6 +296,13 @@
        where id = #{id}
    </select>
    <select id="getVersionInfoById" resultType="cc.mrbird.febs.mall.vo.AdminVersionVo">
        select
            a.*
        from chat_version a
        where id = #{id}
    </select>
    <update id="updateAutoSendByGroupId">
        update chat_group
        set
@@ -236,6 +314,7 @@
        select
        a.*,
        b.nick_name nickName,
        b.is_robot isRobot,
        c.name groupName
        from chat_red_bag a
        left join chat_user b on b.user_id = a.from_user_id
@@ -246,9 +325,124 @@
                <if test="record.name != null and record.name != ''">
                    and c.name like CONCAT('%', CONCAT(#{record.name}, '%'))
                </if>
                <if test="record.nickName != null and record.nickName != ''">
                    and b.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
                </if>
                <if test="record.isRobot != null">
                    and b.is_robot = #{record.isRobot}
                </if>
            </if>
        </where>
        order by a.create_time desc
    </select>
    <update id="updateCreateGroupByUserId">
        update chat_user
        set
            create_group = #{createGroup}
        where user_id = #{userId}
    </update>
    <update id="updateNicknameById">
        update chat_user
        set
            nick_name = #{nickName}
        where user_id = #{userId}
    </update>
    <select id="selectListByIsRobot" resultType="cc.mrbird.febs.mall.entity.ChatUser">
        select
            a.*
        from chat_user a
        where is_robot = #{isRobot}
    </select>
    <select id="selectTotalAmount" resultType="java.math.BigDecimal">
        select IFNULL(sum(IFNULL(total_amount,0)),0)
        from chat_wallet
        where type = 'USDT'
    </select>
    <select id="selectTotalType" resultType="java.math.BigDecimal">
        select IFNULL(sum(IFNULL(amount,0)),0)
        from chat_amount_flow
        where type = #{type}
        <if test='dateType == "D"'>
            and date_format(create_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d');
        </if>
        <if test='dateType == "M"'>
            and date_format(create_time, '%Y-%m') = date_format(#{date}, '%Y-%m');
        </if>
    </select>
    <select id="selectTotalTypeByUserId" resultType="java.math.BigDecimal">
        select IFNULL(sum(IFNULL(amount,0)),0)
        from chat_amount_flow
        where type = #{type}
          and user_id = #{userId}
        <if test='dateType == "D"'>
            and date_format(create_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d');
        </if>
        <if test='dateType == "M"'>
            and date_format(create_time, '%Y-%m') = date_format(#{date}, '%Y-%m');
        </if>
    </select>
    <select id="selectUserList" resultType="cc.mrbird.febs.mall.entity.ChatUser">
        select
        a.*
        from chat_user a
        where is_robot = #{isRobot}
        <if test='dateType == "D"'>
            and date_format(create_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d');
        </if>
        <if test='dateType == "M"'>
            and date_format(create_time, '%Y-%m') = date_format(#{date}, '%Y-%m');
        </if>
    </select>
    <select id="selectListByMsgType" resultType="cc.mrbird.febs.mall.vo.AdminChatRedBagVo">
        select
               a.*
        from chat_red_bag a
        where a.msg_type = #{msgType}
        <if test='date != "" and date != null'>
            and date_format(a.create_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
        </if>
        and a.from_user_id = #{userId}
    </select>
    <select id="selectByOverDueStatueAndTime" resultType="cc.mrbird.febs.mall.vo.AdminChatRedBagVo">
        select *
        from chat_red_bag
        where overdue_state = #{overdueState}
          and #{overdueTime} > overdue_time
        order by id asc
            limit 500
    </select>
    <update id="updateOverdueStatusById">
        update chat_red_bag
        set
            overdue_state = #{overdueState}
        where id = #{id}
    </update>
    <update id="updatePortraitById">
        update chat_user
        set
            portrait = #{portrait}
        where user_id = #{userId}
    </update>
    <update id="updateGetBoomByUserId">
        update chat_user
        set
            get_boom = #{getBoom}
        where user_id = #{userId}
    </update>
</mapper>