From 33ec216214e24410fc0d39dbb0918a2e23f6ea30 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sun, 04 Jan 2026 18:57:24 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/ISiteMessageService.java            |    9 ++++
 .idea/git_toolbox_prj.xml                                        |   15 +++++++
 src/main/java/com/nq/service/impl/SiteMessageServiceImpl.java    |   51 +++++++++++++++++++++++++
 src/main/java/com/nq/controller/backend/AdminLogsController.java |   13 ++++++
 4 files changed, 88 insertions(+), 0 deletions(-)

diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml
new file mode 100644
index 0000000..02b915b
--- /dev/null
+++ b/.idea/git_toolbox_prj.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GitToolBoxProjectSettings">
+    <option name="commitMessageIssueKeyValidationOverride">
+      <BoolValueOverride>
+        <option name="enabled" value="true" />
+      </BoolValueOverride>
+    </option>
+    <option name="commitMessageValidationEnabledOverride">
+      <BoolValueOverride>
+        <option name="enabled" value="true" />
+      </BoolValueOverride>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/src/main/java/com/nq/controller/backend/AdminLogsController.java b/src/main/java/com/nq/controller/backend/AdminLogsController.java
index f0f29b0..180e44e 100644
--- a/src/main/java/com/nq/controller/backend/AdminLogsController.java
+++ b/src/main/java/com/nq/controller/backend/AdminLogsController.java
@@ -42,6 +42,9 @@
     @Autowired
     ISiteMessageService iSiteMessageService;
 
+    @Autowired
+    IUserService iUserService;
+
     //分页查询日志管理 所有定时任务信息及模糊查询
     @RequestMapping({"taskList.do"})
     @ResponseBody
@@ -105,6 +108,16 @@
         return this.iSiteMessageService.del(id, request);
     }
 
+    //发送站内消息
+    @RequestMapping({"sendMessage.do"})
+    @ResponseBody
+    public ServerResponse sendMessage(@RequestParam(value = "userId", required = false) Integer userId, 
+                                      @RequestParam("content") String content,
+                                      @RequestParam(value = "typeName", defaultValue = "站内消息") String typeName,
+                                      HttpServletRequest request) {
+        return this.iSiteMessageService.sendMessage(userId, content, typeName);
+    }
+
 
 
 
diff --git a/src/main/java/com/nq/service/ISiteMessageService.java b/src/main/java/com/nq/service/ISiteMessageService.java
index 72260ac..a052b08 100644
--- a/src/main/java/com/nq/service/ISiteMessageService.java
+++ b/src/main/java/com/nq/service/ISiteMessageService.java
@@ -52,4 +52,13 @@
 
     ServerResponse del(Integer id, HttpServletRequest request);
 
+    /**
+     * [发送站内消息]
+     * @param userId 用户ID,0表示发送给所有用户
+     * @param content 消息内容
+     * @param typeName 消息类型
+     * @return
+     */
+    ServerResponse sendMessage(Integer userId, String content, String typeName);
+
 }
diff --git a/src/main/java/com/nq/service/impl/SiteMessageServiceImpl.java b/src/main/java/com/nq/service/impl/SiteMessageServiceImpl.java
index a82e82c..ab01202 100644
--- a/src/main/java/com/nq/service/impl/SiteMessageServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/SiteMessageServiceImpl.java
@@ -5,10 +5,12 @@
 import com.github.pagehelper.PageInfo;
 import com.nq.common.ServerResponse;
 import com.nq.dao.SiteMessageMapper;
+import com.nq.dao.UserMapper;
 import com.nq.pojo.SiteMessage;
 import com.nq.pojo.User;
 import com.nq.service.ISiteMessageService;
 import com.nq.service.IUserService;
+import com.nq.utils.DateTimeUtil;
 import com.nq.vo.agent.AgentAgencyFeeVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -30,6 +32,9 @@
 
     @Autowired
     IUserService iUserService;
+
+    @Autowired
+    UserMapper userMapper;
 
     @Override
     public int insert(SiteMessage siteMessage) {
@@ -113,4 +118,50 @@
         return ServerResponse.createByErrorMsg("删除失败");
     }
 
+    @Override
+    public ServerResponse sendMessage(Integer userId, String content, String typeName) {
+        int ret = 0;
+        if (content == null || content.trim().isEmpty()) {
+            return ServerResponse.createByErrorMsg("消息内容不能为空");
+        }
+
+        try {
+            // userId为0或null表示发送给所有用户
+            if (userId == null || userId == 0) {
+                List<User> users = this.userMapper.listByAdmin(null, null, null, null);
+                for (User user : users) {
+                    SiteMessage siteMessage = new SiteMessage();
+                    siteMessage.setUserId(user.getId());
+                    siteMessage.setUserName(user.getRealName() != null ? user.getRealName() : user.getPhone());
+                    siteMessage.setTypeName(typeName != null ? typeName : "站内消息");
+                    siteMessage.setStatus(1); // 1表示未读
+                    siteMessage.setContent(content);
+                    siteMessage.setAddTime(DateTimeUtil.getCurrentDate());
+                    ret = siteMessageMapper.insert(siteMessage);
+                }
+            } else {
+                // 发送给指定用户
+                User user = userMapper.selectByPrimaryKey(userId);
+                if (user == null) {
+                    return ServerResponse.createByErrorMsg("用户不存在");
+                }
+                SiteMessage siteMessage = new SiteMessage();
+                siteMessage.setUserId(user.getId());
+                siteMessage.setUserName(user.getRealName() != null ? user.getRealName() : user.getPhone());
+                siteMessage.setTypeName(typeName != null ? typeName : "站内消息");
+                siteMessage.setStatus(1); // 1表示未读
+                siteMessage.setContent(content);
+                siteMessage.setAddTime(DateTimeUtil.getCurrentDate());
+                ret = siteMessageMapper.insert(siteMessage);
+            }
+
+            if (ret > 0) {
+                return ServerResponse.createBySuccessMsg("发送成功");
+            }
+            return ServerResponse.createByErrorMsg("发送失败");
+        } catch (Exception e) {
+            return ServerResponse.createByErrorMsg("发送失败:" + e.getMessage());
+        }
+    }
+
 }

--
Gitblit v1.9.3