From eb8d72c413fd12ccfa30e0d38fd9fce2ff054f4f Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期三, 04 六月 2025 15:07:41 +0800
Subject: [PATCH] 更新

---
 src/main/java/com/product/mobile/core/service/SysMessageService.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 46 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/product/mobile/core/service/SysMessageService.java b/src/main/java/com/product/mobile/core/service/SysMessageService.java
index 741c46a..489b877 100644
--- a/src/main/java/com/product/mobile/core/service/SysMessageService.java
+++ b/src/main/java/com/product/mobile/core/service/SysMessageService.java
@@ -1,12 +1,16 @@
 package com.product.mobile.core.service;
 
 import com.product.admin.config.CmnConst;
-import com.product.admin.service.UserService;
+import com.product.common.lang.StringUtils;
 import com.product.core.dao.BaseDao;
 import com.product.core.entity.DataTableEntity;
 import com.product.core.entity.FieldSetEntity;
 import com.product.core.service.support.AbstractBaseService;
 import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.service.UserService;
+
+import java.util.ArrayList;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -30,13 +34,28 @@
      * @return
      */
     public DataTableEntity listReadMessage(FieldSetEntity fse) {
+    	ArrayList <Object> ps= new ArrayList<Object>();
+        String readType = StringUtils.isEmpty(fse.getString("read")) ? "1" : fse.getString("read");
+        ps.add(readType);
+    	ps.add(SpringMVCContextHolder.getCurrentUserId());
+    	StringBuilder f=new StringBuilder();
+    	if(fse.getString("type")!=null) {
+    		f.append(" and SUBSTRING(m.message_type,1,1)=?");
+    		ps.add(fse.getString("type"));
+    	}
+    	if(!StringUtils.isEmpty(fse.getString("key"))) {
+    		f.append( " and (title like concat('%',?,'%') or content like concat('%',?,'%')  or user_name like concat('%',?,'%') ) ");
+    		ps.add(fse.getString("key"));
+    		ps.add(fse.getString("key"));
+    		ps.add(fse.getString("key"));
+    	}
         StringBuilder sql = new StringBuilder();
-        sql.append("\nselect m.uuid,m.title,m.content,m.send_user_id,mu.user_name send_user_name,m.send_time,m.message_type,m.mobile_url url ");
+        sql.append("\nselect m.uuid,m.title,m.content,m.send_user_id,mu.user_name send_user_name,m.send_time,m.message_type,ifnull(m.url,'') url,source_table,source_uuid,thumbnail_img ");
         sql.append("\nfrom product_sys_message m");
         sql.append("\nleft join product_sys_users mu on mu.user_id=m.send_user_id ");
-        sql.append("\ninner join product_sys_message_user u on u.message_uuid=m.uuid and u.read_type=1 and u.user_id=?");
+        sql.append("\ninner join product_sys_message_user u on u.message_uuid=m.uuid and ifnull(u.read_type, 0)=? and u.user_id=? ").append(f);
         sql.append("\norder by m.send_time desc");
-        DataTableEntity dte = baseDao.listTable(sql.toString(), new Object[]{SpringMVCContextHolder.getCurrentUserId()}, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE));
+        DataTableEntity dte = baseDao.listTable(sql.toString(), ps.toArray(), fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE));
         dte.getMeta().addAliasTable("product_sys_message", "m");
         baseDao.loadPromptData(dte);
 
@@ -44,9 +63,31 @@
         FieldSetEntity tempFse;
         for (int i = 0;i < dte.getRows();i++) {
             tempFse = dte.getFieldSetEntity(i);
-            tempFse.setValue("sender_avatar", userService.getUserAvatar(tempFse.getString("send_user_id")));
+            tempFse.setValue(com.product.core.websocket.config.CmnConst.SEND_THUMBNAIL_IMG, userService.getUserAvatar(tempFse.getString("send_user_id_save_value")));
         }
 
         return dte;
     }
+    /**
+     * 缁熻鍒嗙被鍨嬫秷鎭�
+     * @param fse
+     * @return
+     */
+    public DataTableEntity getTypeMessage(Object type,int read) {
+
+    	ArrayList<Object> ps= new ArrayList<Object>();
+    	ps.add(SpringMVCContextHolder.getCurrentUserId());
+    	ps.add(read);
+    	String f="";
+    	if(type!=null) {
+    		f=" and SUBSTRING(message_type,1,1)=?";
+    		ps.add(type);
+    	}
+        StringBuilder sql = new StringBuilder();
+        sql.append("\nselect  SUBSTRING(message_type,1,1)  message_type, count(*) num from product_sys_message m inner join product_sys_message_user u on u.message_uuid=m.uuid  \r\n"
+        		+ "and u.user_id=? and u.read_type=?").append(f).append(" group by  SUBSTRING(message_type,1,1)  ");
+        DataTableEntity dte = baseDao.listTable(sql.toString(),ps.toArray(),Integer.MAX_VALUE, 1);
+        return dte;
+    }
+
 }

--
Gitblit v1.9.2