From 112c87e11abf35916aec7ffa4841a9c82ffad96c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 07 Jul 2020 19:25:59 +0800
Subject: [PATCH] 20200707 代码提交
---
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 566 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 564 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
index 332c400..66030ec 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -1,27 +1,589 @@
package com.xcong.excoin.modules.member.service.impl;
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.member.dto.MemberDetailConfirmDto;
+import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity;
+import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
+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.service.IMemberService;
-import org.springframework.stereotype.Service;
+import com.xcong.excoin.modules.member.vo.MemberAuthenticationVo;
+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.MemberQuickBuySaleVo;
+import com.xcong.excoin.modules.member.vo.MemberQuickSaleVo;
+import lombok.RequiredArgsConstructor;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
import java.util.Map;
+import java.util.Set;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
/**
* @author wzy
* @date 2020-06-10
**/
@Service
+@RequiredArgsConstructor
public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberEntity> implements IMemberService {
-
+
+ private final MemberMapper memberMapper;
+
+ private final MemberQuickBuySaleMapper memberQuickBuySaleMapper;
+
+ private final MemberWalletCoinMapper memberWalletCoinMapper;
+
+ private final MemberAccountMoneyChangeMapper memberAccountMoneyChangeMapper;
+
+ private final MemberCoinChargeMapper memberCoinChargeMapper;
+
+ private final MemberCoinWithdrawMapper memberCoinWithdrawMapper;
+
+ private final MemberCoinAddressMapper memberCoinAddressMapper;
+
+ private final MemberAuthenticationMapper memberAuthenticationMapper;
+
+ private final AgentFriendRelationMapper agentFriendRelationMapper;
+
+ @Override
+ public IPage<AgentFriendRelationEntity> findAgentInfoListInPage(AgentFriendRelationEntity agentFriendRelationEntity,
+ QueryRequest request) {
+ Page<AgentFriendRelationEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<AgentFriendRelationEntity> findmemberQuickBuySaleListInPage = agentFriendRelationMapper.findAgentFriendRelationListInPage(page, agentFriendRelationEntity);
+ List<AgentFriendRelationEntity> records = findmemberQuickBuySaleListInPage.getRecords();
+
+ if(records != null && records.size() > 0) {
+ for(AgentFriendRelationEntity agentFriendRelation : records) {
+ List<String> arrayList = new ArrayList<>();
+ String inviteId = agentFriendRelation.getInviteId();
+ String inviteIdCZ = null;
+ String inviteIdTX = null;
+ String inviteIdSY = null;
+ // 当前邀请码下的所有代理MemberID
+ List<AgentFriendRelationEntity> lowLevelList = agentFriendRelationMapper.selectAgentFriendRelationByMap(inviteId);
+
+ List<String> memberLevel = memberMapper.selectMemberBylowLevelInviteId(inviteId);
+ arrayList.addAll(memberLevel);
+ if(lowLevelList != null && lowLevelList.size() > 0) {
+ for(AgentFriendRelationEntity lowLevelMemberId : lowLevelList) {
+ Long memberId = lowLevelMemberId.getMemberId();
+ arrayList.add(memberId.toString());
+ List<String> memberlowLevel = memberMapper.selectMemberBylowLevelInviteId(lowLevelMemberId.getInviteId());
+ arrayList.addAll(memberlowLevel);
+ }
+ Set<String> set = new HashSet<>();
+ List<String> newList = new ArrayList<>();
+ set.addAll(arrayList);
+ newList.addAll(set);
+ //获取对应的充值提现
+ double czNumber = 0;
+ double txNumber = 0;
+ if(newList != null && newList.size() > 0) {
+ agentFriendRelation.setPromotionNumber(newList.size());
+ for(String memberId : newList) {
+ //充币
+ String selectCBByMemberId = memberCoinChargeMapper.selectCBByMemberId(memberId);
+ //充值
+ String selectCZByMemberI = memberQuickBuySaleMapper.selectCZByMemberId(memberId);
+ //提币
+ String selectTBByMemberId = memberCoinWithdrawMapper.selectTBByMemberId(memberId);
+ //提现
+ String selectTXByMemberId = memberQuickBuySaleMapper.selectTXByMemberId(memberId);
+
+ czNumber = czNumber + (selectCBByMemberId == null ? 0 : Double.parseDouble(selectCBByMemberId));
+ czNumber = czNumber + (selectCZByMemberI == null ? 0 : Double.parseDouble(selectCZByMemberI));
+ txNumber = txNumber + (selectTBByMemberId == null ? 0 : Double.parseDouble(selectTBByMemberId));
+ txNumber = txNumber + (selectTXByMemberId == null ? 0 : Double.parseDouble(selectTXByMemberId));
+ }
+ }
+ inviteIdCZ = czNumber+"";
+ inviteIdTX = txNumber+"";
+ inviteIdSY = (czNumber-txNumber)+"";
+ }
+ agentFriendRelation.setTotalRecharge(inviteIdCZ == null ? "0.0" : inviteIdCZ);
+ agentFriendRelation.setTotalWithdrawal(inviteIdTX == null ? "0.0" : inviteIdTX);
+ agentFriendRelation.setTotalPerformance(inviteIdSY == null ? "0.0" : inviteIdSY);
+ }
+ }
+ return findmemberQuickBuySaleListInPage;
+ }
+
@Override
public IPage<MemberEntity> findMemberListInPage(MemberEntity memberEntity, QueryRequest request) {
Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
return this.baseMapper.selectMemberListInPage(page, memberEntity);
}
+
+ @Override
+ public IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage(
+ MemberQuickBuySaleEntity memberQuickBuySaleEntity, QueryRequest request) {
+ Page<MemberQuickBuySaleEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage = memberQuickBuySaleMapper.findmemberQuickBuySaleListInPage(page, memberQuickBuySaleEntity);
+ return findmemberQuickBuySaleListInPage;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse memberChargeUsdtConfirm(Long id) {
+
+ MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
+
+ if(!MemberQuickBuySaleEntity.CHARGE_STATUS_PAID.equals(memberQuickBuySaleEntity.getOrderStatus())) {
+ return new FebsResponse().message("只允许已付款状态操作");
+ }
+
+ Long memberId = memberQuickBuySaleEntity.getMemberId();
+ BigDecimal amountUsdt = memberQuickBuySaleEntity.getAmountUsdt();
+ String walletCode = "USDT";
+
+ MemberEntity selectById = this.baseMapper.selectById(memberId);
+ if(ObjectUtils.isEmpty(selectById)) {
+ return new FebsResponse().message("用户已不存在");
+ }
+ //获取币币钱包
+ MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
+ BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance();
+ BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance();
+ memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt));
+ memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt));
+ // 更新
+ memberWalletCoinMapper.updateById(memberWalletCoinEntity);
+ // 更新状态
+ memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CHECKED);
+ memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
+
+ //添加币币资金划转历史记录
+ MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
+ memberAccountMoneyChangeEntity.setContent("OTC转入");
+ memberAccountMoneyChangeEntity.setMemberId(memberId);
+ memberAccountMoneyChangeEntity.setAmount(amountUsdt);
+ memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
+ memberAccountMoneyChangeEntity.setSymbol("USDT");
+ 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);
+ /**
+ * todo
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ String chargeTime = format.format(memberQuickBuySaleEntity.getChargeTime()); // 将当前时间袼式化为指定的格式
+ String usdt = memberQuickBuySaleEntity.getAmountUsdt()+"USDT";
+ //发送短信提醒
+ String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"充值"+usdt+"已成功到账,请您及时查收!订单号为:"+memberChargeUsdt.getOrderCode()+"。";
+ SmsUtils.hxSmsSend(member.getPhone(), smsContent);
+
+ */
+ return new FebsResponse().success();
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse memberChargeUsdtCancel(@NotNull(message = "{required}") Long id) {
+
+ MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
+
+ if(MemberQuickBuySaleEntity.CHARGE_STATUS_CHECKED.equals(memberQuickBuySaleEntity.getOrderStatus())
+ || MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER.equals(memberQuickBuySaleEntity.getOrderStatus())
+ || MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM.equals(memberQuickBuySaleEntity.getOrderStatus())) {
+ return new FebsResponse().message("不允许系统撤单操作");
+ }
+
+ memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM);
+ memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
+ return new FebsResponse().success();
+
+ }
+
+ @Override
+ public IPage<MemberQuickSaleVo> findmemberQuickSaleListInPage(MemberQuickBuySaleEntity memberQuickBuySaleEntity,
+ QueryRequest request) {
+ Page<MemberQuickBuySaleEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MemberQuickSaleVo> findmemberQuickBuySaleListInPage = memberQuickBuySaleMapper.findmemberQuickSaleListInPage(page, memberQuickBuySaleEntity);
+ return findmemberQuickBuySaleListInPage;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse memberExtractUsdtCancel(@NotNull(message = "{required}") Long id) {
+ MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
+
+ if(!MemberQuickBuySaleEntity.CHARGE_STATUS_CREATE.equals(memberQuickBuySaleEntity.getOrderStatus())) {
+ return new FebsResponse().message("只允许待付款状态操作");
+ }
+
+ Long memberId = memberQuickBuySaleEntity.getMemberId();
+ BigDecimal amountUsdt = memberQuickBuySaleEntity.getAmountUsdt();
+ String walletCode = "USDT";
+
+ MemberEntity selectById = this.baseMapper.selectById(memberId);
+ if(ObjectUtils.isEmpty(selectById)) {
+ return new FebsResponse().message("用户已不存在");
+ }
+ //获取币币钱包
+ MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
+ BigDecimal frozenBalance = memberWalletCoinEntity.getFrozenBalance();
+ BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance();
+ BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance();
+ memberWalletCoinEntity.setFrozenBalance(frozenBalance.subtract(amountUsdt));
+ memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt));
+ memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt));
+ // 更新
+ memberWalletCoinMapper.updateById(memberWalletCoinEntity);
+ // 更新状态
+ memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM);
+ memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
+
+ /**
+ * todo
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ String chargeTime = format.format(memberQuickBuySaleEntity.getChargeTime()); // 将当前时间袼式化为指定的格式
+ String usdt = memberQuickBuySaleEntity.getAmountUsdt()+"USDT";
+ //发送短信提醒
+ String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"充值"+usdt+"已成功到账,请您及时查收!订单号为:"+memberChargeUsdt.getOrderCode()+"。";
+ SmsUtils.hxSmsSend(member.getPhone(), smsContent);
+
+ */
+ return new FebsResponse().success();
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse memberExtractUsdtConfirm(@NotNull(message = "{required}") Long id) {
+
+ MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
+
+ if(!MemberQuickBuySaleEntity.CHARGE_STATUS_CREATE.equals(memberQuickBuySaleEntity.getOrderStatus())) {
+ return new FebsResponse().message("只允许待付款状态操作");
+ }
+
+ Long memberId = memberQuickBuySaleEntity.getMemberId();
+ BigDecimal amountUsdt = memberQuickBuySaleEntity.getAmountUsdt();
+ String walletCode = "USDT";
+
+ MemberEntity selectById = this.baseMapper.selectById(memberId);
+ if(ObjectUtils.isEmpty(selectById)) {
+ return new FebsResponse().message("用户已不存在");
+ }
+
+ //获取币币钱包
+ MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
+ BigDecimal frozenBalance = memberWalletCoinEntity.getFrozenBalance();
+ memberWalletCoinEntity.setFrozenBalance(frozenBalance.subtract(amountUsdt));
+ memberWalletCoinMapper.updateById(memberWalletCoinEntity);
+
+ memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_PAID);
+ memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
+
+ //添加币币资金划转历史记录
+ MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
+ memberAccountMoneyChangeEntity.setContent("提现");
+ memberAccountMoneyChangeEntity.setMemberId(memberId);
+ memberAccountMoneyChangeEntity.setAmount(amountUsdt);
+ memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
+ memberAccountMoneyChangeEntity.setSymbol(walletCode);
+ 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);
+
+ /**
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ String chargeTime = format.format(memberQuickBuySaleEntity.getUpdateTime()); // 将当前时间袼式化为指定的格式
+ String usdt = amountUsdt+"USDT";
+ //发送短信提醒
+ String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"提现"+usdt+"已成功到账,请您及时查收!订单号为:"+memberQuickBuySaleEntity.getOrderCode()+"。";
+ SmsUtils.hxSmsSend(selectById.getPhone(), smsContent);
+ *
+ */
+
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public IPage<MemberCoinChargeVo> findMemberApplyCoinListInPage(MemberCoinChargeEntity memberCoinChargeEntity,
+ QueryRequest request) {
+ Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findMemberApplyCoinListInPage(page, memberCoinChargeEntity);
+ return findmemberQuickBuySaleListInPage;
+ }
+
+ @Override
+ public IPage<MemberCoinWithdrawVo> findmemberWithdrawCoinListInPage(
+ MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) {
+ Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findmemberWithdrawCoinListInPage(page, memberCoinWithdrawEntity);
+ return findmemberQuickBuySaleListInPage;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse memberWithdrawCoinConfirm(@NotNull(message = "{required}") Long id) {
+
+ MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id);
+ Long memberId = selectById.getMemberId();
+ String symbol = selectById.getSymbol();
+ String address = selectById.getAddress();
+ int status = selectById.getStatus();
+ if(status != 1) {
+ return new FebsResponse().fail().message("只有等待审核的状态才能确认!");
+ }
+
+ // 查询币币钱包
+ MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol);
+
+ BigDecimal total = walletCoin.getTotalBalance().subtract(selectById.getAmount()).subtract(selectById.getFeeAmount());
+ walletCoin.setTotalBalance(total);
+ BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount());
+ walletCoin.setFrozenBalance(frozen);
+
+ memberWalletCoinMapper.updateById(walletCoin);
+
+ if ("Y".equals(selectById.getIsInside())) {
+ Map<String, Object> columnMap = new HashMap<>();
+ columnMap.put("symbol", symbol);
+ columnMap.put("address", address);
+ // 如果是内部转账 则需要将币加到内部地址
+ List<MemberCoinAddressEntity> selectByMap = memberCoinAddressMapper.selectByMap(columnMap);
+ if(selectByMap == null || selectByMap.isEmpty()) {
+ return new FebsResponse().fail().message("地址有误,请拒绝!");
+ }
+ Long aimMemberId = selectByMap.get(0).getMemberId();
+ MemberWalletCoinEntity aimWalletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(aimMemberId, symbol);
+
+ BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(selectById.getAmount());
+ BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(selectById.getAmount());
+ aimWalletCoin.setTotalBalance(addTotal);
+ aimWalletCoin.setAvailableBalance(addAvailable);
+
+ memberWalletCoinMapper.updateById(aimWalletCoin);
+
+ MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
+ memberAccountMoneyChangeEntity.setContent("收款");
+ memberAccountMoneyChangeEntity.setMemberId(aimMemberId);
+ memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
+ 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 memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
+ memberAccountMoneyChangeEntity.setContent("提币");
+ memberAccountMoneyChangeEntity.setMemberId(memberId);
+ memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
+ 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);
+
+ selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_Y);
+ memberCoinWithdrawMapper.updateById(selectById);
+ /**
+ //短信提醒
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ String chargeTime = format.format(new Date()); // 将当前时间袼式化为指定的格式
+ String usdt = selectById.getAmount()+"USDT";
+ * 发送短信提醒 todo
+ String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"提现"+usdt+"已成功到账,请您及时查收!";
+ SmsUtils.hxSmsSend(member.getPhone(), smsContent);
+ */
+ return new FebsResponse().success();
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse memberWithdrawCoinCancel(@NotNull(message = "{required}") Long id) {
+
+ MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id);
+ Long memberId = selectById.getMemberId();
+ String symbol = selectById.getSymbol();
+ int status = selectById.getStatus();
+ if(status != 1) {
+ return new FebsResponse().fail().message("只有等待审核的状态才能拒绝!");
+ }
+ // 查询币币钱包
+ MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol);
+
+ BigDecimal available = walletCoin.getAvailableBalance().add(selectById.getAmount()).add(selectById.getFeeAmount());
+ walletCoin.setAvailableBalance(available);
+ BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount());
+ walletCoin.setFrozenBalance(frozen);
+
+ memberWalletCoinMapper.updateById(walletCoin);
+
+ // 提币退款记录
+ MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
+ memberAccountMoneyChangeEntity.setContent("提币");
+ memberAccountMoneyChangeEntity.setMemberId(memberId);
+ memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
+ 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);
+
+ selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_N);
+ memberCoinWithdrawMapper.updateById(selectById);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public MemberAuthenticationVo selectMemberAuthenticationById(long id) {
+ MemberAuthenticationVo memberAuthenticationEntity = memberAuthenticationMapper.findMemberAuthenticationByMemberId(id);
+ String firstName = memberAuthenticationEntity.getFirstName();
+ String secondName = memberAuthenticationEntity.getSecondName();
+ memberAuthenticationEntity.setRealName(firstName+"-"+secondName);
+ return memberAuthenticationEntity;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse memberDetailConfirm(@Valid MemberDetailConfirmDto memberDetailConfirmDto) {
+ Long id = memberDetailConfirmDto.getId();
+ MemberEntity selectById = memberMapper.selectById(id);
+ Integer certifyStatus = selectById.getCertifyStatus();
+ if(!MemberEntity.CERTIFY_STATUS_ING.equals(certifyStatus)) {
+ return new FebsResponse().fail().message("只有【待审核】状态才能提交!");
+ }
+ MemberAuthenticationVo memberAuthenticationEntity = memberAuthenticationMapper.findMemberAuthenticationByMemberId(id);
+
+ if(memberDetailConfirmDto.getIsok() == 1) {
+ selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_Y);
+ }else {
+ selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_N);
+ }
+ selectById.setIdcardNo(memberAuthenticationEntity.getIdcardNo());
+ memberMapper.updateById(selectById);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public List<MemberCoinChargeEntity> selectMemberDataInfoById(long id) {
+ Map<String, Object> columnMap = new HashMap<>();
+ columnMap.put("member_id", id);
+ List<MemberCoinChargeEntity> selectByMap = memberCoinChargeMapper.selectByMap(columnMap);
+ return selectByMap;
+ }
+
+ @Override
+ public IPage<MemberDataInfoVo> findMemberDataInfoDtoListInPage(MemberEntity memberEntity,
+ QueryRequest request) {
+ Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.selectMemberDataInfoDtoListInPage(page, memberEntity);
+ //USDT充币总额+USDT提币总额
+ String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealData();
+ String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealData();
+ //USDT充值总额+USDT提现总额
+ String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealData();
+ String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealData();
+ //佣金
+ String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealData();
+ //开仓手续费总额
+ String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealData();
+ //平仓总手续费
+ String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealData();
+ //总盈亏
+ String rewardratioByMid = memberMapper.selectRewardratioForBasicRealData();
+ //持仓人数
+ String notNullNumber = memberMapper.selectSFCCForBasicRealData();
+ //币币账户不为空的人数
+ String walletNumber = memberMapper.selectBBZHForBasicRealData();
+ //合约账户不为空的人数
+ String walletCoinNumber = memberMapper.selectHYZHForBasicRealData();
+ //持仓手续费
+ String doingPrice = memberMapper.selectprepriceForBasicRealData();
+
+ //账户金额
+ String walletNum = memberMapper.selectBBZCForBasicRealData();
+ String walletCoinNum = memberMapper.selectHYZCForBasicRealData();
+ String agentNum = memberMapper.selectDLZCForBasicRealData();
+
+ 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));
+ List<MemberDataInfoVo> records = selectMemberListInPage.getRecords();
+ for(MemberDataInfoVo memberDataInfoVo : records) {
+ memberDataInfoVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
+ memberDataInfoVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
+ memberDataInfoVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
+ memberDataInfoVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
+ memberDataInfoVo.setClosingPrice(closingpriceByMid == null ? "0" : closingpriceByMid);
+ memberDataInfoVo.setSellClosingPrice(sellClosingpriceByMid == null ? "0" : sellClosingpriceByMid);
+ memberDataInfoVo.setFee(returnMoneyByMid == null ? "0" : returnMoneyByMid);
+ memberDataInfoVo.setYingkui(rewardratioByMid == null ? "0" : rewardratioByMid);
+ memberDataInfoVo.setNotNullNumber(notNullNumber == null ? "0" : notNullNumber);
+ memberDataInfoVo.setWalletNumber(walletNumber == null ? "0" : walletNumber);
+ memberDataInfoVo.setWalletCoinNumber(walletCoinNumber == null ? "0" : walletCoinNumber);
+ memberDataInfoVo.setPlatformProfitAndLoss(platformProfitAndLoss == 0 ? "0" : platformProfitAndLoss+"");
+ memberDataInfoVo.setDoingPrice(doingPrice == null ? "0" : doingPrice);
+ memberDataInfoVo.setWalletNum(walletNum == null ? "0" : walletNum);
+ memberDataInfoVo.setWalletCoinNum(walletCoinNum == null ? "0" : walletCoinNum);
+ memberDataInfoVo.setAgentNum(agentNum == null ? "0" : agentNum);
+ }
+ selectMemberListInPage.setTotal(1);
+ return selectMemberListInPage;
+ }
+
+ @Override
+ public MemberEntity selectMemberByid(long id) {
+ MemberEntity selectById = memberMapper.selectById(id);
+ return selectById;
+ }
+
+ @Override
+ public FebsResponse memberDataInfoList(@NotNull(message = "{required}") long id) {
+ Map<String, Object> columnMap = new HashMap<>();
+ columnMap.put("member_id", id);
+ columnMap.put("STATUS", 2);
+ List<MemberCoinWithdrawEntity> selectByMap = memberCoinWithdrawMapper.selectByMap(columnMap);
+ return new FebsResponse().data(selectByMap);
+ }
+
}
--
Gitblit v1.9.1