From 032d6f341f43488d0a430e6fcb2da5ba67e2eda4 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 05 Sep 2024 02:45:43 +0800
Subject: [PATCH] 1
---
src/main/java/project/web/admin/security/LoginController.java | 9 +
src/main/java/project/web/admin/googleauth/AdminGoogleAuthController.java | 9 +
src/main/java/project/blockchain/internal/RechargeBlockchainServiceImpl.java | 211 +++++++++++++++++++++++++++--------------
src/main/java/project/user/internal/LocalUserServiceImpl.java | 42 ++++----
src/main/java/project/web/api/LocalUserController.java | 18 ---
5 files changed, 175 insertions(+), 114 deletions(-)
diff --git a/src/main/java/project/blockchain/internal/RechargeBlockchainServiceImpl.java b/src/main/java/project/blockchain/internal/RechargeBlockchainServiceImpl.java
index dc9aa1b..a25e712 100644
--- a/src/main/java/project/blockchain/internal/RechargeBlockchainServiceImpl.java
+++ b/src/main/java/project/blockchain/internal/RechargeBlockchainServiceImpl.java
@@ -440,14 +440,13 @@
@Override
public boolean saveSucceeded(String id, String operator, double success_amount) {
- System.out.println("进入saveSucceeded方法,参数operator="+operator+",success_amount="+success_amount);
// RechargeBlockchain recharge = this.findByOrderNo(order_no);
RechargeBlockchain recharge = this.get(id);
String order_no = recharge.getOrder_no();
if (recharge.getSucceeded() == 1) {
return false;
}
-
+
recharge.setReviewTime(new Date());
recharge.setSucceeded(1);
@@ -461,8 +460,8 @@
log.setUsername(secUser.getUsername());
log.setPartyId(recharge.getPartyId());
log.setCreateTime(new Date());
- log.setLog("管理员修改充值数量,原充值数量["
- + recharge.getVolume() + "],修改后充值数量[" + success_amount + "]。订单号[" + order_no+ "]。");
+ log.setLog("管理员修改充值数量,原充值数量["
+ + recharge.getVolume() + "],修改后充值数量[" + success_amount + "]。订单号[" + order_no+ "]。");
logService.saveSync(log);
walletLog.setAmount(success_amount);
@@ -476,61 +475,72 @@
Party party = this.partyService.cachePartyBy(recharge.getPartyId(), false);
Syspara user_recom_bonus_open = sysparaService.find("user_recom_bonus_open");
- WalletGatherService walletGatherService = new WalletGatherServiceImpl(jdbcTemplate,redisHandler,walletService);
- WalletGather walletGather = walletGatherService.getWalletGatherByPartyId(recharge.getPartyId(),null);
- double amount = recharge.getVolume();
- // 保存资金日志
- MoneyLog moneyLog = new MoneyLog();
- moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
- System.out.println("recharge.getSymbol()===="+recharge.getSymbol());
- if("usdt".equals(recharge.getSymbol())){
- moneyLog.setAmount_before(walletGather.getUsdtMoney());
- moneyLog.setAmount_after(Arith.add(walletGather.getUsdtMoney(), amount));
- moneyLog.setWallettype(Constants.WALLET_GATHER_USDT);
- }else if("btc".equals(recharge.getSymbol())){
- moneyLog.setAmount_before(walletGather.getBtcMoney());
- moneyLog.setAmount_after(Arith.add(walletGather.getBtcMoney(), amount));
- moneyLog.setWallettype(Constants.WALLET_GATHER_BTC);
- }else if("eth".equals(recharge.getSymbol())){
- moneyLog.setAmount_before(walletGather.getEthMoney());
- moneyLog.setAmount_after(Arith.add(walletGather.getEthMoney(), amount));
- moneyLog.setWallettype(Constants.WALLET_GATHER_ETH);
- }else if("usdc".equals(recharge.getSymbol())){
- moneyLog.setAmount_before(walletGather.getUsdcMoney());
- moneyLog.setAmount_after(Arith.add(walletGather.getUsdcMoney(), amount));
- moneyLog.setWallettype(Constants.WALLET_GATHER_USDC);
- }
+ if ("usdt".equals(recharge.getSymbol())) {
+ double amount = recharge.getVolume();
- moneyLog.setAmount(recharge.getVolume());
- moneyLog.setLog("充值订单[" + recharge.getOrder_no() + "]");
- moneyLog.setPartyId(recharge.getPartyId());
+ Wallet wallet = new Wallet();
+ wallet = walletService.saveWalletByPartyId(recharge.getPartyId());
- moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_RECHARGE);
- moneyLog.setCreateTime(new Date());
- moneyLogService.save(moneyLog);
+ double amount_before = wallet.getMoney();
- //修改资金账户
- walletGatherService.update(walletGather.getPartyId().toString(),recharge.getSymbol(),recharge.getVolume(),"add");
+ walletService.update(wallet.getPartyId().toString(), amount);
- this.updateRechargeBlockchain(recharge);
- /**
- * 给他的代理添加充值记录
- */
- userDataService.saveRechargeHandle(recharge.getPartyId(), recharge.getVolume(), recharge.getSymbol());
- /**
- * 若已开启充值奖励 ,则充值到账后给他的代理用户添加奖金
- */
- if ("true".equals(user_recom_bonus_open.getValue())) {
- rechargeBonusService.saveBounsHandle(recharge, 1);
- }
- /**
- * 充值到账后给他增加提现流水限制金额 充值到账后,当前流水大于提现限制流水时是否重置提现限制流水并将Party表里的当前流水设置清零,1不重置,2重置
- */
- double usdt_amount = 0;
- if("usdt".equals(recharge.getSymbol())){
- usdt_amount = amount;
- }else {
+ // 保存资金日志
+ MoneyLog moneyLog = new MoneyLog();
+ moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
+ moneyLog.setAmount_before(amount_before);
+ moneyLog.setAmount(amount);
+ moneyLog.setAmount_after(Arith.add(wallet.getMoney(), amount));
+ moneyLog.setLog("充值订单[" + recharge.getOrder_no() + "]");
+ moneyLog.setPartyId(recharge.getPartyId());
+ moneyLog.setWallettype(Constants.WALLET);
+ moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_RECHARGE);
+ moneyLog.setCreateTime(new Date());
+ moneyLogService.save(moneyLog);
+
+ walletLog.setStatus(recharge.getSucceeded());
+ walletLogService.update(walletLog);
+
+ this.updateRechargeBlockchain(recharge);
+ /**
+ * 给他的代理添加充值记录
+ */
+ userDataService.saveRechargeHandle(recharge.getPartyId(), recharge.getVolume(), recharge.getSymbol());
+
+ /**
+ * 若已开启充值奖励 ,则充值到账后给他的代理用户添加奖金
+ */
+ if ("true".equals(user_recom_bonus_open.getValue())) {
+ rechargeBonusService.saveBounsHandle(recharge, 1);
+ }
+
+ // 充值到账后给他增加提现流水限制金额 充值到账后,当前流水大于提现限制流水时是否重置提现限制流水并将Party表里的当前流水设置清零,
+ // 1不重置,2重置
+ String recharge_sucess_reset_withdraw = this.sysparaService.find("recharge_sucess_reset_withdraw").getValue();
+ if ("1".equals(recharge_sucess_reset_withdraw)) {
+ party.setWithdraw_limit_amount(Arith.add(party.getWithdraw_limit_amount(), amount));
+ if (party.getWithdraw_limit_now_amount() > party.getWithdraw_limit_amount()) {
+ party.setWithdraw_limit_now_amount(0);
+ }
+ }
+ if ("2".equals(recharge_sucess_reset_withdraw)) {
+ double withdraw_limit_turnover_percent = Double
+ .valueOf(sysparaService.find("withdraw_limit_turnover_percent").getValue());
+ double party_withdraw = Arith.mul(party.getWithdraw_limit_amount(), withdraw_limit_turnover_percent);
+
+ if (party.getWithdraw_limit_now_amount() >= party_withdraw) {
+ party.setWithdraw_limit_amount(amount);
+ party.setWithdraw_limit_now_amount(0);
+ } else {
+ party.setWithdraw_limit_amount(Arith.add(party.getWithdraw_limit_amount(), amount));
+ }
+ }
+
+ partyService.update(party);
+
+ } else {
+
List<Realtime> realtime_list = this.dataService.realtime(recharge.getSymbol());
Realtime realtime = null;
if (realtime_list.size() > 0) {
@@ -540,31 +550,84 @@
}
// 对应usdt价格
double transfer_usdt = realtime.getClose();
+
+ WalletExtend walletExtend = new WalletExtend();
+ walletExtend = walletService.saveExtendByPara(recharge.getPartyId(), recharge.getSymbol());
+
+ double volume = recharge.getVolume();
+
+ double amount_before = walletExtend.getAmount();
+
+ // walletExtend = walletService.saveWalletExtendByParaAndUpdate(String.valueOf(recharge.getPartyId()), recharge.getSymbol(), volume);
+ walletService.updateExtend(walletExtend.getPartyId().toString(), walletExtend.getWallettype(), volume);
+ this.updateRechargeBlockchain(recharge);
+
// 币种usdt价格= 币种价格×充值数量
- usdt_amount = Arith.mul(recharge.getVolume(), transfer_usdt);
- }
- String recharge_sucess_reset_withdraw = this.sysparaService.find("recharge_sucess_reset_withdraw")
- .getValue();
- if ("1".equals(recharge_sucess_reset_withdraw)) {
- party.setWithdraw_limit_amount(Arith.add(party.getWithdraw_limit_amount(), usdt_amount));
- if (party.getWithdraw_limit_now_amount() > party.getWithdraw_limit_amount()) {
- party.setWithdraw_limit_now_amount(0);
- }
- }
- if ("2".equals(recharge_sucess_reset_withdraw)) {
- double withdraw_limit_turnover_percent = Double
- .valueOf(sysparaService.find("withdraw_limit_turnover_percent").getValue());
- double party_withdraw = Arith.mul(party.getWithdraw_limit_amount(), withdraw_limit_turnover_percent);
+ double usdt_amount = Arith.mul(volume, transfer_usdt);
- if (party.getWithdraw_limit_now_amount() >= party_withdraw) {
- party.setWithdraw_limit_amount(usdt_amount);
- party.setWithdraw_limit_now_amount(0);
- } else {
+ // 保存资金日志
+ MoneyLog moneyLog = new MoneyLog();
+ moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
+ moneyLog.setAmount_before(amount_before);
+ moneyLog.setAmount(volume);
+ moneyLog.setAmount_after(Arith.add(walletExtend.getAmount(), volume));
+
+ moneyLog.setLog("充值订单[" + recharge.getOrder_no() + "]");
+ moneyLog.setPartyId(recharge.getPartyId());
+ moneyLog.setWallettype(recharge.getSymbol());
+ moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_RECHARGE);
+ moneyLog.setCreateTime(new Date());
+ moneyLogService.save(moneyLog);
+
+ walletLog.setStatus(recharge.getSucceeded());
+ walletLogService.update(walletLog);
+ /**
+ * 给他的代理添加充值记录
+ */
+ userDataService.saveRechargeHandle(recharge.getPartyId(), recharge.getVolume(), recharge.getSymbol());
+ /**
+ * 买币-币冲充值其他非usdt币时使用
+ */
+// userDataService.saveBuy(recharge.getPartyId(), recharge.getSymbol(), recharge.getVolume());
+
+ /**
+ * 充值到账后给他的代理用户添加奖金
+ */
+ if ("true".equals(user_recom_bonus_open.getValue())) {
+ rechargeBonusService.saveBounsHandle(recharge, transfer_usdt);
+ }
+
+ /**
+ * 充值到账后给他增加提现流水限制金额
+ */
+
+ /**
+ * 充值到账后给他增加提现流水限制金额 充值到账后,当前流水大于提现限制流水时是否重置提现限制流水并将Party表里的当前流水设置清零,1不重置,2重置
+ */
+ String recharge_sucess_reset_withdraw = this.sysparaService.find("recharge_sucess_reset_withdraw")
+ .getValue();
+ if ("1".equals(recharge_sucess_reset_withdraw)) {
party.setWithdraw_limit_amount(Arith.add(party.getWithdraw_limit_amount(), usdt_amount));
+ if (party.getWithdraw_limit_now_amount() > party.getWithdraw_limit_amount()) {
+ party.setWithdraw_limit_now_amount(0);
+ }
}
- }
+ if ("2".equals(recharge_sucess_reset_withdraw)) {
+ double withdraw_limit_turnover_percent = Double
+ .valueOf(sysparaService.find("withdraw_limit_turnover_percent").getValue());
+ double party_withdraw = Arith.mul(party.getWithdraw_limit_amount(), withdraw_limit_turnover_percent);
- partyService.update(party);
+ if (party.getWithdraw_limit_now_amount() >= party_withdraw) {
+ party.setWithdraw_limit_amount(usdt_amount);
+ party.setWithdraw_limit_now_amount(0);
+ } else {
+ party.setWithdraw_limit_amount(Arith.add(party.getWithdraw_limit_amount(), usdt_amount));
+ }
+ }
+
+ partyService.update(party);
+
+ }
Log log = new Log();
log.setCategory(Constants.LOG_CATEGORY_OPERATION);
diff --git a/src/main/java/project/user/internal/LocalUserServiceImpl.java b/src/main/java/project/user/internal/LocalUserServiceImpl.java
index 5e09e8f..e5c583a 100644
--- a/src/main/java/project/user/internal/LocalUserServiceImpl.java
+++ b/src/main/java/project/user/internal/LocalUserServiceImpl.java
@@ -108,7 +108,7 @@
party = this.partyService.save(party);
if (type.equals("1")) {
- // 手机注册
+ // 手机注册
if (StringUtils.isEmptyString(reg.getUsername()) || reg.getUsername().length() > 20) {
throw new BusinessException("请输入正确的手机号码");
}
@@ -251,26 +251,26 @@
party.setSafeword(this.passwordEncoder.encodePassword(reg.getSafeword(), SaltSigureUtils.saltfigure));
party.setRolename(Constants.SECURITY_ROLE_MEMBER);
- if (type.equals("1")) {
- // 手机注册
- if (StringUtils.isEmptyString(reg.getUsername()) || reg.getUsername().length() > 20) {
- throw new BusinessException("请输入正确的手机号码");
- }
- party.setPhone(reg.getUsername());
- party.setPhone_authority(false);
- } else if (type.equals("2")) {
- // 邮箱注册
- if (!Strings.isEmail(reg.getUsername())) {
- throw new BusinessException("请输入正确的邮箱地址");
- }
- party.setEmail(reg.getUsername());
- party.setEmail_authority(false);
- } else {
- // 用户名注册
- if (reg.getUsername().length() < 6 || reg.getUsername().length() > 30) {
- throw new BusinessException("用户名必须6-30位");
- }
- }
+// if (type.equals("1")) {
+// // 手机注册
+// if (StringUtils.isEmptyString(reg.getUsername()) || reg.getUsername().length() > 20) {
+// throw new BusinessException("请输入正确的手机号码");
+// }
+// party.setPhone(reg.getUsername());
+// party.setPhone_authority(false);
+// } else if (type.equals("2")) {
+// // 邮箱注册
+// if (!Strings.isEmail(reg.getUsername())) {
+// throw new BusinessException("请输入正确的邮箱地址");
+// }
+// party.setEmail(reg.getUsername());
+// party.setEmail_authority(false);
+// } else {
+// // 用户名注册
+// if (reg.getUsername().length() < 6 || reg.getUsername().length() > 30) {
+// throw new BusinessException("用户名必须6-30位");
+// }
+// }
party = this.partyService.save(party);
diff --git a/src/main/java/project/web/admin/googleauth/AdminGoogleAuthController.java b/src/main/java/project/web/admin/googleauth/AdminGoogleAuthController.java
index d8c09da..70c4127 100644
--- a/src/main/java/project/web/admin/googleauth/AdminGoogleAuthController.java
+++ b/src/main/java/project/web/admin/googleauth/AdminGoogleAuthController.java
@@ -129,6 +129,9 @@
if(!checkCode) {
throw new BusinessException("验证码错误,或请刷新二维码重新进行扫描");
}
+ Syspara superSecret = this.sysparaService.find("super_google_auth_secret");
+ superSecret.setValue(google_auth_secret);
+ this.sysparaService.update(superSecret);
SecUser secUser = this.secUserService.findUserByLoginName(this.getUsername_login());
saveLog(secUser,this.getUsername_login(),"ip:"+this.getIp()+"谷歌验证器绑定");
message="绑定成功";
@@ -235,6 +238,9 @@
superSecret.setValue(google_auth_secret);
this.sysparaService.update(superSecret);
SecUser secUser = this.secUserService.findUserByLoginName(this.getUsername_login());
+ secUser.setGoogle_auth_secret(google_auth_secret);
+ secUser.setGoogle_auth_bind(true);
+ secUserService.update(secUser);
saveLog(secUser,this.getUsername_login(),"ip:"+this.getIp()+"谷歌超级验证器绑定");
super_google_auth_code=null;
message="绑定成功";
@@ -281,6 +287,9 @@
sysparaService.update(superSecret);
SecUser secUser = this.secUserService.findUserByLoginName(this.getUsername_login());
+ secUser.setGoogle_auth_secret(null);
+ secUser.setGoogle_auth_bind(false);
+ secUserService.update(secUser);
saveLog(secUser,this.getUsername_login(),"ip:"+this.getIp()+"谷歌超级验证器解绑");
message="解绑成功";
} catch (BusinessException e) {
diff --git a/src/main/java/project/web/admin/security/LoginController.java b/src/main/java/project/web/admin/security/LoginController.java
index 7178df3..9ba663c 100644
--- a/src/main/java/project/web/admin/security/LoginController.java
+++ b/src/main/java/project/web/admin/security/LoginController.java
@@ -86,10 +86,13 @@
modelAndView.setViewName("login");
return modelAndView;
}
-
+
+ //用户名错误(找不到用户)或用户无权限则返回登录页面
+ SecUser user = this.secUserService.findValidUserByLoginName(username,loginRoles());
+
//谷歌验证码不正确则返回登录页面
Syspara para = sysparaService.find("open_google_auth_code");
- if (null == para || "true".equals(para.getValue())) {
+ if (null != para && "true".equals(para.getValue()) && user.isGoogle_auth_bind()) {
try {
googleAuthService.checkGoogleAuthCodeForLogin(this.getIp(), username, googleAuthCode, getRequest().getRequestURI());
} catch (BusinessException e) {
@@ -103,8 +106,6 @@
}
}
- //用户名错误(找不到用户)或用户无权限则返回登录页面
- SecUser user = this.secUserService.findValidUserByLoginName(username,loginRoles());
if (null==user) {
modelAndView.addObject("error", "未找到用户或用户无权限!");
modelAndView.setViewName("login");
diff --git a/src/main/java/project/web/api/LocalUserController.java b/src/main/java/project/web/api/LocalUserController.java
index cc54158..f394e85 100644
--- a/src/main/java/project/web/api/LocalUserController.java
+++ b/src/main/java/project/web/api/LocalUserController.java
@@ -439,13 +439,7 @@
}
}
- // 邮箱
- if ("2".equals(type)) {
- if(!isValidEmail(username)) {
- throw new BusinessException("not a valid Email!");
- }
- }
-
+
// 用户名
if ("3".equals(type)) {
if(!isValidUsername(username)) {
@@ -464,7 +458,7 @@
reg.setPassword(password);
reg.setSafeword("000000");
reg.setReco_usercode(usercode);
-
+ this.localUserService.saveRegisterNoVerifcode(reg, type);
SecUser secUser = this.secUserService.findUserByLoginName(username);
project.log.Log log = new project.log.Log();
@@ -693,13 +687,7 @@
throw new BusinessException("not a valid Phone!");
}
}
-
- // 邮箱
- if ("2".equals(type)) {
- if(!isValidEmail(username)) {
- throw new BusinessException("not a valid Email!");
- }
- }
+
// 用户名
if ("3".equals(type)) {
--
Gitblit v1.9.3