From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/PushController.java | 304 +++++++++++++++++++------------------------------- 1 files changed, 118 insertions(+), 186 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 b2ee013..2e12654 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 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 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.push.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; @@ -30,115 +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; // 绔欏唴鎺ㄩ�� - 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, 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("鎺ㄩ�佹垚鍔�")); - } + /** * 鐭摼鎺ヨ浆鎹� @@ -169,52 +64,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, 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,7 +75,8 @@ * @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("璇峰~鍐欓摼鎺ワ紝鏍囬涓庡唴瀹�")); @@ -240,9 +90,41 @@ } 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,7 +140,8 @@ * @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("璇峰~鍐欐爣棰樹笌鍐呭")); @@ -267,18 +150,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; + } } + - 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); + 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); @@ -304,7 +202,8 @@ * @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("璇峰~鍐欐爣棰樹笌鍐呭")); @@ -313,18 +212,32 @@ 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); } } } @@ -338,4 +251,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