zxl
7 天以前 f5a352df9e40f98ec4ba43fcc0f280952decbe84
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;
    /**
     * 添加
     *
@@ -209,7 +216,7 @@
            if (!b) {
                throw new RuntimeException("领取失败");
            }
            return Result.ok("领取成功");
            return Result.ok().data(cardInfo.getCouponId());
        } finally {
            assert lock != null;
            if (lock.isHeldByCurrentThread()) {
@@ -225,4 +232,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);
    }
}