Browse Source

添加会员优惠券DTO及优化优惠券中心查询功能

lijun 2 years ago
parent
commit
25e5e0f4de

+ 1 - 1
imcs-bt-be/imcs-authority-server/src/main/java/com/github/zuihou/api/MiniApp.java

@@ -376,7 +376,7 @@ public class MiniApp {
 
 
     @ApiOperation("领券中心列表查询")
-    @PostMapping({"/member/couponCenter/list"})
+    @PostMapping({"/couponCenter/list"})
     public R selectMemberCouponCenterList(@RequestBody Map<String, String> param) {
         BaseContextHandler.setTenant("0000");
         String openId = BaseContextHandler.get("openId");

+ 1 - 6
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/coupon/service/impl/CouponServiceImpl.java

@@ -53,8 +53,6 @@ public class CouponServiceImpl extends SuperServiceImpl<CouponMapper, Coupon> im
         Page<Coupon> page = new Page<>(pageParams.getCurrent(), pageParams.getSize());
         // 设置优惠券状态查询默认值, -1 -> 查询所有状态
         pageParams.getModel().setStatus("-1");
-        // 设置优惠券优惠方式询默认值, -1 -> 查询所有状态
-        pageParams.getModel().setPreferentialMethod("-1");
         return baseMapper.selcetPage(page, pageParams.getModel(), new DataScope());
     }
 
@@ -66,8 +64,6 @@ public class CouponServiceImpl extends SuperServiceImpl<CouponMapper, Coupon> im
         CouponPageDTO model = new CouponPageDTO();
         // 客户查询:默认查询启用的优惠券
         model.setStatus("1");
-        // 查询所有优惠方式
-        model.setPreferentialMethod("-1");
         baseMapper.selcetPage(page, model, new DataScope());
         // 查询结果已封装在page对象中
         List<Coupon> couponList = page.getRecords();
@@ -106,8 +102,6 @@ public class CouponServiceImpl extends SuperServiceImpl<CouponMapper, Coupon> im
         // 按历史累计消费型的 优惠券,一个月只要满足条件,可以领取多次
         // 过滤出当前优惠券的领取记录
         List<MemberCoupon> currentMemberCouponList = memberCouponList.stream().filter(mc -> mc.getCouponId().equals(coupon.getId())).collect(Collectors.toList());
-        // 按领取时间倒序排列客户领取优惠券记录
-        currentMemberCouponList.sort(Comparator.comparing(MemberCoupon::getCreateTime).reversed());
         // 获取当前优惠券最近的一条领取记录,获取当前优惠券上一次的领取时间
         MemberCoupon memberCoupon = currentMemberCouponList.stream().findFirst().orElse(null);
         Date lastMemberCouponCreateTime = memberCoupon == null ? null : memberCoupon.getCreateTime();
@@ -213,6 +207,7 @@ public class CouponServiceImpl extends SuperServiceImpl<CouponMapper, Coupon> im
         MemberCoupon memberCouponSearchParam = new MemberCoupon();
         memberCouponSearchParam.setMemberId(memberId);
         QueryWrap queryWrap = Wraps.<MemberCoupon>q(memberCouponSearchParam);
+        queryWrap.orderByDesc("create_time");
         return memberCouponMapper.selectList(queryWrap);
     }
 }

+ 4 - 1
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/memberCoupon/dao/MemberCouponMapper.java

@@ -1,11 +1,14 @@
 package com.github.zuihou.business.memberCoupon.dao;
 
 import com.github.zuihou.base.mapper.SuperMapper;
+import com.github.zuihou.business.memberCoupon.dto.MemberCouponDTO;
 import com.github.zuihou.business.memberCoupon.entity.MemberCoupon;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
- * 优惠券dao接口
+ * 会员优惠券dao接口
  */
 @Repository
 public interface MemberCouponMapper extends SuperMapper<MemberCoupon> {

+ 0 - 3
imcs-bt-be/imcs-business-biz/src/main/resources/mapper_business/base/coupon/CouponMapper.xml

@@ -49,9 +49,6 @@
             <if test="model.name!= null and model.name!= ''">
                 and bc.name like CONCAT('%',#{model.name,jdbcType=VARCHAR },'%')
             </if>
-            <if test="model.preferentialMethod!= null and model.preferentialMethod!= '-1'">
-                and bc.preferential_method = #{model.preferentialMethod,jdbcType=VARCHAR }
-            </if>
             <if test="model.status!= null and model.status!= '-1'">
                 and bc.status = #{model.status,jdbcType=VARCHAR }
             </if>

+ 5 - 0
imcs-bt-be/imcs-business-biz/src/main/resources/mapper_business/base/memberCoupon/MemberCouponMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.github.zuihou.business.memberCoupon.dao.MemberCouponMapper">
+
+</mapper>

+ 1 - 8
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/coupon/dto/CouponPageDTO.java

@@ -25,18 +25,11 @@ public class CouponPageDTO implements Serializable {
     @ApiModelProperty(value = "优惠券名称")
     private String name;
 
-    /**
-     * 优惠方式
-     * 0 -> 按月累计消费, 1 -> 历史消费累计
-     */
-    @ApiModelProperty(value = "优惠方式:-1-> 全部优惠方式,0 -> 按月累计消费, 1 -> 历史消费累计")
-    @EnumValue(strValues = {"-1", "0", "1"}, message = "优惠方式只能是-1、0或者1")
-    private String preferentialMethod;
-
     /**
      * 状态
      * 0 -> 冻结(结束) 1 -> 启用(进行中),默认为启用
      */
     @ApiModelProperty(value = "状态:-1-> 全部状态,0 -> 冻结(结束) 1 -> 启用(进行中)")
+    @EnumValue(strValues = {"-1", "0", "1"}, message = "状态只能是-1、0或者1")
     private String status;
 }

+ 89 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/memberCoupon/dto/MemberCouponDTO.java

@@ -0,0 +1,89 @@
+package com.github.zuihou.business.memberCoupon.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value = "MemberCouponDTO", description = "会员优惠券dto")
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = false)
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+public class MemberCouponDTO implements Serializable {
+    private static final long serialVersionUID = -8001460251348970927L;
+
+    /**
+     * 会员优惠券id
+     */
+    @ApiModelProperty(value = "会员优惠券id")
+    private Long memberCouponId;
+
+    /**
+     * 会员ID
+     */
+    @ApiModelProperty(value = "会员id")
+    private Long memberId;
+
+    /**
+     * 会员名称
+     */
+    @ApiModelProperty(value = "会员名称")
+    private String memberName;
+
+    /**
+     * 优惠券ID
+     */
+    @ApiModelProperty(value = "优惠券id")
+    private Long couponId;
+
+    /**
+     * 优惠券名称
+     */
+    @ApiModelProperty(value = "优惠券名称")
+    private String couponName;
+
+    /**
+     * 优惠金额
+     */
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal preferentialAmount;
+
+    /**
+     * 优惠方式
+     * 0 -> 按月累计消费, 1 -> 历史消费累计
+     */
+    @ApiModelProperty(value = "优惠方式:0 -> 按月累计消费, 1 -> 历史消费累计")
+    private String preferentialMethod;
+
+    /**
+     * 累计金额
+     */
+    @ApiModelProperty(value = "累计金额")
+    private BigDecimal accumulatedAmount;
+
+    /**
+     * 优惠结束时间
+     */
+    @ApiModelProperty(value = "优惠结束时间")
+    private Date preferentialEndDate;
+
+    /**
+     * 使用状态:0 -> 未使用, 1 -> 已使用, 2 -> 已失效
+     */
+    @ApiModelProperty(value = "使用状态")
+    private String status;
+
+    /**
+     * 领取时间
+     */
+    @ApiModelProperty("领取时间")
+    private Date createTime;
+}