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 |  355 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 188 insertions(+), 167 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 0c334a4..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,25 +1,26 @@
 package com.yeshi.fanli.controller.admin;
 
 import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-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.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 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.msg.UserSystemMsgService;
+import com.yeshi.fanli.service.inter.push.PushService;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.factory.IOSPushFactory;
 
 import net.sf.json.JSONObject;
 
@@ -31,105 +32,17 @@
 	public final static int URL = 2; // 缃戦〉鎺ㄩ��
 	public final static int DETAIL = 3; // 璇︽儏鎺ㄩ��
 	public final static int ZNX = 4; // 绔欏唴鎺ㄩ��
+	public final static int WEEX = 5; // 绔欏唴鎺ㄩ��
+	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;
 
-	/**
-	 * 鍟嗗搧鎺ㄩ��
-	 * 
-	 * @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, 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)) {
-			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;
-		}
-
-		pushService.pushGoods(uId, url, title, content);
-		out.print(JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
-	}
-
-	/**
-	 * 缃戦〉鎺ㄩ��
-	 * 
-	 * @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, 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;
-		}
-		pushService.pushUrl(null, url, title, content);
-		out.print(JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
-	}
-
-	/**
-	 * 
-	 * 鏂规硶璇存槑: 绔欏唴淇℃帹閫�
-	 * 
-	 * @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, PrintWriter out) throws Exception {
-		pushService.pushZNX(uId, title, content);
-		out.print(JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
-	}
+	@Resource
+	private UserSystemMsgService userSystemMsgService;
+	
 
 	/**
 	 * 鐭摼鎺ヨ浆鎹�
@@ -138,67 +51,29 @@
 	 * @param out
 	 * @throws Exception
 	 */
-	@RequestMapping(value = "convertLink", method = RequestMethod.POST)
-	public void convertLink(String url, PrintWriter out) throws Exception {
+	@RequestMapping(value = "convertLink")
+	public void convertLink(String callback, String url, PrintWriter out) {
 
-		String shortLink = org.yeshi.utils.HttpUtil.getShortLink(url);
-
-		JSONObject jsonData = new JSONObject();
-		jsonData.put("url", url);
-		jsonData.put("shortLink", shortLink);
-
-		out.print(JsonUtil.loadTrueResult(jsonData));
-
-	}
-
-	
-
-	/**
-	 * 鍟嗗搧鎺ㄩ��  -(鏂板悗鍙�)
-	 * 
-	 * @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, 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("鏍囬鎴栧唴瀹硅繃闀匡紝璇峰垹鍑忓悗鍐嶈瘯"));
+		if (StringUtil.isNullOrEmpty(url)) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("杞摼鏁版嵁涓嶈兘涓虹┖"));
 			return;
 		}
 
 		try {
-			pushService.pushGoods(uid, url, title, content);
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
+			String shortLink = org.yeshi.utils.HttpUtil.getShortLink(url);
+
+			JSONObject jsonData = new JSONObject();
+			jsonData.put("url", url);
+			jsonData.put("shortLink", shortLink);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonData));
+
 		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("杞崲澶辫触"));
 			e.printStackTrace();
 		}
 	}
-	
+
+
 	/**
 	 * 缃戦〉鎺ㄩ�� -(鏂板悗鍙�)
 	 * 
@@ -209,8 +84,9 @@
 	 * @throws Exception
 	 */
 	@RequestMapping(value = "newPushUrlAll")
-	public void newPushUrlAll(String callback, String url, String title, String content, 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("璇峰~鍐欓摼鎺ワ紝鏍囬涓庡唴瀹�"));
 			return;
@@ -221,16 +97,48 @@
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏍囬鎴栧唴瀹硅繃闀匡紝璇峰垹鍑忓悗鍐嶈瘯"));
 			return;
 		}
-		
+
 		try {
-			pushService.pushUrl(null, url, title, content);
+
+			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 ((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()));
+		} catch (Exception e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
 			e.printStackTrace();
 		}
 	}
-	
+
 	/**
 	 * 
 	 * 鏂规硶璇存槑: 绔欏唴淇℃帹閫� -(鏂板悗鍙�)
@@ -241,21 +149,134 @@
 	 * @throws Exception
 	 */
 	@RequestMapping(value = "newPushFanZNX")
-	public void newPushFanZNX(String callback, Long uid, String title, String content, 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("璇峰~鍐欐爣棰樹笌鍐呭"));
 			return;
 		}
-		
+
 		try {
-			pushService.pushZNX(uid, title, content);
+
+			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 ((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.pushZNX(null, title, content, listIOS, listAndroid);
+			} else {
+				// 閮ㄥ垎鎺ㄩ��
+				for (String str_uid: listuid) {
+					if (str_uid != null && str_uid.trim().length() > 0) {
+						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);
+					}
+				}
+			}
 			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();
+		}
+	}
+
+	/**
+	 * 
+	 * 鏂规硶璇存槑: 鐧惧窛鎺ㄩ�� -(鏂板悗鍙�)
+	 * 
+	 * @param uId
+	 * @param title
+	 * @param content
+	 * @throws Exception
+	 */
+	@RequestMapping(value = "pushBaiChuan")
+	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("璇峰~鍐欐爣棰樹笌鍐呭"));
+			return;
+		}
+
+		try {
+
+			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 ((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 (String str_uid: listuid) {
+					if (str_uid != null && str_uid.trim().length() > 0) {
+						pushService.pushBaiChuanUrl(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()));
+		} catch (Exception e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
 			e.printStackTrace();
 		}
 	}
 
 	
+	/**
+	 * 鐗堟湰澶勭悊
+	 * @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