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