超级会员相关

This commit is contained in:
张松
2025-09-12 15:07:30 +08:00
parent 55a36bc4da
commit 2e69148249
3 changed files with 25 additions and 7 deletions

View File

@@ -23,6 +23,13 @@ public class MemberConfigDTO {
private ShopCoupon coupon; private ShopCoupon coupon;
} }
@Data
public static class ConfigCoupon2 {
@Min(value = 1, message = "数量不能小于1")
private Integer num;
private ShopCoupon coupon;
}
@Data @Data
public static class ConfigList { public static class ConfigList {
@NotBlank(message = "名称不为空") @NotBlank(message = "名称不为空")

View File

@@ -6,6 +6,7 @@ import java.io.Serial;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/** /**
* 券赠送关联表 实体类。 * 券赠送关联表 实体类。
@@ -16,6 +17,7 @@ import lombok.NoArgsConstructor;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Accessors(chain = true)
public class MkCouponGiftDTO implements Serializable { public class MkCouponGiftDTO implements Serializable {
@Serial @Serial

View File

@@ -12,14 +12,12 @@ import com.czg.market.dto.MemberConfigDTO;
import com.czg.market.dto.MemberLevelDTO; 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.MkCouponGiftDTO;
import com.czg.market.entity.*; import com.czg.market.entity.*;
import com.czg.market.service.MemberExpFlowService; import com.czg.market.service.*;
import com.czg.market.service.MemberOrderService;
import com.czg.market.vo.MemberConfigVO; import com.czg.market.vo.MemberConfigVO;
import com.czg.market.vo.MemberLevelVO; import com.czg.market.vo.MemberLevelVO;
import com.czg.exception.ApiNotPrintException; import com.czg.exception.ApiNotPrintException;
import com.czg.market.service.MemberLevelConfigService;
import com.czg.market.service.TbMemberConfigService;
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.service.market.enums.OrderStatusEnums; import com.czg.service.market.enums.OrderStatusEnums;
@@ -66,6 +64,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
private MemberOrderService memberOrderService; private MemberOrderService memberOrderService;
@Resource @Resource
private MemberExpFlowService memberExpFlowService; private MemberExpFlowService memberExpFlowService;
@Resource
private MkCouponGiftService couponGiftService;
@Override @Override
public MemberConfigVO detail(Long shopId) { public MemberConfigVO detail(Long shopId) {
@@ -326,9 +326,18 @@ 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 (memberOrder.getCouponList() != null && !memberOrder.getCouponList().isEmpty()) { if (StrUtil.isNotBlank(memberOrder.getCouponList())) {
// TODO 发放优惠券 ArrayList<MkCouponGiftDTO> giftDTOS = new ArrayList<>();
JSONArray.parseArray(memberOrder.getCouponList()).toJavaList(MemberConfigDTO.ConfigCoupon.class).forEach(item -> {
giftDTOS.add(new MkCouponGiftDTO().setCouponId(item.getCoupon().getId())
.setCouponId(item.getCoupon().getId())
.setCouponName(item.getCoupon().getTitle())
.setSourceName("会员开通赠券")
.setSourceId(memberOrderId)
.setType(1)
.setNum(item.getNum()));
});
couponGiftService.addCouponGift(memberOrderId, "会员开通赠券", 1, giftDTOS);
} }
MemberLevelConfig levelConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1)); MemberLevelConfig levelConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1));