From d3a5dfe218fdee554decdd58a3c995e03bc1dec1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 11 六月 2020 14:12:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java
index 7d8638b..0cfcf16 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java
@@ -15,7 +15,6 @@
 import com.aliyun.openservices.ons.api.Message;
 import com.aliyun.openservices.ons.api.Producer;
 import com.yeshi.fanli.dao.mybatis.user.cloud.UserCloudMapper;
-import com.yeshi.fanli.dto.aitaoker.RobotInfoDTO;
 import com.yeshi.fanli.dto.aitaoker.WeiXinGroupDTO;
 import com.yeshi.fanli.dto.jd.JDCouponInfo;
 import com.yeshi.fanli.dto.jd.JDPingouInfo;
@@ -71,6 +70,7 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.ImageToBase64;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
+import com.yeshi.fanli.util.RedisKeyEnum;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.aitaoker.AitaokerApiUtil;
@@ -306,12 +306,27 @@
 		List<WeiXinGroupDTO> list = AitaokerApiUtil.getContract(robotId);
 		if (list == null || list.size() == 0)
 			throw new UserCloudException(1, "鏈绱㈠埌瀵瑰簲缇�");
-
+		
+		String wxId = userCloud.getWxId();
 		for (WeiXinGroupDTO dto : list) {
-			userCloudGroupService.addGroup(uid, dto.getGroupId(), dto.getGroupName(), userCloud.getGroupNum());
+			String groupId = dto.getGroupId();
+			// 妫�娴嬫槸鍚﹀尮閰嶇兢
+			String key =  RedisKeyEnum.cloudMatchGroup.getKey() + StringUtil.Md5(wxId + "_" + groupId);
+			String result = redisManager.getCommonString(key);
+			 if (!StringUtil.isNullOrEmpty(result)) {
+				userCloudGroupService.addGroup(uid, dto.getGroupId(), dto.getGroupName(), userCloud.getGroupNum());
+			}
 		}
 	}
 	
+	@Override
+	public void cacheMatchGroup(String wxId, String groupId) {
+		 if (StringUtil.isNullOrEmpty(wxId) || StringUtil.isNullOrEmpty(groupId))
+			return;
+		String key =  RedisKeyEnum.cloudMatchGroup.getKey() + StringUtil.Md5(wxId + "_" + groupId);
+		redisManager.cacheCommonString(key , "true" , 60*20);
+	}
+		
 	@Override
 	public void sendByDynamic(Long uid, String id) throws UserCloudException{
 		sendCircleByDynamic(uid, id, UserCloudSendRecord.SEND_WAY_MANUAL);
@@ -374,6 +389,10 @@
 		String wxId = userCloud.getWxId();
 		if (StringUtil.isNullOrEmpty(wxId)) 
 			throw new UserCloudException(1003, "寰俊鍙蜂笉瀛樺湪锛岃鍏堝井淇$櫥褰�");
+		
+		if (!AitaokerApiUtil.onlineCheck(robotId)) {
+			throw new UserCloudException(1003, "寰俊宸叉帀绾匡紝璇峰厛閲嶆柊鐧诲綍寰俊");
+		}
 		
 		// 楠岃瘉寮�鍚姸鎬�
 		List<UserCloudGroup> listGroup = userCloudGroupService.listByUid(uid);
@@ -679,6 +698,11 @@
 		if (StringUtil.isNullOrEmpty(wxId)) 
 			throw new UserCloudException(1002, "璇峰厛鐧诲綍寰俊");
 		
+		if (!AitaokerApiUtil.onlineCheck(robotId)) {
+			throw new UserCloudException(1003, "寰俊宸叉帀绾匡紝璇峰厛閲嶆柊鐧诲綍寰俊");
+		}
+		
+		
 		// 楠岃瘉寮�鍚姸鎬�
 		List<UserCloudGroup> listGroup = userCloudGroupService.listByUid(uid);
 		if (listGroup == null || listGroup.size() == 0)

--
Gitblit v1.8.0