Просмотр исходного кода

[B端收款码支付折扣][新增]

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
2a34caa7b5
2 измененных файлов: 122 добавлений и 8 удалений
  1. +93
    -7
      mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java
  2. +29
    -1
      mallinkService/src/main/java/com/iformall/domain/vo/WxCUserVo.java

+ 93
- 7
mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java Просмотреть файл

@@ -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);
}

/**
* 用户登录
*


+ 29
- 1
mallinkService/src/main/java/com/iformall/domain/vo/WxCUserVo.java Просмотреть файл

@@ -11,10 +11,15 @@ import java.util.Date;
public class WxCUserVo extends WxCUser {

// 等级名称
private Long levelId;
private String levelName;
private Date birthdate;
private Integer sex;
private String address;
private String name;

private Integer discountRate;
private Integer amount;

public Date getBirthdate() {
return birthdate;
@@ -48,7 +53,13 @@ public class WxCUserVo extends WxCUser {
this.name = name;
}

private String name;
public Long getLevelId() {
return levelId;
}

public void setLevelId(Long levelId) {
this.levelId = levelId;
}

public String getLevelName() {
return levelName;
@@ -57,4 +68,21 @@ public class WxCUserVo extends WxCUser {
public void setLevelName(String levelName) {
this.levelName = levelName;
}


public Integer getDiscountRate() {
return discountRate;
}

public void setDiscountRate(Integer discountRate) {
this.discountRate = discountRate;
}

public Integer getAmount() {
return amount;
}

public void setAmount(Integer amount) {
this.amount = amount;
}
}

Загрузка…
Отмена
Сохранить