xiao547607 4 yıl önce
ebeveyn
işleme
0e5775c440

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/base/dao/MessageNoticeDAO.java

@@ -19,4 +19,5 @@ public interface MessageNoticeDAO {
 	List<MessageNotice> findByUserIdAndClassify(String userId,String classify);
 	List<MessageNotice> findByUserId(String userId);
 	MessageNotice findTopByUserIdAndClassify(String userId,String classify);
+	int findNotRead(String userId,String classify);
 }

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/base/service/MessageNoticeService.java

@@ -18,4 +18,5 @@ public interface MessageNoticeService {
 	List<MessageNotice> findByUserIdAndClassify(String userId,String classify);
 	List<MessageNotice> findByUserId(String userId);
 	MessageNotice findTopByUserIdAndClassify(String userId,String classify);
+	int findNotRead(String userId,String classify);
 }

+ 5 - 0
common/src/main/java/com/jpsoft/employment/modules/base/service/impl/MessageNoticeServiceImpl.java

@@ -83,4 +83,9 @@ public class MessageNoticeServiceImpl implements MessageNoticeService {
 	public MessageNotice findTopByUserIdAndClassify(String userId,String classify){
 		return messageNoticeDAO.findTopByUserIdAndClassify(userId,classify);
 	}
+
+	@Override
+	public int findNotRead(String userId,String classify){
+		return messageNoticeDAO.findNotRead(userId,classify);
+	}
 }

+ 18 - 0
common/src/main/resources/mapper/base/MessageNotice.xml

@@ -204,4 +204,22 @@
 			create_time
 		LIMIT 1
 	</select>
+
+	<select id="findNotRead" resultType="int">
+		SELECT
+		b.is_read,
+		a.*
+		FROM
+		base_message_notice a
+		LEFT JOIN base_message_read b ON a.id_ = b.message_id
+		WHERE
+		a.del_flag = 0
+		AND a.classify_ = '1'
+		AND ( recipient_id = #{userId} OR recipient_id IS NULL )
+		AND a.status_ = '1'
+		AND a.type_ = '1'
+		AND ( b.is_read IS NULL OR b.is_read = FALSE )
+		ORDER BY
+		a.create_time
+	</select>
 </mapper>

+ 9 - 4
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/MessageNoticeApiController.java

@@ -127,10 +127,12 @@ public class MessageNoticeApiController {
                 if("1".equals(classify)){
                     Map<String, Object> mnMap = new HashMap<>();
                     MessageNotice mn = messageNoticeService.findTopByUserIdAndClassify(jobUser.getId(),"1");
+                    int newNum = messageNoticeService.findNotRead(jobUser.getId(),"1");
+
                     mnMap.put("classify","系统消息");
                     mnMap.put("classifyId","1");
                     mnMap.put("newMessage",mn);
-                    mnMap.put("num",0);
+                    mnMap.put("num",newNum);
 
                     resultList.add(mnMap);
                 }else if("2".equals(classify)){
@@ -147,9 +149,10 @@ public class MessageNoticeApiController {
                 }else if("3".equals(classify)){
                     Map<String, Object> mnMap = new HashMap<>();
                     MessageNotice mn = messageNoticeService.findTopByUserIdAndClassify(jobUser.getId(),"3");
+                    int newNum = messageNoticeService.findNotRead(jobUser.getId(),"3");
                     mnMap.put("classify","政策发布");
                     mnMap.put("classifyId","3");
-                    mnMap.put("newMessage",mn);
+                    mnMap.put("newMessage",newNum);
                     mnMap.put("num",0);
 
                     resultList.add(mnMap);
@@ -451,9 +454,10 @@ public class MessageNoticeApiController {
                 if("1".equals(classify)){
                     Map<String, Object> mnMap = new HashMap<>();
                     MessageNotice mn = messageNoticeService.findTopByUserIdAndClassify(sysUser.getId(),"1");
+                    int newNum = messageNoticeService.findNotRead(sysUser.getId(),"3");
                     mnMap.put("classify","系统消息");
                     mnMap.put("classifyId","1");
-                    mnMap.put("newMessage",mn);
+                    mnMap.put("newMessage",newNum);
                     mnMap.put("num",0);
 
                     resultList.add(mnMap);
@@ -471,9 +475,10 @@ public class MessageNoticeApiController {
                 }else if("3".equals(classify)){
                     Map<String, Object> mnMap = new HashMap<>();
                     MessageNotice mn = messageNoticeService.findTopByUserIdAndClassify(sysUser.getId(),"3");
+                    int newNum = messageNoticeService.findNotRead(sysUser.getId(),"3");
                     mnMap.put("classify","政策发布");
                     mnMap.put("classifyId","3");
-                    mnMap.put("newMessage",mn);
+                    mnMap.put("newMessage",newNum);
                     mnMap.put("num",0);
 
                     resultList.add(mnMap);