Helius
2020-07-15 03933c40b54b7b9e344da7d3097d72308531020e
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -1,11 +1,13 @@
package com.xcong.excoin.modules.member.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xcong.excoin.common.entity.FebsResponse;
import com.xcong.excoin.common.entity.QueryRequest;
import com.xcong.excoin.modules.Sms106Send;
import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto;
import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity;
import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
@@ -34,6 +36,7 @@
import lombok.RequiredArgsConstructor;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -44,6 +47,8 @@
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -51,6 +56,7 @@
 * @author wzy
 * @date 2020-06-10
 **/
@Slf4j
@Service
@RequiredArgsConstructor
public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberEntity> implements IMemberService {
@@ -79,6 +85,47 @@
      Page<AgentFriendRelationEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<AgentFriendRelationEntity> findmemberQuickBuySaleListInPage = agentFriendRelationMapper.findAgentFriendRelationListInPage(page, agentFriendRelationEntity);
      List<AgentFriendRelationEntity> records = findmemberQuickBuySaleListInPage.getRecords();
      List<AgentFriendRelationEntity> arraylist = new ArrayList<>();
      if(records != null && records.size() > 0) {
         for(AgentFriendRelationEntity agentFriendRelation : records) {
            String inviteId = agentFriendRelation.getInviteId();
            if("90457646".equals(inviteId)) {
               //该邀请码下的所有代理
               Map<String, Object> columnMap = new HashMap<>();
               columnMap.put("referer_id", "90457646");
               List<AgentFriendRelationEntity> selectByMap = agentFriendRelationMapper.selectByMap(columnMap);
               if(selectByMap != null && selectByMap.size() > 0) {
                  int i = 1;
                  for(AgentFriendRelationEntity agentFriendRelationEntityTeam : selectByMap){
                     agentFriendRelationEntityTeam.setTeam(i+"");
                     arraylist.add(agentFriendRelationEntityTeam);
                     String inviteIdTeam = agentFriendRelationEntityTeam.getInviteId();
                     // 当前邀请码下的所有代理MemberID
                     List<AgentFriendRelationEntity> lowLevelList = agentFriendRelationMapper.selectAgentFriendRelationByMap(inviteIdTeam);
                     if(lowLevelList != null && lowLevelList.size() > 0) {
                        for(AgentFriendRelationEntity lowLevelAgentFriendRelationEntity: lowLevelList) {
                           lowLevelAgentFriendRelationEntity.setTeam(i+"");
                           arraylist.add(lowLevelAgentFriendRelationEntity);
                        }
                     }
                     i++;
                  }
               }
            }
            if(arraylist != null && arraylist.size() > 0) {
               for(AgentFriendRelationEntity teamagentFriendRelationEntity : arraylist) {
                  if(inviteId.equals(teamagentFriendRelationEntity.getInviteId())) {
                     String team = teamagentFriendRelationEntity.getTeam();
                     agentFriendRelation.setTeam(team);
                  }
               }
            }
         }
      }
      
      if(records != null && records.size() > 0) {
         for(AgentFriendRelationEntity agentFriendRelation : records) {
@@ -140,7 +187,16 @@
    @Override
    public IPage<MemberEntity> findMemberListInPage(MemberEntity memberEntity, QueryRequest request) {
        Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.baseMapper.selectMemberListInPage(page, memberEntity);
        IPage<MemberEntity> selectMemberListInPage = this.baseMapper.selectMemberListInPage(page, memberEntity);
        List<MemberEntity> records = selectMemberListInPage.getRecords();
        if(records != null && records.size() > 0) {
           for(MemberEntity memberEntitys : records) {
              String firstName = (memberEntitys.getFirstName() == null ? "" : memberEntitys.getFirstName());
              String secondName = (memberEntitys.getSecondName() == null ? "" : memberEntitys.getSecondName());
              memberEntitys.setRealName(firstName+secondName);
           }
        }
        return selectMemberListInPage;
    }
   @Override
@@ -345,7 +401,17 @@
   public IPage<MemberCoinWithdrawVo> findmemberWithdrawCoinListInPage(
         MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) {
      Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findmemberWithdrawCoinListInPage(page, memberCoinWithdrawEntity);
      List<MemberCoinWithdrawVo> records = findmemberQuickBuySaleListInPage.getRecords();
      if(records != null && records.size() > 0) {
         for(MemberCoinWithdrawVo memberCoinWithdrawVo : records) {
            BigDecimal amount = memberCoinWithdrawVo.getAmount();
            BigDecimal feeAmount = memberCoinWithdrawVo.getFeeAmount();
            BigDecimal subtract = amount.subtract(feeAmount);
            memberCoinWithdrawVo.setRealAmount(subtract);
         }
      }
        return findmemberQuickBuySaleListInPage;
   }
@@ -405,21 +471,27 @@
         memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
      }
      
      MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
      memberAccountMoneyChangeEntity.setContent("提币");
      memberAccountMoneyChangeEntity.setMemberId(memberId);
      memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
      Map<String, Object> columnMaps = new HashMap<>();
      columnMaps.put("withdraw_id", selectById.getId());
      List<MemberAccountMoneyChangeEntity> selectByMap2 = memberAccountMoneyChangeMapper.selectByMap(columnMaps);
      MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = selectByMap2.get(0);
      memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
      memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol());
      memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
      memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy());
        memberAccountMoneyChangeEntity.setCreateTime(new Date());
        memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy());
        memberAccountMoneyChangeEntity.setUpdateTime(new Date());
      memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
      memberAccountMoneyChangeEntity.setAmount(selectById.getAmount().negate());
      memberAccountMoneyChangeMapper.updateById(memberAccountMoneyChangeEntity);
      
      selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_Y);
      memberCoinWithdrawMapper.updateById(selectById);
      MemberEntity memberEntity = memberMapper.selectById(memberId);
      String phone = memberEntity.getPhone();
      //String email = memberEntity.getEmail();
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String time = format.format(new Date()); // 将当前时间袼式化为指定的格式
      log.info("---->{}", phone);
      if(StrUtil.isNotBlank(phone)) {
         Sms106Send.sendWithdrawalCoinMsg(phone, time);
      }
      /**
      //短信提醒
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
@@ -446,7 +518,7 @@
      // 查询币币钱包
      MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol);
      
      BigDecimal available = walletCoin.getAvailableBalance().add(selectById.getAmount()).add(selectById.getFeeAmount());
      BigDecimal available = walletCoin.getAvailableBalance().add(selectById.getAmount());
      walletCoin.setAvailableBalance(available);
      BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount());
      walletCoin.setFrozenBalance(frozen);
@@ -454,18 +526,14 @@
      memberWalletCoinMapper.updateById(walletCoin);
      
      // 提币退款记录
      MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
      memberAccountMoneyChangeEntity.setContent("提币");
      memberAccountMoneyChangeEntity.setMemberId(memberId);
      memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
      Map<String, Object> columnMaps = new HashMap<>();
      columnMaps.put("withdraw_id", selectById.getId());
      List<MemberAccountMoneyChangeEntity> selectByMap2 = memberAccountMoneyChangeMapper.selectByMap(columnMaps);
      MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = selectByMap2.get(0);
      memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_FAIL_INTEGER);
      memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol());
      memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
      memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy());
        memberAccountMoneyChangeEntity.setCreateTime(new Date());
        memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy());
        memberAccountMoneyChangeEntity.setUpdateTime(new Date());
      memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
      memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
      memberAccountMoneyChangeMapper.updateById(memberAccountMoneyChangeEntity);
      
      selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_N);
      memberCoinWithdrawMapper.updateById(selectById);
@@ -527,8 +595,10 @@
      String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealData();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealData();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForBasicRealData();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForBasicRealData();
      //币币账户不为空的人数