Quellcode durchsuchen

消息通知改造

zouxuan vor 1 Jahr
Ursprung
Commit
f1133713ea

+ 49 - 3
mec-application/src/main/java/com/ym/mec/web/controller/SchoolMessageController.java

@@ -1,21 +1,29 @@
 package com.ym.mec.web.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.dayaedu.cbs.common.enums.message.EMessageSendMode;
+import com.dayaedu.cbs.common.enums.message.ESendStatus;
 import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
+import com.microsvc.toolkit.common.response.paging.PageInfo;
 import com.ym.mec.biz.dal.dto.SysMessageDto;
+import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
+import com.ym.mec.biz.dal.enums.SendStatusEnum;
 import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.vo.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
 
 @RestController
 @Api(tags = "消息服务")
@@ -29,11 +37,49 @@ public class SchoolMessageController extends BaseController {
 
     @ApiOperation("获取所有消息列表")
     @PostMapping(value = "list")
-    public Object list(@RequestBody SysMessageQueryInfo queryInfo){
+    public HttpResponseResult<com.ym.mec.common.page.PageInfo<SysMessage>> list(@RequestBody SysMessageQueryInfo queryInfo){
         queryInfo.setUserId(sysUserService.getUserId());
         queryInfo.setType(3);
         queryInfo.setJpushType("SCHOOL");
-        return succeed(PageUtil.pageInfo(sysMessageService.queryListPage(queryInfo).feignData()));
+        PageInfo<CbsMessageWrapper.SysMessage> pageInfo = sysMessageService.queryListPage(queryInfo).feignData();
+
+        List<SysMessage> sysMessages = new ArrayList<>();
+        if(CollectionUtils.isNotEmpty(pageInfo.getRows())){
+            pageInfo.getRows().forEach(sysMessage -> {
+                SysMessage message = new SysMessage();
+                message.setId(sysMessage.getId());
+                message.setTitle(sysMessage.getTitle());
+                message.setContent(sysMessage.getContent());
+                if(sysMessage.getSendMode() != null){
+                    message.setType(sysMessage.getSendMode() == EMessageSendMode.SMS?MessageSendMode.SMS:
+                            sysMessage.getSendMode() == EMessageSendMode.EMAIL?MessageSendMode.EMAIL:
+                                    sysMessage.getSendMode() == EMessageSendMode.PUSH?MessageSendMode.PUSH:MessageSendMode.SEO);
+                }
+                if(sysMessage.getStatus() != null){
+                    message.setStatus(sysMessage.getStatus() == ESendStatus.FAILED? SendStatusEnum.FAILED:
+                            sysMessage.getStatus() == ESendStatus.SENDING?SendStatusEnum.SENDING:
+                                    sysMessage.getStatus() == ESendStatus.SUCCESSED?SendStatusEnum.SUCCESSED:SendStatusEnum.WAIT);
+                }
+                message.setReceiver(sysMessage.getReceiver());
+                message.setSendTime(sysMessage.getSendTime());
+                message.setErrorMsg(sysMessage.getErrorMsg());
+                message.setCreateOn(sysMessage.getCreateTime());
+                message.setModifyOn(sysMessage.getUpdateTime());
+                if(sysMessage.getUserId() != null){
+                    message.setUserId(sysMessage.getUserId().intValue());
+                }
+                if(sysMessage.getMessageConfigId() != null){
+                    message.setMessageConfigId(sysMessage.getMessageConfigId().intValue());
+                }
+                message.setMemo(sysMessage.getMemo());
+                if (sysMessage.getReadStatus() != null){
+                    message.setReadStatus(sysMessage.getReadStatus()?1:0);
+                }
+                message.setGroup(sysMessage.getGroup());
+                sysMessages.add(message);
+            });
+        }
+        return succeed(PageUtil.pageInfo(pageInfo,sysMessages));
     }
 
     @ApiOperation("获取消息分类类型")

+ 43 - 1
mec-application/src/main/java/com/ym/mec/web/controller/SysMessageController.java

@@ -1,12 +1,16 @@
 package com.ym.mec.web.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.dayaedu.cbs.common.enums.message.EMessageSendMode;
+import com.dayaedu.cbs.common.enums.message.ESendStatus;
 import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.AppVersionInfoDao;
 import com.ym.mec.biz.dal.dto.SysMessageVo;
 import com.ym.mec.biz.dal.entity.AppVersionInfo;
+import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
+import com.ym.mec.biz.dal.enums.SendStatusEnum;
 import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.biz.service.SysUserService;
@@ -49,7 +53,45 @@ public class SysMessageController extends BaseController {
 			queryInfo.setUserId(sysUser.getId());
 		}
 		queryInfo.setType(MessageSendMode.SEO.getCode());
-		return succeed(PageUtil.pageInfo(sysMessageService.queryListPage(queryInfo).feignData()));
+		com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage> pageInfo = sysMessageService.queryListPage(queryInfo).feignData();
+
+		List<SysMessage> sysMessages = new ArrayList<>();
+		if(org.apache.commons.collections.CollectionUtils.isNotEmpty(pageInfo.getRows())){
+			pageInfo.getRows().forEach(sysMessage -> {
+				SysMessage message = new SysMessage();
+				message.setId(sysMessage.getId());
+				message.setTitle(sysMessage.getTitle());
+				message.setContent(sysMessage.getContent());
+				if(sysMessage.getSendMode() != null){
+					message.setType(sysMessage.getSendMode() == EMessageSendMode.SMS?MessageSendMode.SMS:
+							sysMessage.getSendMode() == EMessageSendMode.EMAIL?MessageSendMode.EMAIL:
+									sysMessage.getSendMode() == EMessageSendMode.PUSH?MessageSendMode.PUSH:MessageSendMode.SEO);
+				}
+				if(sysMessage.getStatus() != null){
+					message.setStatus(sysMessage.getStatus() == ESendStatus.FAILED? SendStatusEnum.FAILED:
+							sysMessage.getStatus() == ESendStatus.SENDING?SendStatusEnum.SENDING:
+									sysMessage.getStatus() == ESendStatus.SUCCESSED?SendStatusEnum.SUCCESSED:SendStatusEnum.WAIT);
+				}
+				message.setReceiver(sysMessage.getReceiver());
+				message.setSendTime(sysMessage.getSendTime());
+				message.setErrorMsg(sysMessage.getErrorMsg());
+				message.setCreateOn(sysMessage.getCreateTime());
+				message.setModifyOn(sysMessage.getUpdateTime());
+				if(sysMessage.getUserId() != null){
+					message.setUserId(sysMessage.getUserId().intValue());
+				}
+				if(sysMessage.getMessageConfigId() != null){
+					message.setMessageConfigId(sysMessage.getMessageConfigId().intValue());
+				}
+				message.setMemo(sysMessage.getMemo());
+				if (sysMessage.getReadStatus() != null){
+					message.setReadStatus(sysMessage.getReadStatus()?1:0);
+				}
+				message.setGroup(sysMessage.getGroup());
+				sysMessages.add(message);
+			});
+		}
+		return succeed(PageUtil.pageInfo(pageInfo,sysMessages));
 	}
 
 	@ApiOperation("获取消息分类类型")

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

@@ -101,17 +101,13 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		query.setPage(queryInfo.getPage());
 		query.setRows(queryInfo.getRows());
 		query.setUserId(queryInfo.getUserId().longValue());
-		query.setClientType(EClientType.SCHOOL);
 		query.setStatus(ESendStatus.SUCCESSED);
 		query.setAppKey(EAppKey.GYM);
 		query.setSendMode(queryInfo.getType() == null?null:queryInfo.getType() == 1? EMessageSendMode.SMS :
 				queryInfo.getType() == 2?EMessageSendMode.EMAIL:
 						queryInfo.getType() == 3?EMessageSendMode.PUSH:EMessageSendMode.SEO);
 		query.setTitle(queryInfo.getTitle());
-		query.setClientId(StringUtils.equals(queryInfo.getJpushType(),"SCHOOL")?EClientType.SCHOOL:
-				StringUtils.equals(queryInfo.getJpushType(),"SYSTEM")?EClientType.BACKEND:
-						StringUtils.equals(queryInfo.getJpushType(),"TEACHER")?EClientType.TEACHER:
-								StringUtils.equals(queryInfo.getJpushType(),"STUDENT")?EClientType.STUDENT:null);
+		query.setClientId(queryInfo.getJpushType());
 		query.setReadStatus(queryInfo.getReadStatus() == null?null:queryInfo.getReadStatus()==1);
 		return messageFeignClientService.sysMessagePage(query);
 	}
@@ -131,11 +127,12 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			CbsMessageWrapper.MessageParam messageParam = new CbsMessageWrapper.MessageParam();
 			messageParam.setUserId(user.getUserId().longValue());
 			messageParam.setAppKey(EAppKey.GYM);
-			messageParam.setClientType(EClientType.BACKEND);
+			messageParam.setClientType(EClientType.BACKEND.getCode());
 			messageParam.setType(messageType.getCode());
 			Map<Long, String> params = new HashMap<>();
 			params.put(user.getUserId().longValue(), user.getPhone());
 			messageParam.setReceivers(params);
+			messageParam.setRealSend(debugMode);
 			if(args != null && args.length > 0){
 				String[] argsStr = new String[args.length];
 				for (int i = 0; i < args.length; i++) {
@@ -425,14 +422,13 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			CbsMessageWrapper.MessageParam messageParam = new CbsMessageWrapper.MessageParam();
 			messageParam.setUserId(user.getUserId().longValue());
 			messageParam.setAppKey(EAppKey.GYM);
-			messageParam.setClientType("STUDENT".equals(jpushType)?EClientType.STUDENT:
-					"TEACHER".equals(jpushType)?EClientType.TEACHER:
-							"SCHOOL".equals(jpushType)?EClientType.SCHOOL:EClientType.BACKEND);
+			messageParam.setClientType(jpushType);
 			messageParam.setType(type.getCode());
 			messageParam.setUrl(url);
 			Map<Long, String> params = new HashMap<>();
 			params.put(user.getUserId().longValue(), user.getPhone());
 			messageParam.setReceivers(params);
+			messageParam.setRealSend(debugMode);
 			if(args != null && args.length > 0){
 				String[] argsStr = new String[args.length];
 				for (int i = 0; i < args.length; i++) {
@@ -494,12 +490,13 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			CbsMessageWrapper.MessageParam messageParam = new CbsMessageWrapper.MessageParam();
 			messageParam.setUserId(user.getUserId().longValue());
 			messageParam.setAppKey(EAppKey.GYM);
-			messageParam.setClientType(EClientType.STUDENT);
+			messageParam.setClientType(EClientType.STUDENT.getCode());
 			messageParam.setType(type.getCode());
 			messageParam.setUrl(url);
 			Map<Long, String> params = new HashMap<>();
 			params.put(user.getUserId().longValue(), user.getPhone());
 			messageParam.setReceivers(params);
+			messageParam.setRealSend(debugMode);
 			if(args != null && args.length > 0){
 				String[] argsStr = new String[args.length];
 				for (int i = 0; i < args.length; i++) {
@@ -559,9 +556,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	public Map<String, Integer> queryCountOfUnread(MessageSendMode type, Integer userId, String jpushType, Integer tenantId) {
 		CbsMessageWrapper.SysMessageQuery query = new CbsMessageWrapper.SysMessageQuery();
 		query.setUserId(userId.longValue());
-		query.setClientType("STUDENT".equals(jpushType)?EClientType.STUDENT:
-				"TEACHER".equals(jpushType)?EClientType.TEACHER:
-						"SCHOOL".equals(jpushType)?EClientType.SCHOOL:EClientType.BACKEND);
+		query.setClientType(jpushType);
 		query.setStatus(ESendStatus.SUCCESSED);
 		query.setAppKey(EAppKey.GYM);
 		query.setSendMode(type == null?null:type == MessageSendMode.SMS?EMessageSendMode.SMS:
@@ -574,7 +569,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		Map<String, Integer> map = new HashMap<String, Integer>();
 
 		for (CbsMessageWrapper.MessageUnreadStat mapper : messageUnreadStats) {
-			map.put(mapper.getGroup().getCode(), mapper.getNumber());
+			map.put(mapper.getGroup(), mapper.getNumber());
 		}
 
 		return map;
@@ -611,9 +606,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		CbsMessageWrapper.MessageRead messageRead = new CbsMessageWrapper.MessageRead();
 		messageRead.setUserId(userId.longValue());
 		messageRead.setAppKey(EAppKey.GYM);
-		messageRead.setClientType("STUDENT".equals(jpushType)?EClientType.STUDENT:
-				"TEACHER".equals(jpushType)?EClientType.TEACHER:
-						"SCHOOL".equals(jpushType)?EClientType.SCHOOL:EClientType.BACKEND);
+		messageRead.setClientType(jpushType);
 		return messageFeignClientService.batchSetRead(messageRead).feignData();
 	}