Sfoglia il codice sorgente

bugfix:未读消息

yonge 5 anni fa
parent
commit
838e28873e

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

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

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

@@ -1,7 +1,13 @@
 package com.ym.mec.biz.service.impl;
 package com.ym.mec.biz.service.impl;
 
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Map.Entry;
+import java.util.Random;
+import java.util.Set;
 
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
@@ -14,6 +20,7 @@ import org.springframework.stereotype.Service;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.SysMessageDao;
 import com.ym.mec.biz.dal.dao.SysMessageDao;
+import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.entity.SysMessageConfig;
 import com.ym.mec.biz.dal.entity.SysMessageConfig;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
@@ -323,7 +330,15 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 
 	@Override
 	@Override
 	public Map<String, Integer> queryCountOfUnread(MessageSendMode type, Integer userId) {
 	public Map<String, Integer> queryCountOfUnread(MessageSendMode type, Integer userId) {
-		return sysMessageDao.queryCountOfUnread(type, userId);
+		List<Mapper> mappers = sysMessageDao.queryCountOfUnread(type, userId);
+
+		Map<String, Integer> map = new HashMap<String, Integer>();
+
+		for (Mapper mapper : mappers) {
+			map.put(mapper.getKey().toString(), Integer.parseInt(mapper.getValue().toString()));
+		}
+
+		return map;
 	}
 	}
 
 
 	public void setDebugMode(boolean debugMode) {
 	public void setDebugMode(boolean debugMode) {

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

@@ -22,6 +22,11 @@
         <result column="read_status_" property="readStatus"/>
         <result column="read_status_" property="readStatus"/>
         <result column="group_" property="group"/>
         <result column="group_" property="group"/>
     </resultMap>
     </resultMap>
+    
+    <resultMap type="com.ym.mec.biz.dal.dto.Mapper" id="Mapper">
+    	<result column="key_" property="key"/>
+        <result column="value_" property="value"/>
+    </resultMap>
 
 
 	<sql id="queryCondition">
 	<sql id="queryCondition">
 		<where>
 		<where>
@@ -162,8 +167,8 @@
 		INTERVAL #{recentMin} MINUTE) >= date(send_time_)]]>
 		INTERVAL #{recentMin} MINUTE) >= date(send_time_)]]>
 	</select>
 	</select>
 
 
-	<select id="queryCountOfUnread" resultType="map" parameterType="map">
-		SELECT group_ groupName,COUNT(*) num FROM sys_message WHERE user_id_ = #{userId} AND read_status_ = 0
+	<select id="queryCountOfUnread" resultMap="Mapper" parameterType="map">
+		SELECT group_ key_,COUNT(*) value_ FROM sys_message WHERE user_id_ = #{userId} AND read_status_ = 0
 		<if test="type != null">
 		<if test="type != null">
 		and type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 		and type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 		</if>
 		</if>