From 4c902d9c20dd965d1ec832760809c622d1df9aac Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 17 Jun 2021 11:17:03 +0800
Subject: [PATCH] 20210617  开售开关

---
 src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java |   88 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 84 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
index 7558ac8..0f1fa3b 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -1,20 +1,29 @@
 package com.xcong.excoin.modules.documentary.service.impl;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
 
+import com.alibaba.fastjson.JSONObject;
+import com.xcong.excoin.common.utils.RedisUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 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.documentary.dto.FollowTraderInfoDto;
 import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity;
+import com.xcong.excoin.modules.documentary.entity.FollowTraderProfitInfoEntity;
 import com.xcong.excoin.modules.documentary.mapper.FollowTraderInfoMapper;
+import com.xcong.excoin.modules.documentary.mapper.FollowTraderProfitInfoMapper;
 import com.xcong.excoin.modules.documentary.service.DocumentaryService;
 import com.xcong.excoin.modules.member.entity.MemberAuthenticationEntity;
 import com.xcong.excoin.modules.member.entity.MemberEntity;
@@ -22,6 +31,7 @@
 import com.xcong.excoin.modules.member.mapper.MemberMapper;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 
@@ -35,6 +45,10 @@
 	private final MemberAuthenticationMapper memberAuthenticationMapper;
 	
 	private final MemberMapper memberMapper;
+	
+	private final FollowTraderProfitInfoMapper followTraderProfitInfoMapper;
+
+	private final RedisUtils redisUtils;
 	
 	@Override
 	public IPage<FollowTraderInfoEntity> findTraderListInPage(FollowTraderInfoEntity followTraderInfoEntity,
@@ -74,7 +88,7 @@
 		Integer accountType = memberEntity.getAccountType();
 		followTraderInfoEntity.setAccountType(accountType);
 		//币币账户
-		String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId);
+		String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT");
 		followTraderInfoEntity.setWalletNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
 		//合约账户
 		String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
@@ -98,9 +112,75 @@
 	}
 
 	@Override
-	public FebsResponse traderConfirm(@Valid FollowTraderInfoEntity followTraderInfoEntity) {
-		// TODO Auto-generated method stub
-		return null;
+	@Transactional
+	public FebsResponse traderConfirm(@Valid FollowTraderInfoDto followTraderInfoDto) {
+		Long id = followTraderInfoDto.getId();
+		FollowTraderInfoEntity selectById = followTraderInfoMapper.selectById(id);
+		if(ObjectUtil.isEmpty(selectById)) {
+			return new FebsResponse().fail().message("交易员信息不存在");
+		}
+		String isok = followTraderInfoDto.getIsok();
+		if("1".equals(isok)) {
+			//更新【会员信息表】数据
+			Long memberId = selectById.getMemberId();
+			MemberEntity memberEntity = memberMapper.selectById(memberId);
+			if(ObjectUtil.isEmpty(memberEntity)) {
+				return new FebsResponse().fail().message("会员信息不存在");
+			}
+			memberEntity.setIsTrader(1);
+			memberMapper.updateById(memberEntity);
+			//更新【交易员信息表】数据
+			selectById.setVerifyStatus(FollowTraderInfoEntity.VERIFYSTATUS_Y);
+			followTraderInfoMapper.updateById(selectById);
+			//新增【交易员收益信息 】数据
+			FollowTraderProfitInfoEntity followTraderProfitInfoEntity = new FollowTraderProfitInfoEntity();
+			followTraderProfitInfoEntity.setCreateBy("system");
+			followTraderProfitInfoEntity.setCreateTime(new Date());
+			followTraderProfitInfoEntity.setUpdateBy("system");
+			followTraderProfitInfoEntity.setUpdateTime(new Date());
+			followTraderProfitInfoEntity.setMemberId(memberId);
+			followTraderProfitInfoEntity.setTraderId(selectById.getId());
+			followTraderProfitInfoEntity.setTotalProfitRatio(BigDecimal.ZERO);
+			followTraderProfitInfoEntity.setTotalProfit(BigDecimal.ZERO);
+			followTraderProfitInfoEntity.setFollowerTotalProfit(BigDecimal.ZERO);
+			followTraderProfitInfoEntity.setWinRate(BigDecimal.ZERO);
+			followTraderProfitInfoEntity.setTotalFollowerCnt(BigDecimal.ZERO);
+			followTraderProfitInfoEntity.setTotalOrderCnt(BigDecimal.ZERO);
+			followTraderProfitInfoMapper.insert(followTraderProfitInfoEntity);
+
+			String token = redisUtils.getString("app_" + memberEntity.getId());
+			redisUtils.set("app_" + token, JSONObject.toJSONString(memberEntity), 36000);
+		}else {
+			//更新【交易员信息表】数据
+			selectById.setVerifyStatus(FollowTraderInfoEntity.VERIFYSTATUS_N);
+			followTraderInfoMapper.updateById(selectById);
+		}
+		return new FebsResponse().success();
+	}
+
+	@Override
+	public FebsResponse traderGetOut(@NotNull(message = "{required}") Long id) {
+		FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoMapper.selectById(id);
+		if(ObjectUtil.isEmpty(followTraderInfoEntity)) {
+			return new FebsResponse().fail().message("交易员信息不存在");
+		}
+		Long memberId = followTraderInfoEntity.getMemberId();
+		MemberEntity memberEntity = memberMapper.selectById(memberId);
+		memberEntity.setIsTrader(2);
+		memberMapper.updateById(memberEntity);
+		return new FebsResponse().success();
+	}
+
+	@Override
+	@Transactional
+	public FebsResponse traderGetFull(@NotNull(message = "{required}") Long id) {
+		FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoMapper.selectById(id);
+		if(ObjectUtil.isEmpty(followTraderInfoEntity)) {
+			return new FebsResponse().fail().message("交易员信息不存在");
+		}
+		followTraderInfoEntity.setIsAll(1);
+		followTraderInfoMapper.updateById(followTraderInfoEntity);
+		return new FebsResponse().success();
 	}
 
 }

--
Gitblit v1.9.1