Bläddra i källkod

老师课酬特殊提示音推送

zouxuan 4 år sedan
förälder
incheckning
e795ed8dcb

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -75,7 +75,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @return
 	 */
 	public void batchPushMessage(MessageTypeEnum messageType, Map<Integer, String> receivers, Date triggerTime,
-			Integer readStatus, String url,String jpushType,String sound, Object... args);
+			Integer readStatus, String url,String jpushType,String sound,String channelId, Object... args);
 
 	/**
 	 * 发送消息

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -2250,6 +2250,6 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             userMap.put(teacherId, teacherId.toString());
         }
         sysMessageService.batchPushMessage(MessageTypeEnum.TEACHER_INCOME_REMIND,
-                userMap, null, 0, "12", "TEACHER","income_remind.mp3");
+                userMap, null, 0, "12", "TEACHER","income_remind.mp3","income_remind_channel");
     }
 }

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -342,7 +342,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			try {
 				if (debugMode == true
 						|| messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
-								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"default")) {
+								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"default",null)) {
 					status = SendStatusEnum.SUCCESSED;
 				} else {
 					status = SendStatusEnum.FAILED;
@@ -366,7 +366,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Override
 	@Async
 	public void batchPushMessage(MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
-			String url,String jpushType,String sound, Object... args) {
+			String url,String jpushType,String sound,String channelId, Object... args) {
 		if (receivers == null || receivers.size() == 0) {
 			throw new BizException("接收地址不能为空");
 		}
@@ -411,7 +411,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			try {
 				if (debugMode == true
 						|| messageSenderPluginContext.batchSend(MessageSender.JIGUANG, messageConfig.getDescription(),
-								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,sound)) {
+								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,sound,channelId)) {
 					status = SendStatusEnum.SUCCESSED;
 				} else {
 					status = SendStatusEnum.FAILED;
@@ -440,7 +440,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (triggerTime == null || date.after(triggerTime)) {
 			status = SendStatusEnum.SENDING;
 			try {
-				if (debugMode == true || messageSenderPluginContext.send(messageSender, receiver, title, content, url,jpushType,"default")) {
+				if (debugMode == true || messageSenderPluginContext.send(messageSender, receiver, title, content, url,jpushType,"default",null)) {
 					status = SendStatusEnum.SUCCESSED;
 				} else {
 					status = SendStatusEnum.FAILED;

+ 2 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/MessageSenderPlugin.java

@@ -14,7 +14,7 @@ public interface MessageSenderPlugin {
 	 * @return 是否发送成功
 	 * @throws IOException
 	 */
-	public boolean send(String subject, String content, String receiver, String url, String jpushType,String sound) throws Exception;
+	public boolean send(String subject, String content, String receiver, String url, String jpushType,String sound,String channelId) throws Exception;
 
 	/**
 	 * 批量发送消息至目的地
@@ -26,5 +26,5 @@ public interface MessageSenderPlugin {
 	 * @return 是否发送成功
 	 * @throws IOException
 	 */
-	public boolean batchSend(String subject, String content, String[] receivers, String url, String jpushType,String sound) throws Exception;
+	public boolean batchSend(String subject, String content, String[] receivers, String url, String jpushType,String sound,String channelId) throws Exception;
 }

+ 4 - 4
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/MessageSenderPluginContext.java

@@ -69,11 +69,11 @@ public class MessageSenderPluginContext implements ApplicationContextAware {
 	 * @return 是否发送成功
 	 * @throws IOException
 	 */
-	public boolean send(MessageSender messageSender, String subject, String content, String receiver, String url, String jpushType,String sound) throws Exception {
+	public boolean send(MessageSender messageSender, String subject, String content, String receiver, String url, String jpushType,String sound,String channelId) throws Exception {
 
 		messageSenderPlugin = getMessageSenderPlugin(messageSender);
 
-		return messageSenderPlugin.send(subject, content, receiver, url, jpushType,sound);
+		return messageSenderPlugin.send(subject, content, receiver, url, jpushType,sound,channelId);
 	}
 
 	/**
@@ -86,11 +86,11 @@ public class MessageSenderPluginContext implements ApplicationContextAware {
 	 * @return 是否发送成功
 	 * @throws IOException
 	 */
-	public boolean batchSend(MessageSender messageSender, String subject, String content, String[] receivers, String url, String jpushType,String sound) throws Exception {
+	public boolean batchSend(MessageSender messageSender, String subject, String content, String[] receivers, String url, String jpushType,String sound,String channelId) throws Exception {
 
 		messageSenderPlugin = getMessageSenderPlugin(messageSender);
 
-		return messageSenderPlugin.batchSend(subject, content, receivers, url, jpushType,sound);
+		return messageSenderPlugin.batchSend(subject, content, receivers, url, jpushType,sound,channelId);
 	}
 
 	@Override

+ 2 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/AwSmsPlugin.java

@@ -68,7 +68,7 @@ public class AwSmsPlugin implements MessageSenderPlugin, InitializingBean {
 	}
 
 	@Override
-	public boolean send(String subject, String content, String receiver, String url, String jpushType,String sound) throws IOException {
+	public boolean send(String subject, String content, String receiver, String url, String jpushType,String sound,String channelId) throws IOException {
 		try {
 			Map<String, Object> reqParams = new HashMap<String, Object>();
 			reqParams.put("SpCode", appId);
@@ -92,7 +92,7 @@ public class AwSmsPlugin implements MessageSenderPlugin, InitializingBean {
 	}
 
 	@Override
-	public boolean batchSend(String subject, String content, String[] receivers, String url, String jpushType,String sound) throws IOException {
+	public boolean batchSend(String subject, String content, String[] receivers, String url, String jpushType,String sound,String channelId) throws IOException {
 		StringBuilder stringBuilder = new StringBuilder("");
 		for (int i = 0; i < receivers.length - 1; i++) {
 			stringBuilder.append(receivers[i]).append(",");

+ 12 - 7
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/JiguangPushPlugin.java

@@ -7,6 +7,7 @@ import com.ym.mec.thirdparty.message.MessageSenderPlugin;
 import com.ym.mec.util.http.HttpUtil;
 
 import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -58,7 +59,7 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
 	 * @param content 消息内容
 	 * @return json对象
 	 */
-	private JSONObject generateJson(String[] alias, String alert, String content, String url,String sound) {
+	private JSONObject generateJson(String[] alias, String alert, String content, String url,String sound,String channelId) {
 		JSONObject json = new JSONObject();
 		JSONArray platform = new JSONArray();// 平台
 		platform.add("android");
@@ -75,6 +76,10 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
 		JSONObject android = new JSONObject();// android通知内容
 		android.put("alert", alert);
 		android.put("sound", sound.split("\\.")[0]);
+		if(StringUtils.isNotEmpty(channelId)){
+			android.put("channelId",channelId);
+		}
+		android.put("distribution", "secondary_push");
 		android.put("builder_id", 1);
 		JSONObject android_extras = new JSONObject();// android额外参数
 		android_extras.put("type", "infomation");
@@ -118,7 +123,7 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
 	 * @param alert 推送消息
 	 * @param content 推送内容
 	 */
-	private String push(String[] alias, String alert, String content, String url,String type,String sound) {
+	private String push(String[] alias, String alert, String content, String url,String type,String sound,String channelId) {
 		String base64_auth_string = "";
 		switch (type){
 			case "STUDENT":
@@ -132,7 +137,7 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
 				break;
 		}
 		String authorization = "Basic " + base64_auth_string;
-		return sendPostRequest(generateJson(alias, alert, content, url,sound).toString(), authorization);
+		return sendPostRequest(generateJson(alias, alert, content, url,sound,channelId).toString(), authorization);
 	}
 
 	/**
@@ -178,9 +183,9 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
 	}
 
 	@Override
-	public boolean send(String subject, String content, String receiver, String url, String type,String sound) throws IOException {
+	public boolean send(String subject, String content, String receiver, String url, String type,String sound,String channelId) throws IOException {
 		String[] alias = { receiver };
-		String result = this.push(alias, subject, content, url,type,sound);
+		String result = this.push(alias, subject, content, url,type,sound,channelId);
 		JSONObject json = JSONObject.parseObject(result);
 		if (json.containsKey("error")) {
 			JSONObject jsonObject = json.getJSONObject("error");
@@ -190,8 +195,8 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
 	}
 
 	@Override
-	public boolean batchSend(String subject, String content, String[] receivers, String url, String type,String sound) throws IOException {
-		String result = this.push(receivers, subject, content, url,type,sound);
+	public boolean batchSend(String subject, String content, String[] receivers, String url, String type,String sound,String channelId) throws IOException {
+		String result = this.push(receivers, subject, content, url,type,sound,channelId);
 		JSONObject json = JSONObject.parseObject(result);
 		if (json.containsKey("error")) {
 			JSONObject jsonObject = json.getJSONObject("error");

+ 2 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/MOxintongSMSPlugin.java

@@ -36,7 +36,7 @@ public class MOxintongSMSPlugin implements MessageSenderPlugin, InitializingBean
 	}
 
 	@Override
-	public boolean send(String subject, String content, String receiver, String url, String jpushType,String sound) throws IOException {
+	public boolean send(String subject, String content, String receiver, String url, String jpushType,String sound,String channelId) throws IOException {
 		Map<String, Object> reqParams = new HashMap<String, Object>();
 		reqParams.put("username", username);
 		reqParams.put("pwd", pwd);
@@ -58,7 +58,7 @@ public class MOxintongSMSPlugin implements MessageSenderPlugin, InitializingBean
 	}
 
 	@Override
-	public boolean batchSend(String subject, String content, String[] receivers, String url, String jpushType,String sound) throws IOException {
+	public boolean batchSend(String subject, String content, String[] receivers, String url, String jpushType,String sound,String channelId) throws IOException {
 		StringBuilder stringBuilder = new StringBuilder();
 		for (int i = 0; i < receivers.length - 1; i++) {
 			stringBuilder.append(receivers[i]).append(",");

+ 2 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/ShiyuanSMSPlugin.java

@@ -70,7 +70,7 @@ public class ShiyuanSMSPlugin implements MessageSenderPlugin, InitializingBean {
 	}
 
 	@Override
-	public boolean send(String subject, String content, String receiver, String url,String jpushType,String sound) throws IOException {
+	public boolean send(String subject, String content, String receiver, String url,String jpushType,String sound,String channelId) throws IOException {
 		try {
 			Map<String, Object> reqParams = new HashMap<String, Object>();
 			reqParams.put("account", account);
@@ -93,7 +93,7 @@ public class ShiyuanSMSPlugin implements MessageSenderPlugin, InitializingBean {
 	}
 
 	@Override
-	public boolean batchSend(String subject, String content, String[] receivers, String url,String jpushType,String sound) throws IOException {
+	public boolean batchSend(String subject, String content, String[] receivers, String url,String jpushType,String sound,String channelId) throws IOException {
 		StringBuilder stringBuilder = new StringBuilder("");
 		for (int i = 0; i < receivers.length - 1; i++) {
 			stringBuilder.append(receivers[i]).append(",");

+ 2 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/YimeiSmsPlugin.java

@@ -58,7 +58,7 @@ public class YimeiSmsPlugin implements MessageSenderPlugin, InitializingBean {
 	}
 
 	@Override
-	public boolean send(String subject, String content, String receiver, String url,String jpushType,String sound) throws Exception {
+	public boolean send(String subject, String content, String receiver, String url,String jpushType,String sound,String channelId) throws Exception {
 		String result = getParam(subject, content, receiver, host + "/simpleinter/sendSMS");
 		JSONObject json = JSONObject.parseObject(result);
 		if ("SUCCESS".equals(json.get("code"))) {
@@ -70,7 +70,7 @@ public class YimeiSmsPlugin implements MessageSenderPlugin, InitializingBean {
 	}
 
 	@Override
-	public boolean batchSend(String subject, String content, String[] receivers, String url,String jpushType,String sound) throws Exception {
+	public boolean batchSend(String subject, String content, String[] receivers, String url,String jpushType,String sound,String channelId) throws Exception {
 		String join = StringUtils.join(receivers, ",");
 		String result = getParam(subject, content, join, host + "/simpleinter/sendSMS");
 		logger.info("调用短信接口返回:{}", result);