超级会员购买相关

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;
@NotNull(message = "是否启用消费送积分不为空")
private Integer isCostRewardPoints;
@Data
public static class ConfigCoupon {

View File

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

View File

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

View File

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