Procházet zdrojové kódy

添加微信获取二维码

刘韬 před 6 roky
rodič
revize
cbc40486a9

+ 7 - 0
DataFusion/.classpath

@@ -7,11 +7,18 @@
 			<attribute name="module" value="true"/>
 		</attributes>
 	</classpathentry>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-codec-1.9.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-io-2.5.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-lang3-3.4.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-logging-1.2.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-pool2-2.3.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/cron4j-2.2.5.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/druid-1.0.29.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/fastjson-1.2.31.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/fst-2.29.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/httpclient-4.5.2.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/httpcore-4.4.4.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/httpmime-4.5.2.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jackson-core-2.5.3.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/javassist-3.19.0-GA.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jedis-2.7.2.jar"/>

+ 0 - 2
DataFusion/WebRoot/WEB-INF/classes/.gitignore

@@ -1,3 +1 @@
 /com/
-/config.properties
-/log4j.properties

+ 1 - 1
DataFusion/WebRoot/WEB-INF/classes/config.properties

@@ -3,6 +3,6 @@ jdbcUrl_zskk  = jdbc:mysql://www.pacsonline.cn:3306/pacsonline?characterEncoding
 user_zskk 	  = pacs
 password_zskk = ZSKK@2017~!@#
 
-jdbcUrl_connected  = jdbc:oracle:thin:@172.16.0.244:1521:pacs
+jdbcUrl_connected  = jdbc:oracle:thin:@172.16.0.244:1521:orcl
 user_connected 	   = jiekou
 password_connected = another

binární
DataFusion/WebRoot/WEB-INF/lib/commons-codec-1.9.jar


binární
DataFusion/WebRoot/WEB-INF/lib/commons-io-2.5.jar


binární
DataFusion/WebRoot/WEB-INF/lib/commons-lang3-3.4.jar


binární
DataFusion/WebRoot/WEB-INF/lib/commons-logging-1.2.jar


binární
DataFusion/WebRoot/WEB-INF/lib/httpclient-4.5.2.jar


binární
DataFusion/WebRoot/WEB-INF/lib/httpcore-4.4.4.jar


binární
DataFusion/WebRoot/WEB-INF/lib/httpmime-4.5.2.jar


+ 28 - 0
DataFusion/src/com/zskk/service/ServiceFactory.java

@@ -0,0 +1,28 @@
+package com.zskk.service;
+
+import java.util.HashMap;
+import java.util.Map;
+import com.jfinal.aop.Duang;
+
+/**
+ * Service的工厂方法
+ * 使用工厂方法的主要目的是 为了AOP
+ * @author yht
+ *
+ */
+public class ServiceFactory {
+	private static final Map<Class<?>, Object> CLASS_MAP = new HashMap<Class<?>, Object>();
+	
+	/**
+	 * 初始化 创建Service
+	 */
+	public static void init(){
+		CLASS_MAP.put(ThreadPoolService.class, 	        Duang.duang(ThreadPoolService.class));
+		CLASS_MAP.put(WeixinService.class, 	            Duang.duang(WeixinService .class));
+	}
+	
+	@SuppressWarnings("unchecked")
+	public static <T> T getService(Class<T> c){
+		return (T)CLASS_MAP.get(c);
+	}
+}

+ 61 - 0
DataFusion/src/com/zskk/service/ThreadPoolService.java

@@ -0,0 +1,61 @@
+package com.zskk.service;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+//import com.pacs.tools.LogUtil;
+
+/**
+ * 线程池服务
+ * @author lt
+ *
+ */
+public class ThreadPoolService {
+	private static ExecutorService POOLS = null;
+	private static ScheduledExecutorService TIMER_POOLS = null;
+	public ThreadPoolService(){
+		POOLS		= Executors.newCachedThreadPool();
+		TIMER_POOLS = Executors.newScheduledThreadPool(1);
+	}
+
+	/**
+	 * 执行
+	 * @param run
+	 */
+	public void execute(Runnable run){
+		POOLS.execute(()->{
+			try{
+				run.run();
+			}catch(Exception e){
+//				LogUtil.sysError(e.getMessage(), e);
+			}
+		});
+	}
+	
+	/**
+	 * 提交任务
+	 * @param callable
+	 * @return
+	 */
+	public <T> Future<T>  submit(Callable<T> callable){
+		return POOLS.submit(callable);
+	}
+	
+	/**
+	 * 循环任务
+	 * @param call
+	 * @param delay
+	 */
+	public void schedule(Runnable call, long delay){
+		TIMER_POOLS.scheduleAtFixedRate(()->{
+			try{
+				call.run();
+			}catch(Exception e){
+//				LogUtil.sysError(e.getMessage(), e);
+			}
+		}, 0, delay, TimeUnit.MINUTES);
+	}
+}

+ 70 - 0
DataFusion/src/com/zskk/service/WeixinService.java

@@ -0,0 +1,70 @@
+package com.zskk.service;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+
+
+public class WeixinService {
+	static {
+//		PropKit.use("config.txt");
+//		ServiceFactory.init();
+//		DruidPlugin plugin = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
+//		ActiveRecordPlugin arp = new ActiveRecordPlugin(plugin); 		
+//		_MappingKit.mapping(arp);
+//		plugin.start();
+//		arp.start();
+
+	}
+	private static final PoolingHttpClientConnectionManager POOL_CM = new PoolingHttpClientConnectionManager();
+
+	private static final String CAHR_CODE = "UTF-8";
+
+	// 获取访问TOKEN
+	private static final String WEIXIN_QRCODE = "http://wechat.pacsonline.cn/wxzskk/uwx/requestWxQrcode?reportId=%s";
+
+	/*
+	 * 获取用户信息
+	 */
+	public void requestWeixinQrcode(String reportid) {
+		String url = String.format(WEIXIN_QRCODE, reportid);
+		String content = doGet(url);
+	}
+	
+	private String doGet(String url) {
+		StringBuilder apiLog = new StringBuilder();
+		apiLog.append(url).append("\t").append("params:").append("");
+		CloseableHttpClient client = HttpClients.custom().setConnectionManager(POOL_CM).build();
+		String content = null; // 返回内容
+		try {
+			HttpGet get = new HttpGet(url);
+
+			CloseableHttpResponse response = null;
+			try {
+				response = client.execute(get);
+				int code = response.getStatusLine().getStatusCode();
+				if (code == 200) {
+					content = IOUtils.toString(response.getEntity().getContent(), CAHR_CODE);
+				} else {
+					content = "{\"40013\":" + code + "}";
+				}
+			} finally {
+				if (response != null) {
+					response.close();
+				}
+			}
+		} catch (Exception e) {
+//			LogUtil.netEaseError(e.getMessage(), e);
+			content = "{\"40013\":1000}";
+		}
+		// 记录日志
+		apiLog.append("\t").append("result:").append(content);
+//		LogUtil.netEaseDebug(apiLog.toString());
+
+		return content;
+	}
+
+}

+ 1 - 1
DataFusion/src/com/zskk/task/DataTask.java

@@ -67,7 +67,7 @@ public class DataTask implements ITask {
 	
 	private String creatId() {
 		UUID id=UUID.randomUUID();
-        String[] idd=id.toString().split("-");
+        String[] idd= id.toString().split("-");
         return idd[0]+idd[1]+idd[2];
 	}