From 3d138c07dcff46cd7c28b14d6c765d7b40fda342 Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Sun, 12 Jan 2025 00:24:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=86=97=E4=BD=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/im-admin.sql | 24 -- im-admin-ui/src/api/im/smPushTask/index.ts | 87 ------ im-admin-ui/src/api/im/smPushTask/types.ts | 161 ---------- im-admin-ui/src/api/im/systemMessage/index.ts | 75 ----- im-admin-ui/src/api/im/systemMessage/types.ts | 156 ---------- .../src/components/im/ImSmSelect/index.vue | 51 ---- .../src/views/im/message/system/index.vue | 275 ------------------ .../src/views/im/message/task/SmTaskInfo.vue | 128 -------- .../src/views/im/message/task/index.vue | 176 ----------- .../src/main/resources/application-dev.yml | 2 +- .../im/controller/ImSmPushTaskController.java | 107 ------- .../controller/ImSystemMessageController.java | 100 ------- .../org/dromara/im/domain/ImSmPushTask.java | 73 ----- .../dromara/im/domain/ImSystemMessage.java | 71 ----- .../dromara/im/domain/bo/ImSmPushTaskBo.java | 63 ---- .../im/domain/bo/ImSystemMessageBo.java | 75 ----- .../dromara/im/domain/vo/ImSmPushTaskVo.java | 85 ------ .../im/domain/vo/ImSystemMessageVo.java | 70 ----- .../dromara/im/mapper/ImSmPushTaskMapper.java | 15 - .../im/mapper/ImSystemMessageMapper.java | 15 - .../im/service/IImSmPushTaskService.java | 67 ----- .../im/service/IImSystemMessageService.java | 65 ----- .../service/impl/ImSmPushTaskServiceImpl.java | 169 ----------- .../impl/ImSystemMessageServiceImpl.java | 132 --------- 24 files changed, 1 insertion(+), 2241 deletions(-) delete mode 100644 im-admin-ui/src/api/im/smPushTask/index.ts delete mode 100644 im-admin-ui/src/api/im/smPushTask/types.ts delete mode 100644 im-admin-ui/src/api/im/systemMessage/index.ts delete mode 100644 im-admin-ui/src/api/im/systemMessage/types.ts delete mode 100644 im-admin-ui/src/components/im/ImSmSelect/index.vue delete mode 100644 im-admin-ui/src/views/im/message/system/index.vue delete mode 100644 im-admin-ui/src/views/im/message/task/SmTaskInfo.vue delete mode 100644 im-admin-ui/src/views/im/message/task/index.vue delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImSmPushTaskController.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImSystemMessageController.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImSmPushTask.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImSystemMessage.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImSmPushTaskBo.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImSystemMessageBo.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImSmPushTaskVo.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImSystemMessageVo.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/mapper/ImSmPushTaskMapper.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/mapper/ImSystemMessageMapper.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImSmPushTaskService.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImSystemMessageService.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImSmPushTaskServiceImpl.java delete mode 100644 im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImSystemMessageServiceImpl.java diff --git a/db/im-admin.sql b/db/im-admin.sql index be3dc7b..5e1bfdf 100644 --- a/db/im-admin.sql +++ b/db/im-admin.sql @@ -353,21 +353,6 @@ insert into sys_menu values('6001', '私聊消息查询', '60', '1', '#', '', ' insert into sys_menu values('61', '群聊消息', '6', '2', 'group', 'im/message/group/index', '', 1, 0, 'C', '0', '0', 'im:groupMessage:list', 'category', 103, 1, sysdate(), null, null, 'IM群聊消息'); insert into sys_menu values('6101', '群聊消息查询', '61', '1', '#', '', '', 1, 0, 'F', '0', '0', 'im:groupMessage:query', '#', 103, 1, sysdate(), null, null, ''); --- IM-系统消息 -insert into sys_menu values('62', '系统消息', '6', '4', 'system', 'im/message/system/index', '', 1, 0, 'C', '0', '0', 'im:systemMessage:list', 'druid', 103, 1, sysdate(), null, null, 'IM系统消息'); -insert into sys_menu values('6201', '系统消息查询', '62', '1', '#', '', '', 1, 0, 'F', '0', '0', 'im:systemMessage:query', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('6202', '系统消息添加', '62', '2', '#', '', '', 1, 0, 'F', '0', '0', 'im:systemMessage:add', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('6203', '系统消息删除', '62', '3', '#', '', '', 1, 0, 'F', '0', '0', 'im:systemMessage:remove', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('6204', '系统消息修改', '62', '4', '#', '', '', 1, 0, 'F', '0', '0', 'im:systemMessage:edit', '#', 103, 1, sysdate(), null, null, ''); - --- IM-推送任务 -insert into sys_menu values('63', '推送任务', '6', '4', 'task', 'im/message/task/index', '', 1, 0, 'C', '0', '0', 'im:smPushTask:list', 'my-task', 103, 1, sysdate(), null, null, 'IM推送任务'); -insert into sys_menu values('6301', '推送任务查询', '63', '1', '#', '', '', 1, 0, 'F', '0', '0', 'im:smPushTask:query', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('6302', '推送任务添加', '63', '2', '#', '', '', 1, 0, 'F', '0', '0', 'im:smPushTask:add', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('6303', '推送任务删除', '63', '3', '#', '', '', 1, 0, 'F', '0', '0', 'im:smPushTask:remove', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('6304', '推送任务修改', '63', '3', '#', '', '', 1, 0, 'F', '0', '0', 'im:smPushTask:edit', '#', 103, 1, sysdate(), null, null, ''); - - -- IM-敏感词管理 insert into sys_menu values('7', '敏感词管理', '0', '2', 'im/sensitiveWord', 'im/sensitiveWord/index', '', 1, 0, 'C', '0', '0', 'im:sensitiveWord:list', 'documentation', 103, 1, sysdate(), null, null, 'IM敏感词管理'); insert into sys_menu values('7001', '敏感词查询', '7', '1', '#', '', '', 1, 0, 'F', '0', '0', 'im:sensitiveWord:query', '#', 103, 1, sysdate(), null, null, ''); @@ -487,8 +472,6 @@ insert into sys_dict_type values(13, '000000', '布尔值', 'im_bool', 103, insert into sys_dict_type values(14, '000000', '用户状态', 'im_user_status', 103, 1, sysdate(), null, null, 'IM用户状态'); insert into sys_dict_type values(15, '000000', '消息状态', 'im_message_status', 103, 1, sysdate(), null, null, 'IM消息状态'); insert into sys_dict_type values(16, '000000', '消息类型', 'im_message_type', 103, 1, sysdate(), null, null, 'IM消息类型'); -insert into sys_dict_type values(17, '000000', '系统消息内容类型', 'im_sm_content_type', 103, 1, sysdate(), null, null, 'IM系统消息内容类型'); -insert into sys_dict_type values(18, '000000', '系统消息推送状态', 'im_sm_push_status', 103, 1, sysdate(), null, null, 'IM系统消息推送状态'); -- ---------------------------- @@ -564,13 +547,6 @@ insert into sys_dict_data values(51, '000000', 5, '视频', '4', 'im_messa insert into sys_dict_data values(52, '000000', 6, '文字提示', '21', 'im_message_type', '', 'primary', 'N', 103, 1, sysdate(), null, null, ''); insert into sys_dict_data values(53, '000000', 7, '语音通话', '40', 'im_message_type', '', 'primary', 'N', 103, 1, sysdate(), null, null, ''); insert into sys_dict_data values(54, '000000', 8, '视频通话', '41', 'im_message_type', '', 'primary', 'N', 103, 1, sysdate(), null, null, ''); -insert into sys_dict_data values(55, '000000', 1, '富文本', '0', 'im_sm_content_type', '', 'primary', 'N', 103, 1, sysdate(), null, null, ''); -insert into sys_dict_data values(56, '000000', 2, '外部链接', '1', 'im_sm_content_type', '', 'primary', 'N', 103, 1, sysdate(), null, null, ''); -insert into sys_dict_data values(57, '000000', 1, '待发送', '1', 'im_sm_push_status', '', 'warn', 'N', 103, 1, sysdate(), null, null, ''); -insert into sys_dict_data values(58, '000000', 2, '发送中', '2', 'im_sm_push_status', '', 'primary', 'N', 103, 1, sysdate(), null, null, ''); -insert into sys_dict_data values(59, '000000', 3, '已发送', '3', 'im_sm_push_status', '', 'success', 'N', 103, 1, sysdate(), null, null, ''); -insert into sys_dict_data values(60, '000000', 4, '已取消', '4', 'im_sm_push_status', '', 'danger', 'N', 103, 1, sysdate(), null, null, ''); - -- ---------------------------- -- 13、参数配置表 diff --git a/im-admin-ui/src/api/im/smPushTask/index.ts b/im-admin-ui/src/api/im/smPushTask/index.ts deleted file mode 100644 index a90d13f..0000000 --- a/im-admin-ui/src/api/im/smPushTask/index.ts +++ /dev/null @@ -1,87 +0,0 @@ -import request from '@/utils/request'; -import { AxiosPromise } from 'axios'; -import { SmPushTaskVO, SmPushTaskForm, SmPushTaskQuery } from '@/api/im/smPushTask/types'; - -/** - * 查询系统消息推送任务列表 - * @param query - * @returns {*} - */ - -export const listSmPushTask = (query?: SmPushTaskQuery): AxiosPromise => { - return request({ - url: '/im/smPushTask/list', - method: 'get', - params: query - }); -}; - -/** - * 查询系统消息推送任务详细 - * @param id - */ -export const getSmPushTask = (id: number): AxiosPromise => { - return request({ - url: '/im/smPushTask/' + id, - method: 'get' - }); -}; - -/** - * 新增系统消息推送任务 - * @param data - */ -export const addSmPushTask = (data: SmPushTaskForm) => { - return request({ - url: '/im/smPushTask', - method: 'post', - data: data - }); -}; - -/** - * 修改系统消息推送任务 - * @param data - */ -export const updateSmPushTask = (data: SmPushTaskForm) => { - return request({ - url: '/im/smPushTask', - method: 'put', - data: data - }); -}; - -/** - * 删除系统消息推送任务 - * @param id - */ -export const delSmPushTask = (id: number | Array< number>) => { - return request({ - url: '/im/smPushTask/' + id, - method: 'delete' - }); -}; - - -/** - * 取消任务 - * @param id - */ -export const cancelSmPushTask = (id: number) => { - return request({ - url: '/im/smPushTask/cancel?id=' + id, - method: 'put' - }); -}; - -/** - * 开启任务 - * @param id - */ -export const openSmPushTask = (id: number) => { - return request({ - url: '/im/smPushTask/open?id=' + id, - method: 'put' - }); -}; - diff --git a/im-admin-ui/src/api/im/smPushTask/types.ts b/im-admin-ui/src/api/im/smPushTask/types.ts deleted file mode 100644 index cc9adaa..0000000 --- a/im-admin-ui/src/api/im/smPushTask/types.ts +++ /dev/null @@ -1,161 +0,0 @@ -export interface SmPushTaskVO { - /** - * id - */ - id: number; - - /** - * 系统消息id - */ - messageId: number; - - /** - * 发送序列号 - */ - seqNo: number; - - /** - * 推送时间 - */ - sendTime: string; - - /** - * 状态 1:待发送 2:发送中 3:已发送 4:已取消 - */ - status: number; - - /** - * 是否发送给全体用户 - */ - sendToAll: boolean; - - /** - * 接收用户id,逗号分隔,send_to_all为false时有效 - */ - recvIds: string; - - /** - * 删除标识 0:正常 1:已删除 - */ - deleted: number; - - /** - * 创建者 - */ - creator: number; - - /** - * 更新者 - */ - updater: number; - -} - -export interface SmPushTaskForm extends BaseEntity { - /** - * id - */ - id?: number; - - /** - * 系统消息id - */ - messageId?: number; - - /** - * 发送序列号 - */ - seqNo?: number; - - /** - * 推送时间 - */ - sendTime?: string; - - /** - * 状态 1:待发送 2:发送中 3:已发送 4:已取消 - */ - status?: number; - - /** - * 是否发送给全体用户 - */ - sendToAll?: boolean; - - /** - * 接收用户id,逗号分隔,send_to_all为false时有效 - */ - recvIds?: string; - - /** - * 删除标识 0:正常 1:已删除 - */ - deleted?: number; - - /** - * 创建者 - */ - creator?: number; - - /** - * 更新者 - */ - updater?: number; - -} - -export interface SmPushTaskQuery extends PageQuery { - - /** - * 系统消息id - */ - messageId?: number; - - /** - * 发送序列号 - */ - seqNo?: number; - - /** - * 推送时间 - */ - sendTime?: string; - - /** - * 状态 1:待发送 2:发送中 3:已发送 4:已取消 - */ - status?: number; - - /** - * 是否发送给全体用户 - */ - sendToAll?: boolean; - - /** - * 接收用户id,逗号分隔,send_to_all为false时有效 - */ - recvIds?: string; - - /** - * 删除标识 0:正常 1:已删除 - */ - deleted?: number; - - /** - * 创建者 - */ - creator?: number; - - /** - * 更新者 - */ - updater?: number; - - /** - * 日期范围参数 - */ - params?: any; -} - - - diff --git a/im-admin-ui/src/api/im/systemMessage/index.ts b/im-admin-ui/src/api/im/systemMessage/index.ts deleted file mode 100644 index 2530fbb..0000000 --- a/im-admin-ui/src/api/im/systemMessage/index.ts +++ /dev/null @@ -1,75 +0,0 @@ -import request from '@/utils/request'; -import { AxiosPromise } from 'axios'; -import { SystemMessageVO, SystemMessageForm, SystemMessageQuery } from '@/api/im/systemMessage/types'; - -/** - * 查询系统消息列表 - * @param query - * @returns {*} - */ - -export const listSystemMessage = (query?: SystemMessageQuery): AxiosPromise => { - return request({ - url: '/im/systemMessage/list', - method: 'get', - params: query - }); -}; - -/** - * 查询系统消息详细 - * @param id - */ -export const getSystemMessage = (id: string | number): AxiosPromise => { - return request({ - url: '/im/systemMessage/' + id, - method: 'get' - }); -}; - -/** - * 新增系统消息 - * @param data - */ -export const addSystemMessage = (data: SystemMessageForm) => { - return request({ - url: '/im/systemMessage', - method: 'post', - data: data - }); -}; - -/** - * 修改系统消息 - * @param data - */ -export const updateSystemMessage = (data: SystemMessageForm) => { - return request({ - url: '/im/systemMessage', - method: 'put', - data: data - }); -}; - -/** - * 删除系统消息 - * @param id - */ -export const delSystemMessage = (id: string | number | Array) => { - return request({ - url: '/im/systemMessage/' + id, - method: 'delete' - }); -}; - -/** - * 根据标题模糊查询系统消息 - * @param title - */ -export const findSystemMessageByTitle = (title?: String): AxiosPromise => { - return request({ - url: '/im/systemMessage/findByTitle?title=' + title, - method: 'get' - }); -}; - diff --git a/im-admin-ui/src/api/im/systemMessage/types.ts b/im-admin-ui/src/api/im/systemMessage/types.ts deleted file mode 100644 index 9b435d4..0000000 --- a/im-admin-ui/src/api/im/systemMessage/types.ts +++ /dev/null @@ -1,156 +0,0 @@ -export interface SystemMessageVO { - /** - * id - */ - id: string | number; - - /** - * 标题 - */ - title: string; - - /** - * 封面 - */ - coverUrl: string; - - /** - * 简介 - */ - intro: string; - - /** - * 内容类型 0:富文本 1:外部链接 - */ - contentType: number; - - /** - * 富文本内容,base64编码 - */ - richText: string; - - /** - * 外部链接 - */ - externLink: string; - - /** - * 创建者 - */ - creator: number; - - /** - * 创建者 - */ - creatorName: string - -} - -export interface SystemMessageForm extends BaseEntity { - /** - * id - */ - id?: string | number; - - /** - * 标题 - */ - title?: string; - - /** - * 封面 - */ - coverUrl?: string; - - /** - * 简介 - */ - intro?: string; - - /** - * 内容类型 0:富文本 1:外部链接 - */ - contentType?: number; - - /** - * 富文本内容,base64编码 - */ - richText?: string; - - /** - * 外部链接 - */ - externLink?: string; - - /** - * 删除标识 0:正常 1:已删除 - */ - deleted?: number; - - /** - * 创建者 - */ - creator?: number; - - /** - * 更新者 - */ - updater?: number; - -} - -export interface SystemMessageQuery extends PageQuery { - - /** - * 标题 - */ - title?: string; - - /** - * 封面 - */ - coverUrl?: string; - - /** - * 简介 - */ - intro?: string; - - /** - * 内容类型 0:富文本 1:外部链接 - */ - contentType?: number; - - /** - * 富文本内容,base64编码 - */ - richText?: string; - - /** - * 外部链接 - */ - externLink?: string; - - /** - * 删除标识 0:正常 1:已删除 - */ - deleted?: number; - - /** - * 创建者 - */ - creator?: number; - - /** - * 更新者 - */ - updater?: number; - - /** - * 日期范围参数 - */ - params?: any; -} - - - diff --git a/im-admin-ui/src/components/im/ImSmSelect/index.vue b/im-admin-ui/src/components/im/ImSmSelect/index.vue deleted file mode 100644 index 97087d9..0000000 --- a/im-admin-ui/src/components/im/ImSmSelect/index.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - diff --git a/im-admin-ui/src/views/im/message/system/index.vue b/im-admin-ui/src/views/im/message/system/index.vue deleted file mode 100644 index cc792dd..0000000 --- a/im-admin-ui/src/views/im/message/system/index.vue +++ /dev/null @@ -1,275 +0,0 @@ - - - diff --git a/im-admin-ui/src/views/im/message/task/SmTaskInfo.vue b/im-admin-ui/src/views/im/message/task/SmTaskInfo.vue deleted file mode 100644 index db66192..0000000 --- a/im-admin-ui/src/views/im/message/task/SmTaskInfo.vue +++ /dev/null @@ -1,128 +0,0 @@ - - - diff --git a/im-admin-ui/src/views/im/message/task/index.vue b/im-admin-ui/src/views/im/message/task/index.vue deleted file mode 100644 index 8a6bb94..0000000 --- a/im-admin-ui/src/views/im/message/task/index.vue +++ /dev/null @@ -1,176 +0,0 @@ - - - diff --git a/im-admin/ruoyi-admin/src/main/resources/application-dev.yml b/im-admin/ruoyi-admin/src/main/resources/application-dev.yml index 9926cb7..77a9614 100644 --- a/im-admin/ruoyi-admin/src/main/resources/application-dev.yml +++ b/im-admin/ruoyi-admin/src/main/resources/application-dev.yml @@ -17,7 +17,7 @@ spring: datasource: admin: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/im_admin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true + url: jdbc:mysql://localhost:3306/im_admin2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true username: root password: root platform: diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImSmPushTaskController.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImSmPushTaskController.java deleted file mode 100644 index cb672bf..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImSmPushTaskController.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.dromara.im.controller; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -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.web.core.BaseController; -import org.dromara.im.domain.bo.ImSmPushTaskBo; -import org.dromara.im.domain.vo.ImSmPushTaskVo; -import org.dromara.im.service.IImSmPushTaskService; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 系统消息推送任务 - * - * @author Blue - * @date 2024-12-22 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/im/smPushTask") -public class ImSmPushTaskController extends BaseController { - - private final IImSmPushTaskService imSmPushTaskService; - - /** - * 查询系统消息推送任务列表 - */ - @SaCheckPermission("im:smPushTask:list") - @GetMapping("/list") - public TableDataInfo list(ImSmPushTaskBo bo, PageQuery pageQuery) { - return imSmPushTaskService.queryPageList(bo, pageQuery); - } - - /** - * 获取系统消息推送任务详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("im:smPushTask:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { - return R.ok(imSmPushTaskService.queryById(id)); - } - - /** - * 新增系统消息推送任务 - */ - @SaCheckPermission("im:smPushTask:add") - @Log(title = "系统消息推送任务", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody ImSmPushTaskBo bo) { - return toAjax(imSmPushTaskService.insertByBo(bo)); - } - - /** - * 修改系统消息推送任务 - */ - @SaCheckPermission("im:smPushTask:edit") - @Log(title = "系统消息推送任务", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody ImSmPushTaskBo bo) { - return toAjax(imSmPushTaskService.updateByBo(bo)); - } - - /** - * 删除系统消息推送任务 - * - * @param ids 主键串 - */ - @SaCheckPermission("im:smPushTask:remove") - @Log(title = "系统消息推送任务", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { - return toAjax(imSmPushTaskService.deleteByIds(List.of(ids), true)); - } - - @PutMapping("cancel") - @Log(title = "取消推送任务", businessType = BusinessType.UPDATE) - @SaCheckPermission("im:smPushTask:edit") - public R cancel(@RequestParam("id") Long id) { - imSmPushTaskService.cancel(id); - return R.ok(); - } - - @PutMapping("open") - @Log(title = "开启推送任务", businessType = BusinessType.UPDATE) - @SaCheckPermission("im:smPushTask:edit") - public R open(@RequestParam("id") Long id) { - imSmPushTaskService.open(id); - return R.ok(); - } -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImSystemMessageController.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImSystemMessageController.java deleted file mode 100644 index 6aafc81..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImSystemMessageController.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.dromara.im.controller; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -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.web.core.BaseController; -import org.dromara.im.domain.bo.ImSystemMessageBo; -import org.dromara.im.domain.vo.ImSystemMessageVo; -import org.dromara.im.service.IImSystemMessageService; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 系统消息 - * - * @author Blue - * @date 2024-12-22 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/im/systemMessage") -public class ImSystemMessageController extends BaseController { - - private final IImSystemMessageService systemMessageService; - - /** - * 查询系统消息列表 - */ - @SaCheckPermission("im:systemMessage:list") - @GetMapping("/list") - public TableDataInfo list(ImSystemMessageBo bo, PageQuery pageQuery) { - return systemMessageService.queryPageList(bo, pageQuery); - } - - - /** - * 获取系统消息详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("im:systemMessage:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long id) { - return R.ok(systemMessageService.queryById(id)); - } - - /** - * 新增系统消息 - */ - @SaCheckPermission("im:systemMessage:add") - @Log(title = "系统消息", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody ImSystemMessageBo bo) { - return toAjax(systemMessageService.insertByBo(bo)); - } - - /** - * 修改系统消息 - */ - @SaCheckPermission("im:systemMessage:edit") - @Log(title = "系统消息", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody ImSystemMessageBo bo) { - return toAjax(systemMessageService.updateByBo(bo)); - } - - /** - * 删除系统消息 - * - * @param ids 主键串 - */ - @SaCheckPermission("im:systemMessage:remove") - @Log(title = "系统消息", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(systemMessageService.deleteWithValidByIds(List.of(ids), true)); - } - - @GetMapping("findByTitle") - @SaCheckPermission("im:systemMessage:list") - public R> findByTitle(@RequestParam String title) { - return R.ok(systemMessageService.findByTitle(title)); - } -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImSmPushTask.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImSmPushTask.java deleted file mode 100644 index 57d3856..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImSmPushTask.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.dromara.im.domain; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - -import java.util.Date; - -/** - * 系统消息推送任务对象 im_sm_push_task - * - * @author Blue - * @date 2024-12-22 - */ -@Data -@TableName("im_sm_push_task") -public class ImSmPushTask { - - - /** - * id - */ - @TableId(value = "id") - private Long id; - - /** - * 系统消息id - */ - private Long messageId; - - /** - * 发送序列号 - */ - private Long seqNo; - - /** - * 推送时间 - */ - private Date sendTime; - - /** - * 状态 1:待发送 2:发送中 3:已发送 4:已取消 - */ - private Integer status; - - /** - * 是否发送给全体用户 - */ - private Boolean sendToAll; - - /** - * 接收用户id,逗号分隔,send_to_all为false时有效 - */ - private String recvIds; - - /** - * 创建者 - */ - private Long creator; - - /** - * 创建时间 - */ - private Date createTime; - - /** - * 删除标记 - */ - @TableLogic - private Boolean deleted; - -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImSystemMessage.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImSystemMessage.java deleted file mode 100644 index df243e2..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/ImSystemMessage.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.dromara.im.domain; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fhs.core.trans.vo.TransPojo; -import lombok.Data; - -import java.util.Date; - -/** - * 系统消息对象 im_system_message - * - * @author Blue - * @date 2024-12-22 - */ -@Data -@TableName("im_system_message") -public class ImSystemMessage implements TransPojo { - - /** - * id - */ - @TableId - private Long id; - /** - * 标题 - */ - private String title; - - /** - * 封面 - */ - private String coverUrl; - - /** - * 简介 - */ - private String intro; - - /** - * 内容类型 0:富文本 1:外部链接 - */ - private Long contentType; - - /** - * 富文本内容,base64编码 - */ - private String richText; - - /** - * 外部链接 - */ - private String externLink; - - /** - * 创建者 - */ - private Long creator; - - /** - * 创建时间 - */ - private Date createTime; - - /** - * 删除标记 - */ - @TableLogic - private Boolean deleted; -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImSmPushTaskBo.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImSmPushTaskBo.java deleted file mode 100644 index 06ee67d..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImSmPushTaskBo.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.dromara.im.domain.bo; - -import io.github.linpeilie.annotations.AutoMapper; -import jakarta.validation.constraints.NotNull; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.im.domain.ImSmPushTask; - -import java.util.Date; - -/** - * 系统消息推送任务业务对象 im_sm_push_task - * - * @author Blue - * @date 2024-12-22 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = ImSmPushTask.class, reverseConvertGenerate = false) -public class ImSmPushTaskBo extends BaseEntity { - - - /** - * id - */ - @NotNull(message = "id不能为空", groups = { EditGroup.class }) - private Long id; - - /** - * 系统消息id - */ - @NotNull(message = "系统消息id不能为空", groups = { AddGroup.class, EditGroup.class }) - private Long messageId; - - /** - * 发送序列号 - */ - private Long seqNo; - - /** - * 推送时间 - */ - private Date sendTime; - - /** - * 状态 1:待发送 2:发送中 3:已发送 4:已取消 - */ - private Integer status; - - /** - * 是否发送给全体用户 - */ - private Boolean sendToAll; - - /** - * 接收用户id,逗号分隔 - */ - private String recvIds; - -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImSystemMessageBo.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImSystemMessageBo.java deleted file mode 100644 index dbebeb0..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/bo/ImSystemMessageBo.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.dromara.im.domain.bo; - -import io.github.linpeilie.annotations.AutoMapper; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.im.domain.ImSystemMessage; - -/** - * 系统消息业务对象 im_system_message - * - * @author Blue - * @date 2024-12-22 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = ImSystemMessage.class, reverseConvertGenerate = false) -public class ImSystemMessageBo extends BaseEntity { - - /** - * id - */ - @NotNull(message = "id不能为空", groups = { EditGroup.class }) - private Long id; - - /** - * 标题 - */ - @NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class }) - private String title; - - /** - * 封面 - */ - @NotBlank(message = "封面不能为空", groups = { AddGroup.class, EditGroup.class }) - private String coverUrl; - - /** - * 简介 - */ - @NotBlank(message = "简介不能为空", groups = { AddGroup.class, EditGroup.class }) - private String intro; - - /** - * 内容类型 0:富文本 1:外部链接 - */ - @NotNull(message = "内容类型", groups = { AddGroup.class, EditGroup.class }) - private Long contentType; - - /** - * 富文本内容,base64编码 - */ - private String richText; - - /** - * 外部链接 - */ - private String externLink; - - /** - * 创建者 - */ - private Long creator; - - /** - * 更新者 - */ - private Long updater; - - -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImSmPushTaskVo.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImSmPushTaskVo.java deleted file mode 100644 index c137c85..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImSmPushTaskVo.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.dromara.im.domain.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.fhs.core.trans.anno.Trans; -import com.fhs.core.trans.constant.TransType; -import com.fhs.core.trans.vo.TransPojo; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import org.dromara.im.constant.ImConstant; -import org.dromara.im.domain.ImSmPushTask; -import org.dromara.im.domain.ImSystemMessage; -import org.dromara.system.domain.SysUser; - -import java.util.Date; - -/** - * 系统消息推送任务视图对象 im_sm_push_task - * - * @author Blue - * @date 2024-12-22 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = ImSmPushTask.class) -public class ImSmPushTaskVo implements TransPojo { - - /** - * id - */ - private Long id; - - /** - * 系统消息id - */ - @Trans(type = TransType.SIMPLE, dataSource = ImConstant.DS_IM_PLATFORM, target = ImSystemMessage.class, - fields = "title", ref = "messageTitle") - private Long messageId; - - /** - * 消息标题 - */ - private String messageTitle; - - /** - * 发送序列号 - */ - private Long seqNo; - - /** - * 推送时间 - */ - private Date sendTime; - - /** - * 状态 1:待发送 2:发送中 3:已发送 4:已取消 - */ - private Integer status; - - /** - * 是否发送给全体用户 - */ - private Boolean sendToAll; - - /** - * 接收用户id - */ - private String recvIds; - - /** - * 创建者 - */ - @Trans(type = TransType.SIMPLE, target = SysUser.class, fields = "userName", ref = "creatorName") - private Long creator; - - /** - * 创建者名称 - */ - private String creatorName; - - /** - * 创建时间 - */ - private Date createTime; - -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImSystemMessageVo.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImSystemMessageVo.java deleted file mode 100644 index e529986..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/vo/ImSystemMessageVo.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.dromara.im.domain.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.fhs.core.trans.anno.Trans; -import com.fhs.core.trans.constant.TransType; -import com.fhs.core.trans.vo.TransPojo; -import io.github.linpeilie.annotations.AutoMapper; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.dromara.im.domain.ImSystemMessage; -import org.dromara.system.domain.SysUser; - - - -/** - * 系统消息视图对象 im_system_message - * - * @author Blue - * @date 2024-12-22 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = ImSystemMessage.class) -public class ImSystemMessageVo implements TransPojo { - - /** - * id - */ - private Long id; - - /** - * 标题 - */ - private String title; - - /** - * 封面 - */ - private String coverUrl; - - /** - * 简介 - */ - private String intro; - - /** - * 内容类型 - */ - private Long contentType; - - /** - * 富文本内容,base64编码 - */ - private String richText; - - /** - * 外部链接 - */ - private String externLink; - - /** - * 创建者 - */ - @Trans(type = TransType.SIMPLE, target = SysUser.class, fields = "userName", ref = "creatorName") - private Long creator; - - @Schema(description = "创建者名称") - private String creatorName; - -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/mapper/ImSmPushTaskMapper.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/mapper/ImSmPushTaskMapper.java deleted file mode 100644 index 4213e36..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/mapper/ImSmPushTaskMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.im.mapper; - -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.im.domain.ImSmPushTask; -import org.dromara.im.domain.vo.ImSmPushTaskVo; - -/** - * 系统消息推送任务Mapper接口 - * - * @author Blue - * @date 2024-12-22 - */ -public interface ImSmPushTaskMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/mapper/ImSystemMessageMapper.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/mapper/ImSystemMessageMapper.java deleted file mode 100644 index b8ff9ee..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/mapper/ImSystemMessageMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.im.mapper; - -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.im.domain.ImSystemMessage; -import org.dromara.im.domain.vo.ImSystemMessageVo; - -/** - * 系统消息Mapper接口 - * - * @author Blue - * @date 2024-12-22 - */ -public interface ImSystemMessageMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImSmPushTaskService.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImSmPushTaskService.java deleted file mode 100644 index 459a3bd..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImSmPushTaskService.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.dromara.im.service; - -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.im.domain.bo.ImSmPushTaskBo; -import org.dromara.im.domain.vo.ImSmPushTaskVo; - -import java.util.Collection; - -/** - * 系统消息推送任务Service接口 - * - * @author Blue - * @date 2024-12-22 - */ -public interface IImSmPushTaskService { - - /** - * 查询系统消息推送任务 - * - * @param id 主键 - * @return 系统消息推送任务 - */ - ImSmPushTaskVo queryById(Long id); - - /** - * 分页查询系统消息推送任务列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 系统消息推送任务分页列表 - */ - TableDataInfo queryPageList(ImSmPushTaskBo bo, PageQuery pageQuery); - - - /** - * 新增系统消息推送任务 - * - * @param bo 系统消息推送任务 - * @return 是否新增成功 - */ - Boolean insertByBo(ImSmPushTaskBo bo); - - /** - * 修改系统消息推送任务 - * - * @param bo 系统消息推送任务 - * @return 是否修改成功 - */ - Boolean updateByBo(ImSmPushTaskBo bo); - - /** - * 校验并批量删除系统消息推送任务信息 - * - * @param ids 待删除的主键集合 - * @param isValid 是否进行有效性校验 - * @return 是否删除成功 - */ - Boolean deleteByIds(Collection ids, Boolean isValid); - - - void cancel(Long id); - - void open(Long id); - - boolean isExistTask(Collection messageIds); -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImSystemMessageService.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImSystemMessageService.java deleted file mode 100644 index 25cef55..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImSystemMessageService.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.dromara.im.service; - -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.im.domain.bo.ImSystemMessageBo; -import org.dromara.im.domain.vo.ImSystemMessageVo; - -import java.util.Collection; -import java.util.List; - -/** - * 系统消息Service接口 - * - * @author Blue - * @date 2024-12-22 - */ -public interface IImSystemMessageService { - - /** - * 查询系统消息 - * - * @param id 主键 - * @return 系统消息 - */ - ImSystemMessageVo queryById(Long id); - - /** - * 分页查询系统消息列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 系统消息分页列表 - */ - TableDataInfo queryPageList(ImSystemMessageBo bo, PageQuery pageQuery); - - - - /** - * 新增系统消息 - * - * @param bo 系统消息 - * @return 是否新增成功 - */ - Boolean insertByBo(ImSystemMessageBo bo); - - /** - * 修改系统消息 - * - * @param bo 系统消息 - * @return 是否修改成功 - */ - Boolean updateByBo(ImSystemMessageBo bo); - - /** - * 校验并批量删除系统消息信息 - * - * @param ids 待删除的主键集合 - * @param isValid 是否进行有效性校验 - * @return 是否删除成功 - */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - - - List findByTitle(String title); -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImSmPushTaskServiceImpl.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImSmPushTaskServiceImpl.java deleted file mode 100644 index 1ba3e6e..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImSmPushTaskServiceImpl.java +++ /dev/null @@ -1,169 +0,0 @@ -package org.dromara.im.service.impl; - -import com.baomidou.dynamic.datasource.annotation.DS; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.apache.logging.log4j.util.Strings; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.utils.MapstructUtils; -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.im.constant.ImConstant; -import org.dromara.im.domain.ImSmPushTask; -import org.dromara.im.domain.bo.ImSmPushTaskBo; -import org.dromara.im.domain.vo.ImSmPushTaskVo; -import org.dromara.im.enums.ImSmPushStatus; -import org.dromara.im.mapper.ImSmPushTaskMapper; -import org.dromara.im.service.IImSmPushTaskService; -import org.dromara.im.util.CommaTextUtils; -import org.springframework.stereotype.Service; - -import java.util.Collection; -import java.util.Date; -import java.util.Objects; -import java.util.Set; - -/** - * 系统消息推送任务Service业务层处理 - * - * @author Blue - * @date 2024-12-22 - */ -@DS(ImConstant.DS_IM_PLATFORM) -@RequiredArgsConstructor -@Service -public class ImSmPushTaskServiceImpl implements IImSmPushTaskService { - - private final ImSmPushTaskMapper baseMapper; - - /** - * 查询系统消息推送任务 - * - * @param id 主键 - * @return 系统消息推送任务 - */ - @Override - public ImSmPushTaskVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 分页查询系统消息推送任务列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 系统消息推送任务分页列表 - */ - @Override - public TableDataInfo queryPageList(ImSmPushTaskBo bo, PageQuery pageQuery) { - LambdaQueryWrapper wrapper = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), wrapper); - return TableDataInfo.build(result); - } - - - - private LambdaQueryWrapper buildQueryWrapper(ImSmPushTaskBo bo) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(bo.getMessageId() != null, ImSmPushTask::getMessageId, bo.getMessageId()); - wrapper.orderByDesc(ImSmPushTask::getId); - return wrapper; - } - - /** - * 新增系统消息推送任务 - * - * @param bo 系统消息推送任务 - * @return 是否新增成功 - */ - @Override - public Boolean insertByBo(ImSmPushTaskBo bo) { - ImSmPushTask task = valid(MapstructUtils.convert(bo, ImSmPushTask.class)); - task.setDeleted(false); - task.setCreator(LoginHelper.getUserId()); - task.setCreateTime(new Date()); - return baseMapper.insert(task) > 0; - } - - - - - /** - * 修改系统消息推送任务 - * - * @param bo 系统消息推送任务 - * @return 是否修改成功 - */ - @Override - public Boolean updateByBo(ImSmPushTaskBo bo) { - ImSmPushTask task = this.baseMapper.selectById(bo.getId()); - if (!ImSmPushStatus.WAIT_SEND.getValue().equals(task.getStatus())) { - throw new ServiceException("只允许修改未发送的任务"); - } - task = valid(MapstructUtils.convert(bo, ImSmPushTask.class)); - return baseMapper.updateById(task) > 0; - } - - - /** - * 校验并批量删除系统消息推送任务信息 - * - * @param ids 待删除的主键集合 - * @param isValid 是否进行有效性校验 - * @return 是否删除成功 - */ - @Override - public Boolean deleteByIds(Collection ids, Boolean isValid) { - return baseMapper.deleteByIds(ids) > 0; - } - - @Override - public void cancel(Long id) { - LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate(); - wrapper.eq(ImSmPushTask::getId, id); - wrapper.set(ImSmPushTask::getStatus, ImSmPushStatus.CANCEL.getValue()); - this.baseMapper.update(wrapper); - } - - @Override - public void open(Long id) { - LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate(); - wrapper.eq(ImSmPushTask::getId, id); - wrapper.set(ImSmPushTask::getStatus, ImSmPushStatus.WAIT_SEND.getValue()); - this.baseMapper.update(wrapper); - } - - @Override - public boolean isExistTask(Collection messageIds) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.in(ImSmPushTask::getMessageId, messageIds); - return this.baseMapper.exists(wrapper); - } - - - private ImSmPushTask valid(ImSmPushTask task){ - // 校验接收用户 - if(task.getSendToAll()){ - task.setRecvIds(Strings.EMPTY); - }else { - // 去重 - Set recvIds = CommaTextUtils.asSet(task.getRecvIds()); - if(recvIds.isEmpty()){ - throw new ServiceException("请选择接收用户"); - } - if(recvIds.size() > 20){ - throw new ServiceException("接收用户最多选择20人"); - } - task.setRecvIds(CommaTextUtils.asText(recvIds)); - } - // 校验时间:小于当前时间,修正为当前时间,表示立即发送 - if (Objects.isNull(task.getSendTime()) || task.getSendTime().compareTo(new Date()) < 0) { - task.setSendTime(new Date()); - } - return task; - } -} diff --git a/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImSystemMessageServiceImpl.java b/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImSystemMessageServiceImpl.java deleted file mode 100644 index d4bac8d..0000000 --- a/im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImSystemMessageServiceImpl.java +++ /dev/null @@ -1,132 +0,0 @@ -package org.dromara.im.service.impl; - -import cn.hutool.core.util.StrUtil; -import com.baomidou.dynamic.datasource.annotation.DS; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StringUtils; -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.im.constant.ImConstant; -import org.dromara.im.domain.ImSystemMessage; -import org.dromara.im.domain.bo.ImSystemMessageBo; -import org.dromara.im.domain.vo.ImSystemMessageVo; -import org.dromara.im.mapper.ImSystemMessageMapper; -import org.dromara.im.service.IImSmPushTaskService; -import org.dromara.im.service.IImSystemMessageService; -import org.springframework.stereotype.Service; - -import java.util.Collection; -import java.util.Date; -import java.util.List; - -/** - * 系统消息Service业务层处理 - * - * @author Blue - * @date 2024-12-22 - */ -@DS(ImConstant.DS_IM_PLATFORM) -@RequiredArgsConstructor -@Service -public class ImSystemMessageServiceImpl implements IImSystemMessageService { - - private final ImSystemMessageMapper baseMapper; - - private final IImSmPushTaskService smPushTaskService; - /** - * 查询系统消息 - * - * @param id 主键 - * @return 系统消息 - */ - @Override - public ImSystemMessageVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 分页查询系统消息列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 系统消息分页列表 - */ - @Override - public TableDataInfo queryPageList(ImSystemMessageBo bo, PageQuery pageQuery) { - LambdaQueryWrapper wrapper = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), wrapper); - return TableDataInfo.build(result); - } - - - private LambdaQueryWrapper buildQueryWrapper(ImSystemMessageBo bo) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(StringUtils.isNotBlank(bo.getTitle()), ImSystemMessage::getTitle, bo.getTitle()); - wrapper.eq(bo.getContentType() != null, ImSystemMessage::getContentType, bo.getContentType()); - wrapper.orderByDesc(ImSystemMessage::getId); - return wrapper; - } - - /** - * 新增系统消息 - * - * @param bo 系统消息 - * @return 是否新增成功 - */ - @Override - public Boolean insertByBo(ImSystemMessageBo bo) { - ImSystemMessage message = MapstructUtils.convert(bo, ImSystemMessage.class); - message.setDeleted(false); - message.setCreator(LoginHelper.getUserId()); - message.setCreateTime(new Date()); - return baseMapper.insert(message) > 0; - } - - /** - * 修改系统消息 - * - * @param bo 系统消息 - * @return 是否修改成功 - */ - @Override - public Boolean updateByBo(ImSystemMessageBo bo) { - ImSystemMessage message = MapstructUtils.convert(bo, ImSystemMessage.class); - return baseMapper.updateById(message) > 0; - } - - - /** - * 校验并批量删除系统消息信息 - * - * @param ids 待删除的主键集合 - * @param isValid 是否进行有效性校验 - * @return 是否删除成功 - */ - @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(smPushTaskService.isExistTask(ids)){ - throw new ServiceException("部分消息存在关联任务,删除失败"); - } - return baseMapper.deleteByIds(ids) > 0; - } - - @Override - public List findByTitle(String title) { - // 取出标题匹配的前10条 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - if(StrUtil.isNotEmpty(title)){ - wrapper.like(ImSystemMessage::getTitle, title); - } - wrapper.select(ImSystemMessage::getId, ImSystemMessage::getTitle); - wrapper.orderByDesc(ImSystemMessage::getId); - wrapper.last("limit 10"); - return baseMapper.selectVoList(wrapper); - - } -}