From 9e134e76ec0e983ccf5961b7e49c8fa252ae49e2 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期六, 27 九月 2025 16:09:38 +0800
Subject: [PATCH] 店铺绑优惠劵

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponServiceImpl.java |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponServiceImpl.java
index cf3782d..1a5df49 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponServiceImpl.java
@@ -3,6 +3,7 @@
 import cn.lili.common.exception.ServiceException;
 import cn.lili.modules.lmk.domain.entity.CouponVirtual;
 import cn.lili.modules.lmk.domain.entity.StoreCouponSingle;
+import cn.lili.modules.lmk.domain.query.StoreCouponSingleQuery;
 import cn.lili.modules.lmk.enums.general.GenerateCouponStausEnum;
 import cn.lili.modules.lmk.enums.general.StoreCouponStausEnum;
 import cn.lili.modules.lmk.service.StoreCouponSingleService;
@@ -15,6 +16,7 @@
 import cn.lili.modules.lmk.mapper.StoreCouponMapper;
 import cn.lili.modules.lmk.service.StoreCouponService;
 import cn.lili.base.Result;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cn.lili.modules.lmk.domain.form.StoreCouponForm;
@@ -33,6 +35,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -108,8 +111,12 @@
      */
     @Override
     public Result page(StoreCouponQuery query) {
-        IPage<StoreCouponVO> page = PageUtil.getPage(query, StoreCouponVO.class);
-        baseMapper.getPage(page, query);
+        IPage<StoreCoupon> page = PageUtil.getPage(query, StoreCoupon.class);
+        LambdaQueryWrapper<StoreCoupon> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(Objects.nonNull(query.getStoreId()), StoreCoupon::getStoreId, query.getStoreId());
+        wrapper.eq(StringUtils.isNotBlank(query.getStatus()), StoreCoupon::getStatus, query.getStatus());
+        wrapper.eq(StringUtils.isNotBlank(query.getGenerateStatus()), StoreCoupon::getGenerateStatus, query.getGenerateStatus());
+        this.page(page, wrapper);
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
 
@@ -159,7 +166,7 @@
     public Result addStoreCoupon(StoreCouponForm storeCoupon) {
         StoreCoupon entity = StoreCouponForm.getEntityByForm(storeCoupon, null);
         entity.setStatus(StoreCouponStausEnum.ENABLE.name());
-        entity.setCouponClaimNum(storeCoupon.getCouponNum());
+        entity.setCouponClaimNum(0);
         entity.setGenerateStatus(GenerateCouponStausEnum.NOT_GENERATE.name());
         Coupon coupon = couponService.getById(entity.getCouponId());
         Integer publishNum = coupon.getPublishNum();
@@ -212,10 +219,22 @@
                         redissonLock.unlock();
                     }
                 }
+                @Override
+                public void afterCompletion(int status) {
+                    // 纭繚鍗充娇鍦ㄤ簨鍔″洖婊氱殑鎯呭喌涓嬩篃鑳介噴鏀鹃攣
+                    if (redissonLock.isHeldByCurrentThread()) {
+                        redissonLock.unlock();
+                    }
+                }
             });
         }
     }
 
+    @Override
+    public Result getPageByStoreCoupon(StoreCouponSingleQuery query){
+        return storeCouponSingleService.pageByRefId(query);
+    }
+
     private static StoreCouponSingle getStoreCouponSingle(StoreCoupon storeCoupon, int i) {
         StoreCouponSingle storeCouponSingle = new StoreCouponSingle();
         storeCouponSingle.setStoreCoupRef(storeCoupon.getId());

--
Gitblit v1.8.0