From 1b4dc09ca65d7109a7686d4cb0486b74eb9f0114 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期一, 09 九月 2024 14:34:27 +0800
Subject: [PATCH] 积分问题

---
 src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

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..dd40bfd 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
@@ -40,6 +40,7 @@
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -132,6 +133,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;
@@ -223,7 +226,7 @@
         // 判断当前的优惠券的用户类型是指定用户还是全部用户,如果是指定用户的情况下需要发布优惠券
         if (StringUtils.isNotBlank(couponTemplateDO.getGetUserType())
                 && StringUtils.isNotBlank(couponTemplateDO.getCategory())
-                && couponTemplateDO.getGetUserType().equals(CouponGetUserTypeEnum.POINT.getType())
+                && couponTemplateDO.getGetUserType().equals(CouponGetUserTypeEnum.TARGET.getType())
                 && couponTemplateDO.getCategory().equals(CouponCategoryEnum.USER.getStatus())
         ) {
 
@@ -276,7 +279,7 @@
                     couponRecordDO.setCouponCode(couponTemplateDO.getCouponCode());
                     couponRecordDO.setCouponName(couponTemplateDO.getCouponName());
                     //  优惠券种类
-                    couponRecordDO.setCategory(couponTemplateDO.getGetUserType());
+                    couponRecordDO.setCategory(couponTemplateDO.getCategory());
                     couponRecordDO.setMinOrderAmount(couponTemplateDO.getMinOrderAmount());
                     couponRecordDO.setCouponDiscountValue(couponTemplateDO.getCouponDiscountValue());
                     couponRecordDO.setGetType(couponTemplateDO.getGetType());
@@ -288,8 +291,14 @@
                     // 创建相关信息
                     couponRecordDO.create(SecurityUtils.getUserId());
 
-                    return couponRecordDO;
-                }).collect(Collectors.toList());
+                    // 查看当前优惠券是不是已经存在,存在的话则不能添加,防止同一人员重复下发同一张指定的优惠券
+                    if(!couponRecordService.checkUserCouponExists(pointCustomRe.getCouponId(),pointCustomRe.getCustomId())){
+                        return couponRecordDO;
+                    }else{
+                        return null;
+                    }
+
+                }).filter(Objects::nonNull).collect(Collectors.toList());
 
                 // 批量保存优惠券信息
                 couponRecordService.saveBatch(couponUsageDOList);

--
Gitblit v1.9.3