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