超级会员购买相关
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 充值
|
* @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
|
@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));
|
ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getShopId, shopId).eq(ShopUser::getUserId, userId));
|
||||||
if (shopUser == null || shopUser.getIsVip() == 0) {
|
if (shopUser == null || shopUser.getIsVip() == 0) {
|
||||||
return false;
|
return false;
|
||||||
@@ -216,12 +216,26 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
|||||||
shopUser.setExperience(0L);
|
shopUser.setExperience(0L);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
MemberLevelConfig levelConfig = levelConfigService.getById(shopUser.getMemberLevelId());
|
||||||
|
if (levelConfig == null) {
|
||||||
|
log.warn("会员等级配置不存在, 店铺id: {}, 等级id: {}", shopId, shopUser.getMemberLevelId());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
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) {
|
||||||
|
points = (int) (money.floatValue() / levelConfig.getCostRewardPoints());
|
||||||
|
memberPointsService.addPoints(shopUser.getId(), points, "会员消费送积分", null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
case RECHARGE -> {
|
case RECHARGE -> {
|
||||||
if (memberConfig.getRechargeReward() != null) {
|
if (memberConfig.getRechargeReward() != null) {
|
||||||
@@ -229,32 +243,10 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case PAY -> {
|
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();
|
MemberExpFlow expFlow = new MemberExpFlow();
|
||||||
expFlow.setContent(type.getMsg() + 1);
|
expFlow.setContent(type.getMsg() + 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user