From 8cb383dcbfd972de368cdb556eff4293d14cf33e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 26 八月 2019 15:19:13 +0800
Subject: [PATCH] Merge branch 'mater-1.6.0' into div
---
fanli/src/main/java/com/yeshi/fanli/controller/admin/PushController.java | 329 +++++++++++++++++++++---------------------------------
1 files changed, 129 insertions(+), 200 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 f059803..3a2ab0b 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,28 +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 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;
@@ -30,114 +28,12 @@
@RequestMapping("admin/new/api/v1/push")
public class PushController {
- public final static int GOODS = 1; // 鍟嗗搧鎺ㄩ��
- 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; // 绔欏唴鎺ㄩ��
-
- @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, 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("鎺ㄩ�佹垚鍔�"));
- }
+
/**
* 鐭摼鎺ヨ浆鎹�
@@ -153,7 +49,7 @@
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("杞摼鏁版嵁涓嶈兘涓虹┖"));
return;
}
-
+
try {
String shortLink = org.yeshi.utils.HttpUtil.getShortLink(url);
@@ -161,61 +57,14 @@
jsonData.put("url", url);
jsonData.put("shortLink", shortLink);
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(jsonData));
-
+
} catch (Exception e) {
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("杞崲澶辫触"));
e.printStackTrace();
}
}
-
- /**
- * 鍟嗗搧鎺ㄩ�� -(鏂板悗鍙�)
- *
- * @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("鏍囬鎴栧唴瀹硅繃闀匡紝璇峰垹鍑忓悗鍐嶈瘯"));
- return;
- }
-
- try {
- pushService.pushGoods(uid, url, title, content);
- JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
- } catch (Exception e) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
- e.printStackTrace();
- }
- }
-
/**
* 缃戦〉鎺ㄩ�� -(鏂板悗鍙�)
*
@@ -226,8 +75,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;
@@ -238,16 +88,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();
}
}
-
+
/**
*
* 鏂规硶璇存槑: 绔欏唴淇℃帹閫� -(鏂板悗鍙�)
@@ -258,44 +140,58 @@
* @throws Exception
*/
@RequestMapping(value = "newPushFanZNX")
- public void newPushFanZNX(String callback, String uids, 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 {
-
- 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;
+ }
}
- if (uidArray == null) {
- pushService.pushZNX(null, title, content);
+
+ 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 (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);
-
- userSystemMsgService.addUserSystemMsg(Long.parseLong(str_uid),
- UserSystemMsgTypeEnum.question, title, content,
- UserSystemMsg.TIME_TAG_EMERGENT, null);
+ 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("鎺ㄩ�佸け璐�"));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
} catch (Exception e) {
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎺ㄩ�佸け璐�"));
e.printStackTrace();
}
}
-
/**
*
* 鏂规硶璇存槑: 鐧惧窛鎺ㄩ�� -(鏂板悗鍙�)
@@ -306,39 +202,72 @@
* @throws Exception
*/
@RequestMapping(value = "pushBaiChuan")
- public void pushBaiChuan(String callback, String uids, String title, String content, String url,
- 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("璇峰~鍐欐爣棰樹笌鍐呭"));
return;
}
-
+
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;
+ }
}
- if (uidArray == null) {
- pushService.pushBaiChuanUrl(null, title, content, url);
+ 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);
+ 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("鎺ㄩ�佸け璐�"));
+ 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