From a1879137642c537dfd08c782ab5b8eb87e9ace07 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期五, 30 八月 2024 17:01:46 +0800
Subject: [PATCH] 1.优惠券app领取入口提交
---
src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateCustomerVO.java | 2
src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateAppVO.java | 108 ++++++++++++++++++++++++++++++++++++
src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java | 33 ++++++----
src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java | 2
src/main/resources/mapper/coupon/CouponTemplateMapperCustom.xml | 16 +++++
5 files changed, 147 insertions(+), 14 deletions(-)
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
new file mode 100644
index 0000000..866f501
--- /dev/null
+++ b/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;
+
+
+
+
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateCustomerVO.java b/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateCustomerVO.java
index 96ba5b4..33622c3 100644
--- a/src/main/java/com/mzl/flower/dto/response/coupon/CouponTemplateCustomerVO.java
+++ b/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;
diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
index 2f7632c..69eccb0 100644
--- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
+++ b/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;
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 7108d92..a2792a8 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
@@ -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));
+
}
diff --git a/src/main/resources/mapper/coupon/CouponTemplateMapperCustom.xml b/src/main/resources/mapper/coupon/CouponTemplateMapperCustom.xml
index 5053646..33fe113 100644
--- a/src/main/resources/mapper/coupon/CouponTemplateMapperCustom.xml
+++ b/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">
--
Gitblit v1.9.3