From e2d5c94d2e313523edfdc0335862b03fff7be8bd Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 29 九月 2025 17:16:43 +0800
Subject: [PATCH] 商家优惠劵领取

---
 framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml |   69 ++++++++++------------------------
 1 files changed, 21 insertions(+), 48 deletions(-)

diff --git a/framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml b/framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml
index 63b144e..4f8091b 100644
--- a/framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml
@@ -52,6 +52,9 @@
         <result column="store_id" property="storeId"/>
         <result column="user_id" property="userId"/>
         <result column="coupon_name" property="couponName"/>
+        <result column="claimTime" property="claimTime"/>
+        <result column="order_status" property="orderStatus"/>
+
     </resultMap>
 
     <select id="getPage" resultMap="BaseResultMapByManager">
@@ -73,15 +76,19 @@
         lsccr.store_id,
         lsccr.user_id,
         lsccr.coupon_name,
-        lsccr.create_time,
-        lsccr.coupon_id
+        lsccr.create_time AS claimTime,
+        lsccr.coupon_id,
+        lo.order_status
         FROM
         lmk_store_coupon_claim_record lsccr
         INNER JOIN
-        li_member_coupon lmc ON lmc.coupon_id = lsccr.coupon_id
+        li_member_coupon lmc ON lmc.id = lsccr.member_coupon_id
+        LEFT JOIN li_order lo ON lo.use_platform_member_coupon_id = lmc.id AND lo.delete_flag = 0
         WHERE
         lmc.delete_flag = 0
         AND lsccr.delete_flag = 0
+        AND lmc.member_id = lsccr.user_id
+
         <!-- 1. 浼氬憳鍚嶇О妯$硦鏌ヨ锛堝叧鑱攍i_member_coupon琛級 -->
         <if test="query.memberName != null and query.memberName != ''">
             AND lmc.member_name LIKE CONCAT('%', #{query.memberName}, '%')
@@ -100,33 +107,14 @@
         </if>
         <!-- 5. 鏃堕棿鑼冨洿绛涢�夛細鐢˙ETWEEN鍖归厤start_time鍜宔nd_time锛堥渶鍚屾椂浼犲叆寮�濮嬪拰缁撴潫鏃堕棿锛� -->
         <if test="query.startTime != null and query.endTime != null">
-            AND lmc.start_time BETWEEN FROM_UNIXTIME(#{query.startTime}/1000)
+            AND lsccr.create_time BETWEEN FROM_UNIXTIME(#{query.startTime}/1000)
             AND FROM_UNIXTIME(#{query.endTime}/1000)
         </if>
         <!-- 6. 鎺掑簭閫昏緫锛堟牴鎹墠绔紶鍏ョ殑sort瀛楁鍜宱rder鎺掑簭鏂瑰悜锛� -->
         <if test="query.sort != null and query.sort != '' and query.order != null and query.order != ''">
-            ORDER BY
-            <choose>
-                <!-- li_member_coupon琛ㄥ瓧娈� -->
-                <when test="query.sort == 'memberName'">lmc.member_name #{query.order},</when>
-                <when test="query.sort == 'price'">lmc.price #{query.order},</when>
-                <when test="query.sort == 'startTime'">lmc.start_time #{query.order},</when>
-                <when test="query.sort == 'endTime'">lmc.end_time #{query.order},</when>
-                <when test="query.sort == 'memberCouponStatus'">lmc.member_coupon_status #{query.order},</when>
-                <when test="query.sort == 'getType'">lmc.get_type #{query.order},</when>
-
-                <when test="query.sort == 'couponName'">lsccr.coupon_name #{query.order},</when>
-                <when test="query.sort == 'storeName'">lsccr.store_name #{query.order},</when>
-                <when test="query.sort == 'createTime'">lsccr.create_time #{query.order},</when>
-                <!-- 榛樿鎺掑簭 -->
-                <otherwise>lsccr.create_time DESC,</otherwise>
-            </choose>
-            lsccr.create_time DESC  <!-- 鍏滃簳鎺掑簭锛岄伩鍏嶈娉曢敊璇� -->
-        </if>
-        <!-- 鏈紶鎺掑簭鍙傛暟鏃讹紝榛樿鎸夐鍙栨椂闂村�掑簭 -->
-        <if test="(query.sort == null or query.sort == '') or (query.order == null or query.order == '')">
             ORDER BY lsccr.create_time DESC
         </if>
+
     </select>
 
     <select id="getExportData" resultMap="BaseResultMapByManager">
@@ -148,15 +136,20 @@
         lsccr.store_id,
         lsccr.user_id,
         lsccr.coupon_name,
-        lsccr.create_time,
-        lsccr.coupon_id
+        lsccr.create_time AS claimTime,
+        lsccr.coupon_id,
+        lo.order_status
         FROM
         lmk_store_coupon_claim_record lsccr
         INNER JOIN
-        li_member_coupon lmc ON lmc.coupon_id = lsccr.coupon_id
+        li_member_coupon lmc ON lmc.id = lsccr.member_coupon_id
+        LEFT JOIN li_order lo ON lo.use_platform_member_coupon_id = lmc.id AND lo.delete_flag = 0
+
         WHERE
         lmc.delete_flag = 0
         AND lsccr.delete_flag = 0
+        AND lmc.member_id = lsccr.user_id
+
         <!-- 1. 浼氬憳鍚嶇О妯$硦鏌ヨ锛堝叧鑱攍i_member_coupon琛級 -->
         <if test="query.memberName != null and query.memberName != ''">
             AND lmc.member_name LIKE CONCAT('%', #{query.memberName}, '%')
@@ -175,31 +168,11 @@
         </if>
         <!-- 5. 鏃堕棿鑼冨洿绛涢�夛細鐢˙ETWEEN鍖归厤start_time鍜宔nd_time锛堥渶鍚屾椂浼犲叆寮�濮嬪拰缁撴潫鏃堕棿锛� -->
         <if test="query.startTime != null and query.endTime != null">
-            AND lmc.start_time BETWEEN FROM_UNIXTIME(#{query.startTime}/1000)
+            AND lsccr.create_time BETWEEN FROM_UNIXTIME(#{query.startTime}/1000)
             AND FROM_UNIXTIME(#{query.endTime}/1000)
         </if>
         <!-- 6. 鎺掑簭閫昏緫锛堟牴鎹墠绔紶鍏ョ殑sort瀛楁鍜宱rder鎺掑簭鏂瑰悜锛� -->
         <if test="query.sort != null and query.sort != '' and query.order != null and query.order != ''">
-            ORDER BY
-            <choose>
-                <!-- li_member_coupon琛ㄥ瓧娈� -->
-                <when test="query.sort == 'memberName'">lmc.member_name #{query.order},</when>
-                <when test="query.sort == 'price'">lmc.price #{query.order},</when>
-                <when test="query.sort == 'startTime'">lmc.start_time #{query.order},</when>
-                <when test="query.sort == 'endTime'">lmc.end_time #{query.order},</when>
-                <when test="query.sort == 'memberCouponStatus'">lmc.member_coupon_status #{query.order},</when>
-                <when test="query.sort == 'getType'">lmc.get_type #{query.order},</when>
-
-                <when test="query.sort == 'couponName'">lsccr.coupon_name #{query.order},</when>
-                <when test="query.sort == 'storeName'">lsccr.store_name #{query.order},</when>
-                <when test="query.sort == 'createTime'">lsccr.create_time #{query.order},</when>
-                <!-- 榛樿鎺掑簭 -->
-                <otherwise>lsccr.create_time DESC,</otherwise>
-            </choose>
-            lsccr.create_time DESC  <!-- 鍏滃簳鎺掑簭锛岄伩鍏嶈娉曢敊璇� -->
-        </if>
-        <!-- 鏈紶鎺掑簭鍙傛暟鏃讹紝榛樿鎸夐鍙栨椂闂村�掑簭 -->
-        <if test="(query.sort == null or query.sort == '') or (query.order == null or query.order == '')">
             ORDER BY lsccr.create_time DESC
         </if>
     </select>

--
Gitblit v1.8.0