From d5e1fb4db7ede37f4f87b7998ef4936dc53c1d24 Mon Sep 17 00:00:00 2001 From: tortoise <2891138827@qq.com> Date: Fri, 9 Aug 2024 22:35:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++ pom.xml | 5 ++ .../top/suyiiyii/sims/SimsApplication.java | 4 +- .../top/suyiiyii/sims/entity/Attachment.java | 26 +++++++++ .../sims/entity/HierarchyRelation.java | 31 +++++++++++ .../suyiiyii/sims/entity/Notification.java | 28 ++++++++++ .../top/suyiiyii/sims/entity/Permissions.java | 26 +++++++++ .../sims/entity/RewardPunishmentCategory.java | 28 ++++++++++ .../sims/entity/RewardPunishmentRecord.java | 54 +++++++++++++++++++ .../java/top/suyiiyii/sims/entity/Role.java | 24 +++++++++ .../suyiiyii/sims/entity/RolePermission.java | 25 +++++++++ .../java/top/suyiiyii/sims/entity/User.java | 29 ++++++++++ .../top/suyiiyii/sims/entity/UserRole.java | 23 ++++++++ src/main/resources/application.properties | 1 - src/main/resources/mapper/UserMapper.xml | 0 15 files changed, 307 insertions(+), 3 deletions(-) create mode 100644 src/main/java/top/suyiiyii/sims/entity/Attachment.java create mode 100644 src/main/java/top/suyiiyii/sims/entity/HierarchyRelation.java create mode 100644 src/main/java/top/suyiiyii/sims/entity/Notification.java create mode 100644 src/main/java/top/suyiiyii/sims/entity/Permissions.java create mode 100644 src/main/java/top/suyiiyii/sims/entity/RewardPunishmentCategory.java create mode 100644 src/main/java/top/suyiiyii/sims/entity/RewardPunishmentRecord.java create mode 100644 src/main/java/top/suyiiyii/sims/entity/Role.java create mode 100644 src/main/java/top/suyiiyii/sims/entity/RolePermission.java create mode 100644 src/main/java/top/suyiiyii/sims/entity/User.java create mode 100644 src/main/java/top/suyiiyii/sims/entity/UserRole.java delete mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/mapper/UserMapper.xml diff --git a/README.md b/README.md index 6a6c606..82a2cce 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,9 @@ Super Invincible Management System 8. require review: 请求review 9. merge: 合并 PR 10. delete: 删除分支 + +1. 基础rbac的五张表: user, role, permission, user_role, role_permission +2. 然后奖惩记录这张表,通过用户id来查到,里面有相应的记录, 有一个 奖惩类别ID是对应到奖惩类型去的 +3. 有一个上下级关系表,想着是用户明确查上下级就可以用查, +4. 然后就是附件,是通过奖惩记录的id来存一个路径,然后前端通过这个路径来获取附件,同样的上传的时候也是 +5. 通知是这样子想的,有上传的人的id和接收的人的id,然后有状态(已读,未读),然后有附件的路径,然后有通知内容,然后有通知时间,然后有通知类型(奖惩,通知) \ No newline at end of file diff --git a/pom.xml b/pom.xml index e884319..f41ede9 100644 --- a/pom.xml +++ b/pom.xml @@ -46,6 +46,11 @@ runtime true + + com.tangzc + mybatis-plus-ext-boot-starter + 3.5.5-EXT560 + com.mysql mysql-connector-j diff --git a/src/main/java/top/suyiiyii/sims/SimsApplication.java b/src/main/java/top/suyiiyii/sims/SimsApplication.java index 06daf3b..b5d5093 100644 --- a/src/main/java/top/suyiiyii/sims/SimsApplication.java +++ b/src/main/java/top/suyiiyii/sims/SimsApplication.java @@ -1,11 +1,11 @@ package top.suyiiyii.sims; +import com.tangzc.mpe.autotable.EnableAutoTable; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; - +@EnableAutoTable @SpringBootApplication public class SimsApplication { - public static void main(String[] args) { SpringApplication.run(SimsApplication.class, args); } diff --git a/src/main/java/top/suyiiyii/sims/entity/Attachment.java b/src/main/java/top/suyiiyii/sims/entity/Attachment.java new file mode 100644 index 0000000..1a3f602 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/Attachment.java @@ -0,0 +1,26 @@ +package top.suyiiyii.sims.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +/** + * @Author tortoise + * @Date 2024/8/9 15:44 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: Attachment + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class Attachment { + private Integer id; + private Integer recordId; + // 文件路径 + private String filePath; + // 文件名 + private String fileName; +} diff --git a/src/main/java/top/suyiiyii/sims/entity/HierarchyRelation.java b/src/main/java/top/suyiiyii/sims/entity/HierarchyRelation.java new file mode 100644 index 0000000..da3259d --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/HierarchyRelation.java @@ -0,0 +1,31 @@ +package top.suyiiyii.sims.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +/** + * @Author tortoise + * @Date 2024/8/9 15:45 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: HierarchyRelation + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class HierarchyRelation { + + private Integer id; + + // 上级用户ID + private Integer superiorUserId; + + // 下级用户ID + private Integer subordinateUserId; + + // 关系类型 + private String relationType; +} diff --git a/src/main/java/top/suyiiyii/sims/entity/Notification.java b/src/main/java/top/suyiiyii/sims/entity/Notification.java new file mode 100644 index 0000000..402b5b0 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/Notification.java @@ -0,0 +1,28 @@ +package top.suyiiyii.sims.entity; + +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @Author tortoise + * @Date 2024/8/9 22:22 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: Notification + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class Notification { + private Integer id; + private String title; + private String content; + private Integer senderId; + private LocalDateTime createdAt; + private String status; + private String type; + private Integer targetUserId; + +} diff --git a/src/main/java/top/suyiiyii/sims/entity/Permissions.java b/src/main/java/top/suyiiyii/sims/entity/Permissions.java new file mode 100644 index 0000000..33c19f2 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/Permissions.java @@ -0,0 +1,26 @@ +package top.suyiiyii.sims.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +/** + * @Author tortoise + * @Date 2024/8/9 14:03 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: Permissions + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class Permissions { + + private Integer id; + //权限id + private Integer permissionId; + // 权限描述 + private String description; + +} diff --git a/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentCategory.java b/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentCategory.java new file mode 100644 index 0000000..f1dbf22 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentCategory.java @@ -0,0 +1,28 @@ +package top.suyiiyii.sims.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +/** + * @Author tortoise + * @Date 2024/8/9 15:43 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: RewardPunishmentCategory + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class RewardPunishmentCategory { + + private Integer id; + + private Integer categoryId; + // 类别名称 + private String categoryName; + // 类别说明 + private String description; + +} diff --git a/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentRecord.java b/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentRecord.java new file mode 100644 index 0000000..6081c68 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentRecord.java @@ -0,0 +1,54 @@ +package top.suyiiyii.sims.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @Author tortoise + * @Date 2024/8/9 14:04 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: RewardPunishmentRecord + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class RewardPunishmentRecord { + + private Integer id; + // 用户ID + private Integer userId; + // 奖惩类型 + private String type; + // 奖惩类别ID + private Integer categoryId; + // 奖惩日期 + private LocalDateTime date; + // 奖惩内容 + private String content; + // 奖惩原因 + private String reason; + // 奖惩金额 + private Double amount; + // 奖惩备注 + private String remark; + // 是否撤销 + private Boolean isRevoked; + // 撤销日期 + private LocalDateTime revokeDate; + // 撤销原因 + private String revokeReason; + // 撤销备注 + private String revokeRemark; + // 操作人ID + private Integer operatorUserId; + // 最近一次更新时间 + private LocalDateTime lastUpdateTime; + + +} diff --git a/src/main/java/top/suyiiyii/sims/entity/Role.java b/src/main/java/top/suyiiyii/sims/entity/Role.java new file mode 100644 index 0000000..05a39dc --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/Role.java @@ -0,0 +1,24 @@ +package top.suyiiyii.sims.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +/** + * @Author tortoise + * @Date 2024/8/9 14:02 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: Role + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class Role { + + private Integer id; + private Integer roleId; + private String roleName; + +} diff --git a/src/main/java/top/suyiiyii/sims/entity/RolePermission.java b/src/main/java/top/suyiiyii/sims/entity/RolePermission.java new file mode 100644 index 0000000..02b863b --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/RolePermission.java @@ -0,0 +1,25 @@ +package top.suyiiyii.sims.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +import java.security.Permission; + +/** + * @Author tortoise + * @Date 2024/8/9 14:03 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: RolePermission + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class RolePermission { + private Integer rolePermissionId; + private Integer roleId; + private Integer permissionId; +} diff --git a/src/main/java/top/suyiiyii/sims/entity/User.java b/src/main/java/top/suyiiyii/sims/entity/User.java new file mode 100644 index 0000000..ab369d2 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/User.java @@ -0,0 +1,29 @@ +package top.suyiiyii.sims.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +/** + * @Author tortoise + * @Date 2024/8/9 14:02 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: User + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class User { + + private Integer id; + private Integer userId; + private String username; + private String password; + private String name; + private String email; + private String group; + +} diff --git a/src/main/java/top/suyiiyii/sims/entity/UserRole.java b/src/main/java/top/suyiiyii/sims/entity/UserRole.java new file mode 100644 index 0000000..7d82f6d --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/entity/UserRole.java @@ -0,0 +1,23 @@ +package top.suyiiyii.sims.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.tangzc.mpe.autotable.annotation.Table; +import lombok.Data; + +/** + * @Author tortoise + * @Date 2024/8/9 14:02 + * @PackageName:top.suyiiyii.sims.entity + * @ClassName: UserRole + * @Description: TODO + * @Version 1.0 + */ +@Data +@Table +public class UserRole { + + private Integer id; + private Integer userId; + private Integer roleId; +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index e4aea02..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=SIMS diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml new file mode 100644 index 0000000..e69de29