From 39143d1ff3ca043efbf8af09624f409ef7bd4b94 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 06 Aug 2020 15:20:58 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 83 insertions(+), 8 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 4a024da..da3e90d 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 @@ -25,6 +25,7 @@ import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao; import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; +import com.xcong.excoin.modules.documentary.dao.FollowFollowerNoticeDao; import com.xcong.excoin.modules.documentary.dao.FollowFollowerOrderRelationDao; import com.xcong.excoin.modules.documentary.dao.FollowFollowerProfitDao; import com.xcong.excoin.modules.documentary.dao.FollowFollowerSettingDao; @@ -42,6 +43,7 @@ import com.xcong.excoin.modules.documentary.dto.TradeOrderInfoDto; import com.xcong.excoin.modules.documentary.dto.UpdateDocumentaryOrderSetDto; import com.xcong.excoin.modules.documentary.dto.UpdateTradeSetInfoDto; +import com.xcong.excoin.modules.documentary.entity.FollowFollowerNoticeEntity; import com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity; import com.xcong.excoin.modules.documentary.entity.FollowFollowerProfitEntity; import com.xcong.excoin.modules.documentary.entity.FollowFollowerSettingEntity; @@ -50,6 +52,7 @@ import com.xcong.excoin.modules.documentary.service.DocumentaryService; import com.xcong.excoin.modules.documentary.vo.DocumentaryOrderInfoVo; import com.xcong.excoin.modules.documentary.vo.DocumentaryOrderSetInfoVo; +import com.xcong.excoin.modules.documentary.vo.FollowFollowerNoticeVo; import com.xcong.excoin.modules.documentary.vo.FollowInfoVo; import com.xcong.excoin.modules.documentary.vo.FollowRecordsVo; import com.xcong.excoin.modules.documentary.vo.FollowTraderProfitInfoVo; @@ -106,6 +109,8 @@ private FollowFollowerSettingDao followFollowerSettingDao; @Resource private FollowFollowerOrderRelationDao followFollowerOrderRelationDao; + + private FollowFollowerNoticeDao followFollowerNoticeDao; @Override @@ -277,7 +282,7 @@ myFollowOrderVo.setLeverRatio(leverRatio); BigDecimal rewardAmount = contractOrderEntity.getRewardAmount().setScale(2, BigDecimal.ROUND_DOWN); myFollowOrderVo.setRewardAmount(rewardAmount); - BigDecimal rewardRatio = contractOrderEntity.getRewardRatio().setScale(2, BigDecimal.ROUND_DOWN); + BigDecimal rewardRatio = contractOrderEntity.getRewardRatio().setScale(4, BigDecimal.ROUND_DOWN); myFollowOrderVo.setRewardRatio(rewardRatio); int symbolCnt = contractOrderEntity.getSymbolCnt(); myFollowOrderVo.setSymbolCnt(symbolCnt); @@ -467,6 +472,7 @@ //更新【跟随者收益】数据 Map<String, Object> columnMap = new HashMap<>(); columnMap.put("member_id", memberId); + columnMap.put("trade_id", traderId); List<FollowFollowerProfitEntity> selectByMap = followFollowerProfitDao.selectByMap(columnMap); if (CollUtil.isNotEmpty(selectByMap)) { FollowFollowerProfitEntity followFollowerProfitEntity = selectByMap.get(0); @@ -483,6 +489,28 @@ followFollowerProfitDao.insert(followFollowerProfitEntity); } } else { + //更新【跟随者收益】数据 + Map<String, Object> columnMap = new HashMap<>(); + columnMap.put("member_id", memberId); + columnMap.put("trade_id", traderId); + 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); + FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(traderId); + Long traderMemberId = followTraderInfoEntity.getMemberId(); + followFollowerProfitEntity.setTradeMemberId(traderMemberId); + followFollowerProfitEntity.setTotalPrincipal(BigDecimal.ZERO); + followFollowerProfitEntity.setTotalProfit(BigDecimal.ZERO); + followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_Y); + followFollowerProfitDao.insert(followFollowerProfitEntity); + } + isExistSetting.setSymbols(documentaryOrderSetDto.getSymbols()); isExistSetting.setFollowType(documentaryOrderSetDto.getFollowType()); isExistSetting.setFollowCnt(documentaryOrderSetDto.getFollowCnt()); @@ -582,7 +610,7 @@ FollowTraderProfitInfoVo followTraderProfitInfoVo = followTraderProfitInfoDao.selectOneByMemberId(memberId); MemberEntity user = LoginUserUtils.getUser(); if(ObjectUtil.isNotEmpty(user)) { - FollowFollowerProfitEntity followFollowerProfitEntity = followFollowerProfitDao.selectDocumentaryOrderSetInfoBymemberIdAndTradeId(memberId, traderId); + FollowFollowerProfitEntity followFollowerProfitEntity = followFollowerProfitDao.selectDocumentaryOrderSetInfoBymemberIdAndTradeId(user.getId(), traderId); if(ObjectUtil.isNotEmpty(followFollowerProfitEntity)) { followTraderProfitInfoVo.setDocumentaryType(followFollowerProfitEntity.getIsFollow()); }else { @@ -610,6 +638,16 @@ if(MemberEntity.CERTIFY_STATUS_Y != certifyStatus) { return Result.fail(MessageSourceUtils.getString("member_controller_0009")); } + + //不可以处于跟单状态 + Map<String, Object> columnMaps = new HashMap<>(); + columnMaps.put("member_id", memberId); + columnMaps.put("is_follow", 1); + List<FollowFollowerProfitEntity> followFollowerProfitEntitys = followFollowerProfitDao.selectByMap(columnMaps); + if(CollUtil.isNotEmpty(followFollowerProfitEntitys)) { + return Result.fail(MessageSourceUtils.getString("documentary_service_0015")); + } + Map<String, Object> columnMap = new HashMap<>(); columnMap.put("member_id", memberId); List<FollowTraderInfoEntity> selectByMap = followTraderInfoDao.selectByMap(columnMap); @@ -620,7 +658,8 @@ //新增【交易员信息表】数据 FollowTraderInfoEntity followTraderInfoEntity = new FollowTraderInfoEntity(); followTraderInfoEntity.setMemberId(memberId); - followTraderInfoEntity.setAvatar(FollowTraderInfoEntity.AVATAR_DEFAULT); + followTraderInfoEntity.setProfitRatio(BigDecimal.valueOf(0.1)); +// followTraderInfoEntity.setAvatar(FollowTraderInfoEntity.AVATAR_DEFAULT); String phone = memberEntity.getPhone(); String email = memberEntity.getEmail(); if(StrUtil.isNotEmpty(phone)) { @@ -796,7 +835,7 @@ // 回报率 BigDecimal returnRate = rewardRatio.divide(contractHoldOrderEntity.getBondAmount().subtract(contractHoldOrderEntity.getOpeningFeeAmount()), 8, BigDecimal.ROUND_DOWN); - myFollowOrderVo.setRewardRatio(returnRate.setScale(2, BigDecimal.ROUND_DOWN)); + myFollowOrderVo.setRewardRatio(returnRate.setScale(4, BigDecimal.ROUND_DOWN)); myFollowOrderVos.add(myFollowOrderVo); } @@ -873,9 +912,9 @@ String phone = memberEntity.getPhone(); String email = memberEntity.getEmail(); if(StrUtil.isNotEmpty(phone)) { - myFollowTraderInfoVo.setNickName(phone); + myFollowTraderInfoVo.setNickname(phone); }else { - myFollowTraderInfoVo.setNickName(email); + myFollowTraderInfoVo.setNickname(email); } } @@ -903,13 +942,49 @@ followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_N); followFollowerProfitDao.updateById(followFollowerProfitEntity); - FollowTraderInfoEntity traderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId); + //删除【跟随者设置】 + Map<String, Object> columnMap = new HashMap<>(); + Long followMemberId = followFollowerProfitEntity.getMemberId(); + Long tradeId = followFollowerProfitEntity.getTradeId(); + columnMap.put("member_id", followMemberId); + columnMap.put("trader_id", tradeId); + List<FollowFollowerSettingEntity> selectByMap = followFollowerSettingDao.selectByMap(columnMap); + if(CollUtil.isNotEmpty(selectByMap)) { + for(FollowFollowerSettingEntity followFollowerSettingEntity : selectByMap) { + followFollowerSettingDao.deleteById(followFollowerSettingEntity.getId()); + } + } - if (traderInfoEntity != null) { + FollowTraderInfoEntity traderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId); + + if (traderInfoEntity != null) { LogRecordUtils.insertFollowerNotice(memberId, NoticeConstant.STOP_FOLLOW_TITLE, StrUtil.format(NoticeConstant.STOP_FOLLOW_CONTENT, traderInfoEntity.getNickname())); } return Result.ok(MessageSourceUtils.getString("member_service_0026")); } + + @Override + public Result getFollowFollowerNoticeList() { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + List<FollowFollowerNoticeVo> arrayList = new ArrayList<>(); + + Map<String, Object> columnMap = new HashMap<>(); + columnMap.put("member_id", memberId); + List<FollowFollowerNoticeEntity> selectByMap = followFollowerNoticeDao.selectByMap(columnMap ); + if(CollUtil.isNotEmpty(selectByMap)) { + for(FollowFollowerNoticeEntity followFollowerNoticeEntity : selectByMap) { + FollowFollowerNoticeVo followFollowerNoticeVo = new FollowFollowerNoticeVo(); + String title = followFollowerNoticeEntity.getTitle(); + followFollowerNoticeVo.setTitle(title); + String content = followFollowerNoticeEntity.getContent(); + followFollowerNoticeVo.setContent(content); + arrayList.add(followFollowerNoticeVo); + } + } + + return Result.ok(arrayList); + } -- Gitblit v1.9.1