From 40d3bb9fe638a0bd79e829e7fd5114871101390b Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 20 十一月 2025 10:52:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/user_action' into user_action
---
framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 40 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..0b325d6 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,8 +219,20 @@
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) {
@@ -227,4 +246,22 @@
storeCouponSingle.setCouponNo(String.format("%08d", i));
return storeCouponSingle;
}
+
+ @Override
+ public Result changeStatus(String id) {
+ StoreCoupon storeCoupon = this.getById(id);
+ if (storeCoupon == null) {
+ throw new ServiceException("褰撳墠搴楅摵浼樻儬鍗蜂笉瀛樺湪");
+ }
+ String status = storeCoupon.getStatus();
+ if (StoreCouponStausEnum.ENABLE.name().equals(status)) {
+ storeCoupon.setStatus(StoreCouponStausEnum.DISABLE.name());
+ }else if (StoreCouponStausEnum.DISABLE.name().equals(status)) {
+ storeCoupon.setStatus(StoreCouponStausEnum.ENABLE.name());
+ }else {
+ throw new ServiceException("褰撳墠搴楅摵浼樻儬鍗风姸鎬佸紓甯告棤娉曚慨鏀�");
+ }
+ this.updateById(storeCoupon);
+ return Result.ok();
+ }
}
--
Gitblit v1.8.0