From 6c5a9e94f11c5ce05336303129a21886383967a6 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 07 Jul 2021 09:58:09 +0800
Subject: [PATCH] 20210707 积分拨付

---
 gc-user/src/main/resources/mapper/user/OrderMapper.xml |  162 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 143 insertions(+), 19 deletions(-)

diff --git a/gc-user/src/main/resources/mapper/user/OrderMapper.xml b/gc-user/src/main/resources/mapper/user/OrderMapper.xml
index f61e067..fa58ed8 100644
--- a/gc-user/src/main/resources/mapper/user/OrderMapper.xml
+++ b/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>

--
Gitblit v1.9.1