peng
1 天以前 904812187f2fb4eafc9071458f3a91d3f7b7748a
Merge remote-tracking branch 'origin/send_coupon' into send_coupon
4个文件已修改
70 ■■■■■ 已修改文件
framework/src/main/java/cn/lili/modules/lmk/domain/vo/StoreCouponClaimRecordVO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreCouponClaimRecordDTO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/resources/mapper/lmk/StoreCouponClaimRecordMapper.xml 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java
@@ -267,7 +267,7 @@
        String[] headers = {
                "会员名称", "优惠券名称", "发布店铺", "面额/折扣",
                 "获取方式", "会员优惠券状态", "优惠券类型",
                 "使用起始时间", "截止时间"
                 "使用起始时间", "截止时间","领取时间"
        };
        for (int i = 0; i < headers.length; i++) {
            Cell cell = header.createCell(i);
@@ -371,6 +371,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;
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;
}
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. 时间范围筛选:用BETWEEN匹配start_time和end_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字段和order排序方向) -->
        <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. 会员名称模糊查询(关联li_member_coupon表) -->
        <if test="query.memberName != null and query.memberName != ''">
            AND lmc.member_name LIKE CONCAT('%', #{query.memberName}, '%')
@@ -175,31 +159,11 @@
        </if>
        <!-- 5. 时间范围筛选:用BETWEEN匹配start_time和end_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字段和order排序方向) -->
        <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>