Bläddra i källkod

微信新增用户调用远程接口同步

shenhao 5 år sedan
förälder
incheckning
287c2ee199

+ 23 - 0
src/main/java/com/ssj/service/weixin/user/service/impl/UserServiceImpl.java

@@ -27,6 +27,7 @@ import com.ssj.service.weixin.user.util.UserHandlerUtil;
 import com.ssj.sys.util.j2se.RandomUtils;
 import com.ssj.taskthread.Task;
 import com.ssj.taskthread.ThreadPool;
+import com.ssj.utils.RequestOpenApiUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -206,6 +207,7 @@ public class UserServiceImpl extends BaseServiceImpl<User, String> implements Us
 					map.put("unionid", user.getUnionid());
 					map.put("photo", StringUtil.isNotEmpty(user.getPhoto())?user.getPhoto():"");
                     tokenManager.hset(key,map);
+					toOther(user);
 					return  map;
 				}
 			}
@@ -223,6 +225,7 @@ public class UserServiceImpl extends BaseServiceImpl<User, String> implements Us
 			map.put("openId", user.getAccount());
 			map.put("unionid", user.getUnionid());
             map.put("photo", StringUtil.isNotEmpty(user.getPhoto())?user.getPhoto():"");
+            toOther(user);
 		}else{
 			
 			User weiXinUser=UserHandlerUtil.getUserInfo(tokenManager.getSSJAccessToken(), openId);
@@ -257,6 +260,26 @@ public class UserServiceImpl extends BaseServiceImpl<User, String> implements Us
 		return  map;
 	}
 
+	private void toOther(User user){
+		try {
+			Map<String,Object> requestMap = new HashMap<>();
+			requestMap.put("unionId",user.getUnionid());
+			requestMap.put("wxOpenId",user.getAccount());
+			requestMap.put("subscribe",user.getSubscribe());
+			requestMap.put("nickname",user.getName());
+			requestMap.put("sex",user.getSex());
+			requestMap.put("city",user.getCity());
+			requestMap.put("country",user.getCountry());
+			requestMap.put("province",user.getProvince());
+			requestMap.put("language",user.getLanguage());
+			requestMap.put("headImgUrl",user.getPhoto());
+			requestMap.put("subscribeTime",System.currentTimeMillis());
+			RequestOpenApiUtils.openApiServiceWx(requestMap);
+		}catch (Exception e){
+			logger.error("调用远程接口出错",e);
+		}
+
+	}
 
 	@Override
 	public String getSubscribe(String userId) {

+ 50 - 0
src/main/java/com/ssj/utils/RequestOpenApiUtils.java

@@ -0,0 +1,50 @@
+package com.ssj.utils;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ssj.framework.core.util.HttpRemote;
+import com.ssj.framework.core.util.PropertiesUtil;
+import com.ssj.framework.weixin.pay.util.MD5Util;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Map;
+
+public class RequestOpenApiUtils {
+	
+	private static Logger logger = LoggerFactory.getLogger(RequestOpenApiUtils.class);
+	
+	private static String appid="zhidian";
+	
+	private static String accessKey="Zhidian@34889_";
+	
+	
+	//生成第三方接口的请求token
+	public static String createOpenToken(String appid, String accessKey) {
+		long time = System.currentTimeMillis() / 60000;
+		return MD5Util.MD5Encode(appid + accessKey + time, "utf-8");
+	}
+	
+	//调用第三方的删除校区学生服务。
+	public static void openApiServiceWx(Map<String,Object> map) {
+		try {
+			StringBuilder sb = new StringBuilder();
+			String host= PropertiesUtil.getValue("API_OPEN_URL");
+			String accessToken=createOpenToken(appid, accessKey);
+			String url=sb.append(host).append("/api/common/common/updateWxInfo?appid=").append(appid).append("&accessToken=").append(accessToken).toString();
+			JSONObject json= new JSONObject(map);
+			logger.info("调用第三方接口【dealServiceCRM】,请求URL:"+url);
+			logger.info("调用第三方接口【dealServiceCRM】,请求参数:"+json);
+			String text= HttpRemote.POSTMethod(url, json.toJSONString());
+			logger.info("调用第三方接口【dealServiceCRM】,返回结果:"+text);
+		} catch (Exception e) {
+			logger.info("调用第三方接口【dealServiceCRM】,异常");
+			e.printStackTrace();
+		}
+
+}
+
+
+	
+	
+
+}

+ 2 - 2
src/main/resources/application-common-dev.properties

@@ -1,6 +1,6 @@
 #\u5F00\u53D1\u73AF\u5883\u6253\u5305\u65B9\u5F0F-\u914D\u7F6E\uFF08\u9ED8\u8BA4\uFF09
 
-spring.datasource.url=jdbc:mysql://172.18.106.198:8066/aijia?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&rewriteBatchedStatements=true&useLocalSessionState=true
+spring.datasource.url=jdbc:mysql://120.79.142.152:3306/ssj1?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&rewriteBatchedStatements=true&useLocalSessionState=true
 spring.datasource.username=root
 spring.datasource.password=ssj1QAZxsw2!@
 #spring.datasource.url=jdbc:mysql://120.79.215.176:8066/ssj?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
@@ -40,7 +40,7 @@ spring.redis.block-when-exhausted=true
 
 
 #spring.redis.cluster.nodes=120.79.157.115:6379
-spring.redis.cluster.nodes=47.106.111.166:6380,47.106.111.166:6381,47.106.111.166:6382,47.106.111.166:6383,47.106.111.166:6384,47.106.111.166:6385
+spring.redis.cluster.nodes=120.79.142.152:6380
 spring.redis.cluster.timeout=30
 
 spring.redis.cluster.pool.max-active=8