src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateAppVO.java
对比新文件 @@ -0,0 +1,108 @@ package com.mzl.flower.dto.response.coupon; import com.fasterxml.jackson.annotation.JsonFormat; import com.mzl.flower.base.AbstractTransDTO; import com.mzl.flower.base.annotation.DictTrans; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDateTime; @Data public class CouponTemplateAppVO extends AbstractTransDTO { @ApiModelProperty(value = "ID") private String id; /** * 优惠券名称 */ @ApiModelProperty(value = "优惠券名称") private String couponName; /** * 优惠券描述(使用规则) */ @ApiModelProperty(value = "优惠券描述(使用规则)") private String couponDescription; /** * 优惠券类型(COUPON_TYPE)满减和无门槛 */ @ApiModelProperty(value = "优惠券类型(COUPON_TYPE) ") @DictTrans(target = "couponDiscountTypeName",codeType = "COUPON_TYPE") private String couponDiscountType; /** * 优惠券面值 折扣值(百分比或金额) */ @ApiModelProperty(value = "优惠券面值") private BigDecimal couponDiscountValue; /** * 使用条件,最小订单金额(可选)=》使用条件 */ @ApiModelProperty(value = "使用条件") private BigDecimal minOrderAmount; /** * 优惠券状态(COUPON_STATUS) */ @ApiModelProperty(value = "优惠券状态(COUPON_STATUS)") @DictTrans(target = "statusName",codeType = "COUPON_STATUS") private String status; @ApiModelProperty(value = "使用开始时间") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8") @DateTimeFormat private LocalDateTime usageStartDate; /** * 使用结束时间 */ @ApiModelProperty(value = "使用结束时间") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8") @DateTimeFormat private LocalDateTime usageEndDate; /** * 优惠券类型名称 COUPON_TYPE)满减和无门槛 */ @ApiModelProperty(value = "优惠券类型名称 ") private String couponDiscountTypeName; /** * 状态名称 */ @ApiModelProperty(value = "状态名称") private String statusName; /** * 领取开始时间 */ @ApiModelProperty(value = "领取开始时间") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8") @DateTimeFormat private LocalDateTime getStartDate; /** * 领取结束时间 */ @ApiModelProperty(value = "领取结束时间") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8") @DateTimeFormat private LocalDateTime getEndDate; } src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateCustomerVO.java
@@ -8,7 +8,7 @@ public class CouponTemplateCustomerVO extends AbstractTransDTO { @ApiModelProperty("用户id") private String id; private Long id; @ApiModelProperty("名称") private String name; src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
@@ -92,6 +92,8 @@ final List<CouponTemplateCustomerDO> couponCustomList = dto.getPointCostomIdList().stream().map(customId -> { CouponTemplateCustomerDO customReDO = new CouponTemplateCustomerDO(); // 解决本地不加ID不报错,线上报错问题 customReDO.setId(IdUtil.simpleUUID()); customReDO.setCouponId(couponTemplateDO.getId()); customReDO.setCustomId(customId); return customReDO; src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java
@@ -6,12 +6,13 @@ import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.dto.request.coupon.QueryActivityEffectCouponDTO; import com.mzl.flower.dto.request.coupon.QueryCouponDTO; 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.service.coupon.CouponTemplateService2; import com.mzl.flower.utils.ConverterUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -38,34 +39,40 @@ @GetMapping("/home/list") @ApiOperation(value = "查询-首页弹框", notes = "查询-首页弹框") public ResponseEntity<ReturnDataDTO<Page<CouponTemplateVO>>> homeList(QueryActivityEffectCouponDTO dto) { // TODO 需要查找到领取时间优惠券的开始时间和结束时间内的优惠券 // 活动优惠券 dto.setCategory(CouponCategoryEnum.ACTIVITY.getStatus()); // 已经发布 dto.setStatus(CouponStatusEnum.ACTIVE.getStatus()); // 首页弹窗 dto.setGetType(CouponGetTypeEnum.HOME.getType()); couponTemplateService.getActivityEffectList(dto); return returnData(R.SUCCESS.getCode(),null); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponTemplateService.getActivityEffectList(dto), CouponTemplateAppVO.class)); } @GetMapping("/activy/list") @ApiOperation(value = "查询-活动", notes = "查询-活动") @ApiOperation(value = "查询-活动入口", notes = "查询-活动入口") public ResponseEntity<ReturnDataDTO<Page<CouponTemplateVO>>> activyList(QueryActivityEffectCouponDTO dto) { // TODO // 活动优惠券 dto.setCategory(CouponCategoryEnum.ACTIVITY.getStatus()); // 已经发布 dto.setStatus(CouponStatusEnum.ACTIVE.getStatus()); // 活动入口 dto.setGetType(CouponGetTypeEnum.ACTIVITY.getType()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponTemplateService.getActivityEffectList(dto), CouponTemplateAppVO.class)); return returnData(R.SUCCESS.getCode(),null); } @GetMapping("/center/list") @ApiOperation(value = "查询-中心", notes = "查询-中心") @ApiOperation(value = "查询-领券中心", notes = "查询-领券中心") public ResponseEntity<ReturnDataDTO<Page<CouponTemplateVO>>> centerList(QueryActivityEffectCouponDTO dto) { // TODO // 活动优惠券 dto.setCategory(CouponCategoryEnum.ACTIVITY.getStatus()); // 已经发布 dto.setStatus(CouponStatusEnum.ACTIVE.getStatus()); // 首页弹窗 dto.setGetType(CouponGetTypeEnum.CENTER.getType()); return returnData(R.SUCCESS.getCode(),null); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponTemplateService.getActivityEffectList(dto), CouponTemplateAppVO.class)); } src/main/resources/mapper/coupon/CouponTemplateMapperCustom.xml
@@ -72,6 +72,22 @@ <!-- app活动优惠券--> <select id="getActivityEffectList" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateVO"> SELECT * FROM t_coupon_template t WHERE t.deleted = FALSE AND t.get_start_date <= NOW() AND NOW() <= t.get_end_date <if test="param.category != null and param.category != ''"> AND category = #{param.category} </if> <if test="param.status != null and param.status != ''"> AND status = #{param.status} </if> <if test="param.getType != null and param.getType != ''"> AND t.get_type = #{param.getType} </if> ORDER BY t.create_time DESC </select> <select id="getCouponCustomerList" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateCustomerVO">