yonge 5 years ago
parent
commit
c984065372

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMessageDao.java

@@ -1,10 +1,12 @@
 package com.ym.mec.biz.dal.dao;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.entity.SysMessage;
+import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.common.dal.BaseDAO;
 
 public interface SysMessageDao extends BaseDAO<Long, SysMessage> {
@@ -26,10 +28,11 @@ public interface SysMessageDao extends BaseDAO<Long, SysMessage> {
 
 	/**
 	 * 查询消息未读条数
+	 * @param type
 	 * @param userId
 	 * @return
 	 */
-	public int queryCountOfUnread(Integer userId);
+	public Map<String, Integer> queryCountOfUnread(@Param("type") MessageSendMode type, @Param("userId") Integer userId);
 
 	/**
 	 * 修改用户所有消息阅读状态

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

@@ -5,6 +5,7 @@ import java.util.Map;
 import java.util.Set;
 
 import com.ym.mec.biz.dal.entity.SysMessage;
+import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
@@ -98,10 +99,11 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 
 	/**
 	 * 查询消息未读条数
+	 * @param type
 	 * @param userId
 	 * @return
 	 */
-	public int queryCountOfUnread(Integer userId);
+	public Map<String, Integer> queryCountOfUnread(MessageSendMode type, Integer userId);
 
 	/**
 	 *

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

@@ -81,7 +81,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	 * @return
 	 */
 	private int addMessage(Map<Integer, String> receivers, String subject, String content, Date triggerTime, MessageSendMode mode, SendStatusEnum status,
-						   String errorMsg, Integer readStatus, String memo, String group) {
+			String errorMsg, Integer readStatus, String memo, String group) {
 		SysMessage message = null;
 		Date date = new Date();
 
@@ -143,7 +143,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		SysMessage message = null;
 
 		List<SysMessage> messages = new ArrayList<>();
-		for (Integer userId:userIds) {
+		for (Integer userId : userIds) {
 			message = new SysMessage();
 			message.setUserId(userId);
 			message.setContent(content);
@@ -163,7 +163,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Override
 	@Async
 	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Map<Integer, String> receivers, Date triggerTime,
-									Integer readStatus, String memo, String group) {
+			Integer readStatus, String memo, String group) {
 
 		if (receivers == null || receivers.size() == 0) {
 			throw new BizException("消息接收人不能为空");
@@ -207,7 +207,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Override
 	@Async
 	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
-								 String url, Object... args) {
+			String url, Object... args) {
 
 		if (receivers == null || receivers.size() == 0) {
 			throw new BizException("接收地址不能为空");
@@ -226,7 +226,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)) {
+								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url)) {
 					status = SendStatusEnum.SUCCESSED;
 				} else {
 					status = SendStatusEnum.FAILED;
@@ -250,7 +250,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Override
 	@Async
 	public void sendMessage(MessageSender messageSender, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus,
-							String url, String group) {
+			String url, String group) {
 		if (StringUtils.isBlank(receiver)) {
 			throw new BizException("接收地址不能为空");
 		}
@@ -322,8 +322,8 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
-	public int queryCountOfUnread(Integer userId) {
-		return sysMessageDao.queryCountOfUnread(userId);
+	public Map<String, Integer> queryCountOfUnread(MessageSendMode type, Integer userId) {
+		return sysMessageDao.queryCountOfUnread(type, userId);
 	}
 
 	public void setDebugMode(boolean debugMode) {

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/SysMessageMapper.xml

@@ -162,7 +162,11 @@
 		INTERVAL #{recentMin} MINUTE) >= date(send_time_)]]>
 	</select>
 
-	<select id="queryCountOfUnread" resultType="int">
-		SELECT COUNT(*) FROM sys_message WHERE user_id_ = #{userId} AND read_status_ = 0 AND type_ = 3
+	<select id="queryCountOfUnread" resultType="map" parameterType="map">
+		SELECT group_ groupName,COUNT(*) num FROM sys_message WHERE user_id_ = #{userId} AND read_status_ = 0
+		<if test="type != null">
+		and type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+		</if>
+		group by group_
 	</select>
 </mapper>

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/SysMessageController.java

@@ -78,7 +78,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.queryCountOfUnread(sysUser.getId()));
+		return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.PUSH, sysUser.getId()));
 	}
 
 	/*@ApiOperation(value = "发送短信验证码")

+ 2 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java

@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.SysMessage;
+import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.controller.BaseController;
@@ -77,7 +78,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed("请重新登录");
 		}
-		return succeed(sysMessageService.queryCountOfUnread(sysUser.getId()));
+		return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.PUSH, sysUser.getId()));
 	}
 /*
 	@ApiOperation(value = "发送短信验证码")

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

@@ -78,7 +78,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.queryCountOfUnread(sysUser.getId()));
+		return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.SEO, sysUser.getId()));
 	}
 
 	/*@ApiOperation(value = "发送短信验证码")