From 51729c6b98fefd687ecf275fb444d447881d155e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 04 Mar 2021 16:34:24 +0800
Subject: [PATCH] 20210304 跟单一次跟一个
---
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 65 +++++++++++++++++++++++++++++++-
1 files changed, 63 insertions(+), 2 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 c26d763..92712d1 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
@@ -11,6 +11,8 @@
import javax.validation.Valid;
import com.xcong.excoin.modules.documentary.common.NoticeConstant;
+import com.xcong.excoin.modules.member.entity.MemberSettingEntity;
+import com.xcong.excoin.modules.member.parameter.vo.MemberMessageReminderVo;
import com.xcong.excoin.utils.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -58,6 +60,7 @@
import com.xcong.excoin.modules.documentary.entity.FollowTraderLabelEntity;
import com.xcong.excoin.modules.documentary.entity.FollowTraderProfitInfoEntity;
import com.xcong.excoin.modules.documentary.service.DocumentaryService;
+import com.xcong.excoin.modules.documentary.vo.BeTraderConditionVo;
import com.xcong.excoin.modules.documentary.vo.DocumentaryOrderInfoVo;
import com.xcong.excoin.modules.documentary.vo.DocumentaryOrderSetInfoVo;
import com.xcong.excoin.modules.documentary.vo.FollowFollowerNoticeVo;
@@ -77,6 +80,7 @@
import com.xcong.excoin.modules.documentary.vo.TraderStatusVo;
import com.xcong.excoin.modules.member.dao.MemberDao;
import com.xcong.excoin.modules.member.dao.MemberLevelRateDao;
+import com.xcong.excoin.modules.member.dao.MemberSettingDao;
import com.xcong.excoin.modules.member.dao.MemberWalletContractDao;
import com.xcong.excoin.modules.member.entity.MemberEntity;
import com.xcong.excoin.modules.member.entity.MemberLevelRateEntity;
@@ -125,6 +129,8 @@
private FollowFollowerNoticeDao followFollowerNoticeDao;
@Resource
private FollowTraderLabelDao followTraderLabelDao;
+ @Resource
+ private MemberSettingDao memberSettingDao;
@Override
@@ -588,8 +594,23 @@
public Result getDocumentaryOrderSetInfo(String tradeId) {
//获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ log.info("跟单---跟单设置--进入编辑---"+memberId+"参数"+tradeId);
DocumentaryOrderSetInfoVo documentaryOrderSetInfoVo = new DocumentaryOrderSetInfoVo();
long parseLong = Long.parseLong(tradeId);
+
+ //只能跟随一个人
+ Map<String, Object> columnMaps = new HashMap<>();
+ columnMaps.put("member_id", memberId);
+ List<FollowFollowerSettingEntity> followFollowerSettingEntityAllows = followFollowerSettingDao.selectByMap(columnMaps);
+ if(CollUtil.isNotEmpty(followFollowerSettingEntityAllows)) {
+ for(FollowFollowerSettingEntity followFollowerSettingEntityAllow : followFollowerSettingEntityAllows) {
+ Long tradeIdAllow = followFollowerSettingEntityAllow.getTraderId();
+ if(!tradeIdAllow.toString().equals(tradeId)) {
+ return Result.fail(MessageSourceUtils.getString("documentary_service_0015"));
+ }
+ }
+ }
+
//获取【跟随者设置】数据
FollowFollowerSettingEntity followFollowerSettingEntity = followFollowerSettingDao.selectOneBymemberIdAndTradeId(memberId,parseLong);
@@ -616,8 +637,11 @@
documentaryOrderSetInfoVo.setFollowCnt(followCnt);
Integer maxFollowCnt = followFollowerSettingEntity.getMaxFollowCnt();
- documentaryOrderSetInfoVo.setMaxFollowCnt(maxFollowCnt);
-
+ if(maxFollowCnt > 0){
+ documentaryOrderSetInfoVo.setMaxFollowCnt(maxFollowCnt.toString());
+ }
+ documentaryOrderSetInfoVo.setMaxFollowCnt(null);
+ log.info(memberId + "-最大持仓张数-"+maxFollowCnt.toString());
return Result.ok(documentaryOrderSetInfoVo);
}
@@ -739,6 +763,7 @@
}else {
followTraderInfoEntity.setNickname(email.replaceAll("(\\w?)(\\w+)(\\w)(@\\w+\\.[a-z]+(\\.[a-z]+)?)","$1****$3$4"));
}
+ followTraderInfoEntity.setNicknameState(FollowTraderInfoEntity.STATE_N);
followTraderInfoEntity.setDeclaration(FollowTraderInfoEntity.DECLARATION_DEFAULT);
followTraderInfoEntity.setIsAll(FollowTraderInfoEntity.IS_ALL_N);
followTraderInfoEntity.setProfitRatio(BigDecimal.ZERO);
@@ -785,6 +810,8 @@
tradeSetInfoVo.setAvatar(avatar);
String nickname = followTraderInfoEntity.getNickname();
tradeSetInfoVo.setNickname(nickname);
+ Integer nicknameState = followTraderInfoEntity.getNicknameState();
+ tradeSetInfoVo.setNicknameState(nicknameState);
String declaration = followTraderInfoEntity.getDeclaration();
tradeSetInfoVo.setDeclaration(declaration);
Integer isOpen = followTraderInfoEntity.getIsOpen();
@@ -819,6 +846,14 @@
String declaration = updateTradeSetInfoDto.getDeclaration();
int isOpen = updateTradeSetInfoDto.getIsOpen();
String labels = updateTradeSetInfoDto.getLabels();
+ Integer nicknameState = followTraderInfoEntity.getNicknameState();
+ if(FollowTraderInfoEntity.STATE_Y == nicknameState && !nickname.equals(followTraderInfoEntity.getNickname())) {
+ return Result.ok(MessageSourceUtils.getString("member_service_0099"));
+ }
+ if(!nickname.equals(followTraderInfoEntity.getNickname())) {
+ followTraderInfoEntity.setNickname(nickname);
+ followTraderInfoEntity.setNicknameState(FollowTraderInfoEntity.STATE_Y);
+ }
followTraderInfoEntity.setLabels(labels);
followTraderInfoEntity.setAvatar(avatar);
followTraderInfoEntity.setNickname(nickname);
@@ -1064,6 +1099,18 @@
long id = outFollowInfoDto.getId();
//获取【跟随者收益】
FollowFollowerProfitEntity followFollowerProfitEntity = followFollowerProfitDao.selectById(id);
+
+ //当前有跟单合约不允许移除
+ //获取【跟随者-订单关联表】
+ Map<String, Object> selectColumnMap = new HashMap<>();
+ selectColumnMap.put("member_id", followFollowerProfitEntity.getMemberId());
+ selectColumnMap.put("trade_member_id", memberId);
+ selectColumnMap.put("order_type", FollowFollowerOrderRelationEntity.ORDER_TYPE_HOLD);
+ List<FollowFollowerOrderRelationEntity> followFollowerOrderRelationEntitys = followFollowerOrderRelationDao.selectByMap(selectColumnMap);
+ if(CollUtil.isNotEmpty(followFollowerOrderRelationEntitys)) {
+ return Result.fail(MessageSourceUtils.getString("documentary_service_0019"));
+ }
+
followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_N);
followFollowerProfitDao.updateById(followFollowerProfitEntity);
@@ -1089,6 +1136,7 @@
}
@Override
+ @Transactional
public Result getFollowFollowerNoticeList(FollowFollowerNoticeDto followFollowerNoticeDto) {
//获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
@@ -1110,6 +1158,12 @@
followFollowerNoticeVo.setCreateTime(createTime);
arrayList.add(followFollowerNoticeVo);
}
+ }
+ MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberId);
+ if(ObjectUtil.isNotEmpty(memberSettingEntity)) {
+ log.info(memberId + "的消息提醒状态变更");
+ memberSettingEntity.setMessageReminder(0);
+ memberSettingDao.updateById(memberSettingEntity);
}
return Result.ok(arrayList);
@@ -1135,6 +1189,13 @@
}
return Result.ok(arrayList);
}
+
+ @Override
+ public Result beTraderCondition() {
+ String type = "apply_trader_rule";
+ List<BeTraderConditionVo> beTraderConditionVos = followTraderInfoDao.selectBeTraderCondition(type);
+ return Result.ok(beTraderConditionVos);
+ }
--
Gitblit v1.9.1