From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 30 七月 2019 09:07:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/PushController.java |  333 +++++++++++++++++--------------------------------------
 1 files changed, 104 insertions(+), 229 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushController.java
index eb1093e..b7231f5 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/PushController.java
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.controller.admin;
 
 import java.io.PrintWriter;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -8,23 +9,18 @@
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.yeshi.utils.HttpUtil;
+import org.yeshi.utils.JsonUtil;
 
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
 import com.yeshi.fanli.entity.bus.msg.UserSystemMsg;
 import com.yeshi.fanli.entity.bus.msg.UserSystemMsgTypeEnum;
 import com.yeshi.fanli.exception.PushException;
-import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.config.SystemService;
 import com.yeshi.fanli.service.inter.msg.UserSystemMsgService;
-import com.yeshi.fanli.service.inter.push.PushRecordService;
 import com.yeshi.fanli.service.inter.push.PushService;
-import com.yeshi.fanli.service.inter.user.AccountMessageService;
-import com.yeshi.fanli.service.inter.user.SystemZnxService;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.factory.IOSPushFactory;
-
-import org.yeshi.utils.HttpUtil;
-import org.yeshi.utils.JsonUtil;
 
 import net.sf.json.JSONObject;
 
@@ -40,147 +36,13 @@
 	public final static int BAICHUAN = 6; // 绔欏唴鎺ㄩ��
 	public final static int WELFARE_CENTER = 7; // 绂忓埄涓績
 
-	@Resource
-	private PushRecordService pushRecordService;
-
-	@Resource
-	private ConfigService configService;
-
-	@Resource
-	private SystemZnxService systemZnxService;
-
-	@Resource
-	private AccountMessageService accountMessageService;
-
-	@Resource
-	private SystemService systemService;
 
 	@Resource
 	private PushService pushService;
 
 	@Resource
 	private UserSystemMsgService userSystemMsgService;
-
-	/**
-	 * 鍟嗗搧鎺ㄩ��
-	 * 
-	 * @param uId
-	 *            -鐢ㄦ埛ID 鍙负绌�
-	 * @param url
-	 *            -鍟嗗搧閾炬帴
-	 * @param title
-	 *            -鎺ㄩ�佹爣棰�
-	 * @param content
-	 *            -鎺ㄩ�佸唴瀹�
-	 * @param out
-	 * @throws Exception
-	 */
-	@RequestMapping(value = "pushGoodsAll_f", method = RequestMethod.POST)
-	public void pushGoods(Long uId, String url, String title, String content, String versions, PrintWriter out) throws Exception {
-		try {
-			String auctionId = null;
-			if (!StringUtil.isNullOrEmpty(url) && url.contains("id=")) {
-				String[] sts = url.split("\\?")[1].split("&");
-				for (String st : sts)
-					if (st.contains("id=")) {
-						auctionId = st.replace("id=", "");
-					}
-			}
-
-			if (StringUtil.isNullOrEmpty(auctionId)) {
-				out.print(JsonUtil.loadFalseResult("鎻愬彇鍟嗗搧ID澶辫触"));
-				return;
-			}
-
-			JSONObject json = IOSPushFactory.createGoodsPush(Long.parseLong(auctionId), title, content);
-			if (json.toString().getBytes().length > 256) {
-				out.print(JsonUtil.loadFalseResult("鏍囬鎴栧唴瀹硅繃闀匡紝璇峰垹鍑忓悗鍐嶈瘯"));
-				return;
-			}
-
-			List<String> listVersion = null;
-			if (versions != null && versions.trim().length() > 0) {
-				listVersion  = Arrays.asList(versions.split(","));
-			}
-			
-			pushService.pushGoods(uId, url, title, content, listVersion);
-			out.print(JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
-		} catch (PushException e) {
-			out.print(JsonUtil.loadFalseResult(e.getMsg()));
-		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * 缃戦〉鎺ㄩ��
-	 * 
-	 * @param url
-	 * @param title
-	 * @param content
-	 * @param out
-	 * @throws Exception
-	 */
-	@RequestMapping(value = "pushUrlAll_f", method = RequestMethod.POST)
-	public void pushUrl(String url, String title, String content, String versions, PrintWriter out) throws Exception {
-		if (StringUtil.isNullOrEmpty(url) || StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(content)) {
-			out.print(JsonUtil.loadFalseResult("璇峰~鍐欓摼鎺ワ紝鏍囬涓庡唴瀹�"));
-			return;
-		}
-
-		JSONObject json = IOSPushFactory.createURLPush(HttpUtil.getShortLink(url), title, content);
-		if (json.toString().getBytes().length > 256) {
-			out.print(JsonUtil.loadFalseResult("鏍囬鎴栧唴瀹硅繃闀匡紝璇峰垹鍑忓悗鍐嶈瘯"));
-			return;
-		}
-		
-		try {
-			List<String> listVersion = null;
-			if (versions != null && versions.trim().length() > 0) {
-				listVersion  = Arrays.asList(versions.split(","));
-			}
-			
-			pushService.pushUrl(null, url, title, content, listVersion);
-			out.print(JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
-		} catch (PushException e) {
-			out.print(JsonUtil.loadFalseResult(e.getMsg()));
-		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
-			e.printStackTrace();
-		}
-		
-	}
-
-	/**
-	 * 
-	 * 鏂规硶璇存槑: 绔欏唴淇℃帹閫�
-	 * 
-	 * @author mawurui createTime 2018骞�3鏈�12鏃� 涓嬪崍5:45:00
-	 * @param uId
-	 * @param title
-	 * @param content
-	 * @throws Exception
-	 */
-	@RequestMapping(value = "pushFanZNX_f", method = RequestMethod.POST)
-	public void pushSystemZnx(Long uId, String title, String content, String versions, PrintWriter out) throws Exception {
-		try {
-			List<String> listVersion = null;
-			if (versions != null && versions.trim().length() > 0) {
-				listVersion  = Arrays.asList(versions.split(","));
-			}
-			
-			pushService.pushZNX(uId, title, content, listVersion);
-			
-			out.print(JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
-		} catch (PushException e) {
-			out.print(JsonUtil.loadFalseResult(e.getMsg()));
-		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
-			e.printStackTrace();
-		}
-		
-	}
+	
 
 	/**
 	 * 鐭摼鎺ヨ浆鎹�
@@ -211,59 +73,6 @@
 		}
 	}
 
-	/**
-	 * 鍟嗗搧鎺ㄩ�� -(鏂板悗鍙�)
-	 * 
-	 * @param uId
-	 *            -鐢ㄦ埛ID 鍙负绌�
-	 * @param url
-	 *            -鍟嗗搧閾炬帴
-	 * @param title
-	 *            -鎺ㄩ�佹爣棰�
-	 * @param content
-	 *            -鎺ㄩ�佸唴瀹�
-	 * @param out
-	 * @throws Exception
-	 */
-	@RequestMapping(value = "newPushGoodsAll")
-	public void newPushGoodsAll(String callback, Long uid, String url, String title, String content, String versions, PrintWriter out)
-			throws Exception {
-
-		String auctionId = null;
-		if (!StringUtil.isNullOrEmpty(url) && url.contains("id=")) {
-			String[] sts = url.split("\\?")[1].split("&");
-			for (String st : sts)
-				if (st.contains("id=")) {
-					auctionId = st.replace("id=", "");
-				}
-		}
-
-		if (StringUtil.isNullOrEmpty(auctionId)) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎻愬彇鍟嗗搧ID澶辫触"));
-			return;
-		}
-
-		JSONObject json = IOSPushFactory.createGoodsPush(Long.parseLong(auctionId), title, content);
-		if (json.toString().getBytes().length > 256) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏍囬鎴栧唴瀹硅繃闀匡紝璇峰垹鍑忓悗鍐嶈瘯"));
-			return;
-		}
-
-		try {
-			List<String> listVersion = null;
-			if (versions != null && versions.trim().length() > 0) {
-				listVersion  = Arrays.asList(versions.split(","));
-			}
-			
-			pushService.pushGoods(uid, url, title, content, listVersion);
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
-		} catch (PushException e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
-			e.printStackTrace();
-		}
-	}
 
 	/**
 	 * 缃戦〉鎺ㄩ�� -(鏂板悗鍙�)
@@ -275,7 +84,8 @@
 	 * @throws Exception
 	 */
 	@RequestMapping(value = "newPushUrlAll")
-	public void newPushUrlAll(String callback, String url, String title, String content, String versions, PrintWriter out) {
+	public void newPushUrlAll(String callback, String url, String title, String content, String uids, 
+			String arrayIOS, String arrayAndroid, PrintWriter out) {
 
 		if (StringUtil.isNullOrEmpty(url) || StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(content)) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇峰~鍐欓摼鎺ワ紝鏍囬涓庡唴瀹�"));
@@ -289,12 +99,37 @@
 		}
 
 		try {
-			List<String> listVersion = null;
-			if (versions != null && versions.trim().length() > 0) {
-				listVersion  = Arrays.asList(versions.split(","));
+
+			List<String> listuid = null;
+			if (uids != null && uids.trim().length() > 0) {
+				listuid = Arrays.asList(uids.split(","));
+				if (listuid == null || listuid.size() == 0) {
+					JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛id鏍煎紡涓嶆纭�"));
+					return;
+				}
 			}
 			
-			pushService.pushUrl(null, url, title, content, listVersion);
+			if ((arrayIOS == null || arrayIOS.trim().length() == 0)
+					&& (arrayAndroid == null || arrayAndroid.trim().length() == 0)) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佺増鏈笉鑳戒负绌�"));
+				return;
+			} 
+			
+			List<String> listIOS = convertList(arrayIOS);
+			List<String> listAndroid = convertList(arrayAndroid);
+			
+			if (listuid == null) {
+				// 鍏ㄦ帹
+				pushService.pushUrl(null, title, content, url, listIOS, listAndroid);
+			} else {
+				// 閮ㄥ垎鎺ㄩ��
+				for (String str_uid: listuid) {
+					if (str_uid != null && str_uid.trim().length() > 0) {
+						pushService.pushUrl(Long.parseLong(str_uid), title, content, url, listIOS, listAndroid);
+					}
+				}
+			}
+			
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
 		} catch (PushException e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
@@ -314,7 +149,8 @@
 	 * @throws Exception
 	 */
 	@RequestMapping(value = "newPushFanZNX")
-	public void newPushFanZNX(String callback, String uids, String title, String content, String versions, PrintWriter out) {
+	public void newPushFanZNX(String callback, String uids, String title, String content, String arrayIOS, 
+			String arrayAndroid, PrintWriter out) {
 
 		if (StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(content)) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇峰~鍐欐爣棰樹笌鍐呭"));
@@ -323,23 +159,33 @@
 
 		try {
 
-			String[] uidArray = null;
-			if (uids != null) {
-				uidArray = uids.split(",");
+			List<String> listuid = null;
+			if (uids != null && uids.trim().length() > 0) {
+				listuid = Arrays.asList(uids.split(","));
+				if (listuid == null || listuid.size() == 0) {
+					JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛id鏍煎紡涓嶆纭�"));
+					return;
+				}
 			}
 			
-			List<String> listVersion = null;
-			if (versions != null && versions.trim().length() > 0) {
-				listVersion  = Arrays.asList(versions.split(","));
-			}
+
+			if ((arrayIOS == null || arrayIOS.trim().length() == 0)
+					&& (arrayAndroid == null || arrayAndroid.trim().length() == 0)) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佺増鏈笉鑳戒负绌�"));
+				return;
+			} 
 			
-			if (uidArray == null) {
-				pushService.pushZNX(null, title, content, listVersion);
+			List<String> listIOS = convertList(arrayIOS);
+			List<String> listAndroid = convertList(arrayAndroid);
+			
+			if (listuid == null) {
+				// 鍏ㄦ帹
+				pushService.pushZNX(null, title, content, listIOS, listAndroid);
 			} else {
-				for (int i = 0; i < uidArray.length; i++) {
-					String str_uid = uidArray[i];
+				// 閮ㄥ垎鎺ㄩ��
+				for (String str_uid: listuid) {
 					if (str_uid != null && str_uid.trim().length() > 0) {
-						pushService.pushZNX(Long.parseLong(str_uid), title, content, listVersion);
+						pushService.pushZNX(Long.parseLong(str_uid), title, content, listIOS, listAndroid);
 
 						userSystemMsgService.addUserSystemMsg(Long.parseLong(str_uid), UserSystemMsgTypeEnum.question,
 								title, content, UserSystemMsg.TIME_TAG_EMERGENT, null);
@@ -365,7 +211,8 @@
 	 * @throws Exception
 	 */
 	@RequestMapping(value = "pushBaiChuan")
-	public void pushBaiChuan(String callback, String uids, String title, String content, String url, String versions, PrintWriter out) {
+	public void pushBaiChuan(String callback, String uids, String title, String content, String url, String arrayIOS,
+			String arrayAndroid, PrintWriter out) {
 
 		if (StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(content)) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇峰~鍐欐爣棰樹笌鍐呭"));
@@ -374,23 +221,32 @@
 
 		try {
 
-			String[] uidArray = null;
-			if (uids != null) {
-				uidArray = uids.split(",");
-			}
-
-			List<String> listVersion = null;
-			if (versions != null && versions.trim().length() > 0) {
-				listVersion  = Arrays.asList(versions.split(","));
+			List<String> listuid = null;
+			if (uids != null && uids.trim().length() > 0) {
+				listuid = Arrays.asList(uids.split(","));
+				if (listuid == null || listuid.size() == 0) {
+					JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛id鏍煎紡涓嶆纭�"));
+					return;
+				}
 			}
 			
-			if (uidArray == null) {
-				pushService.pushBaiChuanUrl(null, title, content, url, listVersion);
+			if ((arrayIOS == null || arrayIOS.trim().length() == 0)
+					&& (arrayAndroid == null || arrayAndroid.trim().length() == 0)) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佺増鏈笉鑳戒负绌�"));
+				return;
+			} 
+			
+			List<String> listIOS = convertList(arrayIOS);
+			List<String> listAndroid = convertList(arrayAndroid);
+			
+			if (listuid == null) {
+				// 鍏ㄦ帹
+				pushService.pushBaiChuanUrl(null, title, content, url, listIOS, listAndroid);
 			} else {
-				for (int i = 0; i < uidArray.length; i++) {
-					String str_uid = uidArray[i];
+				// 閮ㄥ垎鎺ㄩ��
+				for (String str_uid: listuid) {
 					if (str_uid != null && str_uid.trim().length() > 0) {
-						pushService.pushBaiChuanUrl(Long.parseLong(str_uid), title, content, url, listVersion);
+						pushService.pushBaiChuanUrl(Long.parseLong(str_uid), title, content, url, listIOS, listAndroid);
 					}
 				}
 			}
@@ -404,4 +260,23 @@
 		}
 	}
 
+	
+	/**
+	 * 鐗堟湰澶勭悊
+	 * @param array
+	 * @return
+	 */
+	public List<String> convertList (String array) {
+		Gson gson = new Gson();
+		List<String> list = null;
+		if (array == null || array.trim().length() == 0) {
+			list = new ArrayList<String>(); // 闀垮害涓�0 涓嶆帹閫�
+		} else {
+			list = gson.fromJson(array, new TypeToken<ArrayList<String>>() {}.getType());
+			if (list != null && list.size() > 0 && list.contains("鍏ㄦ帹")) {
+				list = null; // 鍏ㄦ帹
+			}
+		}
+		return list;
+	}
 }

--
Gitblit v1.8.0