src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.mzl.flower.base.BaseAutoEntity; import com.mzl.flower.base.BaseEntity; import com.mzl.flower.base.annotation.DictTrans; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -139,4 +140,8 @@ private Integer getLimit; @ApiModelProperty(value = "领取后有效类型名称") private String usageTimeTypeName; } src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java
@@ -8,7 +8,6 @@ import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.util.List; /** * 积分优惠券 @@ -87,4 +86,9 @@ private Integer point; @ApiModelProperty(value = "领取后有效类型名称") private String usageTimeTypeName; } src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java
@@ -1,6 +1,7 @@ package com.mzl.flower.dto.request.coupon; import com.mzl.flower.base.annotation.DictTrans; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -74,4 +75,20 @@ @NotNull(message = "指定的用户列表id不能为空") private List<Long> pointCostomIdList; /** * 领取后有效类型(COUPON_usage_time_type)天、小时、分钟 */ @ApiModelProperty(value = "领取后有效类型(COUPON_USAGE_TIME_TYPE)") @DictTrans(target = "usageTimeTypeName",codeType = "COUPON_USAGE_TIME_TYPE") private String usageTimeType; /** * 领取后有效时间整数,比如90(天,小时,分钟) */ @ApiModelProperty(value = "领取后有效时间整数") private Integer usageTimeNum; @ApiModelProperty(value = "领取后有效类型名称") private String usageTimeTypeName; } src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateVipDTO.java
@@ -1,15 +1,13 @@ package com.mzl.flower.dto.request.coupon; import com.fasterxml.jackson.annotation.JsonFormat; import com.mzl.flower.base.annotation.DictTrans; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; @Data public class CreateCouponTemplateVipDTO { @@ -61,4 +59,20 @@ @NotEmpty(message = "会员等级不能为空") private String vipGrade; /** * 领取后有效类型(COUPON_usage_time_type)天、小时、分钟 */ @ApiModelProperty(value = "领取后有效类型(COUPON_USAGE_TIME_TYPE)") @DictTrans(target = "usageTimeTypeName",codeType = "COUPON_USAGE_TIME_TYPE") private String usageTimeType; /** * 领取后有效时间整数,比如90(天,小时,分钟) */ @ApiModelProperty(value = "领取后有效时间整数") private Integer usageTimeNum; @ApiModelProperty(value = "领取后有效类型名称") private String usageTimeTypeName; } src/main/java/com/mzl/flower/dto/request/coupon/QueryActivePointCouponDTO.java
@@ -1,5 +1,6 @@ package com.mzl.flower.dto.request.coupon; import com.mzl.flower.base.annotation.DictTrans; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,5 +23,18 @@ @ApiModelProperty(value = "优惠券状态",hidden = true) private String status; /** * 领取后有效类型(COUPON_usage_time_type)天、小时、分钟 */ @ApiModelProperty(value = "领取后有效类型(COUPON_USAGE_TIME_TYPE)") @DictTrans(target = "usageTimeTypeName",codeType = "COUPON_USAGE_TIME_TYPE") private String usageTimeType; /** * 领取后有效时间整数,比如90(天,小时,分钟) */ @ApiModelProperty(value = "领取后有效时间整数") private Integer usageTimeNum; } src/main/java/com/mzl/flower/dto/request/coupon/QueryMineCouponRecordDTO.java
对比新文件 @@ -0,0 +1,32 @@ package com.mzl.flower.dto.request.coupon; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("App活动优惠券实体类") public class QueryMineCouponRecordDTO { /** * 用户id */ @ApiModelProperty(value = "用户id",hidden = true) private String userId; /** * 商户ID */ @ApiModelProperty(value = "商户ID",hidden = true) private Long customerId; /** * 状态(coupon_record_status)未使用、已使用、已过期 */ @ApiModelProperty(value = "状态(coupon_record_status)",hidden = true) private String status; } src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateActivyVO.java
@@ -3,7 +3,6 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.mzl.flower.base.AbstractTransDTO; import com.mzl.flower.base.annotation.DictTrans; import com.mzl.flower.entity.coupon.CouponTemplateDO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -131,4 +130,18 @@ @ApiModelProperty(value = "未领取数") private Integer unGetNum; /** * 领取后有效类型(COUPON_usage_time_type)天、小时、分钟 */ @ApiModelProperty(value = "领取后有效类型(COUPON_USAGE_TIME_TYPE)") @DictTrans(target = "usageTimeTypeName",codeType = "COUPON_USAGE_TIME_TYPE") private String usageTimeType; /** * 领取后有效时间整数,比如90(天,小时,分钟) */ @ApiModelProperty(value = "领取后有效时间整数") private Integer usageTimeNum; } src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateAppVO.java
@@ -103,6 +103,21 @@ private LocalDateTime getEndDate; /** * 领取后有效类型(COUPON_usage_time_type)天、小时、分钟 */ @ApiModelProperty(value = "领取后有效类型(COUPON_USAGE_TIME_TYPE)") @DictTrans(target = "usageTimeTypeName",codeType = "COUPON_USAGE_TIME_TYPE") private String usageTimeType; /** * 领取后有效时间整数,比如90(天,小时,分钟) */ @ApiModelProperty(value = "领取后有效时间整数") private Integer usageTimeNum; @ApiModelProperty(value = "领取后有效类型名称") private String usageTimeTypeName; } src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateUserVO.java
@@ -100,4 +100,17 @@ @ApiModelProperty(value = "商户列表") List<CouponTemplateCustomerVO> customerList; /** * 领取后有效类型(COUPON_usage_time_type)天、小时、分钟 */ @ApiModelProperty(value = "领取后有效类型(COUPON_USAGE_TIME_TYPE)") @DictTrans(target = "usageTimeTypeName",codeType = "COUPON_USAGE_TIME_TYPE") private String usageTimeType; /** * 领取后有效时间整数,比如90(天,小时,分钟) */ @ApiModelProperty(value = "领取后有效时间整数") private Integer usageTimeNum; } src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateVipVO.java
@@ -3,7 +3,6 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.mzl.flower.base.AbstractTransDTO; import com.mzl.flower.base.annotation.DictTrans; import com.mzl.flower.entity.coupon.CouponTemplateDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -96,5 +95,20 @@ @ApiModelProperty(value = "已经领取数") private Integer getNum; /** * 领取后有效类型(COUPON_usage_time_type)天、小时、分钟 */ @ApiModelProperty(value = "领取后有效类型(COUPON_USAGE_TIME_TYPE)") @DictTrans(target = "usageTimeTypeName",codeType = "COUPON_USAGE_TIME_TYPE") private String usageTimeType; /** * 领取后有效时间整数,比如90(天,小时,分钟) */ @ApiModelProperty(value = "领取后有效时间整数") private Integer usageTimeNum; @ApiModelProperty(value = "领取后有效类型名称") private String usageTimeTypeName; } src/main/java/com/mzl/flower/mapper/coupon/CouponRecordMapperCustom.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.dto.request.coupon.QueryCouponRecordDTO; import com.mzl.flower.dto.request.coupon.QueryCouponStatisticsBO; import com.mzl.flower.dto.request.coupon.QueryMineCouponRecordDTO; import com.mzl.flower.dto.response.coupon.CouponRecordVO; import com.mzl.flower.entity.coupon.CouponRecordDO; import org.apache.ibatis.annotations.Param; @@ -29,4 +30,6 @@ Integer statisCouponTemplateCurMonCount(@Param("param") QueryCouponStatisticsBO queryCouponStatisticsBO); Integer statisCouponPointCurMonPointAmonut(@Param("param") QueryCouponStatisticsBO queryCouponStatisticsBO); List<CouponRecordVO> getMineCouponRecordList(@Param("param") QueryMineCouponRecordDTO dto); } src/main/java/com/mzl/flower/service/coupon/CouponRecordService.java
@@ -2,10 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.mzl.flower.dto.request.coupon.CreateCouponRecordDTO; import com.mzl.flower.dto.request.coupon.QueryCouponRecordDTO; import com.mzl.flower.dto.request.coupon.QueryCouponStatisticsBO; import com.mzl.flower.dto.request.coupon.QueryExistCouponDTO; import com.mzl.flower.dto.request.coupon.*; import com.mzl.flower.dto.response.coupon.CouponRecordVO; import com.mzl.flower.entity.coupon.CouponRecordDO; @@ -67,4 +64,6 @@ Integer getUserGainCouponRecordAmountById(String couponId,Long customerId); List<CouponRecordVO> getMineCouponRecordList(QueryMineCouponRecordDTO dto); } src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java
@@ -6,10 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mzl.flower.config.exception.ValidationException; import com.mzl.flower.config.security.SecurityUtils; import com.mzl.flower.dto.request.coupon.CreateCouponRecordDTO; import com.mzl.flower.dto.request.coupon.QueryCouponRecordDTO; import com.mzl.flower.dto.request.coupon.QueryCouponStatisticsBO; import com.mzl.flower.dto.request.coupon.QueryExistCouponDTO; import com.mzl.flower.dto.request.coupon.*; import com.mzl.flower.dto.response.coupon.CouponRecordVO; import com.mzl.flower.entity.coupon.CouponRecordDO; import com.mzl.flower.entity.coupon.CouponTemplateDO; @@ -349,4 +346,9 @@ return baseMapper.selectCount(queryWrapper); } @Override public List<CouponRecordVO> getMineCouponRecordList(QueryMineCouponRecordDTO dto) { return couponRecordMapperCustom.getMineCouponRecordList(dto); } } src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java
@@ -5,12 +5,16 @@ import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.config.security.SecurityUtils; import com.mzl.flower.dto.request.coupon.QueryActivityEffectCouponDTO; import com.mzl.flower.dto.request.coupon.QueryMineCouponRecordDTO; import com.mzl.flower.dto.response.coupon.CouponTemplateAppVO; import com.mzl.flower.dto.response.coupon.CouponTemplateVO; import com.mzl.flower.enums.CouponCategoryEnum; import com.mzl.flower.enums.CouponGetTypeEnum; import com.mzl.flower.enums.CouponStatusEnum; import com.mzl.flower.enums.CouponUsedStatusEnum; import com.mzl.flower.service.coupon.CouponRecordService; import com.mzl.flower.service.coupon.CouponTemplateService2; import com.mzl.flower.utils.ConverterUtil; import io.swagger.annotations.Api; @@ -35,6 +39,9 @@ @Autowired CouponTemplateService2 couponTemplateService; @Autowired CouponRecordService couponRecordService; @GetMapping("/home/list") @ApiOperation(value = "查询-首页弹框", notes = "查询-首页弹框") @@ -75,7 +82,37 @@ } @GetMapping("/mine/unused/list") @ApiOperation(value = "我的优惠券-未使用", notes = "我的优惠券-未使用") public ResponseEntity<ReturnDataDTO<Page<CouponTemplateVO>>> unusedList(QueryMineCouponRecordDTO dto) { // 未使用 dto.setStatus(CouponUsedStatusEnum.UNUSED.getType()); dto.setUserId(SecurityUtils.getUserId()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponRecordService.getMineCouponRecordList(dto), CouponTemplateAppVO.class)); } @GetMapping("/mine/used/list") @ApiOperation(value = "我的优惠券-已使用", notes = "我的优惠券-已使用") public ResponseEntity<ReturnDataDTO<Page<CouponTemplateVO>>> usedList(QueryMineCouponRecordDTO dto) { // 已使用 dto.setStatus(CouponUsedStatusEnum.USED.getType()); dto.setUserId(SecurityUtils.getUserId()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponRecordService.getMineCouponRecordList(dto), CouponTemplateAppVO.class)); } @GetMapping("/mine/expired/list") @ApiOperation(value = "我的优惠券-已过期", notes = "我的优惠券-已过期") public ResponseEntity<ReturnDataDTO<Page<CouponTemplateVO>>> expiredList(QueryMineCouponRecordDTO dto) { // 已过期 dto.setStatus(CouponUsedStatusEnum.EXPIRED.getType()); dto.setUserId(SecurityUtils.getUserId()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponRecordService.getMineCouponRecordList(dto), CouponTemplateAppVO.class)); } src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml
@@ -43,10 +43,24 @@ </select> <select id="getPage" resultType="com.mzl.flower.dto.response.coupon.CouponRecordVO"> <include refid="QuerySql"></include> <include refid="QuerySql"/> </select> <select id="getList" resultType="com.mzl.flower.dto.response.coupon.CouponRecordVO"> <include refid="QuerySql"></include> <include refid="QuerySql"/> </select> <select id="getMineCouponRecordList" resultType="com.mzl.flower.dto.response.coupon.CouponRecordVO"> select * from t_coupon_record t where t.deleted=false <if test="param.userId != null and param.userId != ''"> AND t.user_id = #{param.userId} </if> <if test="param.customerId != null and param.customerId != ''"> AND t.customer_id = #{param.customerId} </if> <if test="param.status != null and param.status != ''"> AND t.status = #{param.status} </if> </select> <sql id="QuerySql">