超级会员购买相关
This commit is contained in:
@@ -71,7 +71,8 @@ public class MemberLevelConfig implements Serializable {
|
||||
/**
|
||||
* 周期时间包含周 月 年 日
|
||||
*/
|
||||
private String cycleTime;
|
||||
private Integer cycleTime;
|
||||
private String cycleUnit;
|
||||
|
||||
/**
|
||||
* 赠送积分
|
||||
|
||||
@@ -41,6 +41,6 @@ public interface TbMemberConfigService extends IService<TbMemberConfig> {
|
||||
* 发放会员奖励
|
||||
* @param isCost 是否是消费 true 消费 false 充值
|
||||
*/
|
||||
boolean deliver(Long shopId, Long userId, TableValueConstant.MemberExpFlow.Type type, BigDecimal money, boolean isCost);
|
||||
boolean deliver(Long shopId, Long userId, TableValueConstant.MemberExpFlow.Type type, BigDecimal money, Integer expVal);
|
||||
|
||||
}
|
||||
|
||||
@@ -56,7 +56,8 @@ public class MemberLevelVO implements Serializable {
|
||||
/**
|
||||
* 周期时间包含周 月 年 日
|
||||
*/
|
||||
private String cycleTime;
|
||||
private Integer cycleTime;
|
||||
private String cycleUnit;
|
||||
|
||||
/**
|
||||
* 赠送积分
|
||||
|
||||
@@ -201,7 +201,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deliver(Long shopId, Long userId, TableValueConstant.MemberExpFlow.Type type, BigDecimal money, boolean isCost) {
|
||||
public boolean deliver(Long shopId, Long userId, TableValueConstant.MemberExpFlow.Type type, BigDecimal money, Integer expVal) {
|
||||
ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getShopId, shopId).eq(ShopUser::getUserId, userId));
|
||||
if (shopUser == null || shopUser.getIsVip() == 0) {
|
||||
return false;
|
||||
@@ -216,12 +216,26 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
shopUser.setExperience(0L);
|
||||
}
|
||||
|
||||
|
||||
MemberLevelConfig levelConfig = levelConfigService.getById(shopUser.getMemberLevelId());
|
||||
if (levelConfig == null) {
|
||||
log.warn("会员等级配置不存在, 店铺id: {}, 等级id: {}", shopId, shopUser.getMemberLevelId());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
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());
|
||||
memberPointsService.addPoints(shopUser.getId(), points, "会员消费送积分", null);
|
||||
}
|
||||
}
|
||||
case RECHARGE -> {
|
||||
if (memberConfig.getRechargeReward() != null) {
|
||||
@@ -229,32 +243,10 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
||||
}
|
||||
}
|
||||
case PAY -> {
|
||||
|
||||
exp = expVal;
|
||||
}
|
||||
|
||||
}
|
||||
// 消费经验
|
||||
if (memberConfig.getCostReward() != null && isCost) {
|
||||
exp = money.longValue() * memberConfig.getCostReward() + shopUser.getExperience();
|
||||
// shopUser.setExperience();
|
||||
}
|
||||
|
||||
// 充值经验
|
||||
if (memberConfig.getRechargeReward() != null && !isCost) {
|
||||
shopUser.setExperience(money.longValue() * memberConfig.getRechargeReward() + shopUser.getExperience());
|
||||
}
|
||||
|
||||
MemberLevelConfig levelConfig = levelConfigService.getById(shopUser.getMemberLevelId());
|
||||
if (levelConfig == null) {
|
||||
log.warn("会员等级配置不存在, 店铺id: {}, 等级id: {}", shopId, shopUser.getMemberLevelId());
|
||||
return false;
|
||||
}
|
||||
|
||||
// 消费送积分
|
||||
if (isCost && levelConfig.getCostRewardPoints() != null) {
|
||||
int points = (int) (money.floatValue() / levelConfig.getCostRewardPoints());
|
||||
memberPointsService.addPoints(shopUser.getId(), points, "会员消费送积分", null);
|
||||
}
|
||||
|
||||
MemberExpFlow expFlow = new MemberExpFlow();
|
||||
expFlow.setContent(type.getMsg() + 1);
|
||||
|
||||
Reference in New Issue
Block a user