xiaoyong931011
2021-07-07 6c5a9e94f11c5ce05336303129a21886383967a6
gc-user/src/main/resources/mapper/user/OrderMapper.xml
@@ -120,14 +120,65 @@
        GROUP BY a.order_id order by a.create_time
    </select>
<!--    <select id="queryCuserOrderCount" resultType="java.util.HashMap">-->
<!--        SELECT COUNT(*) as count FROM xzx_order_info WHERE create_user_id=#{userId}-->
<!--        <if test="status != null">-->
<!--            and order_status in-->
<!--            <foreach collection="status" index="index" item="id" open="(" separator="," close=")">-->
<!--                #{id}-->
<!--            </foreach>-->
<!--        </if>-->
<!--        GROUP BY order_type-->
<!--    </select>-->
    <select id="queryCuserOrderCount" resultType="java.util.HashMap">
        SELECT COUNT(*) as count FROM xzx_order_info WHERE create_user_id=#{userId}
        <if test="status != null">
            and order_status in
            <foreach collection="status" index="index" item="id" open="(" separator="," close=")">
                #{id}
            </foreach>
        </if>
        SELECT
            COUNT(*) as count
        FROM
            (
                (
                    SELECT
                        a.order_id orderId,
                        a.order_status STATUS,
                        '1' type,
                        ifnull(sum(d.money), 0) money,
                        '0' score,
                        a.address address,
                        ifnull(sum(d.weight), 0) weight,
                        e. NAME NAME,
                        a.create_time createTime
                    FROM
                        xzx_order_info a
                            LEFT JOIN xzx_order_item_info d ON a.order_id = d.order_id
                            LEFT JOIN xzx_user_info e ON e.user_id = a.receiver
                    WHERE
                        a.create_user_id=#{userId}
                    GROUP BY
                        a.order_id
                )
                UNION
                (
                    SELECT
                        a.id orderId,
                        a. STATUS STATUS,
                        '2' type,
                        '0' money,
                        ifnull(sum(d.score), 0) score,
                        a.address address,
                        ifnull(sum(d.weight), 0) weight,
                        a.username NAME,
                        a.CREATED_TIME createTime
                    FROM
                        xzx_jhy_order a
                            LEFT JOIN xzx_jhy_order_items d ON a.id = d.order_id
                    WHERE
                        a.user_id = #{userId}
                    GROUP BY
                        a.id
                )
            ) v
        ORDER BY
            createTime DESC
        GROUP BY order_type
    </select>
@@ -257,19 +308,83 @@
        </if>
    </select>
    <select id="queryCuserOrderFinishList" resultType="java.util.HashMap">
        SELECT a.order_id as orderId, sum(d.money) as money,sum(d.weight) as weight,a.create_time as createTime FROM
        xzx_order_info a
        LEFT JOIN xzx_order_item_info d on a.order_id = d.order_id
        WHERE a.create_user_id=#{userId}
        <if test="status != null">
            and a.order_status in
            <foreach collection="status" index="index" item="id" open="(" separator="," close=")">
                #{id}
            </foreach>
        </if>
<!--    <select id="queryCuserOrderFinishList" resultType="java.util.HashMap">-->
<!--        SELECT a.order_id as orderId,-->
<!--               sum(d.money) as money,-->
<!--               a.address as address,-->
<!--               a.order_type as orderType,-->
<!--               sum(d.weight) as weight,-->
<!--               a.create_time as createTime-->
<!--        FROM-->
<!--        xzx_order_info a-->
<!--        LEFT JOIN xzx_order_item_info d on a.order_id = d.order_id-->
<!--        WHERE a.create_user_id=#{userId}-->
<!--        <if test="status != null">-->
<!--            and a.order_status in-->
<!--            <foreach collection="status" index="index" item="id" open="(" separator="," close=")">-->
<!--                #{id}-->
<!--            </foreach>-->
<!--        </if>-->
        GROUP BY a.order_id
<!--        GROUP BY a.order_id-->
<!--    </select>-->
    <select id="queryCuserOrderFinishList" resultType="java.util.HashMap">
        SELECT
            orderId,
            address,
            status,
            type,
            money,
            score,
            weight,
            name,
            createTime
        FROM
            (
                (
                    SELECT
                        a.order_id orderId,
                        a.order_status STATUS,
                        '1' type,
                        ifnull(sum(d.money), 0) money,
                        '0' score,
                        a.address address,
                        ifnull(sum(d.weight), 0) weight,
                        e. NAME NAME,
                        a.create_time createTime
                    FROM
                        xzx_order_info a
                            LEFT JOIN xzx_order_item_info d ON a.order_id = d.order_id
                            LEFT JOIN xzx_user_info e ON e.user_id = a.receiver
                    WHERE
                        a.create_user_id = #{userId}
                    GROUP BY
                        a.order_id
                )
                UNION
                (
                    SELECT
                        a.id orderId,
                        a. STATUS STATUS,
                        '2' type,
                        '0' money,
                        ifnull(sum(d.score), 0) score,
                        a.address address,
                        ifnull(sum(d.weight), 0) weight,
                        a.username NAME,
                        a.CREATED_TIME createTime
                    FROM
                        xzx_jhy_order a
                            LEFT JOIN xzx_jhy_order_items d ON a.id = d.order_id
                    WHERE
                        a.user_id = #{userId}
                    GROUP BY
                        a.id
                )
            ) v
        ORDER BY
            createTime DESC
    </select>
@@ -399,4 +514,13 @@
            b.receive_time ASC
    </select>
    <select id="selectJhyOrderByUserId" resultType="com.xzx.gc.entity.JhyOrder">
        SELECT
            a.*
        FROM
            xzx_jhy_order a
        WHERE
            a.status != '5'
            and a.user_id = #{userId}
    </select>
</mapper>