diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserDTO.java index f30edfa4f..5cf4c5bf9 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserDTO.java @@ -25,4 +25,6 @@ public class ShopUserDTO extends ShopUser { */ private BigDecimal rechargeAmount; private String memberLevelName; + private String nextMemberLevelName; + private Long nextExperience; } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java index 086306a59..fa3548286 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java @@ -182,9 +182,18 @@ public class AShopUserServiceImpl implements AShopUserService { ShopUserDTO shopUserDTO = BeanUtil.copyProperties(shopUser, ShopUserDTO.class); shopUserDTO.setCouponNum(count); shopUserDTO.setOrderNumber(orderInfoService.count(new QueryWrapper().eq(OrderInfo::getUserId, userId).eq(OrderInfo::getShopId, StpKit.USER.getShopId(0L)).eq(OrderInfo::getStatus, "done"))); + MemberLevelConfig memberLevelConfig = null; if (shopUser.getMemberLevelId() != null) { - MemberLevelConfig memberLevelConfig = memberLevelConfigService.getById(shopUser.getMemberLevelId()); + memberLevelConfig = memberLevelConfigService.getById(shopUser.getMemberLevelId()); shopUserDTO.setMemberLevelName(memberLevelConfig == null ? null : memberLevelConfig.getName()); + + } + MemberLevelConfig config = memberLevelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, mainId) + .ge(MemberLevelConfig::getExperienceValue, memberLevelConfig == null ? null : memberLevelConfig.getExperienceValue()) + .limit(1).orderBy(MemberLevelConfig::getExperienceValue, true)); + if (config != null) { + shopUserDTO.setNextExperience(config.getExperienceValue() - (shopUser.getExperience() == null ? 0 : shopUser.getExperience())); + shopUserDTO.setNextMemberLevelName(config.getName()); } return shopUserDTO; }