xiaoyong931011
2021-05-06 15683ad5fd166be758483db028deb499e8435bf5
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -13,24 +13,8 @@
import com.xcong.excoin.modules.Sms106Send;
import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto;
import com.xcong.excoin.modules.member.dto.MemberLimitDto;
import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity;
import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
import com.xcong.excoin.modules.member.entity.MemberAuthenticationEntity;
import com.xcong.excoin.modules.member.entity.MemberCoinAddressEntity;
import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity;
import com.xcong.excoin.modules.member.entity.MemberCoinWithdrawEntity;
import com.xcong.excoin.modules.member.entity.MemberEntity;
import com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
import com.xcong.excoin.modules.member.mapper.AgentFriendRelationMapper;
import com.xcong.excoin.modules.member.mapper.MemberAccountMoneyChangeMapper;
import com.xcong.excoin.modules.member.mapper.MemberAuthenticationMapper;
import com.xcong.excoin.modules.member.mapper.MemberCoinAddressMapper;
import com.xcong.excoin.modules.member.mapper.MemberCoinChargeMapper;
import com.xcong.excoin.modules.member.mapper.MemberCoinWithdrawMapper;
import com.xcong.excoin.modules.member.mapper.MemberMapper;
import com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper;
import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper;
import com.xcong.excoin.modules.member.entity.*;
import com.xcong.excoin.modules.member.mapper.*;
import com.xcong.excoin.modules.member.service.EthService;
import com.xcong.excoin.modules.member.service.IMemberService;
import com.xcong.excoin.modules.member.service.RocService;
@@ -89,6 +73,8 @@
   private final AgentFriendRelationMapper agentFriendRelationMapper;
   private final RedisUtils redisUtils;
   private final TdFinancialReordDao tdFinancialReordDao;
   private final TdCoinChargeDao tdCoinChargeDao;
   @Override
   public IPage<AgentFriendRelationEntity> findAgentInfoListInPage(AgentFriendRelationEntity agentFriendRelationEntity,
@@ -219,7 +205,7 @@
    }
   @Override
   @Transactional(rollbackFor = Exception.class)
   @Transactional
   public FebsResponse memberChargeUsdtConfirm(Long id) {
      
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
@@ -276,7 +262,7 @@
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   @Transactional
   public FebsResponse memberChargeUsdtCancel(@NotNull(message = "{required}") Long id) {
      
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
@@ -302,7 +288,7 @@
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   @Transactional
   public FebsResponse memberExtractUsdtCancel(@NotNull(message = "{required}") Long id) {
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
      
@@ -346,7 +332,7 @@
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   @Transactional
   public FebsResponse memberExtractUsdtConfirm(@NotNull(message = "{required}") Long id) {
      
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
@@ -433,7 +419,7 @@
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   @Transactional
   public FebsResponse memberWithdrawCoinConfirm(@NotNull(message = "{required}") Long id) throws ExecutionException, InterruptedException {
      
      MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id);
@@ -441,15 +427,19 @@
      String symbol = selectById.getSymbol();
      String address = selectById.getAddress();
      int status = selectById.getStatus();
      BigDecimal feeAmount = selectById.getFeeAmount();
      if(feeAmount==null){
         feeAmount = BigDecimal.ZERO;
      }
      BigDecimal amount = selectById.getAmount();
      if(status != 1) {
         return new FebsResponse().fail().message("只有等待审核的状态才能确认!");
      }
      // 转币 需要扣除手续费
      amount = amount.subtract(selectById.getFeeAmount());
      if("ROC".equals(symbol) && !"Y".equals(selectById.getIsInside())){
      if("SER".equals(symbol) && !"Y".equals(selectById.getIsInside())){
         // 如果是ROC  则自动转
         String transfer = RocService.transfer(amount, address, "ROC");
         String transfer = RocService.transfer(amount, address, "SER");
         if(!"success".equals(transfer)){
            FebsResponse febsResponse = new FebsResponse();
            return  febsResponse.fail().message(transfer);
@@ -534,7 +524,37 @@
//            usdtStr = usdtStr.substring(0, usdtStr.lastIndexOf("."));
//         }
//         String s = ethService.tokenSend(address, usdtStr, null);
      }
          // 判断是不是到交易所的
          MemberCoinAddressEntity coinAddressEntity = memberCoinAddressMapper.selectSuanliWallet(address);
          if(coinAddressEntity!=null){
             // 是的
             Long walletId = coinAddressEntity.getId();
             // 插入充值记录
             TdFinancialReord financialReord = new TdFinancialReord();
             financialReord.setAmount(amount);
             financialReord.setTitle("USDT链上充值");
             financialReord.setContent("USDT链上充值");
             financialReord.setSymbol(symbol);
             financialReord.setCreateTime(new Date());
             financialReord.setMemId(coinAddressEntity.getMemberId());
             tdFinancialReordDao.insert(financialReord);
             // 插入冲币记录
             TdCoinCharge tdCoinCharge = new TdCoinCharge();
             tdCoinCharge.setAddress(address);
             tdCoinCharge.setAmount(amount);
             tdCoinCharge.setMemberId(coinAddressEntity.getMemberId());
             tdCoinCharge.setSymbol("USDT");
             tdCoinCharge.setTag("ERC20");
             tdCoinCharge.setTransHash("");
             tdCoinCharge.setCreateTime(new Date());
             tdCoinCharge.setLastAmount(amount);
             tdCoinCharge.setStatus(1);
             tdCoinChargeDao.insert(tdCoinCharge);
             // 更新钱包
             memberCoinAddressMapper.updateSuanliWallet(walletId,amount);
          }
       }
      /**
      //短信提醒
@@ -549,7 +569,7 @@
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   @Transactional
   public FebsResponse memberWithdrawCoinCancel(@NotNull(message = "{required}") Long id) {
      
      MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id);
@@ -594,7 +614,7 @@
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   @Transactional
   public FebsResponse memberDetailConfirm(@Valid MemberDetailConfirmDto memberDetailConfirmDto) {
      Long id = memberDetailConfirmDto.getId();
      MemberEntity selectById = memberMapper.selectById(id);
@@ -767,7 +787,7 @@
   
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"USDT");
       String totalAmountUsdtBRoc = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"ROC");
       String totalAmountUsdtBRoc = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"SER");
       memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
       memberInfoDetailVo.setChargeCoinRoc(totalAmountUsdtBRoc == null ? 0 : Double.parseDouble(totalAmountUsdtBRoc));
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
@@ -804,7 +824,7 @@
      
      //账户金额
      String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT");
      String walletNumRoc = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"ROC");
      String walletNumRoc = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"SER");
      memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
      memberInfoDetailVo.setWalletCoinNumRoc(walletNumRoc == null ? 0 : Double.parseDouble(walletNumRoc));
      //String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
@@ -1332,7 +1352,7 @@
      //USDT充币总额+USDT提币总额
      String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"USDT");
      String totalAmountUsdtBRoc = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"ROC");
      String totalAmountUsdtBRoc = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"SER");
      memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
      memberInfoDetailVo.setChargeCoinRoc(totalAmountUsdtBRoc == null ? 0 : Double.parseDouble(totalAmountUsdtBRoc));
      String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
@@ -1369,7 +1389,7 @@
      //账户金额
      String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT");
      String walletNumRoc = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"ROC");
      String walletNumRoc = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"SER");
      memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
      memberInfoDetailVo.setWalletCoinNumRoc(walletNumRoc == null ? 0 : Double.parseDouble(walletNumRoc));
      //String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);