peng
8 小时以前 14b3dd223d4a148a4ca681a5c542901dfe74f029
店铺优惠卷调整
2个文件已修改
39 ■■■■ 已修改文件
framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java
@@ -6,6 +6,7 @@
import cn.lili.modules.lmk.domain.entity.StoreCoupon;
import cn.lili.modules.lmk.domain.entity.StoreCouponSingle;
import cn.lili.modules.lmk.enums.general.PrizeStatusEnum;
import cn.lili.modules.lmk.enums.general.StoreCouponStausEnum;
import cn.lili.modules.lmk.service.StoreCouponService;
import cn.lili.modules.lmk.service.StoreCouponSingleService;
import cn.lili.modules.order.order.entity.enums.ClaimStatusEnum;
@@ -14,6 +15,7 @@
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.lili.modules.lmk.domain.entity.StoreCouponClaimRecord;
import cn.lili.modules.lmk.mapper.StoreCouponClaimRecordMapper;
@@ -186,16 +188,26 @@
            storeCouponSingle.setClaimUserName(nickName);
            storeCouponSingleService.updateById(storeCouponSingle);
            //校验是否在单品卷类领取过
            LambdaQueryWrapper<StoreCoupon> storeCoupQuery = Wrappers.<StoreCoupon>lambdaQuery()
                    .eq(StoreCoupon::getId, storeCouponSingle.getStoreCoupRef()).last("FOR UPDATE");
            StoreCoupon storeCoupon = storeCouponService.getOne(storeCoupQuery);
            if (storeCoupon == null) {
                throw new ServiceException("当前店铺优惠卷不存在");
            }
            if (!StoreCouponStausEnum.ENABLE.name().equals(storeCoupon.getStatus())) {
                throw new ServiceException("当前店铺优惠卷状态异常");
            }
            //领取对应的优惠卷写入记录
            memberCouponService.receiveCoupon(storeCouponSingle.getCouponId(),userId , nickName);
            StoreCouponClaimRecord storeCouponClaimRecord = new StoreCouponClaimRecord();
            storeCouponClaimRecord.setCouponId(storeCouponSingle.getCouponId());
            storeCouponClaimRecord.setCouponName(storeCouponSingle.getCouponName());
            storeCouponClaimRecord.setStoreId(storeCouponSingle.getStoreId());
            storeCouponClaimRecord.setStoreName(storeCouponSingle.getStoreName());
            storeCouponClaimRecord.setUserId(userId);
            StoreCouponClaimRecord storeCouponClaimRecord = getStoreCouponClaimRecord(storeCouponSingle, userId);
            this.save(storeCouponClaimRecord);
            LambdaUpdateWrapper<StoreCoupon> updateStoreCoupon = Wrappers.<StoreCoupon>lambdaUpdate().eq(StoreCoupon::getId, storeCoupon.getId())
                    .set(StoreCoupon::getCouponClaimNum, storeCoupon.getCouponClaimNum() + 1)
                    .gt(StoreCoupon::getCouponClaimNum, storeCoupon.getCouponClaimNum() + 1);
            boolean update = storeCouponService.update(updateStoreCoupon);
            if (!update) {
                throw new ServiceException("更新失败");
            }
            //领取成功返回优惠卷id用于跳转购物使用
            return Result.ok().data(storeCouponSingle.getCouponId());
@@ -220,4 +232,15 @@
        }
    }
    private static StoreCouponClaimRecord getStoreCouponClaimRecord(StoreCouponSingle storeCouponSingle, String userId) {
        StoreCouponClaimRecord storeCouponClaimRecord = new StoreCouponClaimRecord();
        storeCouponClaimRecord.setCouponId(storeCouponSingle.getCouponId());
        storeCouponClaimRecord.setCouponName(storeCouponSingle.getCouponName());
        storeCouponClaimRecord.setStoreId(storeCouponSingle.getStoreId());
        storeCouponClaimRecord.setStoreName(storeCouponSingle.getStoreName());
        storeCouponClaimRecord.setUserId(userId);
        storeCouponClaimRecord.setStoreCouponId(storeCouponSingle.getStoreCoupRef());
        return storeCouponClaimRecord;
    }
}
framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponServiceImpl.java
@@ -159,7 +159,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();