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