| @@ -96,74 +96,7 @@ public class WxMerchantBUserController extends BaseController { | |||||
| return new ResultData(resultMap); | return new ResultData(resultMap); | ||||
| } | } | ||||
| @GetMapping("/getUserInfo") | |||||
| @ApiOperation(value="获取用户等级及在此商户的折扣率及折扣后的金额", notes="{\"id\":\"string\", \"amount\":\"string\"}") | |||||
| public ResultData getDiscountRate(@RequestBody Map<String, String> map) { | |||||
| WxMerchantBUser bUser = getUser(); | |||||
| List<WxLevelConfig> levelList = wxLevelConfigService.getByTenantId(bUser.getTenantId()); | |||||
| String idStr = map.get("id"); | |||||
| String amountStr = map.get("amount"); | |||||
| if (StringUtils.isBlank(idStr)) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "id不能为空"); | |||||
| } | |||||
| if (StringUtils.isBlank(amountStr)) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "amount不能为空"); | |||||
| } | |||||
| Long id = Long.valueOf(idStr); | |||||
| Integer amount = Integer.valueOf(amountStr) * 100; // 元->分 | |||||
| WxCUserBasicInfo userInfo = null; | |||||
| WxCUser user = wxCUserService.getById(id); | |||||
| if(user == null) { | |||||
| userInfo = wxCUserBasicInfoService.getById(id); | |||||
| } | |||||
| if(user == null && userInfo == null) { | |||||
| logger.error("C端用户不存在"); | |||||
| return new ResultData(ErrorCode.USER_IS_EMPTY); | |||||
| } | |||||
| WxCUserVo userVo = new WxCUserVo(); | |||||
| if(user != null) { | |||||
| org.springframework.beans.BeanUtils.copyProperties(user, userVo); | |||||
| } else if(userInfo != null) { | |||||
| userVo.setId(userInfo.getId()); | |||||
| userVo.setName(userInfo.getName()); | |||||
| userVo.setScore(userInfo.getPoins()); | |||||
| } | |||||
| String level = WxLevelConfigService.DEFAULT_LEVEL; | |||||
| Long levelId = 0L; | |||||
| for(WxLevelConfig levelConfig: levelList) { | |||||
| if (user.getScore() >= levelConfig.getPoints()) { | |||||
| if(levelConfig.getDiscountEnable().equals(EnumLevelConfigDiscountStatus.ENABLE.getCode())) | |||||
| levelId = levelConfig.getId(); | |||||
| level = levelConfig.getLevel(); | |||||
| } | |||||
| } | |||||
| userVo.setLevelId(levelId); | |||||
| userVo.setLevelName(level); | |||||
| WxLevelMerchant levelMerchant = new WxLevelMerchant(); | |||||
| levelMerchant.setLevelId(levelId); | |||||
| levelMerchant.setMerchantId(bUser.getMerchantId()); | |||||
| List<WxLevelMerchantCVo> levelMerchantList = wxLevelConfigService.findListCVo(levelMerchant); | |||||
| if (levelMerchantList.size() > 0) { | |||||
| WxLevelMerchantCVo l = levelMerchantList.get(0); | |||||
| userVo.setDiscountRate(l.getDiscount()); | |||||
| userVo.setAmount(amount*l.getDiscount()/WxLevelConfigService.DEFAULT_MERCHANT_DISCOUNT); | |||||
| } else { | |||||
| userVo.setDiscountRate(WxLevelConfigService.DEFAULT_MERCHANT_DISCOUNT); // 折扣率为0 | |||||
| userVo.setAmount(amount); | |||||
| } | |||||
| return new ResultData(userVo); | |||||
| } | |||||
| /** | /** | ||||
| * 用户登录 | * 用户登录 | ||||