| @@ -67,6 +67,9 @@ public class WxUserGrantController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| WxAppinfoService wxAppinfoService; | WxAppinfoService wxAppinfoService; | ||||
| @Autowired | |||||
| WxMerchantService wxMerchantService; | |||||
| /** | /** | ||||
| * 用户登录 | * 用户登录 | ||||
| * @param map | * @param map | ||||
| @@ -558,4 +561,51 @@ public class WxUserGrantController extends BaseController { | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| /** | |||||
| * 获取用户折扣率 | |||||
| * @return | |||||
| */ | |||||
| @PostMapping("/getDiscount") | |||||
| @ApiOperation(value = "获取用户折扣率", notes="") | |||||
| public ResultData updateUserInfo(@RequestBody WxMerchant wxMerchant) { | |||||
| if (wxMerchant == null) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| WxCUser user = getUser(); | |||||
| WxCUserVo userVo = new WxCUserVo(); | |||||
| org.springframework.beans.BeanUtils.copyProperties(user, userVo); | |||||
| if (userVo.getScore() == null || userVo.getScore() == 0) { | |||||
| userVo.setLevelName("无"); | |||||
| userVo.setDiscountRate(10000); // 无折扣 | |||||
| } else { | |||||
| Integer levelConfigDiscount = null; | |||||
| List<WxLevelConfig> levelList = wxLevelConfigService.getByTenantId(user.getTenantId()); | |||||
| for(WxLevelConfig levelConfig: levelList) { | |||||
| if (userVo.getScore() >= levelConfig.getPoints()) { | |||||
| userVo.setLevelId(levelConfig.getId()); | |||||
| userVo.setLevelName(levelConfig.getLevel()); | |||||
| levelConfigDiscount = levelConfig.getDiscountEnable(); | |||||
| } | |||||
| } | |||||
| if(levelConfigDiscount > 0) { | |||||
| // 用户折扣率 | |||||
| WxMerchant merchant = wxMerchantService.getById(wxMerchant.getId()); | |||||
| if(merchant != null) { | |||||
| if(levelConfigDiscount.equals(1)) { // first level | |||||
| userVo.setDiscountRate(merchant.getVipDiscountRate1()); | |||||
| } else if(levelConfigDiscount.equals(2)) { // second level | |||||
| userVo.setDiscountRate(merchant.getVipDiscountRate2()); | |||||
| } else if(levelConfigDiscount.equals(3)) { // third level | |||||
| userVo.setDiscountRate(merchant.getVipDiscountRate3()); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| return new ResultData(userVo); | |||||
| } | |||||
| } | } | ||||