xiaoyong931011
2020-07-19 89ea0131d4b147a9df696e4408cd0209427ac839
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;
@@ -29,11 +31,13 @@
import com.xcong.excoin.modules.member.vo.MemberCoinChargeVo;
import com.xcong.excoin.modules.member.vo.MemberCoinWithdrawVo;
import com.xcong.excoin.modules.member.vo.MemberDataInfoVo;
import com.xcong.excoin.modules.member.vo.MemberInfoDetailVo;
import com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo;
import com.xcong.excoin.modules.member.vo.MemberQuickSaleVo;
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 +48,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 +57,7 @@
 * @author wzy
 * @date 2020-06-10
 **/
@Slf4j
@Service
@RequiredArgsConstructor
public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberEntity> implements IMemberService {
@@ -181,7 +188,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
@@ -386,7 +402,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;
   }
@@ -457,6 +483,16 @@
      
      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");
@@ -529,9 +565,13 @@
         selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_Y);
      }else {
         selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_N);
         Map<String, Object> columnMap = new HashMap<>();
         columnMap.put("member_id", selectById);
         memberAuthenticationMapper.deleteByMap(columnMap);
      }
      selectById.setIdcardNo(memberAuthenticationEntity.getIdcardNo());
      memberMapper.updateById(selectById);
      return new FebsResponse().success();
   }
@@ -560,8 +600,10 @@
      String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealData();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealData();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForBasicRealData();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForBasicRealData();
      //币币账户不为空的人数
@@ -668,4 +710,101 @@
      return new FebsResponse().success();
   }
   @Override
   public MemberInfoDetailVo selectMemberInfoDetailById(long id) {
      MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id);
      Long memberId = selectById.getMemberId();
      MemberInfoDetailVo memberInfoDetailVo = new MemberInfoDetailVo();
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId);
       memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
       memberInfoDetailVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
       //USDT充值总额+USDT提现总额
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealDataBymemberId(memberId);
       memberInfoDetailVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealDataBymemberId(memberId);
       memberInfoDetailVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
       //总剩余
       double platformProfitAndLoss = 0 ;
       platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
       platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
       platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
       platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
       memberInfoDetailVo.setTotalCoin(platformProfitAndLoss);
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealDataBymemberId(memberId);
      memberInfoDetailVo.setFee(returnMoneyByMid == null ? 0 : Double.parseDouble(returnMoneyByMid));
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealDataBymemberId(memberId);
      memberInfoDetailVo.setClosingPrice(closingpriceByMid == null ? 0 : Double.parseDouble(closingpriceByMid));
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealDataBymemberId(memberId);
      memberInfoDetailVo.setSellClosingPrice(sellClosingpriceByMid == null ? 0 : Double.parseDouble(sellClosingpriceByMid));
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymemberId(memberId);
      memberInfoDetailVo.setPlatformProfitAndLoss(rewardratioByMid == null ? 0 : Double.parseDouble(rewardratioByMid));
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForBasicRealDataBymemberId(memberId);
      memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
      //账户金额
      String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId);
      memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
      String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
      memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
      String agentNum = memberMapper.selectDLZCForBasicRealDataBymemberId(memberId);
      memberInfoDetailVo.setAgentNum(agentNum == null ? 0 : Double.parseDouble(agentNum));
      return memberInfoDetailVo;
   }
   @Override
   public IPage<MemberCoinChargeVo> findmemberApplyCoinAloneInPage(MemberCoinChargeEntity memberCoinChargeEntity,
         QueryRequest request) {
      Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findmemberApplyCoinAloneInPage(page, memberCoinChargeEntity);
        return findmemberQuickBuySaleListInPage;
   }
   @Override
   public IPage<MemberCoinWithdrawVo> findMemberWithdrawCoinAloneInPage(
         MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) {
      Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findMemberWithdrawCoinAloneInPage(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;
   }
   @Override
   public IPage<MemberEntity> findMemberAloneInPage(MemberEntity member, QueryRequest request) {
        Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<MemberEntity> selectMemberListInPage = this.baseMapper.findMemberAloneInPage(page, member);
        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;
    }
}