Parcourir la source

fix:极光推送

liujunchi il y a 2 ans
Parent
commit
acb8cadf1a

+ 39 - 16
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMessageServiceImpl.java

@@ -73,6 +73,10 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Value("${message.debugMode}")
 	private boolean debugMode;
 
+
+	@Value("${message.debugJigaung}")
+	private boolean debugJigaung;
+
 	@Value("${message.authCode}")
 	private boolean authCode;
 
@@ -243,12 +247,16 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (triggerTime == null || date.after(triggerTime)) {
 			status = SendStatusEnum.SENDING;
 			try {
-				if (debugMode == true
-						|| messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
-								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"default",null)) {
-					status = SendStatusEnum.SUCCESSED;
-				} else {
-					status = SendStatusEnum.FAILED;
+
+				if (isSendRemoteMessage(messageSender)) {
+					errorMsg = messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
+														 MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"default",null);
+					if (StringUtils.isEmpty(errorMsg)) {
+						status = SendStatusEnum.SUCCESSED;
+					}  else {
+						status = SendStatusEnum.FAILED;
+					}
+
 				}
 			} catch (Exception e) {
 				status = SendStatusEnum.FAILED;
@@ -266,6 +274,15 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 				url, messageConfig.getGroup(),jpushType,messageConfig.getId());
 	}
 
+	private boolean isSendRemoteMessage(MessageSender messageSender) {
+		if (messageSender.getSendMode().equals(MessageSender.JIGUANG.getSendMode()) && !debugJigaung) {
+			return true;
+		} else if (messageSender.getSendMode().equals(MessageSender.AWSMS.getSendMode()) && !debugMode) {
+			return true;
+		}
+		return false;
+	}
+
 	@Override
 	public void batchPushMessage(MessageTypeEnum type, Map<Long, String> receivers, Date triggerTime, Integer readStatus,
 			String url,String jpushType,String sound,String channelId, Object... args) {
@@ -286,12 +303,14 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (triggerTime == null || date.after(triggerTime)) {
 			status = SendStatusEnum.SENDING;
 			try {
-				if (debugMode == true
-						|| messageSenderPluginContext.batchSend(MessageSender.JIGUANG, messageConfig.getDescription(),
-								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,sound,channelId)) {
-					status = SendStatusEnum.SUCCESSED;
-				} else {
-					status = SendStatusEnum.FAILED;
+				if (isSendRemoteMessage(MessageSender.JIGUANG)) {
+					errorMsg = messageSenderPluginContext.batchSend(MessageSender.JIGUANG, messageConfig.getDescription(),
+														 MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,sound,channelId);
+					if (StringUtils.isEmpty(errorMsg)) {
+						status = SendStatusEnum.SUCCESSED;
+					}  else {
+						status = SendStatusEnum.FAILED;
+					}
 				}
 			} catch (Exception e) {
 				status = SendStatusEnum.FAILED;
@@ -317,10 +336,14 @@ 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",null)) {
-					status = SendStatusEnum.SUCCESSED;
-				} else {
-					status = SendStatusEnum.FAILED;
+				if (isSendRemoteMessage(messageSender)) {
+					errorMsg = messageSenderPluginContext.send(messageSender, receiver, title, content, url,
+																	  jpushType, "default", null);
+					if (StringUtils.isEmpty(errorMsg)) {
+						status = SendStatusEnum.SUCCESSED;
+					}  else {
+						status = SendStatusEnum.FAILED;
+					}
 				}
 			} catch (Exception e) {
 				status = SendStatusEnum.FAILED;

+ 1 - 10
cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityRewardChangeStockMapper.xml

@@ -9,16 +9,7 @@
 	        <result column="create_time_" property="createTime" />
 	        <result column="create_by_" property="createBy" />
 		</resultMap>  
-    
-    <!-- 表字段 -->
-    <sql id="baseColumns">
-         t.id_ as id
-        , t.reward_id_ as rewardId
-        , t.stock_ as stock
-        , t.change_type_ as changeType
-        , t.create_time_ as createTime
-        , t.create_by_ as createBy
-        </sql>
+
 
     <!-- 表字段 -->
     <sql id="baseColumns">

+ 10 - 8
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/MessageSenderPluginContext.java

@@ -66,16 +66,17 @@ 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,String channelId) throws Exception {
+	public String send(MessageSender messageSender, String subject, String content, String receiver, String url, String jpushType,String sound,String channelId) throws Exception {
 		ExecutorService executor = Executors.newFixedThreadPool(5);
-		CompletableFuture<Boolean> future = CompletableFuture.supplyAsync(()->{
+		CompletableFuture<String> future = CompletableFuture.supplyAsync(()->{
 			messageSenderPlugin = getMessageSenderPlugin(messageSender);
 			try {
-				return messageSenderPlugin.send(subject, content, receiver, url, jpushType,sound,channelId);
+				messageSenderPlugin.send(subject, content, receiver, url, jpushType,sound,channelId);
 			} catch (Exception e) {
 				e.printStackTrace();
+				return e.getMessage();
 			}
-			return false;
+			return "";
 		},executor);
 		executor.shutdown();
 		return future.join();
@@ -91,16 +92,17 @@ 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,String channelId) throws Exception {
+	public String batchSend(MessageSender messageSender, String subject, String content, String[] receivers, String url, String jpushType,String sound,String channelId) throws Exception {
 		ExecutorService executor = Executors.newFixedThreadPool(5);
-		CompletableFuture<Boolean> future = CompletableFuture.supplyAsync(()->{
+		CompletableFuture<String> future = CompletableFuture.supplyAsync(()->{
 			messageSenderPlugin = getMessageSenderPlugin(messageSender);
 			try {
-				return messageSenderPlugin.batchSend(subject, content, receivers, url, jpushType,sound,channelId);
+				messageSenderPlugin.batchSend(subject, content, receivers, url, jpushType,sound,channelId);
 			} catch (Exception e) {
 				e.printStackTrace();
+				return e.getMessage();
 			}
-			return false;
+			return "";
 		},executor);
 		executor.shutdown();
 		return future.join();