游戏薪资转赠统一国家代理
This commit is contained in:
@@ -28,8 +28,12 @@ import com.accompany.core.enumeration.CurrencyEnum;
|
||||
import com.accompany.core.enumeration.I18nAlertEnum;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.RegionInfo;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.region.RegionInfoService;
|
||||
import com.accompany.core.util.I18NMessageSourceUtil;
|
||||
import com.accompany.payment.service.RechargeUserService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.redisson.api.RLock;
|
||||
import org.redisson.api.RedissonClient;
|
||||
@@ -48,6 +52,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static com.accompany.common.constant.Constant.GLOBAL_CODE;
|
||||
import static com.accompany.core.enumeration.BillObjTypeEnum.GAME_RECE_USD_IN;
|
||||
|
||||
@Service
|
||||
@@ -77,6 +82,10 @@ public class GameUsdOperateService {
|
||||
private GameUsdProdService gameUsdProdService;
|
||||
@Autowired
|
||||
private SendSysMsgService sendSysMsgService;
|
||||
@Autowired
|
||||
private RechargeUserService rechargeUserService;
|
||||
@Autowired
|
||||
private RegionInfoService regionInfoService;
|
||||
|
||||
|
||||
public BusiResult receiveGameUsd(Long uid, Long guildMemberId, String statDate, Double usd) throws InterruptedException {
|
||||
@@ -193,6 +202,18 @@ public class GameUsdOperateService {
|
||||
throw new ServiceException(BusiStatus.PARAMETERILLEGAL);
|
||||
}
|
||||
} else if (GameUsdOperateTypeEnum.USD_TO_RECHARGE_USER.equals(typeEnum)) {
|
||||
List<String> regionCodeList = rechargeUserService.regionCodeList(targetUid);
|
||||
if (CollectionUtils.isEmpty(regionCodeList)) {
|
||||
throw new ServiceException(BusiStatus.RECHARGE_REGION_SALARY_LIMIT);
|
||||
}
|
||||
Optional.ofNullable(u.getRegionId())
|
||||
.map(regionInfoService::getById)
|
||||
.map(RegionInfo::getCode)
|
||||
.ifPresent(regionCode -> {
|
||||
if (!regionCodeList.contains(GLOBAL_CODE) && !regionCodeList.contains(regionCode)) {
|
||||
throw new ServiceException(BusiStatus.RECHARGE_REGION_SALARY_LIMIT);
|
||||
}
|
||||
});
|
||||
gameUsdToRechargeUserLimitService.validUsdToRechargeUser(guildMember, targetUid, gameUsdNum);
|
||||
} else if (GameUsdOperateTypeEnum.OWNER_USD_WITHDRAW.equals(typeEnum) || GameUsdOperateTypeEnum.MEMBER_USD_WITHDRAW.equals(typeEnum)) {
|
||||
gameUsdToRechargeUserLimitService.validUsdWithdraw(guildMember);
|
||||
|
@@ -22,8 +22,10 @@ import com.accompany.common.utils.StringUtils;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.model.RegionInfo;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.partition.PartitionInfoService;
|
||||
import com.accompany.core.service.region.RegionInfoService;
|
||||
import com.accompany.payment.service.RechargeUserService;
|
||||
import com.accompany.payment.vo.RechargeUserVo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -73,6 +75,8 @@ public class GameUsdService {
|
||||
private PartitionInfoService partitionInfoService;
|
||||
@Autowired
|
||||
private GameUsdToRechargeUserLimitService guildUsdToRechargeUserLimitService;
|
||||
@Autowired
|
||||
private RegionInfoService regionInfoService;
|
||||
|
||||
public GuildGameSalaryVo getGameUsdInfo(Long uid, String monthDate) {
|
||||
GuildMember guildMember = guildMemberService.getVaildGuildMemberByUid(uid);
|
||||
@@ -288,7 +292,10 @@ public class GameUsdService {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
List<RechargeUserVo> rechargeUserVoList = rechargeUserService.listByPartitionIdByGuildTab(u.getPartitionId());
|
||||
RegionInfo regionInfo = regionInfoService.getById(u.getRegionId());
|
||||
String regionCode = regionInfo == null ? null : regionInfo.getCode();
|
||||
|
||||
List<RechargeUserVo> rechargeUserVoList = rechargeUserService.listByPartitionIdByGuildTab(u.getPartitionId(), regionCode);
|
||||
if (org.springframework.util.CollectionUtils.isEmpty(rechargeUserVoList)){
|
||||
return rechargeUserVoList;
|
||||
}
|
||||
|
Reference in New Issue
Block a user