|
|
|
@@ -503,29 +503,45 @@ public class WxUserGrantController extends BaseController { |
|
|
|
WxCUser user = getUser(); |
|
|
|
WxCUserVo userVo = new WxCUserVo(); |
|
|
|
org.springframework.beans.BeanUtils.copyProperties(user, userVo); |
|
|
|
if (userVo.getScore() == null || userVo.getScore() == 0) { |
|
|
|
userVo.setLevelName(WxLevelConfigService.DEFAULT_LEVEL); |
|
|
|
} else { |
|
|
|
userVo.setLevelName(WxLevelConfigService.DEFAULT_LEVEL); |
|
|
|
List<WxLevelConfig> levelList = wxLevelConfigService.getByTenantId(user.getTenantId()); |
|
|
|
for (WxLevelConfig levelConfig : levelList) { |
|
|
|
if (userVo.getScore() >= levelConfig.getPoints()) { |
|
|
|
userVo.setLevelId(levelConfig.getId()); |
|
|
|
userVo.setLevelName(levelConfig.getLevel()); |
|
|
|
} |
|
|
|
} |
|
|
|
WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(user.getId()); |
|
|
|
if (wxCUserBasicInfo != null) { |
|
|
|
userVo.setName(wxCUserBasicInfo.getName()); |
|
|
|
userVo.setBirthdate(wxCUserBasicInfo.getBirthdate()); |
|
|
|
userVo.setSex(wxCUserBasicInfo.getSex()); |
|
|
|
userVo.setAddress(wxCUserBasicInfo.getAddress()); |
|
|
|
if (userVo.getScore() == null) |
|
|
|
userVo.setScore(0); |
|
|
|
Integer levelScore = 0; |
|
|
|
Integer levelTarget= 0; |
|
|
|
userVo.setLevelName(WxLevelConfigService.DEFAULT_LEVEL); |
|
|
|
List<WxLevelConfig> levelList = wxLevelConfigService.getByTenantId(user.getTenantId()); |
|
|
|
if (levelList.size() > 0) |
|
|
|
levelTarget = levelList.get(0).getPoints(); |
|
|
|
for (int i = 0; i<levelList.size(); i++) { |
|
|
|
WxLevelConfig levelConfig = levelList.get(i); |
|
|
|
if (userVo.getScore() >= levelConfig.getPoints()) { |
|
|
|
userVo.setLevelId(levelConfig.getId()); |
|
|
|
userVo.setLevelName(levelConfig.getLevel()); |
|
|
|
levelScore = levelConfig.getPoints(); |
|
|
|
if (i+1 < levelList.size()) |
|
|
|
levelTarget = levelList.get(i+1).getPoints(); |
|
|
|
} |
|
|
|
} |
|
|
|
WxCouponOrder wxCouponOrder = new WxCouponOrder(); |
|
|
|
wxCouponOrder.setcUserId(user.getId()); |
|
|
|
wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); |
|
|
|
userVo.setCouponOrderCount(wxCouponOrderService.queryCountTotal(wxCouponOrder)); |
|
|
|
|
|
|
|
if (levelTarget == 0) { |
|
|
|
userVo.setUpgradePercent(0); |
|
|
|
userVo.setUpgradeScore(0); |
|
|
|
} else if(levelScore == levelTarget) { |
|
|
|
userVo.setUpgradePercent(100); |
|
|
|
userVo.setUpgradeScore(0); |
|
|
|
} else { |
|
|
|
userVo.setUpgradePercent((userVo.getScore()-levelScore)*100/(levelTarget-levelScore)); |
|
|
|
userVo.setUpgradeScore(levelTarget-userVo.getScore()); |
|
|
|
} |
|
|
|
|
|
|
|
WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(user.getId()); |
|
|
|
if (wxCUserBasicInfo != null) { |
|
|
|
userVo.setName(wxCUserBasicInfo.getName()); |
|
|
|
userVo.setBirthdate(wxCUserBasicInfo.getBirthdate()); |
|
|
|
userVo.setSex(wxCUserBasicInfo.getSex()); |
|
|
|
userVo.setAddress(wxCUserBasicInfo.getAddress()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return new ResultData(userVo); |
|
|
|
} |
|
|
|
|
|
|
|
|