会员赠券流程完善

This commit is contained in:
张松
2025-09-24 11:02:13 +08:00
parent 307ebac8fa
commit 62b117865e
2 changed files with 15 additions and 19 deletions

View File

@@ -3,10 +3,12 @@ package com.czg.market.dto;
import jakarta.validation.constraints.Min; import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@Accessors(chain = true)
public class MkRewardCouponDTO implements Serializable { public class MkRewardCouponDTO implements Serializable {
@NotNull(message = "用户ID不能为空") @NotNull(message = "用户ID不能为空")
private Long userId; private Long userId;

View File

@@ -9,12 +9,9 @@ import com.alibaba.fastjson2.JSONObject;
import com.czg.constant.TableValueConstant; import com.czg.constant.TableValueConstant;
import com.czg.exception.ApiNotPrintException; import com.czg.exception.ApiNotPrintException;
import com.czg.exception.CzgException; import com.czg.exception.CzgException;
import com.czg.market.dto.MemberConfigDTO; import com.czg.market.dto.*;
import com.czg.market.dto.MemberLevelDTO;
import com.czg.account.entity.*; import com.czg.account.entity.*;
import com.czg.account.service.*; import com.czg.account.service.*;
import com.czg.market.dto.MemberOrderDTO;
import com.czg.market.dto.MkCouponGiftDTO;
import com.czg.market.entity.*; import com.czg.market.entity.*;
import com.czg.market.service.*; import com.czg.market.service.*;
import com.czg.market.vo.MemberConfigVO; import com.czg.market.vo.MemberConfigVO;
@@ -24,6 +21,7 @@ import com.czg.order.entity.OrderInfo;
import com.czg.order.entity.OrderPayment; import com.czg.order.entity.OrderPayment;
import com.czg.order.service.OrderInfoService; import com.czg.order.service.OrderInfoService;
import com.czg.order.service.OrderPaymentService; import com.czg.order.service.OrderPaymentService;
import com.czg.sa.StpKit;
import com.czg.service.market.enums.OrderStatusEnums; import com.czg.service.market.enums.OrderStatusEnums;
import com.czg.service.market.mapper.TbMemberConfigMapper; import com.czg.service.market.mapper.TbMemberConfigMapper;
import com.czg.utils.AssertUtil; import com.czg.utils.AssertUtil;
@@ -70,7 +68,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
@Resource @Resource
private MemberExpFlowService memberExpFlowService; private MemberExpFlowService memberExpFlowService;
@Resource @Resource
private MkCouponGiftService couponGiftService; private MkShopCouponRecordService shopCouponRecordService;
@Override @Override
public MemberConfigVO detail(Long shopId) { public MemberConfigVO detail(Long shopId) {
@@ -319,7 +317,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
// 条件开通 // 条件开通
if (memberOrderId == null) { if (memberOrderId == null) {
if(memberConfigVO.getConfigList() == null || memberConfigVO.getConfigList().isEmpty()) { if (memberConfigVO.getConfigList() == null || memberConfigVO.getConfigList().isEmpty()) {
throw new CzgException("会员开通方案未配置,请联系店铺"); throw new CzgException("会员开通方案未配置,请联系店铺");
} }
@@ -354,7 +352,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
// shopUser.setEndTime(shopUser.getStartTime().plusDays(30)); // shopUser.setEndTime(shopUser.getStartTime().plusDays(30));
// 购买开通 // 购买开通
}else { } else {
if (shopUser.getStartTime() == null || shopUser.getEndTime().isBefore(DateUtil.date().toLocalDateTime())) { if (shopUser.getStartTime() == null || shopUser.getEndTime().isBefore(DateUtil.date().toLocalDateTime())) {
shopUser.setStartTime(DateUtil.date().toLocalDateTime()); shopUser.setStartTime(DateUtil.date().toLocalDateTime());
@@ -397,19 +395,15 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
deliver(shopId, userId, TableValueConstant.MemberExpFlow.Type.PAY, memberOrder.getPayAmount(), memberOrder.getReward(), memberOrderId); deliver(shopId, userId, TableValueConstant.MemberExpFlow.Type.PAY, memberOrder.getPayAmount(), memberOrder.getReward(), memberOrderId);
} }
// 发券流程
if (StrUtil.isNotBlank(memberOrder.getCouponList())) { if (StrUtil.isNotBlank(memberOrder.getCouponList())) {
// TODO 发券流程 JSONArray.parseArray(memberOrder.getCouponList()).toJavaList(MemberConfigDTO.ConfigCoupon.class).forEach(item -> {
// ArrayList<MkCouponGiftDTO> giftDTOS = new ArrayList<>(); shopCouponRecordService.grant(shopId, new MkRewardCouponDTO().setCouponId(item.getCoupon().getId())
// JSONArray.parseArray(memberOrder.getCouponList()).toJavaList(MemberConfigDTO.ConfigCoupon.class).forEach(item -> { .setNum(item.getNum())
// giftDTOS.add(new MkCouponGiftDTO().setCouponId(item.getCoupon().getId()) .setUserId(shopUser.getUserId())
// .setCouponId(item.getCoupon().getId()) .setShopId(shopId));
// .setCouponName(item.getCoupon().getTitle())
// .setSourceName("会员开通赠券") });
// .setSourceId(memberOrderId)
// .setType(1)
// .setNum(item.getNum()));
// });
// couponGiftService.addCouponGift(memberOrderId, "会员开通赠券", 1, giftDTOS);
} }
memberOrder.setStatus(OrderStatusEnums.DONE.getCode()); memberOrder.setStatus(OrderStatusEnums.DONE.getCode());