query()
+ .like(StrUtil.isNotBlank(name), "u.name", name)
+ .orderByAsc("u.name")
+ );
+ return R.ok(staffs);
+ }
+
+
+ /**
+ * 查询对指定的机构拥有某些权限的用户列表。
+ *
+ * 还可以通过 includeSubOrg, 对用户进行筛选。
+ * includeSubOrg 为 true 时, 如果指定机构是某用户所属机构的下属机构时该用户有效;
+ * includeSubOrg 为 false 时, 只有当指定机构是某用户所属机构时该用户有效;
+ *
+ * @param orgId 机构 id
+ * param includeSubOrg 是否包含子机构
+ * @param permissions 权限集合
+ * @return 用户列表
+ */
+ @GetMapping("/bypermissions")
+ public R> GetUsersByPermission(@RequestParam("orgId") String orgId, @RequestParam("permissions") List permissions) {
+ //rolePermissionService
+ return R.ok(userService.listUsersByPermission(orgId, false, permissions));
+ }
+
+
+ /**
+ * 查询对指定的机构拥有某些权限的用户列表。
+ *
+ * 还可以通过 includeSubOrg, 对用户进行筛选。
+ * includeSubOrg 为 true 时, 如果指定机构是某用户所属机构的下属机构时该用户有效;
+ * includeSubOrg 为 false 时, 只有当指定机构是某用户所属机构时该用户有效;
+ *
+ * @param orgId 机构 id
+ * param includeSubOrg 是否包含子机构
+ * @param permissions 权限集合
+ * @return 用户列表
+ */
+ @Inner
+ @GetMapping("/inner_bypermissions")
+ public R> innerGetUsersByPermission(@RequestParam("orgId") String orgId, @RequestParam("permissions") List permissions) {
+ return R.ok(userService.listUsersByPermission(orgId, false, permissions));
+ }
+
+ /**
+ * 审核注册的用户,注册用户是需要管理员审核才能启用
+ *
+ * @param userId
+ * @param op_code
+ * @return
+ */
+ @ApiOperation(value = "审核用户", notes = "新注册的用户需要审核才可使用\n")
+ @PutMapping("/reviewUser")
+ public R reviewRegisterUser(@RequestParam("userId") String userId, @RequestParam("op_code") boolean op_code) throws Exception {
+ if (StrUtil.isBlank(userId) || userId == null) {
+ throw new Exception("用户ID不能为空");
+ }
+ return R.ok(userService.reviewUser(userId, op_code));
+ }
+
+ /**
+ * 修改个人信息
+ *
+ * @param userDto userDto
+ * @return success/false
+ */
+ @SysLog("修改个人信息")
+ @PutMapping("/edit")
+ public R putCurrentUserInfoUpdate(@Valid @RequestBody UserDTO userDto) {
+ return R.ok(userService.updateUserInfo(userDto));
+ }
+
+ /**
+ * @param username 用户名称
+ * @return 上级机构用户列表
+ */
+ @GetMapping("/ancestor/{username}")
+ public R getAncestorUserListByUsername(@PathVariable String username) {
+ return R.ok(userService.listAncestorUsersByUsername(username));
+ }
+
+ //==================================================================================================================
+ // 以下是管理员使用的接口
+ // 这些提供给管理员使用, 处理的数据不是管理员这个用户本身的数据, 而是其他用户的数据
+ //==================================================================================================================
+
+ //==================================================================================================================
+ // 以下是内部使用的接口
+ //==================================================================================================================
+
+ /**
+ * 通过 ID 查询用户信息
+ *
+ * @param id ID
+ * @return 用户信息
+ */
+ @Inner
+ @GetMapping("/inner_get_by_id/{id}")
+ public R innerGetById(@PathVariable String id) {
+ return R.ok(userService.getById(id));
+ }
+
+ /**
+ * 根据部门名称和是否是部门领导查询用户信息
+ *
+ * @param department
+ * @param deptHeader
+ * @return
+ */
+ @GetMapping("/by_department_and_dept_header")
+ public R> getUserInfoByDepartmentAndDeptHeader(@RequestParam("department") String department,
+ @RequestParam("deptHeader") Integer deptHeader) {
+
+ if (StrUtil.isBlank(department)) {
+ throw new RuntimeException("部门不能为空");
+ }
+
+ if (deptHeader == null) {
+ throw new RuntimeException("是否部门领导不能为空");
+ }
+
+ List sysUserList = userService.list(
+ Wrappers.query()
+ .eq("department", department.trim()) // 防止参数传递过来时有空格
+ .eq("dept_header", deptHeader)); // 是否部门领导: 0=不是, 1=正职领导, 2=副职领导
+
+ return R.ok(sysUserList);
+ }
+
+
+ //==================================================================================================================
+ // 以下是测试使用的接口
+ //==================================================================================================================
+
+ // 测试, 创建 100 个案件
+ @GetMapping("/create100")
+ public R xxx_TestCreate100() {
+ for (int i = 0; i < 100; i++) {
+ SysUser user = new SysUser();
+
+ user.setUserId(IdWorker.get32UUID().toUpperCase());
+ user.setUsername(RandomUtil.randomString(RandomUtil.randomInt(4, 10)));
+ user.setEnabled(true);
+ user.setPassword("$2a$10$Q/8pJPrJLzCSMup8akH3y.Nxra4H/jGdBQTNDyl70W5Rz8EatLtmO");
+ user.setPoliceType(RandomUtil.randomInt(0, 2));
+ user.setPoliceNo(RandomUtil.randomNumbers(8));
+ user.setNativePlace(TestUtils.genAddress(i));
+
+ //当前时间字符串, 格式: yyyy-MM-dd HH:mm:ss
+ String now = DateUtil.now();
+ //当前日期字符串, 格式: yyyy-MM-dd
+ String today = DateUtil.today();
+ user.setName("测试用户-" + today + "-" + String.format("%d", i));
+ user.setFormerName("测试用户曾用名-" + today + "-" + String.format("%d", i));
+
+ user.setGender(RandomUtil.randomInt(2));
+ user.setNation(TestUtils.genNation());
+ user.setMaritalStatus(TestUtils.genMaritalStatus());
+ user.setMilitaryServiceStatus(TestUtils.genMilitaryServiceStatus());
+ user.setEducationalLevel(TestUtils.genEducationalLevel());
+ user.setBirthPlace(TestUtils.genAddress(i));
+ user.setCertificateType(TestUtils.genCertificateType());
+ user.setCertificateNo(RandomUtil.randomNumbers(18));
+ user.setIdentificationCardNo(RandomUtil.randomNumbers(18));
+ user.setMobile(TestUtils.genMobile());
+ user.setEmail(RandomUtil.randomStringUpper(10) + "@" + RandomUtil.randomStringUpper(10) + ".COM");
+ user.setAddress(TestUtils.genAddress(i));
+
+ user.setPosition(TestUtils.genPosition());
+
+ userService.save(user);
+ }
+ return R.ok("已经创建 100 个用户");
+ }
+
+ @DeleteMapping("/del/signature/{userId}")
+ @ApiOperation(value = "删除电子签名",notes = "通过传入用户ID,直接删除该用户电子签名数据")
+ public R deleteSignature(@PathVariable String userId) {
+ SysUser user = userService.getById(userId);
+ if (user == null) {
+ throw new RuntimeException(String.format("未能查到ID为:" + userId + "的用户信息"));
+ }
+ user.setSignature("");
+ return userService.updateById(user) ? R.ok("删除成功") : R.failed("删除失败");
+ }
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/entity/EntrustTemplateInfo.java b/src/main/java/digital/laboratory/platform/sys/entity/EntrustTemplateInfo.java
new file mode 100644
index 0000000..8d2a33e
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/entity/EntrustTemplateInfo.java
@@ -0,0 +1,54 @@
+package digital.laboratory.platform.sys.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import digital.laboratory.platform.common.mybatis.base.BaseEntity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 委托送检中案情简要等内容的模板信息表
+ * @TableName b_entrust_template_info
+ */
+@Data
+@TableName(value ="b_entrust_template_info")
+@ApiModel(value = "EntrustTemplateInfo", description = "委托送检中案情简要等内容的模板信息表")
+public class EntrustTemplateInfo extends BaseEntity {
+ /**
+ * 主键id
+ */
+ @ApiModelProperty("id主键")
+ @TableId(value = "ID", type = IdType.ASSIGN_ID)
+ private String id;
+
+ /**
+ * 模板名称
+ */
+ @ApiModelProperty("模板名称")
+ @NotBlank(message = "模板名称不能为空!")
+ private String templateName;
+
+ /**
+ * 模板内容
+ */
+ @ApiModelProperty("模板内容")
+ @NotBlank(message = "模板内容不能为空!")
+ private String templateContent;
+
+ /**
+ * 模板类型,比如:0 - 案情简要
+ */
+ @ApiModelProperty("模板类型,比如:0 - 案情简要")
+ @NotNull(message = "模板类型不能为空!")
+ private Integer templateType;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/enums/TemplateTypeEnums.java b/src/main/java/digital/laboratory/platform/sys/enums/TemplateTypeEnums.java
new file mode 100644
index 0000000..5622624
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/enums/TemplateTypeEnums.java
@@ -0,0 +1,30 @@
+package digital.laboratory.platform.sys.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum TemplateTypeEnums {
+
+ TEMPLATE_CASE_BRIEF(0, "案情简要模板"),
+ ;
+
+
+ private final Integer code;
+
+ private final String desc;
+
+ TemplateTypeEnums(Integer code, String desc) {
+ this.code = code;
+ this.desc = desc;
+ }
+
+ // 根据名称获取状态值
+ public static TemplateTypeEnums fromCode(Integer code) {
+ for (TemplateTypeEnums entrustAlterApplyStatus : values()) {
+ if (entrustAlterApplyStatus.getCode().equals(code)) {
+ return entrustAlterApplyStatus;
+ }
+ }
+ throw new IllegalArgumentException("No enum constant with code: " + code);
+ }
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/AreaMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/AreaMapper.java
new file mode 100644
index 0000000..583e2ca
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/AreaMapper.java
@@ -0,0 +1,25 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import digital.laboratory.platform.sys.entity.Area;
+import digital.laboratory.platform.sys.vo.AreaVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ *
+ * 省/地/县 3级行政区划 Mapper 接口
+ *
+ *
+ * @author Zhang Xiaolong
+ * @since 2022-03-10 09:45:58
+ * @describe 省/地/县 3级行政区划mapper类
+ */
+@Mapper
+public interface AreaMapper extends BaseMapper {
+ List listAreaVO(@Param(Constants.WRAPPER) QueryWrapper qw);
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/BusinessDepartmentMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/BusinessDepartmentMapper.java
new file mode 100644
index 0000000..8961e0c
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/BusinessDepartmentMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.BusinessDepartment;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 鉴定中心的业务部门设置 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-07-15
+ * @describe 鉴定中心的业务部门设置 Mapper 类
+ */
+@Mapper
+public interface BusinessDepartmentMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/BusinessMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/BusinessMapper.java
new file mode 100644
index 0000000..19e9ce3
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/BusinessMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.Business;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 业务分类,目前只有:司法鉴定、污水检测任务、先进性检测任务。数据中的id不能变,代码中会直接使用 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-07-15
+ * @describe 业务分类,目前只有:司法鉴定、污水检测任务、先进性检测任务。数据中的id不能变,代码中会直接使用 Mapper 类
+ */
+@Mapper
+public interface BusinessMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/BusinessRDepartmentMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/BusinessRDepartmentMapper.java
new file mode 100644
index 0000000..1e9e105
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/BusinessRDepartmentMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.BusinessRDepartment;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 业务与专业检验室的关系 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-07-15
+ * @describe 业务与专业检验室的关系 Mapper 类
+ */
+@Mapper
+public interface BusinessRDepartmentMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/CaseTypeMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/CaseTypeMapper.java
new file mode 100644
index 0000000..af60924
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/CaseTypeMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.CaseType;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 案件类型编码表 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-04-07
+ * @describe 案件类型编码表 Mapper 类
+ */
+@Mapper
+public interface CaseTypeMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/CriminalTypeMapper.javax b/src/main/java/digital/laboratory/platform/sys/mapper/CriminalTypeMapper.javax
new file mode 100644
index 0000000..7448f7e
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/CriminalTypeMapper.javax
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sewage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.common.entity.CriminalType;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 犯罪类型编码表 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-04-07
+ * @describe 犯罪类型编码表 Mapper 类
+ */
+@Mapper
+public interface CriminalTypeMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/DelivererMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/DelivererMapper.java
new file mode 100644
index 0000000..ee56610
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/DelivererMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.Deliverer;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 送检员 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-08-16
+ * @describe 送检员 Mapper 类
+ */
+@Mapper
+public interface DelivererMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/DictionaryMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/DictionaryMapper.java
new file mode 100644
index 0000000..fd80fc6
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/DictionaryMapper.java
@@ -0,0 +1,29 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import digital.laboratory.platform.sys.entity.Dictionary;
+import digital.laboratory.platform.sys.vo.DictionaryVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ *
+ * 字典表 Mapper 接口
+ *
+ *
+ * @author zhangxl
+ * @since 2021-12-28
+ */
+@Mapper
+public interface DictionaryMapper extends BaseMapper {
+
+ //List listByType(String type);
+
+ List listTypes(String module);
+
+ List listDictionaryVO(@Param(Constants.WRAPPER) QueryWrapper qw);
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/DrugMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/DrugMapper.java
new file mode 100644
index 0000000..9e98bb3
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/DrugMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.Drug;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 毒品清单 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-06-23
+ * @describe 毒品清单 Mapper 类
+ */
+@Mapper
+public interface DrugMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/DrugRTypeMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/DrugRTypeMapper.java
new file mode 100644
index 0000000..1f744d7
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/DrugRTypeMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.DrugRType;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 毒品-类型关系映射表 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-06-23
+ * @describe 毒品-类型关系映射表 Mapper 类
+ */
+@Mapper
+public interface DrugRTypeMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/DrugTypeMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/DrugTypeMapper.java
new file mode 100644
index 0000000..680f2bf
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/DrugTypeMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.DrugType;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 毒品分类 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-06-23
+ * @describe 毒品分类 Mapper 类
+ */
+@Mapper
+public interface DrugTypeMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/EntrustTemplateInfoMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/EntrustTemplateInfoMapper.java
new file mode 100644
index 0000000..dd98a38
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/EntrustTemplateInfoMapper.java
@@ -0,0 +1,20 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.EntrustTemplateInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author ChenJiangBao
+* @description 针对表【b_entrust_template_info(委托送检中案情简要等内容的模板信息表)】的数据库操作Mapper
+* @createDate 2025-01-08 14:12:41
+* @Entity digital.laboratory.platform.entrustment.entity.EntrustTemplateInfo
+*/
+@Mapper
+public interface EntrustTemplateInfoMapper extends BaseMapper {
+
+}
+
+
+
+
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/MessageMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/MessageMapper.java
new file mode 100644
index 0000000..3cee370
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/MessageMapper.java
@@ -0,0 +1,25 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import digital.laboratory.platform.sys.entity.Message;
+import digital.laboratory.platform.sys.vo.MessageVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 消息 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2023-02-02
+ * @describe 消息 Mapper 类
+ */
+@Mapper
+public interface MessageMapper extends BaseMapper {
+ IPage getMessageVOPage(@Param("page") IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+ List getMessageVOList(@Param(Constants.WRAPPER) QueryWrapper qw);
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/PersonalIdentityVerifierMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/PersonalIdentityVerifierMapper.java
new file mode 100644
index 0000000..f229a1f
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/PersonalIdentityVerifierMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.PersonalIdentityVerifier;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 智能身份识别终端配置 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2023-02-22
+ * @describe 智能身份识别终端配置 Mapper 类
+ */
+@Mapper
+public interface PersonalIdentityVerifierMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/StaffMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/StaffMapper.java
new file mode 100644
index 0000000..29a55ae
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/StaffMapper.java
@@ -0,0 +1,25 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import digital.laboratory.platform.sys.entity.PartialStaff;
+import digital.laboratory.platform.sys.vo.Staff;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 鉴定中心员工, 这是用户名的扩充表 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-04-12
+ * @describe 鉴定中心员工, 这是用户名的扩充表 Mapper 类
+ */
+@Mapper
+public interface StaffMapper extends BaseMapper {
+ IPage getStaffVOPage(@Param("page") IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+ List getStaffVOList(@Param(Constants.WRAPPER) QueryWrapper qw);
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/StaffRDepartmentMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/StaffRDepartmentMapper.java
new file mode 100644
index 0000000..2f1cfc5
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/StaffRDepartmentMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.StaffRDepartment;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 员工与业务室的关系 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-07-15
+ * @describe 员工与业务室的关系 Mapper 类
+ */
+@Mapper
+public interface StaffRDepartmentMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/StaffTrainingPlanMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/StaffTrainingPlanMapper.java
new file mode 100644
index 0000000..711d68b
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/StaffTrainingPlanMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.StaffTrainingPlan;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 员工培训计划 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-04-12
+ * @describe 员工培训计划 Mapper 类
+ */
+@Mapper
+public interface StaffTrainingPlanMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/StaffTrainingRecordMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/StaffTrainingRecordMapper.java
new file mode 100644
index 0000000..ad6a9d1
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/StaffTrainingRecordMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.StaffTrainingRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 员工培训记录 Mapper 接口
+ *
+ * @author Zhang Xiaolong created at 2022-07-15
+ * @describe 员工培训记录 Mapper 类
+ */
+@Mapper
+public interface StaffTrainingRecordMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysFileMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysFileMapper.java
new file mode 100644
index 0000000..2c0e05e
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysFileMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.SysFile;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 文件管理
+ *
+ * @author Luckly
+ * @date 2019-06-18 17:18:42
+ */
+@Mapper
+public interface SysFileMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysLogMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysLogMapper.java
new file mode 100644
index 0000000..8e415fe
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysLogMapper.java
@@ -0,0 +1,18 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.SysLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ * 日志表 Mapper 接口
+ *
+ *
+ * @author lengleng
+ * @since 2019/2/1
+ */
+@Mapper
+public interface SysLogMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysMenuMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysMenuMapper.java
new file mode 100644
index 0000000..a578329
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysMenuMapper.java
@@ -0,0 +1,29 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.SysMenu;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ *
+ * 菜单权限表 Mapper 接口
+ *
+ *
+ * @author lengleng
+ * @since 2019/2/1
+ */
+@Mapper
+public interface SysMenuMapper extends BaseMapper {
+
+ /**
+ * 通过岗位编号查询菜单
+ * @param roleIds 岗位ID
+ * @return
+ */
+ Set listMenusByRoleId(List roleIds);
+
+ Set listMenusByUserId(String userId);
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysOauthClientDetailsMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysOauthClientDetailsMapper.java
new file mode 100644
index 0000000..ee68cb1
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysOauthClientDetailsMapper.java
@@ -0,0 +1,18 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.SysOauthClientDetails;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author lengleng
+ * @since 2019/2/1
+ */
+@Mapper
+public interface SysOauthClientDetailsMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysOrgMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysOrgMapper.java
new file mode 100644
index 0000000..55dccb5
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysOrgMapper.java
@@ -0,0 +1,24 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import digital.laboratory.platform.sys.entity.SysOrg;
+import digital.laboratory.platform.sys.vo.OrgVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ *
+ * 机构管理 Mapper 接口
+ *
+ *
+ * @author lengleng
+ * @since 2019/2/1
+ */
+@Mapper
+public interface SysOrgMapper extends BaseMapper {
+ List listOrgVO(@Param(Constants.WRAPPER) QueryWrapper qw);
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysPermissionMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysPermissionMapper.java
new file mode 100644
index 0000000..56fbdfc
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysPermissionMapper.java
@@ -0,0 +1,26 @@
+package digital.laboratory.platform.sys.mapper;
+
+import digital.laboratory.platform.sys.entity.SysPermission;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ *
+ * 权限权限表 Mapper 接口
+ *
+ *
+ */
+@Mapper
+public interface SysPermissionMapper extends BaseMapper {
+
+ /**
+ * 通过岗位 roleIds 查询权限
+ * @param roleIds 岗位ID
+ * @return
+ */
+ Set listPermissionsByRoleId(List roleIds);
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysPublicParamMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysPublicParamMapper.java
new file mode 100644
index 0000000..6dbf18b
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysPublicParamMapper.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2018-2025, lengleng All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: lengleng (wangiegie@gmail.com)
+ */
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.PublicParam;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 公共参数配置
+ *
+ * @author Lucky
+ * @date 2019-04-29
+ */
+@Mapper
+public interface SysPublicParamMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysRoleMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysRoleMapper.java
new file mode 100644
index 0000000..6354fde
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysRoleMapper.java
@@ -0,0 +1,28 @@
+package digital.laboratory.platform.sys.mapper;
+
+import digital.laboratory.platform.sys.entity.SysUserRole;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.SysRole;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Set;
+
+@Mapper
+public interface SysRoleMapper extends BaseMapper {
+
+ /**
+ * 通过用户ID, 查询岗位信息
+ * @param userId
+ * @return
+ */
+ List listRolesByUserId(String userId);
+
+ /**
+ * 通过权限查询岗位
+ * @param permission 岗位ID
+ * @return
+ */
+ Set listUserRolesByPermission(@Param("userId")String userId, @Param("permission")String permission);
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysRoleMenuMapper.javax b/src/main/java/digital/laboratory/platform/sys/mapper/SysRoleMenuMapper.javax
new file mode 100644
index 0000000..519f1f1
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysRoleMenuMapper.javax
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sewage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sewage.entity.SysRoleMenu;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ * 岗位菜单表 Mapper 接口
+ *
+ *
+ */
+@Mapper
+public interface SysRoleMenuMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysRolePermissionMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysRolePermissionMapper.java
new file mode 100644
index 0000000..df677a0
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysRolePermissionMapper.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.sys.mapper;
+
+import digital.laboratory.platform.sys.entity.SysRolePermission;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ * 岗位权限表 Mapper 接口
+ *
+ *
+ */
+@Mapper
+public interface SysRolePermissionMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysRoleTypeMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysRoleTypeMapper.java
new file mode 100644
index 0000000..494f77b
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysRoleTypeMapper.java
@@ -0,0 +1,21 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import digital.laboratory.platform.sys.entity.SysRoleType;
+import digital.laboratory.platform.sys.vo.SysRoleTypeVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface SysRoleTypeMapper extends BaseMapper {
+
+ SysRoleTypeVO getSysRoleType(String id);
+
+ List getSysRoleTypeList(@Param(Constants.WRAPPER)QueryWrapper qw);
+
+
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysUserMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysUserMapper.java
new file mode 100644
index 0000000..3c551a0
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysUserMapper.java
@@ -0,0 +1,61 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import digital.laboratory.platform.sys.entity.SysUser;
+import digital.laboratory.platform.sys.vo.Staff;
+import digital.laboratory.platform.sys.vo.UserVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ *
+ * 用户表 Mapper 接口
+ *
+ *
+ */
+@Mapper
+public interface SysUserMapper extends BaseMapper {
+
+// SysUser getUserByUsername(String username); // xxx
+
+ /**
+ * 通过用户名查询用户信息(含有岗位信息)
+ *
+ * @param username 用户名
+ *
+ * @return userVo
+ */
+ UserVO getUserVoByUsername(String username);
+
+ /**
+ * 分页查询用户信息(含岗位)
+ *
+ * @param page 分页
+ * @param qw 查询参数
+ *
+ * @return list
+ */
+ IPage> getUserVosPage(Page page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ /**
+ * 通过ID查询用户信息
+ *
+ * @param id 用户ID
+ *
+ * @return userVo
+ */
+ UserVO getUserVoById(String id);
+
+
+ //List selectVoList(@Param("query") UserDTO userDTO);
+
+ List listAllUsersByPermission(@Param("permissions") List permissions);
+
+ List getStaffList(@Param(Constants.WRAPPER) QueryWrapper qw);
+}
diff --git a/src/main/java/digital/laboratory/platform/sys/mapper/SysUserRoleMapper.java b/src/main/java/digital/laboratory/platform/sys/mapper/SysUserRoleMapper.java
new file mode 100644
index 0000000..7fe6793
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/sys/mapper/SysUserRoleMapper.java
@@ -0,0 +1,25 @@
+package digital.laboratory.platform.sys.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import digital.laboratory.platform.sys.entity.SysUserRole;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ *