From cf200a1f92c01ba22c326c49391f748ffb006910 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 05 Jul 2021 17:28:35 +0800
Subject: [PATCH] 20210617  开售开关

---
 src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 1 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 8767b38..5872b91 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
@@ -6,6 +6,8 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
@@ -70,6 +72,11 @@
 		List<FollowTraderInfoEntity> records = followTraderInfoEntitys.getRecords();
 		if(CollUtil.isNotEmpty(records)) {
 			for(FollowTraderInfoEntity followTraderInfo : records) {
+				//获取当前跟单人数
+				Long traderId = followTraderInfo.getId();
+				String followNowNumString = followTraderInfoMapper.selectFollowNowBytraderId(traderId);
+				followTraderInfo.setFollowNumNow(followNowNumString);
+				
 				Long memberId = followTraderInfo.getMemberId();
 				Map<String, Object> columnMap = new HashMap<>();
 				columnMap.put("member_id", memberId);
@@ -151,6 +158,7 @@
 			memberMapper.updateById(memberEntity);
 			//更新【交易员信息表】数据
 			selectById.setProfitRatio(profitRatio);
+			selectById.setEntryTime(new Date());
 			selectById.setVerifyStatus(FollowTraderInfoEntity.VERIFYSTATUS_Y);
 			followTraderInfoMapper.updateById(selectById);
 			//新增【交易员收益信息 】数据
@@ -173,6 +181,7 @@
 			redisUtils.set("app_" + token, JSONObject.toJSONString(memberEntity), 36000);
 		}else {
 			//更新【交易员信息表】数据
+			selectById.setEntryTime(new Date());
 			selectById.setVerifyStatus(FollowTraderInfoEntity.VERIFYSTATUS_N);
 			followTraderInfoMapper.updateById(selectById);
 		}
@@ -258,12 +267,46 @@
 		if(profitRatio.compareTo(BigDecimal.ZERO) < 0 || profitRatio.compareTo(BigDecimal.ONE) >= 0){
 			return new FebsResponse().fail().message("利润率设置规则:只允许0到1之间的小数");
 		}
+		//最大跟随人数
+		boolean matches = isMatches(modifyProfitRatioDto.getFollowNum());
+		if(!matches) {
+			return new FebsResponse().fail().message("最大跟随人数只能输入正整数");
+		}
+		Integer followNum = Integer.parseInt(modifyProfitRatioDto.getFollowNum());
+		if(ObjectUtil.isEmpty(followNum) || followNum == 0) {
+			return new FebsResponse().fail().message("最大跟随人数不能为0");
+		}
+
+		String followNumNow = followTraderInfoMapper.selectFollowNowBytraderId(id);
+		int parseInt = Integer.parseInt(followNumNow);
+		if(parseInt > followNum){
+			return new FebsResponse().fail().message("请填写大于当前跟随人数"+parseInt+"的整数");
+		}
 		//更新【交易员信息表】数据
 		selectById.setProfitRatio(profitRatio);
-		selectById.setVerifyStatus(FollowTraderInfoEntity.VERIFYSTATUS_Y);
+		selectById.setFollowNum(followNum);
 		followTraderInfoMapper.updateById(selectById);
 		return new FebsResponse().success();
 	}
+	
+	public boolean isMatches(String bot){
+		 boolean flag=false;
+		 try{
+		  String regex="^[1-9]+[0-9]*$";
+		  //^[1-9]+\\d*$
+		  Pattern p=Pattern.compile(regex);
+		  Matcher m=p.matcher(bot);
+		  if(m.find()){
+		   System.out.println("successss");
+		  return true;
+		  }else{
+		  System.out.println("falsss");
+		  }
+		 }catch(Exception e){
+		  e.printStackTrace();
+		 }
+		 return flag;
+		}
 
 	@Override
 	public FebsResponse traderGetOn(@NotNull(message = "{required}") Long id) {

--
Gitblit v1.9.1