From 5ab1a38d6fb2532b26311a4e2f9fd5120227a303 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Mon, 14 Jul 2025 21:03:13 +0800
Subject: [PATCH] 地址
---
src/main/java/project/contract/internal/AdminContractOrderServiceImpl.java | 1
src/main/java/security/SecUser.java | 11 ++
src/main/java/project/user/LocalNormalReg.java | 13 ---
src/main/java/project/contract/internal/ContractOrderServiceImpl.java | 7 +
src/main/java/project/party/NormalReg.java | 10 ++
src/main/java/project/user/internal/LocalUserServiceImpl.java | 1
src/main/java/project/web/admin/impl/user/AdminUserServiceImpl.java | 113 +++++++++++++--------------
src/main/java/project/project/web/admin/AdminContractOrderController.java | 29 ++++++-
src/main/java/project/web/api/LocalUserController.java | 6 +
src/main/java/data/loadcache/WalletLoadCacheService.java | 4
src/main/java/project/web/admin/impl/user/AdminAgentServiceImpl.java | 2
11 files changed, 115 insertions(+), 82 deletions(-)
diff --git a/src/main/java/data/loadcache/WalletLoadCacheService.java b/src/main/java/data/loadcache/WalletLoadCacheService.java
index 94d634b..43b732f 100644
--- a/src/main/java/data/loadcache/WalletLoadCacheService.java
+++ b/src/main/java/data/loadcache/WalletLoadCacheService.java
@@ -26,8 +26,8 @@
private RedisHandler redisHandler;
public void loadcache() {
-// loadWallet();
-// logger.info("完成Wallet数据加载redis");
+ loadWallet();
+ logger.info("完成Wallet数据加载redis");
loadWalletExtend();
logger.info("完成WalletExtend数据加载redis");
loadExchangeRate();
diff --git a/src/main/java/project/contract/internal/AdminContractOrderServiceImpl.java b/src/main/java/project/contract/internal/AdminContractOrderServiceImpl.java
index d596320..27b0501 100644
--- a/src/main/java/project/contract/internal/AdminContractOrderServiceImpl.java
+++ b/src/main/java/project/contract/internal/AdminContractOrderServiceImpl.java
@@ -66,6 +66,7 @@
queryString.append("AND (party.USERNAME like:username OR party.USERCODE like:username ) ");
parameters.put("username","%"+username+"%");
}
+ queryString.append(" GROUP BY orders.UUID ");
queryString.append(" order by orders.CREATE_TIME desc ");
Page page = this.pagedQueryDao.pagedQuerySQL(pageNo, pageSize, queryString.toString(), parameters);
diff --git a/src/main/java/project/contract/internal/ContractOrderServiceImpl.java b/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
index d8f6f08..ab32bc6 100644
--- a/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
+++ b/src/main/java/project/contract/internal/ContractOrderServiceImpl.java
@@ -429,8 +429,11 @@
if (!StringUtils.isNullOrEmpty(endTime)) {
whereSql.append("AND DATE(CREATE_TIME)<=DATE('"+endTime+" 23:59:59') ");
}
-
- whereSql.append("ORDER BY CREATE_TIME DESC LIMIT ?,?");
+ if ("orders".equals(type)) {
+ whereSql.append("ORDER BY CREATE_TIME DESC LIMIT ?,?");
+ } else if ("hisorders".equals(type)) {
+ whereSql.append("ORDER BY CLOSE_TIME DESC LIMIT ?,?");
+ }
params.add(page.getFirstElementNumber());
params.add(pageSize);
diff --git a/src/main/java/project/party/NormalReg.java b/src/main/java/project/party/NormalReg.java
index 4e782ea..116a084 100644
--- a/src/main/java/project/party/NormalReg.java
+++ b/src/main/java/project/party/NormalReg.java
@@ -30,6 +30,7 @@
*/
protected String username;
+ private String phone;
/**
* 密码
*/
@@ -94,6 +95,15 @@
this.password = password;
}
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
public String getRolename() {
return rolename;
}
diff --git a/src/main/java/project/project/web/admin/AdminContractOrderController.java b/src/main/java/project/project/web/admin/AdminContractOrderController.java
index 41be9ab..d2941aa 100644
--- a/src/main/java/project/project/web/admin/AdminContractOrderController.java
+++ b/src/main/java/project/project/web/admin/AdminContractOrderController.java
@@ -3,11 +3,12 @@
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.MessageFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
import javax.servlet.http.HttpServletRequest;
@@ -116,7 +117,25 @@
String roleName = map.get("rolename").toString();
map.put("roleNameDesc", Constants.ROLE_MAP.containsKey(roleName) ? Constants.ROLE_MAP.get(roleName) : roleName);
}
+ Object createTimeObj = map.get("createTime");
+ ZonedDateTime berlinTime;
+ if (createTimeObj instanceof String) {
+ // 处理字符串格式 "2025-07-14T16:13:29" (ISO格式)
+ berlinTime = LocalDateTime.parse((String) createTimeObj)
+ .atZone(ZoneId.systemDefault())
+ .withZoneSameInstant(ZoneId.of("Europe/Berlin"));
+ } else if (createTimeObj instanceof LocalDateTime) {
+ // 处理 LocalDateTime 对象
+ berlinTime = ((LocalDateTime) createTimeObj)
+ .atZone(ZoneId.systemDefault())
+ .withZoneSameInstant(ZoneId.of("Europe/Berlin"));
+ } else {
+ throw new IllegalArgumentException("不支持的日期类型");
+ }
+
+ String formatted = berlinTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ map.put("createTime", formatted);
double depositOpen = Double.parseDouble(map.get("deposit_open").toString());
double leverRate = Double.parseDouble(map.get("lever_rate").toString());
double tradeAvgPrice = Double.parseDouble(map.get("trade_avg_price").toString());
diff --git a/src/main/java/project/user/LocalNormalReg.java b/src/main/java/project/user/LocalNormalReg.java
index 48be704..b86f954 100644
--- a/src/main/java/project/user/LocalNormalReg.java
+++ b/src/main/java/project/user/LocalNormalReg.java
@@ -5,20 +5,7 @@
public class LocalNormalReg extends SunLineReg {
private static final long serialVersionUID = 6591426198060900449L;
-
-
- private String phone;
-
private String em;
-
- public void setPhone(String phone){
- this.phone = phone;
- }
-
-
- public String getPhone(){
- return phone;
- }
public void seEm(String em){
diff --git a/src/main/java/project/user/internal/LocalUserServiceImpl.java b/src/main/java/project/user/internal/LocalUserServiceImpl.java
index 5e09e8f..220a2a9 100644
--- a/src/main/java/project/user/internal/LocalUserServiceImpl.java
+++ b/src/main/java/project/user/internal/LocalUserServiceImpl.java
@@ -281,6 +281,7 @@
secUser.getRoles().add(role);
secUser.setUsername(reg.getUsername());
secUser.setPassword(reg.getPassword());
+ secUser.setPhone(reg.getPhone());
this.secUserService.saveUser(secUser);
// usdt账户
diff --git a/src/main/java/project/web/admin/impl/user/AdminAgentServiceImpl.java b/src/main/java/project/web/admin/impl/user/AdminAgentServiceImpl.java
index 5698cbe..e6dcddb 100644
--- a/src/main/java/project/web/admin/impl/user/AdminAgentServiceImpl.java
+++ b/src/main/java/project/web/admin/impl/user/AdminAgentServiceImpl.java
@@ -227,7 +227,9 @@
AgentNodes nodes = new AgentNodes();
nodes.setTags(agent.getPartyId().toString());
nodes.setHref(url + "?partyId=" + agent.getPartyId().toString());
+ logger.info("-----------------agent----------"+ agent.getPartyId());
Party party = this.partyService.cachePartyBy(agent.getPartyId(),true);
+ logger.info("-----------------party----------"+party.toString());
String username = party.getUsername();
String name = party.getName();
if ((!StringUtils.isNullOrEmpty(loginPartyId)) && (!StringUtils.isNullOrEmpty(username))
diff --git a/src/main/java/project/web/admin/impl/user/AdminUserServiceImpl.java b/src/main/java/project/web/admin/impl/user/AdminUserServiceImpl.java
index fa92057..a6771bf 100644
--- a/src/main/java/project/web/admin/impl/user/AdminUserServiceImpl.java
+++ b/src/main/java/project/web/admin/impl/user/AdminUserServiceImpl.java
@@ -221,21 +221,21 @@
* 交易所_用户管理
*/
public Page exchangePagedQuery(int pageNo, int pageSize, String name_para, String rolename, String checkedPartyId, Boolean online, String loginIp_para) {
-
+
StringBuffer queryString = new StringBuffer(
- "SELECT party.UUID id, party.NAME name, party.USERNAME username, "
+ "SELECT party.UUID id, party.NAME name,su.PHONE, party.USERNAME username, "
+ " party.LOGINAUTHORITY login_authority, party.WITHDRAW_LIMIT_AMOUNT withdraw_limit_amount, party.WITHDRAW_LIMIT_NOW_AMOUNT withdraw_limit_now_amount, "
+ " party.LAST_LOGIN_TIME last_loginTime, party.ENABLED enabled, party.ROLENAME rolename, party.CREATE_TIME create_time, "
- + " party.REMARKS remarks, wallet.USDT_MONEY money, party.USERCODE usercode, "
+ + " party.REMARKS remarks, wallet.MONEY money, party.USERCODE usercode, "
+ " party_parent.USERNAME username_parent, party.LOGIN_IP login_ip, party.GIFT_USER gift_user, party.USER_LEVEL user_level, "
+ " party.REGSITER_USERCODE register_usercode"
+ " ");
-
+
queryString.append(
" FROM PAT_PARTY party LEFT JOIN PAT_USER_RECOM user ON user.PARTY_ID = party.UUID "
- + " LEFT JOIN T_WALLET_GATHER wallet ON wallet.PARTY_ID = party.UUID "
+ + " LEFT JOIN T_WALLET wallet ON wallet.PARTY_ID = party.UUID "
+ " LEFT JOIN PAT_PARTY party_parent ON user.RECO_ID = party_parent.UUID "
-
+ + " LEFT JOIN SCT_USER su ON party.UUID = su.PARTY_UUID"
+ " WHERE 1 = 1 ");
Map<String, Object> parameters = new HashMap<String, Object>();
@@ -494,34 +494,37 @@
if (money_revise == 0 || coin_type == "") {
return;
}
- WalletGatherService walletGatherService = new WalletGatherServiceImpl(jdbcTemplate,redisHandler,walletService);
- WalletGather walletGather = walletGatherService.getWalletGatherByPartyId(partyId,null);
+
if ("usdt".equals(coin_type)) {
// 交易所修改usdt
Party party = this.partyService.cachePartyBy(partyId, false);
- double amount_before = walletGather.getUsdtMoney();
- if (Arith.add(money_revise, walletGather.getUsdtMoney()) < 0.0D) {
+
+ Wallet wallet = this.walletService.saveWalletByPartyId(partyId);
+ double amount_before = wallet.getMoney();
+ if (Arith.add(money_revise, wallet.getMoney()) < 0.0D) {
throw new BusinessException("操作失败!修正后账户余额小于0。");
}
-
+
SecUser sec = this.secUserService.findUserByLoginName(operator_name);
- String sysSafeword = sec.getSafeword();
+ String sysSafeword = sec.getSafeword();
String safeword_md5 = this.passwordEncoder.encodePassword(safeword, operator_name);
if (!safeword_md5.equals(sysSafeword)) {
throw new BusinessException("资金密码错误");
}
- //修改资金账户
- walletGatherService.update(walletGather.getPartyId().toString(),coin_type,money_revise,"add");
+
+ // 更新金额
+ this.walletService.update(wallet.getPartyId().toString(), money_revise);
+
// 账变日志
MoneyLog moneyLog = new MoneyLog();
moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
moneyLog.setAmount_before(amount_before);
moneyLog.setAmount(money_revise);
- moneyLog.setAmount_after(Arith.add(walletGather.getUsdtMoney(), money_revise));
+ moneyLog.setAmount_after(Arith.add(wallet.getMoney(), money_revise));
moneyLog.setPartyId(partyId);
moneyLog.setWallettype(Constants.WALLET);
moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_RECHARGE);
-
+
// 钱包日志
WalletLog walletLog = new WalletLog();
walletLog.setCategory(Constants.MONEYLOG_CATEGORY_RECHARGE);
@@ -531,84 +534,75 @@
walletLog.setAmount(money_revise);
walletLog.setWallettype("USDT");
this.walletLogService.save(walletLog);
-
- // 操作日志
+
+ // 操作日志
Log log = new Log();
log.setCategory(Constants.LOG_CATEGORY_OPERATION);
log.setUsername(party.getUsername());
log.setOperator(operator_name);
-
+
// change----添加赠送金额
if("change".equals(reset_type)) {
-
+
// 只有正式用户才需要记录报表
if (null != party && Constants.SECURITY_ROLE_MEMBER.equals(party.getRolename())) {
this.userDataService.saveGiftMoneyHandle(partyId, money_revise);
}
-
+
log.setLog("ip:"+ip+",管理员手动添加赠送金额。修改币种[usdt],修改数量[" + money_revise + "]");
moneyLog.setLog("管理员手动添加赠送金额");
-
+
this.checkGiftUserLine(party);
}
-
+
// recharge--添加充值金额
if("recharge".equals(reset_type)) {
-
+
// 只有正式用户才需要记录报表
if (null != party && Constants.SECURITY_ROLE_MEMBER.equals(party.getRolename())) {
this.userDataService.saveRechargeHandle(partyId, money_revise, "usdt");
}
-
+
log.setLog("ip:"+ip+",管理员手动添加充值金额。修改币种[usdt],修改数量[" + money_revise + "]");
moneyLog.setLog("管理员手动添加充值金额");
}
-
+
this.moneyLogService.save(moneyLog);
this.logService.saveSync(log);
-
- // 充值到账后给他增加提现流水限制金额
+
+ // 充值到账后给他增加提现流水限制金额
party.setWithdraw_limit_amount(Arith.add(party.getWithdraw_limit_amount(), money_revise));
this.partyService.update(party);
} else {
// 交易所修改btc、eth;DAPP修改质押账户(USDT)【USDT_DAPP】;DAPP演示用户修改DAPP余额【USDT_USER】;
Party party = this.partyService.cachePartyBy(partyId, false);
-
- double amount_before = 0;
- if("btc".equals(coin_type)){
- amount_before = walletGather.getBtcMoney();
- }else if ("eth".equals(coin_type)){
- amount_before = walletGather.getEthMoney();
- }
- if (Arith.add(money_revise, amount_before) < 0.0D) {
+ WalletExtend walletExtend = this.walletService.saveExtendByPara(partyId, coin_type);
+ double amount_before = walletExtend.getAmount();
+ if (Arith.add(money_revise, walletExtend.getAmount()) < 0.0D) {
throw new BusinessException("操作失败!修正后账户余额小于0。");
}
-
+
SecUser sec = this.secUserService.findUserByLoginName(operator_name);
String sysSafeword =sec.getSafeword();
-
+
String safeword_md5 = this.passwordEncoder.encodePassword(safeword, operator_name);
if (!safeword_md5.equals(sysSafeword)) {
throw new BusinessException("资金密码错误");
}
- walletGatherService.update(walletGather.getPartyId().toString(),coin_type,money_revise,"add");
- double amount = 0;
- if("btc".equals(coin_type)){
- amount = walletGather.getBtcMoney();
- }else if ("eth".equals(coin_type)){
- amount = walletGather.getEthMoney();
- }
+
+ this.walletService.updateExtend(walletExtend.getPartyId().toString(), coin_type, money_revise);
+
// 账变日志
MoneyLog moneyLog = new MoneyLog();
moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
moneyLog.setAmount_before(amount_before);
moneyLog.setAmount(money_revise);
- moneyLog.setAmount_after(Arith.add(amount, money_revise));
+ moneyLog.setAmount_after(Arith.add(walletExtend.getAmount(), money_revise));
moneyLog.setPartyId(partyId);
moneyLog.setWallettype(coin_type.toUpperCase());
moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_RECHARGE);
-
+
// 钱包日志
WalletLog walletLog = new WalletLog();
walletLog.setCategory(Constants.MONEYLOG_CATEGORY_RECHARGE);
@@ -618,28 +612,28 @@
walletLog.setAmount(money_revise);
walletLog.setWallettype(coin_type.toUpperCase());
walletLogService.save(walletLog);
-
+
// 操作日志
// Party party = this.partyService.cachePartyBy(partyId, true);
Log log = new Log();
log.setCategory(Constants.LOG_CATEGORY_OPERATION);
log.setUsername(party.getUsername());
log.setOperator(operator_name);
-
+
// recharge--添加充值金额
if("recharge".equals(reset_type)) {
String coin_str= "";
-
+
if("USDT_DAPP".equals(coin_type)) {
coin_str="[质押账户(USDT)]";
-
+
PledgeOrder entity_before = this.pledgeOrderService.findByPartyId(partyId);
if (entity_before == null) {
-
+
PledgeConfig entity_config = this.pledgeConfigService.findById("2c948a827cd5f779017cd2322f5d0001");
PledgeOrder entity = new PledgeOrder();
-
+
entity.setPartyId(partyId);
entity.setConfig(entity_config.getConfig());
entity.setUsdt(entity_config.getUsdt());
@@ -656,29 +650,30 @@
// entity.setSendtime(this.sendtime);
entity.setCreateTime(new Date());
-
+
this.pledgeOrderService.save(entity);
- }
+ }
}
-
+
if("USDT_USER".equals(coin_type)) {
coin_str="[用户钱包USDT映射]";
}
-
+
// 只有正式用户才需要记录报表
if (null != party && Constants.SECURITY_ROLE_MEMBER.equals(party.getRolename())) {
this.userDataService.saveRechargeHandle(partyId, money_revise, coin_type);
}
-
+
log.setLog("ip:"+ip+",管理员手动添加充值金额。修改币种["+coin_type+"]"+coin_str+",修改数量[" + money_revise + "]");
moneyLog.setLog("管理员手动添加充值金额");
}
-
+
this.moneyLogService.save(moneyLog);
this.logService.saveSync(log);
}
}
+
/**
* DAPP/交易所 修改余额 减少
*/
diff --git a/src/main/java/project/web/api/LocalUserController.java b/src/main/java/project/web/api/LocalUserController.java
index aecffab..8776533 100644
--- a/src/main/java/project/web/api/LocalUserController.java
+++ b/src/main/java/project/web/api/LocalUserController.java
@@ -395,6 +395,7 @@
String verifcode = request.getParameter("verifcode");
// 注册类型:1/手机;2/邮箱;3/用户名;
String type = request.getParameter("type");
+ String phone = request.getParameter("phone").replace(" ", "");
// 资金密码选填,不填默认 000000
String safeword = request.getParameter("safeword").replace(" ", "");
String re_safeword = request.getParameter("re_safeword").replace(" ", "");
@@ -414,7 +415,9 @@
if (StringUtils.isEmptyString(username)) {
throw new BusinessException("用户名不能为空");
}
-
+ if (StringUtils.isEmptyString(phone)) {
+ throw new BusinessException("手机号不能为空");
+ }
if (StringUtils.isEmptyString(password)) {
throw new BusinessException("登录密码不能为空");
}
@@ -484,6 +487,7 @@
reg.setPassword(password);
reg.setSafeword(safeword);
reg.setReco_usercode(usercode);
+ reg.setPhone(phone);
this.localUserService.saveRegisterNoVerifcode(reg, type);
diff --git a/src/main/java/security/SecUser.java b/src/main/java/security/SecUser.java
index 8ec1c8d..2e316ef 100644
--- a/src/main/java/security/SecUser.java
+++ b/src/main/java/security/SecUser.java
@@ -27,6 +27,9 @@
@Column(name="USERNAME")
private String username;// 登陆用户名
+ @Column(name="PHONE")
+ private String phone;// 手机号
+
@Column(name="PASSWORD")
private String password;// 密码
@@ -104,6 +107,14 @@
this.username = username;
}
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
public String getPassword() {
return password;
}
--
Gitblit v1.9.3