From 53e9c3e6a865913ba68898a2b677d17cd362b1e8 Mon Sep 17 00:00:00 2001
From: La123123 <617330105@qq.com>
Date: Wed, 15 Apr 2026 11:03:20 +0800
Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=A5=97=E9=A4=90=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
im-admin-ui/src/views/index.vue | 23 +-
.../web/controller/AuthController.java | 2 +-
.../im/controller/ImUserController.java | 16 +-
.../im/service/impl/ImUserServiceImpl.java | 3 -
.../controller/system/SysUserController.java | 6 +-
.../system/domain/ImChatPackageAdmin.java | 81 +++++++
.../dromara/system/domain/ImUserAdmin.java | 117 ++++++++++
.../domain/bo/ImChatPackageAdminBo.java | 72 +++++++
.../system/domain/bo/ImUserAdminBo.java | 105 +++++++++
.../domain/vo/ImChatPackageAdminVo.java | 80 +++++++
.../system/domain/vo/ImUserAdminVo.java | 120 +++++++++++
.../mapper/ImChatPackageAdminMapper.java | 15 ++
.../system/mapper/ImUserAdminMapper.java | 47 ++++
.../service/IImChatPackageAdminService.java | 78 +++++++
.../system/service/IImUserAdminService.java | 19 ++
...nService.java => ImAgentAdminService.java} | 5 +-
.../service/impl/ImAgentAdminServiceImpl.java | 76 ++++++-
.../impl/ImChatPackageAdminServiceImpl.java | 202 ++++++++++++++++++
.../service/impl/ImUserAdminServiceImpl.java | 28 +++
.../service/impl/SysUserServiceImpl.java | 6 +-
.../system/ImChatPackageAdminMapper.xml | 7 +
21 files changed, 1082 insertions(+), 26 deletions(-)
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/ImChatPackageAdmin.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/ImUserAdmin.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/ImChatPackageAdminBo.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/ImUserAdminBo.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/ImChatPackageAdminVo.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/ImUserAdminVo.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/ImChatPackageAdminMapper.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/ImUserAdminMapper.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IImChatPackageAdminService.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IImUserAdminService.java
rename im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/{IImAgentAdminService.java => ImAgentAdminService.java} (96%)
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/ImChatPackageAdminServiceImpl.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/ImUserAdminServiceImpl.java
create mode 100644 im-admin/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ImChatPackageAdminMapper.xml
diff --git a/im-admin-ui/src/views/index.vue b/im-admin-ui/src/views/index.vue
index 4bb636e..2ee06a7 100644
--- a/im-admin-ui/src/views/index.vue
+++ b/im-admin-ui/src/views/index.vue
@@ -71,8 +71,9 @@
-
当前套餐:
-
可添加客服数量:{{ totalGroupCount }}
+
当前套餐:{{ packageInfo.packageName }}
+
可添加客服数量:{{ packageInfo.enableCustomerNumber }}
+
过期时间:{{ packageInfo.expireTime }}
@@ -141,6 +142,12 @@ const dailyActiveCount = ref(0);
const weeklyActiveCount = ref(0);
const monthlyActiveCount = ref(0);
+const packageInfo = ref({
+ packageName: '',
+ enableCustomerNumber: '',
+ expireTime: ''
+});
+
// 加载总用户数量
const loadTotalUserCount = async () => {
try {
@@ -244,7 +251,10 @@ const processChartData = (privateData: any[], groupData: any[]) => {
const loadRegistrationChartData = async () => {
try {
const response = await getDailyRegistrationCount(registrationSelectedDays.value);
- const data = response.data;
+ const data = response.data.registrationCount;
+
+ //赋值套餐数据
+ packageInfo.value = response.data.packageInfo;
// 处理数据,确保所有日期都有数据
const chartData = processRegistrationChartData(data);
@@ -524,6 +534,12 @@ const initRegistrationChart = async () => {
margin-bottom: 4px;
}
+ .statistics-title2 {
+ font-size: 12px;
+ color: #8c8c8c;
+ margin-bottom: 4px;
+ }
+
.statistics-value {
font-size: 24px;
font-weight: 600;
@@ -532,6 +548,7 @@ const initRegistrationChart = async () => {
}
.statistics-value2 {
+ margin-top: 8px;
font-size: 16px;
font-weight: 600;
color: #262626;
diff --git a/im-admin/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/im-admin/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
index b1013b5..eafe52e 100644
--- a/im-admin/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
+++ b/im-admin/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
@@ -69,7 +69,7 @@ public class AuthController {
private final ISysClientService clientService;
private final ScheduledExecutorService scheduledExecutorService;
- private final IImAgentAdminService imAgentAdminService;
+ private final ImAgentAdminService imAgentAdminService;
/**
diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserController.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserController.java
index c98cdf7..3ede3e0 100644
--- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserController.java
+++ b/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserController.java
@@ -2,6 +2,7 @@ package org.dromara.im.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONObject;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
@@ -13,11 +14,8 @@ import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController;
-import org.dromara.common.websocket.utils.WebSocketUtils;
import org.dromara.im.domain.ImUser;
-import org.dromara.im.domain.bo.ImSensitiveWordBo;
import org.dromara.im.domain.bo.ImUserBo;
import org.dromara.im.domain.dto.BatchUpdateUserDto;
import org.dromara.im.domain.dto.ImUserBanDto;
@@ -25,6 +23,7 @@ import org.dromara.im.domain.dto.ImUserUnbanDto;
import org.dromara.im.domain.vo.ImUserVo;
import org.dromara.im.service.IImUserService;
import org.dromara.im.util.CommaTextUtils;
+import org.dromara.system.service.ImAgentAdminService;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -51,6 +50,8 @@ public class ImUserController extends BaseController {
private final ScheduledExecutorService scheduledExecutorService;
+ private final ImAgentAdminService imAgentAdminService;
+
/**
* 查询用户列表
*/
@@ -117,14 +118,17 @@ public class ImUserController extends BaseController {
}
/**
- * 按天统计用户注册数量
+ * 按天统计用户注册数量 同时获取套餐信息
*
* @param days 统计天数,默认7天
*/
@SaCheckPermission("im:user:list")
@GetMapping("/dailyRegistrationCount")
- public R