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