Compare commits
2 Commits
355eb8f9f5
...
9a2332a61b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a2332a61b | ||
|
|
a2e9e1e476 |
@@ -17,11 +17,11 @@ public enum SystemConfigEnum {
|
||||
*/
|
||||
OPEN_IP_NUMBER("5", "IP每日登录次数超过多少次封",SystemConfigGroupEnum.SECURITY),
|
||||
LOGIN_ERROR_OPEN_SECURITY("2", "输入密码次数超过多少次开启图形验证码",SystemConfigGroupEnum.SECURITY),
|
||||
// TODO 新台子改默认值
|
||||
OPEN_OLD_LOGIN_API("1", "开启旧版无验证码登录接口",SystemConfigGroupEnum.SECURITY),
|
||||
OPEN_OLD_LOGIN_API("0", "开启旧版无验证码登录接口",SystemConfigGroupEnum.SECURITY),
|
||||
OPEN_OLD_REGISTER_CODE("0", "是否开启无验证码注册接口",SystemConfigGroupEnum.SECURITY, new BooleanSystemConfigCheck()),
|
||||
OPEN_IP_AUTO("1", "开启自动定时封IP",SystemConfigGroupEnum.SECURITY),
|
||||
OPEN_RESET_PASSWORD("1", "开启重置密码",SystemConfigGroupEnum.SECURITY, new BooleanSystemConfigCheck()),
|
||||
LOGIN_PASSWORD_ERROR_MAX_NUM("5", "登录输错密码上限",SystemConfigGroupEnum.SECURITY, new NumberSystemConfigCheck()),
|
||||
LOGIN_PASSWORD_ERROR_MAX_NUM("20", "登录输错密码上限",SystemConfigGroupEnum.SECURITY, new NumberSystemConfigCheck()),
|
||||
SENSITIVE_ENABLE("1", "是否开启手机号脱敏",SystemConfigGroupEnum.SECURITY,new BooleanSystemConfigCheck()),
|
||||
OPEN_CLEAN_DYNAMIC("1", "开启动态定时清除",SystemConfigGroupEnum.SECURITY,new BooleanSystemConfigCheck()),
|
||||
YUNXIN_ONLINE_ENABLE("1", "是否开启云信监控在线状态",SystemConfigGroupEnum.SECURITY,new BooleanSystemConfigCheck()),
|
||||
@@ -32,10 +32,9 @@ public enum SystemConfigEnum {
|
||||
IPV6_FILTER("0", "是否开启IPV6请求拦截",SystemConfigGroupEnum.SECURITY, new BooleanSystemConfigCheck()),
|
||||
IPV6_FILTER_PATH("/api/auth/login", "IPV6拦截路由配置(逗号分隔)",SystemConfigGroupEnum.SECURITY, new BooleanSystemConfigCheck(),"textarea"),
|
||||
VIP_PRIVATE_PLUS("0", "开启VIP隐私模式增强模式",SystemConfigGroupEnum.SECURITY,new BooleanSystemConfigCheck()),
|
||||
OPEN_ANCHOR_CHAT_COUNT("0", "开启主播主动消息统计",SystemConfigGroupEnum.SECURITY,new BooleanSystemConfigCheck()),
|
||||
OPEN_ANCHOR_CHAT_COUNT("1", "开启主播主动消息统计",SystemConfigGroupEnum.SECURITY,new BooleanSystemConfigCheck()),
|
||||
// 4-recordId拦截 5-recordId加强拦截 6-性别拦截 7-vip加强拦截
|
||||
IM_FILTER_PLUS("0", "IM拦截配置(勿动,开发配置)",SystemConfigGroupEnum.SECURITY),
|
||||
OPEN_OLD_REGISTER_CODE("0", "是否开启无验证码注册接口",SystemConfigGroupEnum.SECURITY, new BooleanSystemConfigCheck()),
|
||||
OPEN_NOTICE("1", "是否开启告警",SystemConfigGroupEnum.SECURITY, new BooleanSystemConfigCheck()),
|
||||
PAY_ERROR_NUM_NOTICE("2", "连续调用支付失败N次,发起告警",SystemConfigGroupEnum.SECURITY, new NumberSystemConfigCheck()),
|
||||
PAY_NOTIFY_ERROR_NUM_NOTICE("5", "连续调用N次支付,但是依旧未支付成功,发起告警",SystemConfigGroupEnum.SECURITY, new NumberSystemConfigCheck()),
|
||||
|
||||
@@ -51,8 +51,14 @@ public class AccountCashServiceImpl extends ServiceImpl<AccountCashMapper, Accou
|
||||
private RankAdminManager rankAdminManager;
|
||||
@Autowired
|
||||
private AccountBlackService accountBlackService;
|
||||
@Autowired
|
||||
private SystemConfigManager systemConfigManager;
|
||||
@Override
|
||||
public void withdraw(WithdrawReq res) {
|
||||
boolean openWithdraw = systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.OPEN_WITHDRAW);
|
||||
if(!openWithdraw){
|
||||
throw new ServiceException("提现失败,错误码: 800100");
|
||||
}
|
||||
AccountBankcard one = accountBankcardService.getOne(Wrappers.lambdaQuery(AccountBankcard.class)
|
||||
.eq(AccountBankcard::getUserId, res.getUserId()).last("limit 1"));
|
||||
if(one == null){
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.UserCodeGen;
|
||||
import com.ruoyi.cai.mapper.UserCodeGenMapper;
|
||||
import com.ruoyi.cai.service.UserCodeGenService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* idService业务层处理
|
||||
*
|
||||
@@ -15,10 +18,49 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class UserCodeGenServiceImpl extends ServiceImpl<UserCodeGenMapper, UserCodeGen> implements UserCodeGenService {
|
||||
|
||||
/**
|
||||
* 用户号范围:1000 到 9999999 (4-7位数字)
|
||||
*/
|
||||
private static final long MIN_USER_CODE = 1000L;
|
||||
private static final long MAX_USER_CODE = 9999999L;
|
||||
private static final int MAX_RETRY_COUNT = 10;
|
||||
|
||||
private final Random random = new Random();
|
||||
|
||||
@Override
|
||||
public String getCodeGen(){
|
||||
public String getCodeGen() {
|
||||
// 使用数据库唯一索引保证不重复 + 随机生成
|
||||
for (int i = 0; i < MAX_RETRY_COUNT; i++) {
|
||||
// 生成随机用户号
|
||||
long userCode = generateRandomUserCode();
|
||||
|
||||
try {
|
||||
// 尝试保存,如果ID重复会抛出DuplicateKeyException
|
||||
UserCodeGen gen = new UserCodeGen();
|
||||
gen.setId(userCode);
|
||||
this.save(gen);
|
||||
return userCode + "";
|
||||
} catch (Exception e) {
|
||||
// 捕获异常,说明ID重复,继续循环重试
|
||||
// 记录日志(可选)
|
||||
if (i == MAX_RETRY_COUNT - 1) {
|
||||
// 最后一次重试失败,抛出异常
|
||||
throw new RuntimeException("生成用户号失败:重试次数已达上限", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 如果随机生成多次都失败,回退到自增方式(兜底方案)
|
||||
UserCodeGen gen = new UserCodeGen();
|
||||
this.save(gen);
|
||||
return gen.getId()+"";
|
||||
return gen.getId() + "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成随机用户号(4-7位数字)
|
||||
*/
|
||||
private long generateRandomUserCode() {
|
||||
// 生成 MIN_USER_CODE 到 MAX_USER_CODE 之间的随机数
|
||||
return MIN_USER_CODE + (long) (random.nextDouble() * (MAX_USER_CODE - MIN_USER_CODE));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user