超级会员购买相关

This commit is contained in:
张松 2025-09-12 10:52:55 +08:00
parent 484d39819c
commit 449db66e2c
5 changed files with 31 additions and 14 deletions

View File

@ -79,6 +79,8 @@ public class MemberLevelDTO {
*/ */
private List<ConfigCoupon> cycleRewardCouponList; private List<ConfigCoupon> cycleRewardCouponList;
@NotNull(message = "是否启用消费送积分不为空")
private Integer isCostRewardPoints;
@Data @Data
public static class ConfigCoupon { public static class ConfigCoupon {

View File

@ -52,7 +52,7 @@ public class MemberExpFlow implements Serializable {
/** /**
* 赠送数量 * 赠送数量
*/ */
private Integer value; private Long value;
/** /**
* 来源id * 来源id

View File

@ -101,4 +101,7 @@ public class MemberLevelConfig implements Serializable {
@Column(onInsertValue = "now()", onUpdateValue = "now()") @Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime; private LocalDateTime updateTime;
private Integer isCostRewardPoints;
} }

View File

@ -83,4 +83,6 @@ public class MemberLevelVO implements Serializable {
* 修改时间 * 修改时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime;
private Integer isCostRewardPoints;
} }

View File

@ -12,6 +12,7 @@ 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.entity.*; import com.czg.market.entity.*;
import com.czg.market.service.MemberExpFlowService;
import com.czg.market.service.MemberOrderService; 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;
@ -63,6 +64,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
private MemberPointsService memberPointsService; private MemberPointsService memberPointsService;
@Resource @Resource
private MemberOrderService memberOrderService; private MemberOrderService memberOrderService;
@Resource
private MemberExpFlowService memberExpFlowService;
@Override @Override
public MemberConfigVO detail(Long shopId) { public MemberConfigVO detail(Long shopId) {
@ -225,15 +228,14 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
long exp = 0; long exp = 0;
int points = 0;
switch (type) { switch (type) {
case COST -> { case COST -> {
if (memberConfig.getCostReward() != null) { if (memberConfig.getCostReward() != null) {
exp = money.longValue() * memberConfig.getCostReward(); exp = money.longValue() * memberConfig.getCostReward();
} }
// 消费送积分 // 消费送积分
if (levelConfig.getCostRewardPoints() != null) { if (levelConfig.getIsCostRewardPoints() == 1 && levelConfig.getCostRewardPoints() != null) {
points = (int) (money.floatValue() / levelConfig.getCostRewardPoints()); int points = (int) (money.floatValue() / levelConfig.getCostRewardPoints());
memberPointsService.addPoints(shopUser.getId(), points, "会员消费送积分", null); memberPointsService.addPoints(shopUser.getId(), points, "会员消费送积分", null);
} }
} }
@ -242,19 +244,27 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
exp = money.longValue() * memberConfig.getRechargeReward(); exp = money.longValue() * memberConfig.getRechargeReward();
} }
} }
case PAY -> { case PAY -> exp = expVal;
exp = expVal;
}
} }
MemberExpFlow expFlow = new MemberExpFlow(); if (exp > 0) {
expFlow.setContent(type.getMsg() + 1); MemberExpFlow expFlow = new MemberExpFlow();
expFlow.setType("+"); expFlow.setContent(type.getMsg() + exp);
expFlow.setUserId(userId); expFlow.setType("+");
expFlow.setShopId(shopId); expFlow.setUserId(userId);
expFlow.setMoney(money); expFlow.setShopId(shopId);
return false; expFlow.setMoney(money);
expFlow.setValue(exp);
memberExpFlowService.save(expFlow);
// 修改会员等级
levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId).gt(MemberLevelConfig::getExperienceValue, levelConfig.getExperienceValue()));
shopUser.setExperience(shopUser.getExperience() + exp);
}
return true;
} }
@Override @Override