|
|
|
@@ -4,15 +4,12 @@ package com.iformall.controller; |
|
|
|
import com.iformall.annotation.AuthIgnore; |
|
|
|
import com.iformall.common.ErrorCode; |
|
|
|
import com.iformall.common.ResultData; |
|
|
|
import com.iformall.domain.po.WxMall; |
|
|
|
import com.iformall.domain.po.WxMerchant; |
|
|
|
import com.iformall.domain.po.WxMerchantBUser; |
|
|
|
import com.iformall.domain.po.*; |
|
|
|
import com.iformall.domain.vo.WxCUserVo; |
|
|
|
import com.iformall.enums.EnumMerchantBUserStatus; |
|
|
|
import com.iformall.enums.EnumMerchantStatus; |
|
|
|
import com.iformall.interceptor.AuthorizationInterceptor; |
|
|
|
import com.iformall.service.WxMallService; |
|
|
|
import com.iformall.service.WxMerchantBUserService; |
|
|
|
import com.iformall.service.WxMerchantService; |
|
|
|
import com.iformall.service.*; |
|
|
|
import com.iformall.utils.IPUtil; |
|
|
|
import io.swagger.annotations.Api; |
|
|
|
import io.swagger.annotations.ApiOperation; |
|
|
|
@@ -27,6 +24,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; |
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
@RestController |
|
|
|
@@ -44,13 +42,22 @@ public class WxMerchantBUserController extends BaseController { |
|
|
|
@Autowired |
|
|
|
private WxMallService wxMallService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxLevelConfigService wxLevelConfigService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxCUserService wxCUserService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxCUserBasicInfoService wxCUserBasicInfoService; |
|
|
|
|
|
|
|
|
|
|
|
@ApiOperation("查寻当bUser详情接口") |
|
|
|
@GetMapping("/detail") |
|
|
|
public ResultData detail() { |
|
|
|
Map resultMap = new HashMap(); |
|
|
|
|
|
|
|
WxMerchantBUser user = wxMerchantBUserService.getById(getUser().getId()); |
|
|
|
WxMerchantBUser user = getUser(); |
|
|
|
|
|
|
|
if (user == null){ |
|
|
|
return new ResultData(ErrorCode.USER_IS_EMPTY); |
|
|
|
@@ -78,6 +85,85 @@ public class WxMerchantBUserController extends BaseController { |
|
|
|
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()); |
|
|
|
} |
|
|
|
|
|
|
|
WxLevelConfig curLConfig = null; |
|
|
|
int curDiscountRateIndex = 0; |
|
|
|
int curDiscountRate = 0; |
|
|
|
for(WxLevelConfig levelConfig: levelList) { |
|
|
|
if (userVo.getScore() >= levelConfig.getPoints()) { |
|
|
|
curLConfig = levelConfig; |
|
|
|
} |
|
|
|
} |
|
|
|
if (curLConfig != null) { |
|
|
|
userVo.setLevelId(curLConfig.getId()); |
|
|
|
userVo.setLevelName(curLConfig.getLevel()); |
|
|
|
curDiscountRateIndex = curLConfig.getDiscountEnable(); |
|
|
|
if(curLConfig.getDiscountEnable() == 0) { // 未启用等级折扣 |
|
|
|
userVo.setDiscountRate(0); // 折扣率为0 |
|
|
|
userVo.setAmount(amount); |
|
|
|
} else { |
|
|
|
// 当前商户折扣率 |
|
|
|
WxMerchant merchant = wxMerchantService.getById(bUser.getMerchantId()); |
|
|
|
if (merchant == null){ |
|
|
|
return new ResultData(ErrorCode.MCH_INFO_NOT_FOUND); |
|
|
|
} |
|
|
|
if(curDiscountRateIndex == 1) { |
|
|
|
curDiscountRate = merchant.getVipDiscountRate1(); |
|
|
|
} else if(curDiscountRateIndex == 2) { |
|
|
|
curDiscountRate = merchant.getVipDiscountRate2(); |
|
|
|
} else if(curDiscountRateIndex == 3) { |
|
|
|
curDiscountRate = merchant.getVipDiscountRate3(); |
|
|
|
} |
|
|
|
userVo.setDiscountRate(curDiscountRate); |
|
|
|
userVo.setAmount(amount*curDiscountRate/1000); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new ResultData(userVo); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 用户登录 |
|
|
|
* |
|
|
|
|