1
PC-202403201522\Administrator
2024-05-13 795c5608bfcaa8fb113292264a06357174fa51cb
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,36 +132,48 @@
    @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 yzmCode, String agentCode, String phone, String userPwd, String email, HttpServletRequest request) {
        if (StringUtils.isAnyBlank(agentCode, phone, userPwd, yzmCode, email)) {
            return ServerResponse.createByErrorMsg("注册失败。该参数不能为空", request);
        }
        if (userMapper.selectCount(new LambdaQueryWrapper<User>().eq(User::getEmail, email)) == 0) {
            return ServerResponse.createByErrorMsg("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);
        log.info("redis_yzm = {},yzmCode = {}", redis_yzm, yzmCode);
        if (!yzmCode.equals(redis_yzm) && !"6666".equals(yzmCode)) {
            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);
        }
@@ -166,7 +182,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));
@@ -186,26 +202,26 @@
            log.info("用户注册成功 手机 {} , ip = {} 地址 = {}", new Object[]{phone, uip, uadd});
            return ServerResponse.createBySuccessMsg("Registration successful. Please login");
        }
        return ServerResponse.createBySuccessMsg("注册错误,请重试",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 +258,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 +276,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 +287,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 +318,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 +339,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 +418,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 +438,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 +479,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 +511,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 +532,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 +583,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 +608,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,20 +631,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,"");
        if(fromType.equals("US")){
        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);
        } 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,"");
        userAssetsServices.availablebalanceChange(toType, user.getId(), EUserAssets.TRANSFER, amtBig.setScale(5, RoundingMode.HALF_DOWN), fromType + "/" + toType, "");
        return ServerResponse.createBySuccess();
    }
@@ -759,7 +769,7 @@
    }
    public ServerResponse addSimulatedAccount(Integer agentId, String phone, String pwd,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");
        }
@@ -958,7 +968,7 @@
            user.setAuthMsg(authMsg);
        }
        if(state == 2){
        if (state == 2) {
            user.setIsLock(0);
        }
        user.setIsActive(state);
@@ -1017,9 +1027,6 @@
        agentUserListVO.setIsLogin(user.getIsLogin());
        agentUserListVO.setRegAddress(user.getRegAddress());
        agentUserListVO.setIsActive(user.getIsActive());
        PositionVO positionVO = this.iUserPositionService.findUserPositionAllProfitAndLose(user.getId());
@@ -1117,12 +1124,21 @@
    }
    @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!");
    }
}