## 注水业绩搜单个会员报错(32);

This commit is contained in:
cabbage 2025-04-18 17:23:56 +08:00
parent 92379659a1
commit e20142917c
2 changed files with 56 additions and 51 deletions

View File

@ -7,6 +7,7 @@ import com.hzs.system.config.service.IBdServiceChargeService;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@ -21,7 +22,7 @@ import java.util.List;
public class ServiceChargeServiceProvider implements IServiceChargeServiceApi {
@Autowired
private IBdServiceChargeService serviceChargeService;
private IBdServiceChargeService iBdServiceChargeService;
/**
* @description: 根据业务类型查询扣款
@ -32,14 +33,22 @@ public class ServiceChargeServiceProvider implements IServiceChargeServiceApi {
**/
@Override
public R<ServiceChargeDTO> getServiceChargeByType(ServiceChargeDTO serviceChargeDTO) {
return R.ok(serviceChargeService.getServiceChargeByType(serviceChargeDTO));
ServiceChargeDTO dto = iBdServiceChargeService.getServiceChargeByType(serviceChargeDTO);
if (null == dto) {
// 如果没有配置业务办理手续费给一个从现金币扣款为0的
dto = ServiceChargeDTO.builder()
.cost(BigDecimal.ZERO)
.pkAccount(1)
.build();
}
return R.ok(dto);
}
@Override
public R<List<ServiceChargeDTO>> getServiceChargeByType(List<ServiceChargeDTO> serviceChargeDTOList) {
List<ServiceChargeDTO> resultList = new ArrayList<>();
for (ServiceChargeDTO serviceChargeDTO : serviceChargeDTOList) {
ServiceChargeDTO dto = serviceChargeService.getServiceChargeByType(serviceChargeDTO);
ServiceChargeDTO dto = iBdServiceChargeService.getServiceChargeByType(serviceChargeDTO);
if (null != dto) {
resultList.add(dto);
}

View File

@ -1,6 +1,6 @@
package com.hzs.system.config.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.*;
import com.hzs.common.core.enums.EAccount;
@ -30,12 +30,8 @@ import java.util.concurrent.TimeUnit;
@Service
public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount> implements IBdAccountService {
private RedisService redisService;
@Autowired
public void setRedisService(RedisService redisService) {
this.redisService = redisService;
}
private RedisService redisService;
/**
* 根据条件查找对应的币种配置
@ -72,30 +68,30 @@ public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount
**/
@Override
public List<BdAccount> queryAccountByType(Integer accountProperty, Integer pkCountry) {
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(accountProperty) && accountProperty == EAccountProperty.IS_RECHARGE.getValue()) {
queryWrapper.eq("IS_RECHARGE", EYesNo.YES.getIntValue());
queryWrapper.eq(BdAccount::getIsRecharge, EYesNo.YES.getIntValue());
}
if (StringUtils.isNotNull(accountProperty) && accountProperty == EAccountProperty.IS_TRANSFER.getValue()) {
queryWrapper.eq("IS_TRANSFER", EYesNo.YES.getIntValue());
queryWrapper.eq(BdAccount::getIsTransfer, EYesNo.YES.getIntValue());
}
if (StringUtils.isNotNull(accountProperty) && accountProperty == EAccountProperty.IS_WITHDRAWAL.getValue()) {
queryWrapper.eq("IS_WITHDRAWAL", EYesNo.YES.getIntValue());
queryWrapper.eq(BdAccount::getIsWithdrawal, EYesNo.YES.getIntValue());
}
if (StringUtils.isNotNull(accountProperty) && accountProperty == EAccountProperty.IS_ON_LINE_RECHARGE.getValue()) {
queryWrapper.eq("ON_LINE_RECHARGE", EYesNo.YES.getIntValue());
queryWrapper.eq(BdAccount::getOnLineRecharge, EYesNo.YES.getIntValue());
}
queryWrapper.eq("PK_COUNTRY", pkCountry);
queryWrapper.le("EFFECTIVE_DATE", new Date());
queryWrapper.orderByDesc("EFFECTIVE_DATE");
queryWrapper.eq(BdAccount::getPkCountry, pkCountry);
queryWrapper.le(BdAccount::getEffectiveDate, new Date());
queryWrapper.orderByDesc(BdAccount::getEffectiveDate);
return baseMapper.selectList(queryWrapper);
}
@Override
public List<BdAccount> queryAccountByType(Integer accountType, Collection<Integer> pkCountryList) {
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("field_value", accountType);
queryWrapper.in(SystemFieldConstants.PK_COUNTRY, pkCountryList);
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdAccount::getFieldValue, accountType);
queryWrapper.in(BdAccount::getPkCountry, pkCountryList);
return baseMapper.selectList(queryWrapper);
}
@ -108,11 +104,11 @@ public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount
**/
@Override
public List<BdAccount> memberAccountByType(Integer pkCountry) {
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("SHOW_STATUS", EShowStatus.SHOW.getValue());
queryWrapper.eq("PK_COUNTRY", pkCountry);
queryWrapper.le("EFFECTIVE_DATE", new Date());
queryWrapper.orderByDesc("EFFECTIVE_DATE");
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdAccount::getShowStatus, EShowStatus.SHOW.getValue());
queryWrapper.eq(BdAccount::getPkCountry, pkCountry);
queryWrapper.le(BdAccount::getEffectiveDate, new Date());
queryWrapper.orderByDesc(BdAccount::getEffectiveDate);
return baseMapper.selectList(queryWrapper);
}
@ -127,9 +123,9 @@ public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount
public BdAccount getBdAccount(Integer pkId) {
BdAccount account = redisService.getCacheObject(CacheConstants.BD_ACCOUNT + pkId);
if (account == null) {
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PK_ID", pkId);
queryWrapper.le("EFFECTIVE_DATE", DateUtils.currentDateTime());
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdAccount::getPkId, pkId);
queryWrapper.le(BdAccount::getEffectiveDate, DateUtils.currentDateTime());
account = baseMapper.selectOne(queryWrapper);
if (account != null) {
redisService.setCacheObject(CacheConstants.BD_ACCOUNT + pkId, account);
@ -147,10 +143,10 @@ public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount
**/
@Override
public BdAccount getBdAccountByFieldValue(Integer pkCountry, Integer fieldValue) {
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("FIELD_VALUE", fieldValue);
queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry);
queryWrapper.le("EFFECTIVE_DATE", DateUtils.currentDateTime());
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdAccount::getFieldValue, fieldValue);
queryWrapper.eq(BdAccount::getPkCountry, pkCountry);
queryWrapper.le(BdAccount::getEffectiveDate, DateUtils.currentDateTime());
return baseMapper.selectOne(queryWrapper);
}
@ -189,9 +185,9 @@ public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount
@Override
public BdAccount queryAccountByCondition(Integer pkCountry) {
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry);
queryWrapper.eq("ON_LINE_RECHARGE", EYesNo.YES.getIntValue());
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdAccount::getPkCountry, pkCountry);
queryWrapper.eq(BdAccount::getOnLineRecharge, EYesNo.YES.getIntValue());
List<BdAccount> bdAccountList = baseMapper.selectList(queryWrapper);
if (bdAccountList != null && bdAccountList.size() > 0) {
return bdAccountList.get(0);
@ -210,8 +206,8 @@ public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount
public Integer getPkAccount(Integer pkId) {
Integer pkAccount = redisService.getCacheObject(CacheConstants.BD_ACCOUNT_CHANGE + pkId);
if (StringUtils.isNull(pkAccount)) {
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PK_ID", pkId);
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdAccount::getPkId, pkId);
BdAccount account = baseMapper.selectOne(queryWrapper);
if (StringUtils.isNotNull(account) && StringUtils.isNotNull(account.getPkBdAccount())) {
pkAccount = account.getPkBdAccount();
@ -225,9 +221,9 @@ public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount
@Override
public BdAccount queryPostageAccount(Integer pkCountry) {
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry);
queryWrapper.eq("IS_POSTAGE", EYesNo.YES.getIntValue());
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdAccount::getPkCountry, pkCountry);
queryWrapper.eq(BdAccount::getIsPostage, EYesNo.YES.getIntValue());
List<BdAccount> bdAccountList = baseMapper.selectList(queryWrapper);
if (bdAccountList != null && bdAccountList.size() > 0) {
return bdAccountList.get(0);
@ -237,23 +233,23 @@ public class BdAccountServiceImpl extends ServiceImpl<BdAccountMapper, BdAccount
@Override
public List<BdAccount> queryBdAccount(Integer pkCountry) {
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SystemFieldConstants.ENABLE_STATE, EYesNo.YES.getIntValue());
queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry);
queryWrapper.le(SystemFieldConstants.EFFECTIVE_DATE, DateUtils.currentDateTime());
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdAccount::getEnableState, EYesNo.YES.getIntValue());
queryWrapper.eq(BdAccount::getPkCountry, pkCountry);
queryWrapper.le(BdAccount::getEffectiveDate, DateUtils.currentDateTime());
return baseMapper.selectList(queryWrapper);
}
@Override
public List<BdAccount> queryCommissionAccount(Integer pkCountry) {
if (null != pkCountry && CountryConstants.CHINA_COUNTRY == pkCountry) {
if (CountryConstants.CHINA_COUNTRY.equals(pkCountry)) {
// 2023.11.08 运营需求中国手续费为可选消费账户现金账户奖金账户
QueryWrapper<BdAccount> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry);
queryWrapper.eq(SystemFieldConstants.ENABLE_STATE, EYesNo.YES.getIntValue());
queryWrapper.le(SystemFieldConstants.EFFECTIVE_DATE, DateUtils.currentDateTime());
queryWrapper.in("FIELD_VALUE", Arrays.asList(EAccount.CONSUME.getValue(), EAccount.CASH.getValue(), EAccount.BONUS.getValue()));
queryWrapper.orderByAsc("field_value");
LambdaQueryWrapper<BdAccount> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdAccount::getPkCountry, pkCountry);
queryWrapper.eq(BdAccount::getEnableState, EYesNo.YES.getIntValue());
queryWrapper.le(BdAccount::getEffectiveDate, DateUtils.currentDateTime());
queryWrapper.in(BdAccount::getFieldValue, Arrays.asList(EAccount.CONSUME.getValue(), EAccount.CASH.getValue(), EAccount.BONUS.getValue()));
queryWrapper.orderByAsc(BdAccount::getFieldValue);
return baseMapper.selectList(queryWrapper);
}
return new ArrayList<>();