From 10591967e6315539576544409d05073d383b77e4 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期一, 02 九月 2024 09:34:54 +0800 Subject: [PATCH] 1.优惠券返回字段添加 2.app端首页、活动中心、等方法 --- src/main/java/com/mzl/flower/service/coupon/CouponRecordService.java | 7 - src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateVipDTO.java | 20 ++++ src/main/java/com/mzl/flower/dto/request/coupon/QueryActivePointCouponDTO.java | 14 +++ src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java | 6 + src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java | 17 ++++ src/main/java/com/mzl/flower/dto/request/coupon/QueryMineCouponRecordDTO.java | 32 ++++++++ src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateAppVO.java | 15 +++ src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateActivyVO.java | 15 +++ src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateVipVO.java | 16 +++ src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java | 10 +- src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateUserVO.java | 13 +++ src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java | 37 +++++++++ src/main/java/com/mzl/flower/mapper/coupon/CouponRecordMapperCustom.java | 3 src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java | 5 + src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml | 18 ++++ 15 files changed, 212 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java index a77ac93..972d056 100644 --- a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java +++ b/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; + + } diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java index 5e89876..975ff1a 100644 --- a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java +++ b/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; + + } diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java index 5d34ca0..12dadb9 100644 --- a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java +++ b/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; + } diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateVipDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateVipDTO.java index 6db8384..160c46d 100644 --- a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateVipDTO.java +++ b/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; + } diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/QueryActivePointCouponDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/QueryActivePointCouponDTO.java index 73a3ce6..761a86b 100644 --- a/src/main/java/com/mzl/flower/dto/request/coupon/QueryActivePointCouponDTO.java +++ b/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; + } diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/QueryMineCouponRecordDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/QueryMineCouponRecordDTO.java new file mode 100644 index 0000000..ae8675f --- /dev/null +++ b/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; + + +} diff --git a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateActivyVO.java b/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateActivyVO.java index 46d75e6..3f1218c 100644 --- a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateActivyVO.java +++ b/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; + } diff --git a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateAppVO.java b/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateAppVO.java index 866f501..9fe2a67 100644 --- a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateAppVO.java +++ b/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; } diff --git a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateUserVO.java b/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateUserVO.java index 5593b1f..b7d4179 100644 --- a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateUserVO.java +++ b/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; + } diff --git a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateVipVO.java b/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateVipVO.java index dd9d82b..0f61df0 100644 --- a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateVipVO.java +++ b/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; } diff --git a/src/main/java/com/mzl/flower/mapper/coupon/CouponRecordMapperCustom.java b/src/main/java/com/mzl/flower/mapper/coupon/CouponRecordMapperCustom.java index 81bd52d..4e550cf 100644 --- a/src/main/java/com/mzl/flower/mapper/coupon/CouponRecordMapperCustom.java +++ b/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); } diff --git a/src/main/java/com/mzl/flower/service/coupon/CouponRecordService.java b/src/main/java/com/mzl/flower/service/coupon/CouponRecordService.java index 46fe72b..b55d1e1 100644 --- a/src/main/java/com/mzl/flower/service/coupon/CouponRecordService.java +++ b/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); + } diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java index 68ce170..4878fa1 100644 --- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java +++ b/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); + } } diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java index a2792a8..1663e93 100644 --- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java +++ b/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)); + + } diff --git a/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml b/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml index 3aad231..2444d74 100644 --- a/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml +++ b/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"> -- Gitblit v1.9.3