From a576bf75eec664e7b167a7a5eb6fabe2552ccbcc Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期五, 12 九月 2025 19:17:28 +0800 Subject: [PATCH] 修改礼品卡领取 --- framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java | 36 +++++++++++++++++++++++++++++++++++- 1 files changed, 35 insertions(+), 1 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java index dc1a5f2..9c32860 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java @@ -4,10 +4,12 @@ import cn.lili.common.exception.ServiceException; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; +import cn.lili.modules.goods.service.GoodsService; import cn.lili.modules.lmk.domain.entity.CouponVirtual; import cn.lili.modules.lmk.domain.form.CouponVirtualForm; import cn.lili.modules.lmk.domain.query.CouponVirtualQuery; import cn.lili.modules.lmk.domain.vo.CouponVirtualVO; +import cn.lili.modules.lmk.domain.vo.CouponVirtualVOInfo; import cn.lili.modules.lmk.mapper.CouponVirtualMapper; import cn.lili.modules.lmk.service.CouponVirtualService; import cn.lili.modules.order.order.entity.dos.Order; @@ -19,6 +21,7 @@ import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.promotion.service.MemberCouponService; +import cn.lili.utils.COSUtil; import cn.lili.utils.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -62,6 +65,10 @@ private final OrderService orderService; private final MemberCouponService memberCouponService; + + private final GoodsService goodsService; + + private final COSUtil cosUtil; /** * 娣诲姞 * @@ -126,6 +133,12 @@ public Result page(CouponVirtualQuery query) { IPage<CouponVirtualVO> page = PageUtil.getPage(query, CouponVirtualVO.class); baseMapper.getPage(page, query); + for (CouponVirtualVO record : page.getRecords()) { + String original = record.getOriginal(); + if (StringUtils.isNotBlank(original) && !original.contains("http")) { + record.setOriginal(cosUtil.getPreviewUrl(original)); + } + } return Result.ok().data(page.getRecords()).total(page.getTotal()); } @@ -171,6 +184,9 @@ lock = redissonClient.getLock(LOCK_COUPON_VIRTUAL_CARD_ID + cardId); LambdaQueryWrapper<CouponVirtual> forUpdate = Wrappers.<CouponVirtual>lambdaQuery().eq(CouponVirtual::getId, cardId).last("FOR UPDATE"); CouponVirtual cardInfo = this.getOne(forUpdate); + if (cardInfo == null) { + throw new ServiceException("褰撳墠浼樻儬鍗蜂笉瀛樺湪"); + } if (ClaimStatusEnum.CLAIM.name().equals(cardInfo.getClaimStatus())) { throw new ServiceException("褰撳墠璐墿鍗″凡缁忚棰嗗彇"); } @@ -203,13 +219,14 @@ cardInfo.setUserNickname(nickName); cardInfo.setUserId(userId); cardInfo.setClaimStatus(ClaimStatusEnum.CLAIM.name()); + cardInfo.setShareStatus(ShareStatusEnum.SHARE.name()); cardInfo.setClaimTime(new Date()); boolean b = this.updateById(cardInfo); //鍘婚鍙栦紭鎯犲嵎 if (!b) { throw new RuntimeException("棰嗗彇澶辫触"); } - return Result.ok("棰嗗彇鎴愬姛"); + return Result.ok().data(cardInfo.getCouponId()); } finally { assert lock != null; if (lock.isHeldByCurrentThread()) { @@ -225,4 +242,21 @@ this.updateById(couponVirtual); return Result.ok(); } + + @Override + public Result couponCardInfo(String cardId) { + CouponVirtual couponVirtual = this.getById(cardId); + if (couponVirtual == null) { + throw new ServiceException("褰撳墠璐墿鍗′笉瀛樺湪"); + } + CouponVirtualVOInfo virtualVOInfo = new CouponVirtualVOInfo(); + BeanUtils.copyProperties(couponVirtual, virtualVOInfo); + + String goodsId = virtualVOInfo.getGoodsId(); + String url = goodsService.getById(goodsId).getOriginal(); + if (StringUtils.isNotBlank(url) && !url.contains("http")) { + virtualVOInfo.setGoodsUrl(cosUtil.getPreviewUrl(url)); + } + return Result.ok().data(virtualVOInfo); + } } -- Gitblit v1.8.0