From 3f5d62a7b4d20f6c63021361e7a48cab02e6cca3 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期二, 03 九月 2024 15:15:23 +0800
Subject: [PATCH] 1.优惠券相关代码提交

---
 src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java                    |    5 --
 src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java            |    7 +++
 src/main/resources/mapper/coupon/CouponRecordMapper.xml                           |    1 
 src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java |    4 --
 src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.java        |    7 +++
 src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java       |    1 
 src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java     |    1 
 src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java  |    4 --
 src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java         |    3 +
 src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponRecordAppDTO.java     |   21 ++++++++++
 src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java     |    5 ++
 src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java    |    1 
 src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java       |   22 ++++++++++-
 src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java      |    1 
 src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java      |    7 ---
 src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java  |    2 +
 src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml                     |    5 ++
 17 files changed, 71 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponRecordAppDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponRecordAppDTO.java
new file mode 100644
index 0000000..e8f6a9d
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponRecordAppDTO.java
@@ -0,0 +1,21 @@
+package com.mzl.flower.dto.request.coupon;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+
+@Data
+public class CreateCouponRecordAppDTO {
+
+    /**
+     * 优惠券ID
+     */
+    @ApiModelProperty(value = "优惠券ID")
+    @NotEmpty(message = "优惠券ID不能为空")
+    private String couponId;
+
+    @ApiModelProperty(value = "商户ID",hidden = true)
+    private Long customerId;
+
+}
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 972d056..546ea4a 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
@@ -2,9 +2,6 @@
 
 
 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;
@@ -13,7 +10,6 @@
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.List;
 
 @Data
 public class CreateCouponTemplateDTO  {
@@ -139,9 +135,6 @@
     @NotNull(message = "每人限领不能为空")
     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 975ff1a..94472c3 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
@@ -87,8 +87,4 @@
 
 
 
-    @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 6f428ff..5d34ca0 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
@@ -74,8 +74,4 @@
     @NotNull(message = "指定的用户列表id不能为空")
     private List<Long> pointCostomIdList;
 
-
-    @ApiModelProperty(value = "领取后有效类型名称")
-    private String usageTimeTypeName;
-
 }
diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java
index 817f790..f745ccc 100644
--- a/src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java
+++ b/src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java
@@ -35,4 +35,7 @@
     @ApiModelProperty(value = "领取用户类型-全部用户,指定用户")
     private String getUserType;
 
+    @ApiModelProperty(value = "优惠券模版ID")
+    private String couponId;
+
 }
diff --git a/src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.java b/src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.java
index 6584d80..13e5857 100644
--- a/src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.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;
@@ -125,5 +124,11 @@
     @ApiModelProperty(value = "订单号")
     private String orderNo;
 
+    /**
+     * 优惠券ID
+     */
+    @ApiModelProperty(value = "优惠券ID")
+    private String couponId;
+
 
 }
diff --git a/src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java b/src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java
index cfc3594..bc19ba0 100644
--- a/src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java
+++ b/src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java
@@ -100,11 +100,6 @@
     private Integer point;
 
     /**
-     * 订单号
-     */
-    private String orderNo;
-
-    /**
      * 会员等级
      */
     private Integer memberId;
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 18e029a..c3020ed 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
@@ -462,8 +462,11 @@
         // 查询订单使用的优惠券
         final CouponRecordDO couponRecordDO = getCouponByOrderId(orderId);
         // TODO
+        couponRecordDO.setStatus(CouponUsedStatusEnum.UNUSED.getType());
+        couponRecordDO.setUsedTime(null);
+        couponRecordDO.setOrderId(null);
 
-        return false;
+        return baseMapper.updateById(couponRecordDO)>0;
     }
 
     @Override
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 a1c8bef..ce2b9af 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
@@ -132,6 +132,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/CouponRecordController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java
index e7cdb4f..4c03990 100644
--- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java
+++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java
@@ -10,11 +10,13 @@
 import com.mzl.flower.dto.request.coupon.QueryCouponRecordDTO;
 import com.mzl.flower.dto.response.coupon.CouponRecordResultVO;
 import com.mzl.flower.dto.response.coupon.CouponRecordVO;
+import com.mzl.flower.dto.response.customer.CustomerDTO;
 import com.mzl.flower.entity.coupon.CouponRecordDO;
 import com.mzl.flower.entity.coupon.CouponTemplateDO;
 import com.mzl.flower.enums.CouponStatusEnum;
 import com.mzl.flower.service.coupon.CouponRecordService;
 import com.mzl.flower.service.coupon.CouponTemplateService2;
+import com.mzl.flower.service.customer.CustomerService;
 import com.mzl.flower.utils.ConverterUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -41,6 +43,8 @@
     @Autowired
     private CouponTemplateService2 couponTemplateService;
 
+    private CustomerService customerService;
+
 
 
     @PostMapping("")
@@ -59,6 +63,9 @@
             throw new ValidationException("优惠券已下架");
         }
 
+        // 根据当前获取获取商户的ID
+        final CustomerDTO currentCustomer = customerService.getCurrentCustomer();
+        dto.setCustomerId(currentCustomer.getId());
 
         couponRecordService.createCouponRecord(dto);
         return returnData(R.SUCCESS.getCode(), null);
diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java
index 9b7109e..e14979b 100644
--- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java
+++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java
@@ -78,6 +78,7 @@
         }
 
         CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO();
+        BeanUtils.copyProperties(couponTemplateDO,couponTemplateBO);
         BeanUtils.copyProperties(dto, couponTemplateBO);
 
         // 设置成积分优惠券
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 7658080..547b8af 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
@@ -7,22 +7,26 @@
 import com.mzl.flower.base.ReturnDataDTO;
 import com.mzl.flower.config.exception.ValidationException;
 import com.mzl.flower.config.security.SecurityUtils;
+import com.mzl.flower.dto.request.coupon.CreateCouponRecordAppDTO;
 import com.mzl.flower.dto.request.coupon.CreateCouponRecordDTO;
 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.dto.response.customer.CustomerDTO;
 import com.mzl.flower.entity.coupon.CouponTemplateDO;
 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.mapper.customer.CustomerMapper;
 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;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.validation.annotation.Validated;
@@ -44,6 +48,10 @@
 
     @Autowired
     CouponRecordService couponRecordService;
+
+
+    @Autowired
+   CustomerMapper customerMapper;
 
     @GetMapping("/home/list")
     @ApiOperation(value = "查询-首页弹框", notes = "查询-首页弹框")
@@ -117,7 +125,7 @@
 
     @PostMapping("/receive")
     @ApiOperation(value = "优惠券领取", notes = "优惠券领取")
-    public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody CreateCouponRecordDTO dto) {
+    public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody CreateCouponRecordAppDTO dto) {
 
         final CouponTemplateDO couponTemplateDO = couponTemplateService.getById(dto.getCouponId());
         if(null==couponTemplateDO){
@@ -131,8 +139,18 @@
             throw new ValidationException("优惠券已下架");
         }
 
+        // 根据当前获取获取商户的ID
+        CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(SecurityUtils.getUserId());
+        if(null==currentCustomer){
+            throw new ValidationException("当前登录的用户记录不存在");
+        }
+        // 设置当前用户为登录用户
+        dto.setCustomerId(currentCustomer.getId());
 
-        couponRecordService.createCouponRecord(dto);
+        CreateCouponRecordDTO dtoTrans=new CreateCouponRecordDTO();
+        BeanUtils.copyProperties(dto,dtoTrans);
+
+        couponRecordService.createCouponRecord(dtoTrans);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java
index 9817a86..50a553a 100644
--- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java
+++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java
@@ -76,6 +76,7 @@
         }
 
         CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO();
+        BeanUtils.copyProperties(couponTemplateDO,couponTemplateBO);
         BeanUtils.copyProperties(dto, couponTemplateBO);
 
         // 设置成积分优惠券
diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java
index 5b9f19d..13d7bd7 100644
--- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java
+++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java
@@ -94,6 +94,7 @@
         }
 
         CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO();
+        BeanUtils.copyProperties(couponTemplateDO,couponTemplateBO);
         BeanUtils.copyProperties(dto, couponTemplateBO);
 
          // 设置成指定用户
diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java
index be32580..762b64a 100644
--- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java
+++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java
@@ -75,6 +75,7 @@
         }
 
         CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO();
+        BeanUtils.copyProperties(couponTemplateDO,couponTemplateBO);
         BeanUtils.copyProperties(dto, couponTemplateBO);
 
         // 设置成积分优惠券
diff --git a/src/main/resources/mapper/coupon/CouponRecordMapper.xml b/src/main/resources/mapper/coupon/CouponRecordMapper.xml
index d020e58..a5fe497 100644
--- a/src/main/resources/mapper/coupon/CouponRecordMapper.xml
+++ b/src/main/resources/mapper/coupon/CouponRecordMapper.xml
@@ -25,7 +25,6 @@
         <result column="coupon_name" property="couponName" />
 
         <result column="point" property="point" />
-        <result column="order_no" property="orderNo" />
 
     </resultMap>
 
diff --git a/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml b/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml
index 820cc2d..4b1c2e9 100644
--- a/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml
+++ b/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml
@@ -28,7 +28,6 @@
         <result column="get_user_type" property="getUserType" />
 
         <result column="point" property="point" />
-        <result column="order_no" property="orderNo" />
 
     </resultMap>
     <update id="checkCouponExpired">
@@ -116,6 +115,10 @@
             AND (t.customerName like  concat('%', #{param.keyword},'%')
                      or t.user_id like  concat('%', #{param.keyword},'%') )
         </if>
+        <if test="param.couponId != null and param.couponId != ''">
+            and t.coupon_id =  #{param.couponId}
+        </if>
+
         order by t.create_time desc
     </sql>
 

--
Gitblit v1.9.3