PC-202403201522\Administrator
2024-05-13 865eeb5d1b4d883ba9a70b64e4f8e3e4d271ce4d
src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -14,6 +14,8 @@
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.timeutil.DateTimeUtil;
import com.nq.utils.PropertiesUtil;
import com.nq.utils.SymmetricCryptoUtil;
@@ -45,8 +47,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,14 +132,24 @@
    @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)) {
    public ServerResponse reg(String yzmCode, String agentCode, String phone, String userPwd,String email, HttpServletRequest request) {
        if (StringUtils.isAnyBlank(agentCode,phone,userPwd,yzmCode,email)) {
            return ServerResponse.createByErrorMsg("注册失败。该参数不能为空",request);
        }
        Assert.isTrue(userMapper.selectCount(new LambdaQueryWrapper<User>().eq(User::getEmail,email)) == 0,
                "Registration failed, the mobile mail number has been registered");
        String redisCode = redisTemplate.opsForValue().get(codeUtil.KEY_PREFIX + yzmCode);
        if (redisCode == null || !yzmCode.equals(redisCode)) {
            return ServerResponse.createByErrorMsg("Verification code error");
        }
        String keys = "AliyunSmsCode:" + phone;
        String redis_yzm = RedisShardedPoolUtils.get(keys);
@@ -166,7 +180,7 @@
        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));
@@ -629,7 +643,11 @@
            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);
        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 +773,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 +784,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 +792,7 @@
        user.setIsActive(Integer.valueOf(0));
        user.setRegTime(new Date());
        user.setUserPwd(SymmetricCryptoUtil.encryptPassword(pwd));
        user.setLever("1");
        if (accountType.intValue() == 1) {
            user.setNickName("模拟用户");
        }
@@ -1124,6 +1138,14 @@
        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!");
    }
}