Merge branch 'master' of https://gitee.com/youlaiorg/youlai-boot into feature/noticews

# Conflicts:
#	src/main/java/com/youlai/boot/platform/websocket/service/impl/WebsocketServiceImpl.java
#	src/main/java/com/youlai/boot/system/controller/NoticeController.java
#	src/main/java/com/youlai/boot/system/controller/NoticeStatusController.java
#	src/main/java/com/youlai/boot/system/converter/NoticeConverter.java
#	src/main/java/com/youlai/boot/system/converter/NoticeStatusConverter.java
#	src/main/java/com/youlai/boot/system/mapper/NoticeMapper.java
#	src/main/java/com/youlai/boot/system/mapper/NoticeStatusMapper.java
#	src/main/java/com/youlai/boot/system/model/entity/Notice.java
#	src/main/java/com/youlai/boot/system/model/entity/NoticeStatus.java
#	src/main/java/com/youlai/boot/system/model/form/NoticeForm.java
#	src/main/java/com/youlai/boot/system/model/form/NoticeStatusForm.java
#	src/main/java/com/youlai/boot/system/model/query/NoticeQuery.java
#	src/main/java/com/youlai/boot/system/model/query/NoticeStatusQuery.java
#	src/main/java/com/youlai/boot/system/model/vo/NoticeStatusVO.java
#	src/main/java/com/youlai/boot/system/model/vo/NoticeVO.java
#	src/main/java/com/youlai/boot/system/service/NoticeService.java
#	src/main/java/com/youlai/boot/system/service/NoticeStatusService.java
#	src/main/java/com/youlai/boot/system/service/impl/NoticeServiceImpl.java
#	src/main/java/com/youlai/boot/system/service/impl/NoticeStatusServiceImpl.java
This commit is contained in:
Theo
2024-08-31 20:10:54 +08:00
252 changed files with 1338 additions and 1267 deletions

View File

@@ -0,0 +1,42 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.youlai.boot.common.base.BaseEntity;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
/**
* 系统配置 实体
*
* @author Theo
* @since 2024-07-29 11:17:26
*/
@Schema(description = "系统配置")
@TableName("sys_config")
@Data
public class Config extends BaseEntity {
@Schema(description = "配置名称")
private String configName;
@Schema(description = "配置键")
private String configKey;
@Schema(description = "配置值")
private String configValue;
@Schema(description = "描述、备注")
private String remark;
@Schema(description = "创建人ID")
@TableField(fill = FieldFill.INSERT)
private Long createBy;
@Schema(description = "更新人ID")
@TableField(fill = FieldFill.UPDATE)
private Long updateBy;
@TableLogic(value = "0", delval = "1")
private Integer isDeleted;
}

View File

@@ -0,0 +1,59 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.youlai.boot.common.base.BaseEntity;
import lombok.Getter;
import lombok.Setter;
/**
* 部门实体
*
* @author Ray
* @since 2024/06/23
*/
@TableName("sys_dept")
@Getter
@Setter
public class Dept extends BaseEntity {
/**
* 部门名称
*/
private String name;
/**
* 部门编码
*/
private String code;
/**
* 父节点id
*/
private Long parentId;
/**
* 父节点id路径
*/
private String treePath;
/**
* 显示顺序
*/
private Integer sort;
/**
* 状态(1-正常 0-禁用)
*/
private Integer status;
/**
* 创建人 ID
*/
private Long createBy;
/**
* 更新人 ID
*/
private Long updateBy;
}

View File

@@ -0,0 +1,37 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.youlai.boot.common.base.BaseEntity;
import lombok.Data;
/**
* 字典实体
*
* @author haoxr
* @since 2022/12/17
*/
@TableName("sys_dict")
@Data
public class Dict extends BaseEntity {
/**
* 类型名称
*/
private String name;
/**
* 类型编码
*/
private String code;
/**
* 状态(0:正常;1:禁用)
*/
private Integer status;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,55 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 字典项实体
*
* @author haoxr
* @since 2022/12/17
*/
@TableName("sys_dict_item")
@Data
public class DictItem implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 字典类ID
*/
private Long dictId;
/**
* 字典项名称
*/
private String name;
/**
* 字典项值
*/
private String value;
/**
* 排序
*/
private Integer sort;
/**
* 状态1-正常0-禁用)
*/
private Integer status;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,90 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.youlai.boot.common.enums.LogModuleEnum;
import lombok.Data;
/**
* 系统日志 实体类
*
* @author Ray
* @since 2.10.0
*/
@TableName("sys_log")
@Data
public class Log implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 日志模块
*/
private LogModuleEnum module;
/**
* 日志内容
*/
private String content;
/**
* 请求路径
*/
private String requestUri;
/**
* IP 地址
*/
private String ip;
/**
* 省份
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 浏览器
*/
private String browser;
/**
* 浏览器版本
*/
private String browserVersion;
/**
* 终端系统
*/
private String os;
/**
* 执行时间(毫秒)
*/
private Long executionTime;
/**
* 创建人ID
*/
private Long createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,113 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.youlai.boot.common.enums.MenuTypeEnum;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* 菜单实体
*
* @author Ray
* @since 2023/3/6
*/
@TableName("sys_menu")
@Getter
@Setter
public class Menu {
/**
* 菜单ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 父菜单ID
*/
private Long parentId;
/**
* 菜单名称
*/
private String name;
/**
* 菜单类型(1-菜单2-目录3-外链4-按钮权限)
*/
private MenuTypeEnum type;
/**
* 路由名称Vue Router 中定义的路由名称)
*/
private String routeName;
/**
* 路由路径Vue Router 中定义的 URL 路径)
*/
private String routePath;
/**
* 组件路径(vue页面完整路径省略.vue后缀)
*/
private String component;
/**
* 权限标识
*/
private String perm;
/**
* 显示状态(1:显示;0:隐藏)
*/
private Integer visible;
/**
* 排序
*/
private Integer sort;
/**
* 菜单图标
*/
private String icon;
/**
* 跳转路径
*/
private String redirect;
/**
* 父节点路径,以英文逗号(,)分割
*/
private String treePath;
/**
* 【菜单】是否开启页面缓存(1:开启;0:关闭)
*/
private Integer keepAlive;
/**
* 【目录】只有一个子路由是否始终显示(1:是 0:否)
*/
private Integer alwaysShow;
/**
* 路由参数
*/
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String params;
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,73 @@
package com.youlai.system.model.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableName;
import com.youlai.system.common.base.BaseEntity;
/**
* 通知公告实体对象
*
* @author youlaitech
* @since 2024-08-27 10:31
*/
@Getter
@Setter
@TableName("sys_notice")
public class Notice extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 通知标题
*/
private String title;
/**
* 通知内容
*/
private String content;
/**
* 通知类型
*/
private Integer noticeType;
/**
* 发布人
*/
private Long releaseBy;
/**
* 优先级(0-低 1-中 2-高)
*/
private Integer priority;
/**
* 目标类型(0-全体 1-指定)
*/
private Integer tarType;
/**
* 发布状态(0-未发布 1已发布 2已撤回)
*/
private Integer sendStatus;
/**
* 发布时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime sendTime;
/**
* 撤回时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime recallTime;
/**
* 创建人ID
*/
private Long createBy;
/**
* 更新人ID
*/
private Long updateBy;
/**
* 逻辑删除标识(0-未删除 1-已删除)
*/
private Integer isDelete;
}

View File

@@ -0,0 +1,48 @@
package com.youlai.system.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableName;
import com.youlai.system.common.base.BaseEntity;
/**
* 用户公告状态实体对象
*
* @author youlaitech
* @since 2024-08-28 16:56
*/
@Getter
@Setter
@TableName("sys_notice_status")
public class NoticeStatus implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 公共通知id
*/
private Long noticeId;
/**
* 用户id
*/
private Long userId;
/**
* 读取状态0未读1已读取
*/
private Long readStatus;
/**
* 用户阅读时间
*/
private LocalDateTime readTiem;
}

View File

@@ -0,0 +1,53 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.youlai.boot.common.base.BaseEntity;
import lombok.Getter;
import lombok.Setter;
/**
* 角色实体
*
* @author Ray
* @since 2024/6/23
*/
@TableName("sys_role")
@Getter
@Setter
public class Role extends BaseEntity {
/**
* 角色名称
*/
private String name;
/**
* 角色编码
*/
private String code;
/**
* 显示顺序
*/
private Integer sort;
/**
* 角色状态(1-正常 0-停用)
*/
private Integer status;
/**
* 数据权限
*/
private Integer dataScope;
/**
* 创建人 ID
*/
private Long createBy;
/**
* 更新人 ID
*/
private Long updateBy;
}

View File

@@ -0,0 +1,30 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 角色和菜单关联表
*/
@TableName("sys_role_menu")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RoleMenu {
/**
* 角色ID
*/
private Long roleId;
/**
* 菜单ID
*/
private Long menuId;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

View File

@@ -0,0 +1,70 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.youlai.boot.common.base.BaseEntity;
import lombok.Getter;
import lombok.Setter;
/**
* 用户实体
*/
@TableName("sys_user")
@Getter
@Setter
public class User extends BaseEntity {
/**
* 用户名
*/
private String username;
/**
* 昵称
*/
private String nickname;
/**
* 性别((1-男 2-女 0-保密)
*/
private Integer gender;
/**
* 密码
*/
private String password;
/**
* 部门ID
*/
private Long deptId;
/**
* 用户头像
*/
private String avatar;
/**
* 联系方式
*/
private String mobile;
/**
* 状态((1-正常 0-禁用)
*/
private Integer status;
/**
* 用户邮箱
*/
private String email;
/**
* 创建人 ID
*/
private Long createBy;
/**
* 更新人 ID
*/
private Long updateBy;
}

View File

@@ -0,0 +1,33 @@
package com.youlai.boot.system.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 用户和角色关联表
*
* @author haoxr
* @since 2022/12/17
*/
@TableName("sys_user_role")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserRole {
/**
* 用户ID
*/
private Long userId;
/**
* 角色ID
*/
private Long roleId;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}