From 1455fcdf0d106887f09d35f55bb61ef764adabbb Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 05 Aug 2020 17:25:42 +0800 Subject: [PATCH] 20200805 提交 --- src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 86 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 83 insertions(+), 3 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..f11773c 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, @@ -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