Browse Source

[POS][修改]:会员检查接口支持POS会员设置

release_toaliyun_real
Stormeye Wu 6 years ago
parent
commit
83e2fd1bb3
2 changed files with 39 additions and 25 deletions
  1. +34
    -25
      mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java
  2. +5
    -0
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java

+ 34
- 25
mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java View File

@@ -179,42 +179,51 @@ public class PosServiceImpl implements PosService {
throw new MallinkException(ErrorCode.SYS_PARAMETER_CAST_ERROR); throw new MallinkException(ErrorCode.SYS_PARAMETER_CAST_ERROR);
} }


// Level, 折扣
List<WxLevelConfig> levelList = levelConfigService.getByTenantId(tenantId);

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();
}
PosMallConfig config = posMallConfigService.getByTenantId(tenantId);
if (config == null) {
logger.error(ErrorCode.POS_CONFIG_NOT_FOUND.getMessage());
throw new MallinkException(ErrorCode.POS_CONFIG_NOT_FOUND);
} }

Integer discount = 100; Integer discount = 100;
WxLevelMerchant levelMerchant = new WxLevelMerchant();
levelMerchant.setTenantId(tenantId);
levelMerchant.setLevelId(levelId);
levelMerchant.setMerchantId(merchantId);
List<WxLevelMerchantCVo> levelMerchantList = levelConfigService.findListCVo(levelMerchant);
if (levelMerchantList.size() >= 1) {
WxLevelMerchantCVo levelMerchantCVo = levelMerchantList.get(0);
if (levelMerchantCVo != null) {
discount = levelMerchantCVo.getDiscount();
retMap.put(WxPayConstant.MEM_DISCOUNT, discount.toString());
// retMap.put("levelMerchant", levelMerchantCVo.toString());
if (config.getDiscount().equals(EnumEnableType.Enable.getCode())) {

// Level, 折扣
List<WxLevelConfig> levelList = levelConfigService.getByTenantId(tenantId);

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();
}
} }
} else {
retMap.put(WxPayConstant.MEM_DISCOUNT, "100");

WxLevelMerchant levelMerchant = new WxLevelMerchant();
levelMerchant.setTenantId(tenantId);
levelMerchant.setLevelId(levelId);
levelMerchant.setMerchantId(merchantId);
List<WxLevelMerchantCVo> levelMerchantList = levelConfigService.findListCVo(levelMerchant);
if (levelMerchantList.size() >= 1) {
WxLevelMerchantCVo levelMerchantCVo = levelMerchantList.get(0);
if (levelMerchantCVo != null) {
discount = levelMerchantCVo.getDiscount();
}
}

retMap.put(WxPayConstant.MEM_LEVEL, level);
} }


retMap.put(WxPayConstant.MEM_DISCOUNT, discount.toString());

Double remainAmountD = posAmount * 1.0D * discount / 100; Double remainAmountD = posAmount * 1.0D * discount / 100;
long remainAmount = Math.round(remainAmountD); long remainAmount = Math.round(remainAmountD);




retMap.put(WxPayConstant.MEM_ID, user.getId().toString()); retMap.put(WxPayConstant.MEM_ID, user.getId().toString());
retMap.put(WxPayConstant.MEM_PHONE, user.getPhone()); retMap.put(WxPayConstant.MEM_PHONE, user.getPhone());
retMap.put(WxPayConstant.MEM_LEVEL, level);
retMap.put(WxPayConstant.ORG_AMOUNT, posAmountStr); retMap.put(WxPayConstant.ORG_AMOUNT, posAmountStr);
retMap.put(WxPayConstant.REMAIN_AMOUNT, String.valueOf(remainAmount)); retMap.put(WxPayConstant.REMAIN_AMOUNT, String.valueOf(remainAmount));




+ 5
- 0
mallinkService/src/main/java/com/iformall/common/ErrorCode.java View File

@@ -229,6 +229,11 @@ public enum ErrorCode{
UNIFORM_SEND_FAILED(11010, "小程序统一消息发送失败"), UNIFORM_SEND_FAILED(11010, "小程序统一消息发送失败"),
USER_LOGIN_FAILED(11011, "微信用户未登录或登录有问题"), USER_LOGIN_FAILED(11011, "微信用户未登录或登录有问题"),


/**
* POS
*/
POS_CONFIG_NOT_FOUND(11100, "POS会员相关未设置"),



/** /**
* 支付 * 支付


Loading…
Cancel
Save