From c0b9a0978838536d21eeb4ab3ae5f29fa0d5dcc9 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 05 Jun 2024 15:36:46 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/UserServiceImpl.java | 329 +++++++++++++++++++++++++++++++++---------------------
1 files changed, 203 insertions(+), 126 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index 672a312..40b2251 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -5,6 +5,8 @@
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
import com.nq.common.ServerResponse;
import com.nq.config.StockPoll;
import com.nq.dao.*;
@@ -14,6 +16,9 @@
import com.nq.pojo.reponse.RUserAssets;
import com.nq.service.*;
import com.nq.utils.UserPointUtil;
+import com.nq.utils.email.CodeUtil;
+import com.nq.utils.email.EmailService;
+import com.nq.utils.redis.RedisKeyConstant;
import com.nq.utils.timeutil.DateTimeUtil;
import com.nq.utils.PropertiesUtil;
import com.nq.utils.SymmetricCryptoUtil;
@@ -32,12 +37,16 @@
import com.nq.vo.stock.StockListVO;
import com.nq.vo.user.UserInfoVO;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -45,8 +54,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
@Service("iUserService")
public class UserServiceImpl implements IUserService {
@@ -128,45 +139,45 @@
@Resource
ApplyLeverMapper applyLeverMapper;
+ @Autowired
+ EmailService emailService;
+ @Autowired
+ CodeUtil codeUtil;
+ @Autowired
+ private StringRedisTemplate redisTemplate;
-
- public ServerResponse reg(String yzmCode, String agentCode, String phone, String userPwd, HttpServletRequest request) {
- if (StringUtils.isBlank(agentCode) || StringUtils.isBlank(phone) ||
- StringUtils.isBlank(userPwd) || StringUtils.isBlank(yzmCode)) {
- return ServerResponse.createByErrorMsg("注册失败。该参数不能为空",request);
+ public ServerResponse reg(String agentCode, String phone,String phoneCode, String userPwd, HttpServletRequest request) {
+ if (StringUtils.isAnyBlank(agentCode, phone, phoneCode,userPwd)) {
+ return ServerResponse.createByErrorMsg("注册失败。该参数不能为空", request);
}
-
-
- String keys = "AliyunSmsCode:" + phone;
- String redis_yzm = RedisShardedPoolUtils.get(keys);
-
- log.info("redis_yzm = {},yzmCode = {}", redis_yzm, yzmCode);
- if (!yzmCode.equals(redis_yzm) && !"6666".equals(yzmCode)) {
- return ServerResponse.createByErrorMsg("由于验证码不正确,注册失败。过程",request);
+ String code = RedisShardedPoolUtils.get(RedisKeyConstant.SMS_CODE + phone);
+ if(!phoneCode.equals("333888") && !code.equals(phoneCode)){
+ return ServerResponse.createByErrorMsg("由于验证码不正确,注册失败。",request);
}
-
-
AgentUser agentUser = this.iAgentUserService.findByCode(agentCode);
if (agentUser == null) {
- return ServerResponse.createByErrorMsg("由于代理不存在,注册失败",request);
+ return ServerResponse.createByErrorMsg("由于代理不存在,注册失败", request);
}
if (agentUser.getIsLock().intValue() == 1) {
- return ServerResponse.createByErrorMsg("注册失败。代理被锁定",request);
+ return ServerResponse.createByErrorMsg("注册失败。代理被锁定", request);
}
-
- User dbuser = this.userMapper.selectOne(new LambdaQueryWrapper<User>().eq(User::getPhone,phone).last( " limit 1"));
+ User dbuser = this.userMapper.selectOne(new LambdaQueryWrapper<User>().eq(User::getPhone, phone).last(" limit 1"));
if (dbuser != null) {
- return ServerResponse.createByErrorMsg("注册失败,手机号已注册",request);
+ return ServerResponse.createByErrorMsg("注册失败,手机号已注册", request);
}
+ //去掉手机号国家区号
+ if (phone.startsWith("91")) {
+ phone = phone.substring(2);
+ }
User user = new User();
user.setAgentId(agentUser.getId());
user.setAgentName(agentUser.getAgentName());
user.setPhone(phone);
user.setUserPwd(SymmetricCryptoUtil.encryptPassword(userPwd));
-
+// user.setEmail(email);
user.setAccountType(Integer.valueOf(0));
user.setIsLock(Integer.valueOf(1));
@@ -185,27 +196,28 @@
if (insertCount > 0) {
log.info("用户注册成功 手机 {} , ip = {} 地址 = {}", new Object[]{phone, uip, uadd});
return ServerResponse.createBySuccessMsg("Registration successful. Please login");
+ }else{
+ return ServerResponse.createByErrorMsg("注册失败,请重试", request);
}
- return ServerResponse.createBySuccessMsg("注册错误,请重试",request);
}
public ServerResponse login(String phone, String userPwd, HttpServletRequest request) {
if (StringUtils.isBlank(phone) || StringUtils.isBlank(userPwd)) {
- return ServerResponse.createByErrorMsg("手机号码和密码不能为空",request);
+ return ServerResponse.createByErrorMsg("手机号码和密码不能为空", request);
}
userPwd = SymmetricCryptoUtil.encryptPassword(userPwd);
User user = this.userMapper.login(phone, userPwd);
if (user != null) {
if (user.getIsLogin().intValue() == 1) {
- return ServerResponse.createByErrorMsg("登录失败。账户锁定",request);
+ return ServerResponse.createByErrorMsg("登录失败。账户锁定", request);
}
- userAssetsServices.assetsByTypeAndUserId(EStockType.US.getCode(),user.getId());
- userAssetsServices.assetsByTypeAndUserId(EStockType.IN.getCode(),user.getId());
+ userAssetsServices.assetsByTypeAndUserId(EStockType.US.getCode(), user.getId());
+ userAssetsServices.assetsByTypeAndUserId(EStockType.IN.getCode(), user.getId());
this.iSiteLoginLogService.saveLog(user, request);
return ServerResponse.createBySuccess(user);
}
- return ServerResponse.createByErrorMsg("登录失败,用户名和密码错误",request);
+ return ServerResponse.createByErrorMsg("登录失败,用户名和密码错误", request);
}
@@ -242,12 +254,12 @@
String stockcode = code;
StockOption dboption = this.stockOptionMapper.findMyOptionIsExistByCode(user.getId(), stockcode);
if (dboption != null) {
- return ServerResponse.createByErrorMsg("未能添加所选股票,因为它已经存在",request );
+ return ServerResponse.createByErrorMsg("未能添加所选股票,因为它已经存在", request);
}
//期货逻辑
Stock stock = this.stockMapper.findStockByCode(code);
if (stock == null) {
- return ServerResponse.createByErrorMsg("添加失败,库存不存在",request );
+ return ServerResponse.createByErrorMsg("添加失败,库存不存在", request);
}
StockOption stockOption = new StockOption();
stockOption.setUserId(user.getId());
@@ -260,9 +272,9 @@
int insertCount = this.stockOptionMapper.insert(stockOption);
if (insertCount > 0) {
- return ServerResponse.createBySuccessMsg("添加自选股票成功",request );
+ return ServerResponse.createBySuccessMsg("添加自选股票成功", request);
}
- return ServerResponse.createByErrorMsg("添加失败,请重试",request );
+ return ServerResponse.createByErrorMsg("添加失败,请重试", request);
}
@@ -271,13 +283,13 @@
String stockcode = code;
StockOption dboption = this.stockOptionMapper.findMyOptionIsExistByCode(user.getId(), stockcode);
if (dboption == null) {
- return ServerResponse.createByErrorMsg("删除失败,因为自选股票不存在",request);
+ return ServerResponse.createByErrorMsg("删除失败,因为自选股票不存在", request);
}
int delCount = this.stockOptionMapper.deleteByPrimaryKey(dboption.getId());
if (delCount > 0) {
- return ServerResponse.createBySuccessMsg("删除自选成功",request);
+ return ServerResponse.createBySuccessMsg("删除自选成功", request);
}
- return ServerResponse.createByErrorMsg("删除自选失败",request);
+ return ServerResponse.createByErrorMsg("删除自选失败", request);
}
@@ -302,15 +314,15 @@
.eq(ApplyLever::getState, 1)
.orderByDesc(ApplyLever::getCreateTime)
.last(" limit 1"));
- if(null == applyLever || applyLever.getLever().equals("1")){
+ if (null == applyLever || applyLever.getLever().equals("1")) {
userInfoVO.setSiteLever("1");
- }else{
+ } else {
userInfoVO.setSiteLever(leverSplit(applyLever.getLever()));
}
return ServerResponse.createBySuccess(userInfoVO);
}
- public String leverSplit(String lever){
+ public String leverSplit(String lever) {
String levers = "1/2/5/10";
String[] parts = levers.split("/");
int index = Arrays.asList(parts).indexOf(lever);
@@ -323,21 +335,21 @@
public ServerResponse updatePwd(String oldPwd, String newPwd, HttpServletRequest request) {
if (StringUtils.isBlank(oldPwd) || StringUtils.isBlank(newPwd)) {
- return ServerResponse.createByErrorMsg("该参数不能为空",request);
+ return ServerResponse.createByErrorMsg("该参数不能为空", request);
}
User user = getCurrentRefreshUser(request);
oldPwd = SymmetricCryptoUtil.encryptPassword(oldPwd);
if (!oldPwd.equals(user.getUserPwd())) {
- return ServerResponse.createByErrorMsg("密码错误",request);
+ return ServerResponse.createByErrorMsg("密码错误", request);
}
user.setUserPwd(SymmetricCryptoUtil.encryptPassword(newPwd));
int updateCount = this.userMapper.updateById(user);
if (updateCount > 0) {
- return ServerResponse.createBySuccessMsg("修改成功",request);
+ return ServerResponse.createBySuccessMsg("修改成功", request);
}
- return ServerResponse.createByErrorMsg("修改失败",request);
+ return ServerResponse.createByErrorMsg("修改失败", request);
}
@@ -402,13 +414,13 @@
if (StringUtils.isBlank(realName) ||
StringUtils.isBlank(idCard)) {
- return ServerResponse.createByErrorMsg("该参数不能为空",request);
+ return ServerResponse.createByErrorMsg("该参数不能为空", request);
}
User user = getCurrentRefreshUser(request);
if (((0 != user.getIsActive().intValue())) & ((3 != user.getIsActive().intValue()))) {
- return ServerResponse.createByErrorMsg("当前状态无法验证",request);
+ return ServerResponse.createByErrorMsg("当前状态无法验证", request);
}
user.setImg1Key(img1key);
user.setImg2Key(img2key);
@@ -422,9 +434,9 @@
int updateCount = this.userMapper.updateById(user);
if (updateCount > 0) {
- return ServerResponse.createBySuccessMsg("实名认证",request);
+ return ServerResponse.createBySuccessMsg("实名认证", request);
}
- return ServerResponse.createByErrorMsg("实名认证失败",request);
+ return ServerResponse.createByErrorMsg("实名认证失败", request);
}
@@ -463,14 +475,14 @@
@Override
public ServerResponse getMoney(HttpServletRequest request) {
- return getMoney(getCurrentUser(request).getId());
+ return getMoney(getCurrentUser(request).getId());
}
@Override
public ServerResponse getMoney(Integer userId) {
- List<UserAssets> userAssetsList = userAssetsServices.assetsByUserId(userId);
- List<RUserAssets> rUserAssetsList = new ArrayList<>();
- int s= 4;
+ List<UserAssets> userAssetsList = userAssetsServices.assetsByUserId(userId);
+ List<RUserAssets> rUserAssetsList = new ArrayList<>();
+ int s = 4;
/**
* 浮动盈亏
* */
@@ -495,8 +507,8 @@
* 总手续费
* */
BigDecimal allHMoney = BigDecimal.ZERO;
- for (int i = 0; i <userAssetsList.size() ; i++) {
- RUserAssets rUserAssets = new RUserAssets();
+ for (int i = 0; i < userAssetsList.size(); i++) {
+ RUserAssets rUserAssets = new RUserAssets();
UserAssets userAssets = userAssetsList.get(i);
// 浮动盈亏
BigDecimal profitAndLose = userAssets.getProfitAndLoss();
@@ -516,48 +528,47 @@
rUserAssets.setIsZf(userAssets.getIsZf());
rUserAssets.setAmountToBeCovered(userAssets.getAmountToBeCovered().toString());
BigDecimal rate = rateServices.currencyRate(
- EStockType.getEStockTypeByCode(userAssets.getAccectType()),EStockType.US);
+ EStockType.getEStockTypeByCode(userAssets.getAccectType()), EStockType.US);
- BigDecimal availableBalanceUSD = amt;
- if(amt.compareTo(BigDecimal.ZERO)>0){
+ BigDecimal availableBalanceUSD = amt;
+ if (amt.compareTo(BigDecimal.ZERO) > 0) {
availableBalanceUSD = amt.multiply(rate);
}
- BigDecimal freezeMoneyUSD = freeMoney;
- if(freeMoney.compareTo(BigDecimal.ZERO)>0){
- freezeMoneyUSD = freeMoney.multiply(rate);
+ BigDecimal freezeMoneyUSD = freeMoney;
+ if (freeMoney.compareTo(BigDecimal.ZERO) > 0) {
+ freezeMoneyUSD = freeMoney.multiply(rate);
}
- BigDecimal totleMoneyUSD = totalAssets;
- if(totalAssets.compareTo(BigDecimal.ZERO)>0){
- totleMoneyUSD = totleMoneyUSD.multiply(rate);
+ BigDecimal totleMoneyUSD = totalAssets;
+ if (totalAssets.compareTo(BigDecimal.ZERO) > 0) {
+ totleMoneyUSD = totleMoneyUSD.multiply(rate);
}
- BigDecimal cumulativeProfitAndLossUSD = hProfitAndLose;
- if(hProfitAndLose.compareTo(BigDecimal.ZERO)>0){
+ BigDecimal cumulativeProfitAndLossUSD = hProfitAndLose;
+ if (hProfitAndLose.compareTo(BigDecimal.ZERO) > 0) {
cumulativeProfitAndLossUSD = hProfitAndLose.multiply(rate);
}
- BigDecimal handlingChargeUSD = hMoney;
- if(hMoney.compareTo(BigDecimal.ZERO)>0){
- handlingChargeUSD =hMoney.multiply(rate);
+ BigDecimal handlingChargeUSD = hMoney;
+ if (hMoney.compareTo(BigDecimal.ZERO) > 0) {
+ handlingChargeUSD = hMoney.multiply(rate);
}
- BigDecimal profitAndLossUSD = profitAndLose;
- if(profitAndLose.compareTo(BigDecimal.ZERO)>0){
- profitAndLossUSD =profitAndLose.multiply(rate);
+ BigDecimal profitAndLossUSD = profitAndLose;
+ if (profitAndLose.compareTo(BigDecimal.ZERO) > 0) {
+ profitAndLossUSD = profitAndLose.multiply(rate);
}
-
- rUserAssets.setAvailableBalanceUSD(availableBalanceUSD.setScale(s,BigDecimal.ROUND_UP).toString());
- rUserAssets.setFreezeMoneyUSD(freezeMoneyUSD.setScale(s,BigDecimal.ROUND_UP).toString());
- rUserAssets.setTotalMoneyUSD(totleMoneyUSD.setScale(s,BigDecimal.ROUND_UP).toString());
+ rUserAssets.setAvailableBalanceUSD(availableBalanceUSD.setScale(s, BigDecimal.ROUND_UP).toString());
+ rUserAssets.setFreezeMoneyUSD(freezeMoneyUSD.setScale(s, BigDecimal.ROUND_UP).toString());
+ rUserAssets.setTotalMoneyUSD(totleMoneyUSD.setScale(s, BigDecimal.ROUND_UP).toString());
rUserAssets.setSymbol(EStockType.getEStockTypeByCode(userAssets.getAccectType()).getSymbol1());
rUserAssets.setSymbolCode(EStockType.getEStockTypeByCode(userAssets.getAccectType()).getSymbol());
- rUserAssets.setCumulativeProfitAndLossUSD(cumulativeProfitAndLossUSD.setScale(s,BigDecimal.ROUND_UP).toString());
- rUserAssets.setHandlingChargeUSD(handlingChargeUSD.setScale(s,BigDecimal.ROUND_UP).toString());
- rUserAssets.setProfitAndLossUSD(profitAndLossUSD.setScale(s,BigDecimal.ROUND_UP).toString());
- rUserAssets.setProfitAndLoss(getProfitAndLose(userId,userAssets.getAccectType()).toString());
+ rUserAssets.setCumulativeProfitAndLossUSD(cumulativeProfitAndLossUSD.setScale(s, BigDecimal.ROUND_UP).toString());
+ rUserAssets.setHandlingChargeUSD(handlingChargeUSD.setScale(s, BigDecimal.ROUND_UP).toString());
+ rUserAssets.setProfitAndLossUSD(profitAndLossUSD.setScale(s, BigDecimal.ROUND_UP).toString());
+ rUserAssets.setProfitAndLoss(getProfitAndLose(userId, userAssets.getAccectType()).toString());
BigDecimal decimal = new BigDecimal(rUserAssets.getTotalMoney()).add(new BigDecimal(rUserAssets.getProfitAndLoss()));
rUserAssets.setTotalMoney(decimal.toString());
AllProfitAndLose = AllProfitAndLose.add(profitAndLossUSD);
@@ -568,29 +579,24 @@
allHMoney = allHMoney.add(handlingChargeUSD);
-
-
-
rUserAssetsList.add(rUserAssets);
}
-
-
- RUserAssets rUserAssets = new RUserAssets();
+ RUserAssets rUserAssets = new RUserAssets();
rUserAssets.setAccectType("ALL");
- rUserAssets.setProfitAndLoss(AllProfitAndLose.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setProfitAndLossUSD(AllProfitAndLose.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setHandlingCharge(allHMoney.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setHandlingChargeUSD(allHMoney.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setCumulativeProfitAndLoss(AllHProfitAndLose.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setCumulativeProfitAndLossUSD(AllHProfitAndLose.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setTotalMoney(allTotalAssets.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setTotalMoneyUSD(allTotalAssets.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setAvailableBalance(allAmt.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setAvailableBalanceUSD(allAmt.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setFreezeMoney(allFreeMoney.setScale(s,BigDecimal.ROUND_DOWN).toString());
- rUserAssets.setFreezeMoneyUSD(allFreeMoney.setScale(s,BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setProfitAndLoss(AllProfitAndLose.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setProfitAndLossUSD(AllProfitAndLose.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setHandlingCharge(allHMoney.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setHandlingChargeUSD(allHMoney.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setCumulativeProfitAndLoss(AllHProfitAndLose.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setCumulativeProfitAndLossUSD(AllHProfitAndLose.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setTotalMoney(allTotalAssets.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setTotalMoneyUSD(allTotalAssets.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setAvailableBalance(allAmt.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setAvailableBalanceUSD(allAmt.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setFreezeMoney(allFreeMoney.setScale(s, BigDecimal.ROUND_DOWN).toString());
+ rUserAssets.setFreezeMoneyUSD(allFreeMoney.setScale(s, BigDecimal.ROUND_DOWN).toString());
rUserAssets.setSymbol("$");
rUserAssets.setSymbolCode("USD");
rUserAssetsList.add(rUserAssets);
@@ -598,11 +604,11 @@
return ServerResponse.createBySuccess(rUserAssetsList);
}
- public BigDecimal getProfitAndLose(Integer userId,String accectType){
+ public BigDecimal getProfitAndLose(Integer userId, String accectType) {
List<UserPosition> userPositions;
userPositions = userPositionMapper.
findMyPositionByCodeAndSpell(userId,
- "","",
+ "", "",
0, accectType);
@@ -621,16 +627,20 @@
}
@Override
- public ServerResponse transfer(String fromType, String toType, String amt,HttpServletRequest request) {
- User user = userService.getCurrentUser(request);
- UserAssets formAssets = userAssetsServices.assetsByTypeAndUserId(fromType,user.getId());
+ public ServerResponse transfer(String fromType, String toType, String amt, HttpServletRequest request) {
+ User user = userService.getCurrentUser(request);
+ UserAssets formAssets = userAssetsServices.assetsByTypeAndUserId(fromType, user.getId());
BigDecimal amtBig = new BigDecimal(amt);
- if(formAssets.getAvailableBalance().compareTo(amtBig)<0){
- return ServerResponse.createByErrorMsg("余额不足",request);
+ if (formAssets.getAvailableBalance().compareTo(amtBig) < 0) {
+ return ServerResponse.createByErrorMsg("余额不足", request);
}
- userAssetsServices.availablebalanceChange(fromType,user.getId(), EUserAssets.TRANSFER,amtBig.negate(),fromType+"/"+toType,"");
- amtBig = rateServices.currencyRate(EStockType.getEStockTypeByCode(fromType),EStockType.getEStockTypeByCode(toType)).multiply(amtBig);
- userAssetsServices.availablebalanceChange(toType,user.getId(),EUserAssets.TRANSFER,amtBig.setScale(5,RoundingMode.HALF_DOWN),fromType+"/"+toType,"");
+ userAssetsServices.availablebalanceChange(fromType, user.getId(), EUserAssets.TRANSFER, amtBig.negate(), fromType + "/" + toType, "");
+ if (fromType.equals("US")) {
+ amtBig = (new BigDecimal(83.5)).multiply(amtBig);
+ } else {
+ amtBig = rateServices.currencyRate(EStockType.getEStockTypeByCode(fromType), EStockType.getEStockTypeByCode(toType)).multiply(amtBig);
+ }
+ userAssetsServices.availablebalanceChange(toType, user.getId(), EUserAssets.TRANSFER, amtBig.setScale(5, RoundingMode.HALF_DOWN), fromType + "/" + toType, "");
return ServerResponse.createBySuccess();
}
@@ -755,7 +765,7 @@
}
- public ServerResponse addSimulatedAccount(Integer agentId, String phone, String pwd, String amt, Integer accountType, HttpServletRequest request) {
+ public ServerResponse addSimulatedAccount(Integer agentId, String phone, String pwd, Integer accountType, HttpServletRequest request) {
if (StringUtils.isBlank(phone) || StringUtils.isBlank(pwd)) {
return ServerResponse.createByErrorMsg("The parameter cannot be null");
}
@@ -766,11 +776,6 @@
return ServerResponse.createByErrorMsg("The phone number is registered");
}
-
- if ((new BigDecimal(amt)).compareTo(new BigDecimal("200000")) == 1) {
- return ServerResponse.createByErrorMsg("The phone number is registered");
- }
- amt = "0"; //代理后台添加用户时金额默认为0
User user = new User();
user.setAccountType(accountType);
user.setPhone(phone);
@@ -779,6 +784,7 @@
user.setIsActive(Integer.valueOf(0));
user.setRegTime(new Date());
user.setUserPwd(SymmetricCryptoUtil.encryptPassword(pwd));
+ user.setLever("1");
if (accountType.intValue() == 1) {
user.setNickName("模拟用户");
}
@@ -798,10 +804,10 @@
}
- public ServerResponse listByAdmin(String realName, String phone, Integer agentId, Integer accountType, int pageNum, int pageSize, HttpServletRequest request) {
+ public ServerResponse listByAdmin(String realName, String phone, Integer agentId, Integer accountType, int pageNum, int pageSize, String id, HttpServletRequest request) {
PageHelper.startPage(pageNum, pageSize);
- List<User> users = this.userMapper.listByAdmin(realName, phone, agentId, accountType);
+ List<User> users = this.userMapper.listByAdmin(realName, phone, agentId, accountType, id);
PageInfo pageInfo = new PageInfo(users);
@@ -958,7 +964,7 @@
user.setAuthMsg(authMsg);
}
- if(state == 2){
+ if (state == 2) {
user.setIsLock(0);
}
user.setIsActive(state);
@@ -1017,10 +1023,8 @@
agentUserListVO.setIsLogin(user.getIsLogin());
agentUserListVO.setRegAddress(user.getRegAddress());
agentUserListVO.setIsActive(user.getIsActive());
-
-
-
-
+ agentUserListVO.setImg1Key(user.getImg1Key());
+ agentUserListVO.setImg2Key(user.getImg2Key());
PositionVO positionVO = this.iUserPositionService.findUserPositionAllProfitAndLose(user.getId());
BigDecimal allProfitAndLose = positionVO.getAllProfitAndLose();
@@ -1117,13 +1121,86 @@
}
@Override
- public ServerResponse getMoenyLog(String type,HttpServletRequest request) {
+ public ServerResponse getMoenyLog(String type, HttpServletRequest request) {
User user = getCurrentUser(request);
- QueryWrapper<MoneyLog> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("type",type);
- queryWrapper.eq("user_id",user.getId());
- return ServerResponse.createBySuccess(mapper.selectList(queryWrapper));
+ QueryWrapper<MoneyLog> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("type", type);
+ queryWrapper.eq("user_id", user.getId());
+ return ServerResponse.createBySuccess(mapper.selectList(queryWrapper));
}
+ @Override
+ public ServerResponse sendMailCode(String MailCode) {
+ if (MailCode == null || MailCode.equals("")) {
+ return ServerResponse.createByErrorMsg("The mobile mail number and password cannot be empty");
+ }
+ emailService.sendSimpleMail(MailCode, "barclays register code", codeUtil.generateVerificationCode());
+ return ServerResponse.createBySuccessMsg("send code success!");
+ }
+
+ @Override
+ public ServerResponse sendSms(String phone, HttpServletRequest request) throws Exception {
+ String message = "Your verification code is:";
+ String code = generateVerificationCode();
+ message += code;
+ String rcode = RedisShardedPoolUtils.get(RedisKeyConstant.SMS_CODE+phone+code);
+ if(rcode !=null ){
+ ServerResponse.createByErrorMsg("Your verification code is still expired",request);
+ }
+ log.info("开始发送短信【国际】:" + phone + "----" + message);
+ String urlString = "http://190.92.213.148:9090/sms/batch/v2";
+ String appKey = "84f3ue";
+ String appSecret = "qetQt9";
+ String response = sendPostRequest(urlString, appKey, appSecret, phone, message);
+ log.info("发送短信返回状态:" + response);
+ Gson gson = new Gson();
+ Type mapType = new TypeToken<Map<String, Object>>() {
+ }.getType();
+ Map<String, Object> map = gson.fromJson(response, mapType);
+ if (map.get("code").equals("00000")) {
+ RedisShardedPoolUtils.setEx(RedisKeyConstant.SMS_CODE+"91"+phone,code,3000);
+ }
+ return ServerResponse.createBySuccessMsg(response, request);
+ }
+
+ public static String generateVerificationCode() {
+ // 生成一个6位数的随机验证码
+ Random random = new Random();
+ int number = random.nextInt(900000) + 100000; // 生成100000到999999之间的随机数
+ return String.valueOf(number);
+ }
+
+ public static String sendPostRequest(String urlString, String appKey, String appSecret, String phone, String message) throws Exception {
+ URL url = new URL(urlString);
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+
+ // 设置请求方法为POST
+ connection.setRequestMethod("POST");
+ connection.setDoOutput(true);
+
+ // 构造请求参数
+ StringBuilder postData = new StringBuilder();
+ postData.append("appkey=").append(URLEncoder.encode(appKey, "UTF-8"));
+ postData.append("&appsecret=").append(URLEncoder.encode(appSecret, "UTF-8"));
+ postData.append("&phone=").append(URLEncoder.encode(phone, "UTF-8"));
+ postData.append("&msg=").append(URLEncoder.encode(message, "UTF-8"));
+
+ // 发送请求
+ try (OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream())) {
+ writer.write(postData.toString());
+ writer.flush();
+ }
+
+ // 读取响应
+ StringBuilder response = new StringBuilder();
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
+ String line;
+ while ((line = reader.readLine()) != null) {
+ response.append(line);
+ }
+ }
+
+ return response.toString();
+ }
}
--
Gitblit v1.9.3