fix
Helius
2021-07-15 f69fd42a3ae2d11713dcd284ae3db57e449ae6dd
gc-user/src/main/resources/mapper/user/AccountMapper.xml
@@ -147,4 +147,225 @@
        select * from  xzx_account_info where user_id = #{userId}
    </select>
    <select id="selectDsitribListByQueryCol" resultType="com.xzx.gc.user.vo.DistribListVo">
        SELECT
        a.account_id id,
        a.is_head isHead,
        b.nick_name nickname,
        b.regist_time registTime,
        b.mobile_phone phone
        FROM
        xzx_account_info a
        LEFT JOIN xzx_user_info b on a.user_id = b.user_id
        <where>
            1=1
            <if test="record.queryCol != null and record.queryCol != ''">
                and (b.nick_name like concat('%',#{record.name},'%')
                or b.mobile_phone like concat('%',#{record.phone},'%') )
            </if>
        </where>
        order by id desc
    </select>
    <select id="selectDsitribInfoListByQueryCol" resultType="com.xzx.gc.user.vo.DistribInfoListVo">
        SELECT
        a.account_id id,
        b.nick_name nickname,
        b.mobile_phone phone,
        b.regist_time registTime,
        a.is_head isHead,
        (select IFNULL(count(1), 0) from xzx_user_head_relate where head_user_id = a.user_id ) cnt,
        (select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id ) orderCnt,
        (select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id ) amount,
        (select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.user_id ) score,
        a.is_prohibit isProhibit
        FROM
        xzx_account_info a
        LEFT JOIN xzx_user_info b on a.user_id = b.user_id
        <where>
            1=1
            and a.is_head = 1
            <if test="record.name != null and record.name != ''">
                and b.nick_name like concat('%',#{record.name},'%')
            </if>
            <if test="record.phone != null and record.phone != ''">
                and b.mobile_phone like concat('%',#{record.phone},'%')
            </if>
            <if test="record.isProhibit != null and record.isProhibit != ''">
                and  a.is_prohibit = #{record.isProhibit}
            </if>
            <if test="record.reserveTimeStart != null">
                and b.regist_time >= #{record.reserveTimeStart}
            </if>
            <if test="record.reserveTimeEnd != null">
                and b.regist_time &lt;= #{record.reserveTimeEnd}
            </if>
        </where>
         order by id desc
    </select>
    <select id="selectDistribByAccountId" resultType="com.xzx.gc.user.vo.ViewDistribInfoVo">
        SELECT
        a.account_id id,
        b.nick_name nickname,
        b.mobile_phone phone,
        b.regist_time registTime,
        (select IFNULL(count(1), 0) from xzx_user_head_relate where head_user_id = a.user_id ) cnt,
        (select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id ) orderCnt,
        (select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id ) amount,
        (select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.user_id ) score
        FROM
        xzx_account_info a
        LEFT JOIN xzx_user_info b on a.user_id = b.user_id
        where a.account_id = #{id}
    </select>
    <select id="selectUserHeadInfoByAccountId" resultType="com.xzx.gc.user.vo.UserHeadInfoVo">
        SELECT
            b.nick_name nickname,
            b.mobile_phone phone,
            a.CREATED_TIME createTime,
            (select IFNULL(count(1), 0) from xzx_user_head_details where user_id = a.user_id and head_user_id = #{id}) orderCnt,
            (select IFNULL(sum(amount), 0) from xzx_user_head_details where user_id = a.user_id and head_user_id = #{id}) amount
        FROM
            xzx_user_head_relate a
                LEFT JOIN xzx_user_info b on a.user_id = b.user_id
        where a.head_user_id = #{id}
    </select>
    <select id="selectOrderItemsByUserId" resultType="com.xzx.gc.user.vo.OrderItemsVo">
        SELECT
            b.id orderId,
            a.order_no orderNo,
            a.score scoreReward,
            a.amount amountReward,
            (select sum(score) from xzx_jhy_order_items where b.id = order_id) score,
            (select sum(score/ 40) from xzx_jhy_order_items where b.id = order_id) amount
        FROM
            xzx_user_head_details a
                LEFT JOIN xzx_jhy_order b ON a.order_no = b.order_no
        WHERE
            a.head_user_id = #{userId}
    </select>
    <select id="selectOrderById" resultType="com.xzx.gc.entity.JhyOrderItems">
        SELECT
               *
        FROM
            xzx_jhy_order_items a
        where a.order_id = #{orderId}
    </select>
    <select id="distribDataList" resultType="com.xzx.gc.user.vo.DistribDataListVo">
        SELECT
        a.account_id id,
        b.nick_name nickname,
        b.mobile_phone phone,
        b.regist_time registTime,
        a.is_head isHead,
        (select IFNULL(count(1), 0) from xzx_user_head_relate where head_user_id = a.user_id) cnt,
        (select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id) orderCnt,
        (select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id) amount,
        (select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.user_id ) score,
        a.is_prohibit isProhibit
        FROM
        xzx_account_info a
        LEFT JOIN xzx_user_info b on a.user_id = b.user_id
        <where>
            1=1
            and a.is_head = 1
            <if test="record.name != null and record.name != ''">
                and b.nick_name like concat('%',#{record.name},'%')
            </if>
            <if test="record.phone != null and record.phone != ''">
                and b.mobile_phone like concat('%',#{record.phone},'%')
            </if>
            <if test="record.reserveTimeStart != null">
                and b.regist_time >= #{record.reserveTimeStart}
            </if>
            <if test="record.reserveTimeEnd != null">
                and b.regist_time &lt;= #{record.reserveTimeEnd}
            </if>
        </where>
        order by id desc
    </select>
    <select id="selectOrderByHeadUserId" resultType="java.lang.String">
        SELECT
            IFNULL(SUM(weight),0) as kg
        FROM
            xzx_jhy_order_items
        WHERE
                order_id in (
                SELECT
                    id
                FROM
                    xzx_jhy_order
                WHERE
                        order_no in (
                        SELECT
                            order_no
                        FROM
                            xzx_user_head_details
                        WHERE
                                head_user_id = (
                                SELECT
                                    user_id
                                FROM
                                    xzx_account_info
                                WHERE
                                    account_id =  #{accountId}
                            )
                    )
            )
    </select>
    <select id="selectJDSLByHeadUserId" resultType="java.lang.String">
        SELECT
            IFNULL(SUM(a.weight),0) as jdsl
        FROM
            xzx_jhy_order_items a
                left join xzx_sys_environmental_info b on a.item_type = b.id
        WHERE
            b.item_unit = '台' and
                a.order_id in (
                SELECT
                    id
                FROM
                    xzx_jhy_order
                WHERE
                        order_no in (
                        SELECT
                            order_no
                        FROM
                            xzx_user_head_details
                        WHERE
                                head_user_id = (
                                SELECT
                                    user_id
                                FROM
                                    xzx_account_info
                                WHERE
                                    account_id = #{accountId}
                            )
                    )
            )
    </select>
    <select id="selectDistribDataInfoVo" resultType="com.xzx.gc.user.vo.DistribDataInfoVo">
        SELECT
        IFNULL(count(1), 0) cnt,
        SUM((select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id) ) orderCnt,
        SUM((select IFNULL(sum(amount), 0) from xzx_user_head_details where head_user_id = a.user_id) ) amount
        FROM
        xzx_account_info a
        where
            1=1
            and a.is_head = 1
    </select>
</mapper>