From bd2f8c89f49f92ef075bf39798a71a0d6c08a64a Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期日, 28 九月 2025 11:25:45 +0800
Subject: [PATCH] 店铺绑优惠劵领取记录

---
 framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreCouponClaimRecordDTO.java   |    5 ++
 framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml                        |   52 ++++----------------------
 framework/src/main/java/cn/lili/modules/lmk/domain/vo/StoreCouponClaimRecordVO.java             |    5 ++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java |    8 +++
 4 files changed, 25 insertions(+), 45 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/StoreCouponClaimRecordVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/StoreCouponClaimRecordVO.java
index 26ea72f..c50d499 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/StoreCouponClaimRecordVO.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/StoreCouponClaimRecordVO.java
@@ -100,6 +100,11 @@
     @ApiModelProperty("娲诲姩绫诲瀷")
     private String couponType;
 
+    @ApiModelProperty("棰嗗彇鏃堕棿")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date claimTime;
+
     public static StoreCouponClaimRecordVO getVoByEntity(@NonNull StoreCouponClaimRecord entity, StoreCouponClaimRecordVO vo) {
         if(vo == null) {
             vo = new StoreCouponClaimRecordVO();
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java
index ddcc7c1..6a960c2 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java
@@ -264,7 +264,7 @@
         String[] headers = {
                 "浼氬憳鍚嶇О", "浼樻儬鍒稿悕绉�", "鍙戝竷搴楅摵", "闈㈤/鎶樻墸",
                  "鑾峰彇鏂瑰紡", "浼氬憳浼樻儬鍒哥姸鎬�", "浼樻儬鍒哥被鍨�",
-                 "浣跨敤璧峰鏃堕棿", "鎴鏃堕棿"
+                 "浣跨敤璧峰鏃堕棿", "鎴鏃堕棿","棰嗗彇鏃堕棿"
         };
         for (int i = 0; i < headers.length; i++) {
             Cell cell = header.createCell(i);
@@ -368,6 +368,12 @@
             } else {
                 endTimeCell.setCellValue("");
             }
+            Cell claimTimeCell = row.createCell(9);
+            if (Objects.nonNull(dto.getClaimTime())) {
+                endTimeCell.setCellValue(DateUtil.formatDateTime(dto.getClaimTime()));
+            } else {
+                claimTimeCell.setCellValue("");
+            }
         }
 
         return workbook;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreCouponClaimRecordDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreCouponClaimRecordDTO.java
index 9bec5c0..b1f9b75 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreCouponClaimRecordDTO.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreCouponClaimRecordDTO.java
@@ -93,4 +93,9 @@
 
     @ApiModelProperty("娲诲姩绫诲瀷")
     private String couponType;
+
+    @ApiModelProperty("棰嗗彇鏃堕棿")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date claimTime;
 }
diff --git a/framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml b/framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml
index 63b144e..3d21ff9 100644
--- a/framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml
@@ -52,6 +52,7 @@
         <result column="store_id" property="storeId"/>
         <result column="user_id" property="userId"/>
         <result column="coupon_name" property="couponName"/>
+        <result column="claimTime" property="claimTime"/>
     </resultMap>
 
     <select id="getPage" resultMap="BaseResultMapByManager">
@@ -73,12 +74,13 @@
         lsccr.store_id,
         lsccr.user_id,
         lsccr.coupon_name,
-        lsccr.create_time,
+        lsccr.create_time AS claimTime,
         lsccr.coupon_id
         FROM
         lmk_store_coupon_claim_record lsccr
         INNER JOIN
         li_member_coupon lmc ON lmc.coupon_id = lsccr.coupon_id
+        AND lmc.member_id = lsccr.user_id
         WHERE
         lmc.delete_flag = 0
         AND lsccr.delete_flag = 0
@@ -100,33 +102,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,7 +131,7 @@
         lsccr.store_id,
         lsccr.user_id,
         lsccr.coupon_name,
-        lsccr.create_time,
+        lsccr.create_time AS claimTime,
         lsccr.coupon_id
         FROM
         lmk_store_coupon_claim_record lsccr
@@ -157,6 +140,7 @@
         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 +159,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