From 78c9ce7b49df83a96d4a1ef3932fd772134ab24c Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 03 Aug 2020 11:55:31 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 111 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 73 insertions(+), 38 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 f1486a7..4f4cbc2 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 @@ -435,37 +435,53 @@ public Result getDocumentaryOrderSet(@Valid DocumentaryOrderSetDto documentaryOrderSetDto) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); - //新增【跟随者设置】数据 - FollowFollowerSettingEntity followFollowerSettingEntity = new FollowFollowerSettingEntity(); - followFollowerSettingEntity.setMemberId(memberId); - Long traderId = documentaryOrderSetDto.getTraderId(); - followFollowerSettingEntity.setTradeId(traderId); - FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(traderId); - Long traderMemberId = followTraderInfoEntity.getMemberId(); - followFollowerSettingEntity.setTradeMemberId(traderMemberId); - followFollowerSettingEntity.setSymbols(documentaryOrderSetDto.getSymbols()); - followFollowerSettingEntity.setFollowType(documentaryOrderSetDto.getFollowType()); - followFollowerSettingEntity.setFollowCnt(documentaryOrderSetDto.getFollowCnt()); - followFollowerSettingEntity.setMaxFollowCnt(documentaryOrderSetDto.getMaxFollowCnt()); - followFollowerSettingDao.insert(followFollowerSettingEntity); - //更新【跟随者收益】数据 - Map<String, Object> columnMap = new HashMap<>(); - columnMap.put("member_id", memberId); - List<FollowFollowerProfitEntity> selectByMap = followFollowerProfitDao.selectByMap(columnMap); - if(CollUtil.isNotEmpty(selectByMap)) { - FollowFollowerProfitEntity followFollowerProfitEntity = selectByMap.get(0); - followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_Y); - followFollowerProfitDao.updateById(followFollowerProfitEntity); - }else { - FollowFollowerProfitEntity followFollowerProfitEntity = new FollowFollowerProfitEntity(); - followFollowerProfitEntity.setMemberId(memberId); - followFollowerProfitEntity.setTradeId(traderId); - followFollowerProfitEntity.setTradeMemberId(traderMemberId); - followFollowerProfitEntity.setTotalPrincipal(BigDecimal.ZERO); - followFollowerProfitEntity.setTotalProfit(BigDecimal.ZERO); - followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_Y); - followFollowerProfitDao.insert(followFollowerProfitEntity); - } + Long traderId = documentaryOrderSetDto.getTraderId(); + + FollowTraderInfoEntity traderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId); + if (traderInfoEntity != null) { + return Result.fail("交易员不能进行跟单"); + } + + FollowFollowerSettingEntity isExistSetting = followFollowerSettingDao.selectOneBymemberIdAndTradeId(memberId, traderId); + if (isExistSetting == null) { + //新增【跟随者设置】数据 + FollowFollowerSettingEntity followFollowerSettingEntity = new FollowFollowerSettingEntity(); + followFollowerSettingEntity.setMemberId(memberId); + followFollowerSettingEntity.setTraderId(traderId); + FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(traderId); + Long traderMemberId = followTraderInfoEntity.getMemberId(); + followFollowerSettingEntity.setTraderMemberId(traderMemberId); + followFollowerSettingEntity.setSymbols(documentaryOrderSetDto.getSymbols()); + followFollowerSettingEntity.setFollowType(documentaryOrderSetDto.getFollowType()); + followFollowerSettingEntity.setFollowCnt(documentaryOrderSetDto.getFollowCnt()); + followFollowerSettingEntity.setMaxFollowCnt(documentaryOrderSetDto.getMaxFollowCnt()); + followFollowerSettingDao.insert(followFollowerSettingEntity); + //更新【跟随者收益】数据 + Map<String, Object> columnMap = new HashMap<>(); + columnMap.put("member_id", memberId); + List<FollowFollowerProfitEntity> selectByMap = followFollowerProfitDao.selectByMap(columnMap); + if (CollUtil.isNotEmpty(selectByMap)) { + FollowFollowerProfitEntity followFollowerProfitEntity = selectByMap.get(0); + followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_Y); + followFollowerProfitDao.updateById(followFollowerProfitEntity); + } else { + FollowFollowerProfitEntity followFollowerProfitEntity = new FollowFollowerProfitEntity(); + followFollowerProfitEntity.setMemberId(memberId); + followFollowerProfitEntity.setTradeId(traderId); + followFollowerProfitEntity.setTradeMemberId(traderMemberId); + followFollowerProfitEntity.setTotalPrincipal(BigDecimal.ZERO); + followFollowerProfitEntity.setTotalProfit(BigDecimal.ZERO); + followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_Y); + followFollowerProfitDao.insert(followFollowerProfitEntity); + } + } else { + FollowFollowerSettingEntity followFollowerSettingEntity = new FollowFollowerSettingEntity(); + followFollowerSettingEntity.setSymbols(documentaryOrderSetDto.getSymbols()); + followFollowerSettingEntity.setFollowType(documentaryOrderSetDto.getFollowType()); + followFollowerSettingEntity.setFollowCnt(documentaryOrderSetDto.getFollowCnt()); + followFollowerSettingEntity.setMaxFollowCnt(documentaryOrderSetDto.getMaxFollowCnt()); + followFollowerSettingDao.updateById(followFollowerSettingEntity); + } return Result.ok(MessageSourceUtils.getString("member_service_0024")); } @@ -477,6 +493,7 @@ long parseLong = Long.parseLong(tradeId); //获取【跟随者设置】数据 FollowFollowerSettingEntity followFollowerSettingEntity = followFollowerSettingDao.selectOneBymemberIdAndTradeId(memberId,parseLong); + documentaryOrderSetInfoVo.setTraderId(parseLong); FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(tradeId); @@ -485,7 +502,11 @@ String nickname = followTraderInfoEntity.getNickname(); documentaryOrderSetInfoVo.setNickname(nickname); - + + documentaryOrderSetInfoVo.setProfit(followTraderInfoEntity.getProfitRatio()); + if (followFollowerSettingEntity == null) { + return Result.ok(documentaryOrderSetInfoVo); + } String symbols = followFollowerSettingEntity.getSymbols(); documentaryOrderSetInfoVo.setSymbols(symbols); @@ -525,11 +546,24 @@ Long traderId = updateDocumentaryOrderSetDto.getTraderId(); //更新【跟随者设置】数据 FollowFollowerSettingEntity followFollowerSettingEntity = followFollowerSettingDao.selectOneBymemberIdAndTradeId(memberId, traderId); - followFollowerSettingEntity.setSymbols(updateDocumentaryOrderSetDto.getSymbols()); - followFollowerSettingEntity.setFollowType(updateDocumentaryOrderSetDto.getFollowType()); - followFollowerSettingEntity.setFollowCnt(updateDocumentaryOrderSetDto.getFollowCnt()); - followFollowerSettingEntity.setMaxFollowCnt(updateDocumentaryOrderSetDto.getMaxFollowCnt()); - followFollowerSettingDao.updateById(followFollowerSettingEntity); + if (followFollowerSettingEntity == null) { + FollowTraderInfoEntity traderInfoEntity = followTraderInfoDao.selectById(traderId); + followFollowerSettingEntity = new FollowFollowerSettingEntity(); + followFollowerSettingEntity.setSymbols(updateDocumentaryOrderSetDto.getSymbols()); + followFollowerSettingEntity.setFollowType(updateDocumentaryOrderSetDto.getFollowType()); + followFollowerSettingEntity.setFollowCnt(updateDocumentaryOrderSetDto.getFollowCnt()); + followFollowerSettingEntity.setMaxFollowCnt(updateDocumentaryOrderSetDto.getMaxFollowCnt()); + followFollowerSettingEntity.setTraderId(traderId); + followFollowerSettingEntity.setMemberId(memberId); + followFollowerSettingEntity.setTraderMemberId(traderInfoEntity.getMemberId()); + followFollowerSettingDao.insert(followFollowerSettingEntity); + } else { + followFollowerSettingEntity.setSymbols(updateDocumentaryOrderSetDto.getSymbols()); + followFollowerSettingEntity.setFollowType(updateDocumentaryOrderSetDto.getFollowType()); + followFollowerSettingEntity.setFollowCnt(updateDocumentaryOrderSetDto.getFollowCnt()); + followFollowerSettingEntity.setMaxFollowCnt(updateDocumentaryOrderSetDto.getMaxFollowCnt()); + followFollowerSettingDao.updateById(followFollowerSettingEntity); + } return Result.ok(MessageSourceUtils.getString("member_service_0024")); } @@ -564,8 +598,9 @@ columnMap.put("member_id", memberId); List<FollowTraderInfoEntity> selectByMap = followTraderInfoDao.selectByMap(columnMap); if(CollUtil.isNotEmpty(selectByMap)) { - return Result.fail("submit_repeat"); + return Result.fail(MessageSourceUtils.getString("submit_repeat")); } + //新增【交易员信息表】数据 FollowTraderInfoEntity followTraderInfoEntity = new FollowTraderInfoEntity(); followTraderInfoEntity.setMemberId(memberId); -- Gitblit v1.9.1