first commit

This commit is contained in:
2026-09-08 20:09:15 +08:00
commit c7e76e98ab
1647 changed files with 210480 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-api</artifactId>
<version>3.6.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-api-system</artifactId>
<description>
ruoyi-api-system系统接口模块
</description>
<dependencies>
<!-- RuoYi Common Core-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,55 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.club.Sys_club;
import com.ruoyi.system.api.factory.RemoteClubFallbackFactory;
import org.nutz.lang.util.NutMap;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* TODO
*
* @Author zhf
* @Date 2023/1/15 9:04
*/
@FeignClient(contextId = "remoteClubService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteClubFallbackFactory.class)
public interface RemoteClubService {
/**
* @param id
* @return com.ruoyi.common.core.domain.R<java.util.List < java.lang.Long>>
* @description根据协会id查询用户id id如果不传id就查全部
* @author zhf
* @date 2023/1/16 11:59
*/
@GetMapping("/club/clubUser/getClubUserIdById")
R<List<Long>> getClubUserIdById(@RequestParam(value = "id", required = false) String id);
@GetMapping("/club/clubUser/getClubUserIdByIdList")
R<List<Long>> getClubUserIdByIdList(@RequestParam(value = "ids", required = false) List<String> ids);
/**
* @return com.ruoyi.common.core.domain.R<java.util.List < org.nutz.lang.util.NutMap>>
* @description 获取当前人所管理的协会, 如果是admin查全部
* @author zhf
* @date 2023/1/16 11:59
*/
@GetMapping("/club/clubUser/getClubsByRole")
R<List<NutMap>> getClubsByRole();
@GetMapping("/club/clubUser/getClubs")
R<List<Sys_club>> getClubs();
}
@@ -0,0 +1,23 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.factory.RemoteConfigFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@FeignClient(contextId = "remoteConfigService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteConfigFallbackFactory.class)
public interface RemoteConfigService {
/**
* 根据键名查询参数配置信息
*
* @param configKey 参数key
* @return {@link R}<{@link String}>
*/
@GetMapping("/config/configKey/{configKey}")
R<String> selectConfigByKey(@PathVariable(value = "configKey") String configKey);
}
@@ -0,0 +1,33 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.SysDept;
import com.ruoyi.system.api.factory.RemoteDeptFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @author zhf
* @return
* @description TODO
* @date 2023/1/10 16:08
*/
@FeignClient(contextId = "RemoteDeptService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteDeptFallbackFactory.class)
public interface RemoteDeptService {
/**
* 获取所有单位
*
* @param id 可以传可以传’‘
* @return
*/
@GetMapping("/dept/listUnitByUnionId")
R<List<SysDept>> listUnitByUnionId(@RequestParam(required = false, value = "unionId") String id);
}
@@ -0,0 +1,44 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.SysDictData;
import com.ruoyi.system.api.factory.RemoteDictFallbackFactory;
import org.nutz.dao.entity.Record;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
* @Author JyuHsin
* @Date 2022/12/21
* @Description
*/
@FeignClient(contextId = "remoteDictService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteDictFallbackFactory.class)
public interface RemoteDictService {
/**
* 获取可以选择的代表团
*
* @param names:
* @return com.ruoyi.common.core.domain.R<java.lang.Boolean>
* @author JyuHsin
* @date 2022/12/21
*/
@RequestMapping("/dict/data/getCanChooseDbt")
R<List<Record>> getCanChooseDbt(@RequestBody List<String> names);
/**
* 根据字典类型查询字典数据信息
* @author JyuHsin
* @date 2022/12/21
* @param dictType:
* @return com.ruoyi.common.core.domain.R<java.util.List < com.ruoyi.system.api.domain.SysDictData>>
*/
@GetMapping(value = "/dict/data/type/{dictType}")
R<List<SysDictData>> dictType(@PathVariable(name = "dictType") String dictType);
}
@@ -0,0 +1,32 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.SysFile;
import com.ruoyi.system.api.factory.RemoteFileFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
/**
* 文件服务
*
* @author ruoyi
*/
@FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class)
public interface RemoteFileService {
/**
* 上传文件
*
* @param file 文件信息
* @return 结果
*/
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file);
@RequestMapping(value = "/convertToPdfByInputStream", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
public byte[] convertToPdfByInputStream(@RequestPart(value = "file") MultipartFile file);
}
@@ -0,0 +1,26 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.factory.RemoteClubFallbackFactory;
import com.ruoyi.system.api.factory.RemoteJobFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @ClassName RemoteJobService
* @Author JyuHsin
* @Date 2025/4/9 15:10
* @Version 1.0
* @Description TODO
*/
@FeignClient(contextId = "remoteJobService", value = ServiceNameConstants.JOB_SERVICE, fallbackFactory = RemoteJobFallbackFactory.class)
public interface RemoteJobService {
@PostMapping("/job/editByCron")
R<Integer> editByCron(@RequestParam(value = "cron") String cron, @RequestParam(value = "status") String status);
}
@@ -0,0 +1,40 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.SysLogininfor;
import com.ruoyi.system.api.domain.SysOperLog;
import com.ruoyi.system.api.factory.RemoteLogFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
/**
* 日志服务
*
* @author ruoyi
*/
@FeignClient(contextId = "remoteLogService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteLogFallbackFactory.class)
public interface RemoteLogService {
/**
* 保存系统日志
*
* @param sysOperLog 日志实体
* @param source 请求来源
* @return 结果
*/
@PostMapping("/operlog")
public R<Boolean> saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 保存访问记录
*
* @param sysLogininfor 访问实体
* @param source 请求来源
* @return 结果
*/
@PostMapping("/logininfor")
public R<Boolean> saveLogininfor(@RequestBody SysLogininfor sysLogininfor, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
@@ -0,0 +1,28 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.MatchConditionStructure;
import com.ruoyi.system.api.factory.RemoteMatchCndFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @Author JyuHsin
* @Date 2023/1/4
* @Description
*/
@FeignClient(contextId = "remoteMatchCndService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteMatchCndFallbackFactory.class)
public interface RemoteMatchCndService {
/**
* 新增
*
* @param conditionStructure:
* @return com.ruoyi.common.core.domain.R<com.ruoyi.system.api.domain.MatchConditionStructure>
* @author JyuHsin
* @date 2023/1/4
*/
@RequestMapping("/matchCnd/save")
R<MatchConditionStructure> save(MatchConditionStructure conditionStructure);
}
@@ -0,0 +1,117 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.factory.RemoteTodoFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@FeignClient(contextId = "remoteProcessService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteTodoFallbackFactory.class)
public interface RemoteProcessService {
/**
* 开始一个实例流程
*
* @param processName 流程实例名称 例如:xxx慰问申请
* @param processUniqueId 流程唯一id
* @param nodeName 流程当前节点名称 例如:分工会审核
* @param processInitiatorId 流程发起人id 传申请人的id
* @param pcUrl pc端查看地址
* @param mobileUrl 手机端查看地址
*/
@RequestMapping("/process/startProcess")
R<Boolean> startProcess(String processName,
String processUniqueId,
String nodeName,
String processInitiatorId,
String pcUrl,
String mobileUrl);
/**
* 改变流程节点状态名称
*
* @param processUniqueId
* @param nodeName
*/
@RequestMapping("/process/updateProcessNodeName")
void updateProcessNodeName(String processUniqueId, String nodeName);
/**
* 生成一个任务
*
* @param processUniqueId 流程实例id
* @param taskUniqueId 任务环节
* @param taskNodeName 任务环节名称
* @param createdByIds 任务创建人
* @param assignments 任务接收人 可多个 传工号
* @param formUrl 任务pc办理表单url
* @param formUrlView 任务pc办理表单url
* @param formMobileUrl 任务手机办理表单url
* @param formMobileUrlView 任务手机办理表单url
*/
@RequestMapping("/process/createTask")
void createTask(String processUniqueId,
String taskUniqueId,
String taskNodeName,
String createdByIds,
List<String> assignments,
String formUrl,
String formUrlView,
String formMobileUrl,
String formMobileUrlView
);
/**
* 完成一个任务
*
* @param taskUniqueId 任务环节 说明:如果审核字段在主表中 使用该审核字段的名称 如果审核表是单独一张表 使用审核记录的主键id
* 举例
* 提案信息表 proposal_info
* 提案附议 单独一张表 proposal_seconded
* 团长审核 没有表 只有团长审核字段
* 那么在插入提案附议信息后 比如两位附议人 取proposal_seconded记录的主键作为task_node
* 在变更为团长审核时 就用caseAuditId字段名即可 不用担心这个字段存多条记录 在这个状态下只可能有一条开启的任务
* 那么团长退回去的时候 就取proposal_info的主键id 即可
* @param processUniqueId 流程唯一id
* @param actualOwnerId 完成人id
* @param taskComment 完成意见
*/
@RequestMapping("/process/completeTask")
void completeTask(String taskUniqueId, String processUniqueId, String actualOwnerId, String taskComment);
/**
* 删除任务
*
* @param processInstanceId 流程实例id
* @param taskId
*/
@RequestMapping("/process/deleteTask")
void deleteTask(String processInstanceId, String taskId);
/**
* 完成流程
*
* @param processUniqueId
*/
@RequestMapping("/process/completeProcess")
void completeProcess(String processUniqueId);
/**
* 删除流程
*
* @param processUniqueId
*/
@RequestMapping("/process/deleteProcessInstance")
void deleteProcessInstance(String processUniqueId);
/**
* 撤销重审
*
* @param processUniqueId
* @param restoreTaskId
*/
@RequestMapping("/process/revoke")
void revoke(String processUniqueId, String restoreTaskId);
}
@@ -0,0 +1,162 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.Sys_local_process_instance;
import com.ruoyi.system.api.domain.Sys_local_process_instance_task;
import com.ruoyi.system.api.factory.RemoteSysLocalProcessFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @version 1.0
* @Author zzr
* @nameRemoteSysLocalProcessService
* @Date 2025/6/26 11:40
* @注释
*/
@FeignClient(contextId = "remoteSysLocalProcessService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteSysLocalProcessFallbackFactory.class)
public interface RemoteSysLocalProcessService {
/**
* 初始化流程并且创建
*
* @param processUniqueId 流程实例id
* @param processBizId 业务id
* @param processName 流程名称
* @param pcUrl pc端查看地址
* @param mobileUrl 手机端查看地址
* @return 创建成功的流程实例id
*/
@RequestMapping("/process/initCreateInstance")
R<String> initCreateInstance(@RequestParam("processUniqueId") String processUniqueId,
@RequestParam("processBizId") String processBizId,
@RequestParam("processName") String processName,
@RequestParam("pcUrl") String pcUrl,
@RequestParam(value = "mobileUrl", required = false) String mobileUrl,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 改变流程节点状态名称
*
* @param processUniqueId 流程唯一id
* @param nodeName 节点名称
* @return
*/
@RequestMapping("/process/updateProcessNodeName")
R updateProcessNodeName(@RequestParam("processUniqueId") String processUniqueId,
@RequestParam("nodeName") String nodeName,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 完成流程
*
* @param processUniqueId 流程唯一id
* @return
*/
@RequestMapping("/process/completeProcess")
R completeProcess(@RequestParam("processUniqueId") String processUniqueId,
@RequestParam("isRefuse") Boolean isRefuse,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 删除流程实例
*
* @param processUniqueId 流程唯一id
* @return
*/
@RequestMapping("/process/deleteProcessInstance")
R deleteProcessInstance(@RequestParam("processUniqueId") String processUniqueId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 初始化任务并创建
*
* @param processUniqueId 流程实例id
* @param taskNodeKey 填业务的state
* @param taskNodeName 节点名称
* @param loginNameList 审核人工号集合
* @param formUrl 节点表单pcUrl
* @param formMobileUrl 节点表单mobileUrl
* @return 创建成功的任务id
*/
@RequestMapping("/process/initCreateTask")
R<String> initCreateTask(@RequestParam("processUniqueId") String processUniqueId,
@RequestParam("taskNodeKey") String taskNodeKey,
@RequestParam("taskNodeName") String taskNodeName,
@RequestParam("loginNameList") List<String> loginNameList,
@RequestParam(value = "formUrl") String formUrl,
@RequestParam(value = "formMobileUrl", required = false) String formMobileUrl,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 完成任务
*
* @param processUniqueId 流程唯一id
* @param taskNodKey 填业务state
* @param taskNodeName 节点状态
* @return
*/
@RequestMapping("/process/completeTask")
R completeTask(@RequestParam("processUniqueId") String processUniqueId,
@RequestParam("taskNodKey") String taskNodKey,
@RequestParam("taskNodeName") String taskNodeName,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 退回后重新提交任务
* @param processUniqueId
* @param source
* @return
*/
@RequestMapping("/process/completeReturnTask")
R completeReturnTask(@RequestParam("processUniqueId") String processUniqueId,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 撤销任务
*
* @param processUniqueId 流程唯一id
* @param taskNodKey 填业务stateId
* @return
*/
@RequestMapping("/process/revokeTask")
R revokeTask(@RequestParam("processUniqueId") String processUniqueId,
@RequestParam("taskNodKey") String taskNodKey,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 删除任务
*
* @param processUniqueId 流程唯一id
* @param taskNodKey 填业务的stateId
*/
@RequestMapping("/process/deleteTask")
R deleteTask(@RequestParam("processUniqueId") String processUniqueId,
@RequestParam("taskNodKey") String taskNodKey,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 获取部门管理员
*
* @param unionId 工会Id,非必填,为null按照roleId查询
* @param roleId 角色Id,必传
* @return
*/
@RequestMapping("/process/getAssignments")
R<List<String>> getAssignments(@RequestParam(value = "unionId", required = false) String unionId,
@RequestParam(value = "unionGroupId", required = false) String unionGroupId,
@RequestParam("roleId") Long roleId,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
@RequestMapping("/process/getAssignmentsByColumn")
R<List<String>> getAssignmentsByColumn(@RequestParam(value = "column", required = false) String column,
@RequestParam(value = "columnValue", required = false) String columnValue,
@RequestParam("roleId") Long roleId,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
@@ -0,0 +1,69 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.SysUnion;
import com.ruoyi.system.api.factory.RemoteUnionFallbackFactory;
import org.nutz.lang.util.NutMap;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @ClassName RemoteUnionService
* @Description 分工会接口
* @Author zhaoxinyu
* @Date 2022/12/14 17:03
* @Version 1.0
*/
@FeignClient(contextId = "remoteUnionService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUnionFallbackFactory.class)
public interface RemoteUnionService {
/**
* 获取分工会信息
*
* @return
*/
@GetMapping("/union/basicInfoAndAdminInfo/{id}")
R<NutMap> basicInfoAndAdminInfo(@PathVariable("id") String id);
/**
* 获取所有分工会
*
* @return com.ruoyi.common.core.domain.R<java.util.List < com.ruoyi.system.api.domain.SysUnion>>
* @author JyuHsin
* @date 2022/12/22
*/
@GetMapping("/union/listAll")
R<List<SysUnion>> listAll();
/**
* 获取所有分工会
*
* @param id 可以传可以传’‘
* @return
*/
@GetMapping("/union/getUnionList")
R<List<SysUnion>> getUnionList(@RequestParam(required = false, value = "id") String id);
/**
* 获取所有分工会
*
* @return
*/
@GetMapping("/union/getActivityUnions")
R<List<SysUnion>> getActivityUnions();
/**
* 获取当前登录用户管理的工会
*
* @return com.ruoyi.common.core.domain.R<java.util.List < com.ruoyi.system.api.domain.SysUnion>>
* @author JyuHsin
* @date 2022/12/29
*/
@GetMapping("/union/getCurrentUserManageUnion")
R<List<SysUnion>> getCurrentUserManageUnion();
}
@@ -0,0 +1,19 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.factory.RemoteUpdateUserFallbackFactory;
import com.ruoyi.system.api.factory.RemoteUserFallbackFactory;
import com.ruoyi.system.api.model.LoginUser;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestHeader;
@FeignClient(contextId = "remoteUpdateUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUpdateUserFallbackFactory.class)
public interface RemoteUpdateUserService {
@PostMapping("/data/userUpdate/autoUpdate")
R autoUpdate(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
@@ -0,0 +1,81 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.SysUserRole;
import com.ruoyi.system.api.factory.RemoteUserRoleFallbackFactory;
import com.ruoyi.system.api.model.FeignCnd;
import org.nutz.dao.entity.Record;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
/**
* @Author JyuHsin
* @Date 2022/12/20
* @Description
*/
@FeignClient(contextId = "remoteUserRoleService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserRoleFallbackFactory.class)
public interface RemoteUserRoleService {
/**
* 新增用户角色关联
*
* @param sysUserRole:
* @return com.ruoyi.common.core.domain.R<org.nutz.lang.util.NutMap>
* @author JyuHsin
* @date 2022/12/20
*/
@RequestMapping("/role/addUserRole")
R<Boolean> addUserRole(@RequestBody SysUserRole sysUserRole);
/**
* 新增用户角色关联
*
* @param sysUserRole
* @return
*/
@RequestMapping("/role/addUserRoles")
R<Boolean> addUserRoles(@RequestBody List<SysUserRole> sysUserRole);
/**
* 删除角色
*
* @param cnd:
* @return com.ruoyi.common.core.domain.R<java.lang.Boolean>
* @author JyuHsin
* @date 2022/12/21
*/
@RequestMapping("/role/delUserRole")
R<Boolean> delUserRole(@RequestBody List<FeignCnd> cnd);
/**
* 查询角色
*
* @param cnd:
* @return com.ruoyi.common.core.domain.R<java.lang.Boolean>
* @author JyuHsin
* @date 2022/12/22
*/
@RequestMapping("/role/getUserRole")
R<List<SysUserRole>> getUserRole(@RequestBody List<FeignCnd> cnd);
/**
* 查询所有角色
*
* @return com.ruoyi.common.core.domain.R<java.util.List < com.ruoyi.system.api.domain.SysRole>>
* @author JyuHsin
* @date 2022/12/22
*/
@RequestMapping("/role/getAllRole")
R<List<Record>> getAllRole();
@RequestMapping("/role/todayBirthdayUser")
R<List<Record>> todayBirthdayUser();
}
@@ -0,0 +1,61 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.SmsDTO;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.factory.RemoteUserFallbackFactory;
import com.ruoyi.system.api.model.LoginUser;
import org.nutz.dao.entity.Record;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 用户服务
*
* @author ruoyi
*/
@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
public interface RemoteUserService {
/**
* 通过用户名查询用户信息
*
* @param username 用户名
* @param source 请求来源
* @return 结果
*/
@GetMapping("/user/info/{username}")
public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 注册用户信息
*
* @param sysUser 用户信息
* @param source 请求来源
* @return 结果
*/
@PostMapping("/user/register")
public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 注册用户信息
*
* @param sysUser 用户信息
* @param source 请求来源
* @return 结果
*/
@PostMapping("/user/registerUserReturnUser")
public R<SysUser> registerUserReturnUser(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
@PostMapping("/data/userUpdate/autoUpdate")
R autoUpdate(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/*@RequestMapping("/user/todayBirthdayUser")
R<List<Record>> todayBirthdayUser();*/
@PostMapping("/sysSms/sendSms")
R sendSms(@RequestBody SmsDTO smsDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
@@ -0,0 +1,48 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.enums.ConditionalOperational;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
/**
* 匹配条件
*
* @author: 1V
* @date: 2021/3/1
* @since 1.0
*/
@Data
@Accessors(chain = true)
@Table("match_condition")
public class MatchCondition {
@Name
@Column
@Comment("ID")
@PrevInsert(uu32 = true)
@ColDefine(type = ColType.VARCHAR, width = 32)
private String id;
@Column
@Comment("结构id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String structureId;
@Column
@Comment("字段")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String field;
@Column
@Comment("操作")
@ColDefine(type = ColType.VARCHAR, width = 50)
private ConditionalOperational operational;
@Column
@Comment("")
@ColDefine(type = ColType.VARCHAR, width = 255)
private String value;
}
@@ -0,0 +1,56 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.enums.MatchMethod;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.Cnd;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import org.nutz.dao.util.cri.Exps;
import org.nutz.dao.util.cri.SqlExpression;
import java.io.Serializable;
import java.util.List;
/**
* 条件构造
*
* @author: 1V
* @date: 2021/3/1
* @since 1.0
*/
@Data
@Accessors(chain = true)
@Table("match_condition_structure")
public class MatchConditionStructure implements Serializable {
@Name
@Column
@Comment("ID")
@PrevInsert(uu32 = true)
@ColDefine(type = ColType.VARCHAR, width = 32)
private String id;
@Column
@Comment("匹配方法")
@ColDefine(type = ColType.VARCHAR, width = 10)
private MatchMethod method;
@Many(field = "structureId")
private List<MatchCondition> conditions;
public void join(Cnd cnd) {
if (conditions == null) {
return;
}
for (MatchCondition condition : conditions) {
SqlExpression sqlExpression = Exps.create(condition.getField(), condition.getOperational().getValue(), condition.getValue());
if (method.equals(MatchMethod.AND)) {
cnd.and(sqlExpression);
} else if (method.equals(MatchMethod.OR)) {
cnd.or(sqlExpression);
}
}
}
}
@@ -0,0 +1,16 @@
package com.ruoyi.system.api.domain;
import lombok.Data;
import java.util.List;
@Data
public class SmsDTO {
List<String> loginNames;
List<String> mobiles;
String sms_info;
}
@@ -0,0 +1,59 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
@Table("sys_app_menu")
@Comment("h5菜单")
public class SysAppMenu extends BaseEntity {
@Name
@ColDefine
@Column
@PrevInsert(uu32 = true)
@Comment("id")
private String menuId;
@ColDefine(type = ColType.VARCHAR, width = 32)
@Comment("所属模块")
@Column
private String moduleId;
@ColDefine(type = ColType.VARCHAR, width = 10)
@Comment("菜单名")
@Column
private String menuName;
@ColDefine(type = ColType.VARCHAR, width = 500)
@Comment("菜单图标")
@Column
private String menuIcon;
@ColDefine(type = ColType.VARCHAR, width = 125)
@Comment("菜单路由路径")
@Column
private String url;
@ColDefine(type = ColType.INT)
@Comment("显示顺序")
@Column
private Integer orderNum;
@ColDefine(type = ColType.MYSQL_JSON)
@Comment("菜单可见角色")
@Column
private List<String> menuRoles;
@ColDefine(type = ColType.BOOLEAN)
@Comment("是否启用")
@Column
private Boolean enable;
}
@@ -0,0 +1,44 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
@Table("sys_app_module")
@Comment("h5模块")
public class SysAppModule extends BaseEntity {
@Name
@ColDefine
@Column
@PrevInsert(uu32 = true)
@Comment("id")
private String moduleId;
@ColDefine(type = ColType.VARCHAR, width = 32)
@Comment("模块名")
@Column
private String moduleName;
@ColDefine(type = ColType.INT)
@Comment("显示顺序")
@Column
private Integer orderNum;
@ColDefine(type = ColType.BOOLEAN)
@Comment("是否启用")
@Column
private Boolean enable;
/**
* 子菜单
*/
@Many(target = SysAppMenu.class, field = "moduleId")
private List<SysAppMenu> menuList;
}
@@ -0,0 +1,132 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excel.ColumnType;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.nutz.dao.entity.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* 参数配置表 sys_config
*
* @author ruoyi
*/
@Table("sys_config")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@Comment("参数配置表")
public class SysConfig extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 参数主键
*/
@Excel(name = "参数主键", cellType = ColumnType.NUMERIC)
@Id
@ColDefine(customType = "bigint")
@Column(hump = true)
private Long configId;
/**
* 参数名称
*/
@Excel(name = "参数名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
@Column(hump = true)
private String configName;
/**
* 参数键名
*/
@Excel(name = "参数键名")
@ColDefine(type = ColType.VARCHAR, width = 100)
@Column(hump = true)
private String configKey;
/**
* 参数键值
*/
@Excel(name = "参数键值")
@ColDefine(type = ColType.VARCHAR, width = 500)
@Column(hump = true)
private String configValue;
/**
* 系统内置(Y是 N否)
*/
@Excel(name = "系统内置", readConverterExp = "Y=是,N=否")
@ColDefine(type = ColType.CHAR)
@Column(hump = true)
private String configType;
public Long getConfigId() {
return configId;
}
public void setConfigId(Long configId) {
this.configId = configId;
}
@NotBlank(message = "参数名称不能为空")
@Size(min = 0, max = 100, message = "参数名称不能超过100个字符")
public String getConfigName() {
return configName;
}
public void setConfigName(String configName) {
this.configName = configName;
}
@NotBlank(message = "参数键名长度不能为空")
@Size(min = 0, max = 100, message = "参数键名长度不能超过100个字符")
public String getConfigKey() {
return configKey;
}
public SysConfig setConfigKey(String configKey) {
this.configKey = configKey;
return this;
}
@NotBlank(message = "参数键值不能为空")
@Size(min = 0, max = 500, message = "参数键值长度不能超过500个字符")
public String getConfigValue() {
return configValue;
}
public void setConfigValue(String configValue) {
this.configValue = configValue;
}
public String getConfigType() {
return configType;
}
public void setConfigType(String configType) {
this.configType = configType;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("configId", getConfigId())
.append("configName", getConfigName())
.append("configKey", getConfigKey())
.append("configValue", getConfigValue())
.append("configType", getConfigType())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}
@@ -0,0 +1,140 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* 部门表 sys_dept
*
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Table("sys_dept")
@Data
@Comment("部门表")
public class SysDept extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 部门ID
*/
@Id
@Column(hump = true)
private Long deptId;
/**
* 父部门ID
*/
@Column(hump = true)
@ColDefine(customType = "bigint")
private Long parentId;
/**
* 祖级列表
*/
@Column(hump = true)
private String ancestors;
/**
* 部门名称
*/
@Column(hump = true)
private String deptName;
/**
* 显示顺序
*/
@Column(hump = true)
@ColDefine(customType = "int")
private Integer orderNum;
/**
* 部门编码
*/
@Column(hump = true)
private String deptCode;
/**
* 负责人
*/
@Column(hump = true)
private String leader;
/**
* 联系电话
*/
@Column(hump = true)
private String phone;
/**
* 邮箱
*/
@Column(hump = true)
private String email;
/**
* 部门状态:0正常,1停用
*/
@Column(hump = true)
private String status;
/**
* 删除标志(0代表存在 2代表删除)
*/
@Column(hump = true)
private String delFlag;
@Column(hump = true)
private String createBy;
// @Column(hump = true)
// private String createTime;
/**
* 工会小组ID
*/
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 32)
private String unionGroupId;
/**
* 工会ID
*/
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 32)
private String unionId;
@One(field = "unionId")
private SysUnion union;
@One(field = "unionGroupId")
private SysUnionGroup unionGroup;
/**
* 单位等级
*/
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 32)
private Integer unitLevel;
@Column
@ColDefine(type = ColType.VARCHAR, width = 32)
@Comment("福利单位id")
private String welfareUnitId;
/**
* 父部门名称
*/
private String parentName;
/**
* 子部门
*/
private List<SysDept> children = new ArrayList<SysDept>();
}
@@ -0,0 +1,184 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excel.ColumnType;
import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.nutz.dao.entity.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* 字典数据表 sys_dict_data
*
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Table("sys_dict_data")
@Data
@Comment("字典数据表")
public class SysDictData extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 字典编码 */
@Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
@Id
@ColDefine(customType = "bigint")
private Long dictCode;
/** 字典排序 */
@Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
@Column(hump = true)
@ColDefine(type = ColType.INT)
private Long dictSort;
/** 字典标签 */
@Excel(name = "字典标签")
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 100)
private String dictLabel;
/** 字典键值 */
@Excel(name = "字典键值")
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 100)
private String dictValue;
/** 字典类型 */
@Excel(name = "字典类型")
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 100)
private String dictType;
/** 样式属性(其他样式扩展) */
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 100)
private String cssClass;
/** 表格字典样式 */
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 100)
private String listClass;
/** 是否默认(Y是 N否) */
@Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
@Column(hump = true)
@ColDefine(type = ColType.CHAR)
private String isDefault;
/**
* 状态(0正常 1停用)
*/
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
@Column(hump = true)
@ColDefine(type = ColType.CHAR)
private String status;
public Long getDictCode() {
return dictCode;
}
public void setDictCode(Long dictCode) {
this.dictCode = dictCode;
}
public Long getDictSort() {
return dictSort;
}
public void setDictSort(Long dictSort) {
this.dictSort = dictSort;
}
@NotBlank(message = "字典标签不能为空")
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
public String getDictLabel() {
return dictLabel;
}
public void setDictLabel(String dictLabel) {
this.dictLabel = dictLabel;
}
@NotBlank(message = "字典键值不能为空")
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
public String getDictValue() {
return dictValue;
}
public void setDictValue(String dictValue) {
this.dictValue = dictValue;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
public String getDictType() {
return dictType;
}
public void setDictType(String dictType) {
this.dictType = dictType;
}
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
public String getCssClass() {
return cssClass;
}
public void setCssClass(String cssClass) {
this.cssClass = cssClass;
}
public String getListClass() {
return listClass;
}
public void setListClass(String listClass) {
this.listClass = listClass;
}
public boolean getDefault() {
return UserConstants.YES.equals(this.isDefault);
}
public String getIsDefault() {
return isDefault;
}
public void setIsDefault(String isDefault) {
this.isDefault = isDefault;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("dictCode", getDictCode())
.append("dictSort", getDictSort())
.append("dictLabel", getDictLabel())
.append("dictValue", getDictValue())
.append("dictType", getDictType())
.append("cssClass", getCssClass())
.append("listClass", getListClass())
.append("isDefault", getIsDefault())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}
@@ -0,0 +1,53 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excel.ColumnType;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
/**
* 字典类型表 sys_dict_type
*
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Table("sys_dict_type")
@Data
@Comment("字典类型表")
public class SysDictType extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 字典主键
*/
@Excel(name = "字典主键", cellType = ColumnType.NUMERIC)
@Id
@ColDefine(customType = "bigint")
private Long dictId;
/**
* 字典名称
*/
@Excel(name = "字典名称")
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 100)
private String dictName;
/**
* 字典类型
*/
@Excel(name = "字典类型")
@Column(hump = true)
@ColDefine(type = ColType.VARCHAR, width = 100)
private String dictType;
/**
* 状态(0正常 1停用)
*/
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
@Column(hump = true)
@ColDefine(type = ColType.CHAR)
private String status;
}
@@ -0,0 +1,53 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.List;
/**
* @author jug
* @date 2023/09/13
*/
@EqualsAndHashCode(callSuper = true)
@Table
@Data
@Accessors(chain = true)
@Comment("应用模块")
public class SysEntranceModule extends BaseEntity {
@Name
@Comment("ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("模块名称")
@ColDefine(type = ColType.VARCHAR, width = 8)
private String moduleName;
@Column
@Comment("图标")
@ColDefine(type = ColType.VARCHAR)
private String icon;
@Column
@Comment("图标")
@ColDefine(type = ColType.VARCHAR)
private String svgIcon;
@Column
@Comment("包含的菜单")
@ColDefine(type = ColType.MYSQL_JSON)
private List<Integer> containsMenu;
@Column
@Comment("排序编号")
@ColDefine(type = ColType.INT)
private int sortNum;
}
@@ -0,0 +1,45 @@
package com.ruoyi.system.api.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 文件信息
*
* @author ruoyi
*/
public class SysFile {
/**
* 文件名称
*/
private String name;
/**
* 文件地址
*/
private String url;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("name", getName())
.append("url", getUrl())
.toString();
}
}
@@ -0,0 +1,94 @@
package com.ruoyi.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excel.ColumnType;
import com.ruoyi.common.core.web.domain.BaseEntity;
import java.util.Date;
/**
* 系统访问记录表 sys_logininfor
*
* @author ruoyi
*/
public class SysLogininfor extends BaseEntity {
private static final long serialVersionUID = 1L;
/** ID */
@Excel(name = "序号", cellType = ColumnType.NUMERIC)
private Long infoId;
/** 用户账号 */
@Excel(name = "用户账号")
private String userName;
/** 状态 0成功 1失败 */
@Excel(name = "状态", readConverterExp = "0=成功,1=失败")
private String status;
/** 地址 */
@Excel(name = "地址")
private String ipaddr;
/**
* 描述
*/
@Excel(name = "描述")
private String msg;
/**
* 访问时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date accessTime;
public Long getInfoId() {
return infoId;
}
public void setInfoId(Long infoId) {
this.infoId = infoId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getIpaddr() {
return ipaddr;
}
public void setIpaddr(String ipaddr) {
this.ipaddr = ipaddr;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Date getAccessTime() {
return accessTime;
}
public void setAccessTime(Date accessTime) {
this.accessTime = accessTime;
}
}
@@ -0,0 +1,289 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.nutz.dao.entity.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.ArrayList;
import java.util.List;
/**
* 菜单权限表 sys_menu
*
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Table("sys_menu")
@Comment("菜单权限表")
public class SysMenu extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 菜单ID */
@Id
@ColDefine(customType = "bigint")
@Column(hump = true)
private Long menuId;
/** 菜单名称 */
@ColDefine(type = ColType.VARCHAR, width = 20)
@Column(hump = true)
private String menuName;
/** 父菜单名称 */
private String parentName;
/**
* 父菜单ID
*/
@ColDefine(customType = "bigint")
@Column(hump = true)
private Long parentId;
/**
* 显示顺序
*/
@ColDefine(type = ColType.INT)
@Column(hump = true)
private Integer orderNum;
/**
* 路由地址
*/
@ColDefine(type = ColType.VARCHAR, width = 200)
@Column(hump = true)
private String path;
/**
* 组件路径
*/
@ColDefine(type = ColType.VARCHAR, width = 255)
@Column(hump = true)
private String component;
/**
* 路由参数
*/
@ColDefine(type = ColType.VARCHAR, width = 255)
@Column(hump = true)
private String query;
/**
* 是否为外链(0是 1否)
*/
@ColDefine(type = ColType.INT)
@Column(hump = true)
private String isFrame;
/**
* 是否缓存(0缓存 1不缓存)
*/
@ColDefine(type = ColType.INT)
@Column(hump = true)
private String isCache;
/**
* 类型(M目录 C菜单 F按钮)
*/
@ColDefine(type = ColType.CHAR, width = 1)
@Column(hump = true)
private String menuType;
/**
* 显示状态(0显示 1隐藏)
*/
@ColDefine(type = ColType.CHAR, width = 1)
@Column(hump = true)
private String visible;
/**
* 菜单状态(0正常 1停用)
*/
@ColDefine(type = ColType.CHAR, width = 1)
@Column(hump = true)
private String status;
/**
* 权限字符串
*/
@ColDefine(type = ColType.VARCHAR, width = 100)
@Column(hump = true)
private String perms;
/**
* 菜单图标
*/
@ColDefine(type = ColType.VARCHAR, width = 100)
@Column(hump = true)
private String icon;
/**
* 子菜单
*/
private List<SysMenu> children = new ArrayList<SysMenu>();
public Long getMenuId() {
return menuId;
}
public void setMenuId(Long menuId) {
this.menuId = menuId;
}
@NotBlank(message = "菜单名称不能为空")
@Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符")
public String getMenuName() {
return menuName;
}
public void setMenuName(String menuName) {
this.menuName = menuName;
}
public String getParentName() {
return parentName;
}
public void setParentName(String parentName) {
this.parentName = parentName;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
@NotNull(message = "显示顺序不能为空")
public Integer getOrderNum() {
return orderNum;
}
public void setOrderNum(Integer orderNum) {
this.orderNum = orderNum;
}
@Size(min = 0, max = 200, message = "路由地址不能超过200个字符")
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
@Size(min = 0, max = 200, message = "组件路径不能超过255个字符")
public String getComponent() {
return component;
}
public void setComponent(String component) {
this.component = component;
}
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
public String getIsFrame() {
return isFrame;
}
public void setIsFrame(String isFrame) {
this.isFrame = isFrame;
}
public String getIsCache() {
return isCache;
}
public void setIsCache(String isCache) {
this.isCache = isCache;
}
@NotBlank(message = "菜单类型不能为空")
public String getMenuType() {
return menuType;
}
public void setMenuType(String menuType) {
this.menuType = menuType;
}
public String getVisible() {
return visible;
}
public void setVisible(String visible) {
this.visible = visible;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符")
public String getPerms() {
return perms;
}
public void setPerms(String perms) {
this.perms = perms;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public List<SysMenu> getChildren() {
return children;
}
public void setChildren(List<SysMenu> children) {
this.children = children;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("menuId", getMenuId())
.append("menuName", getMenuName())
.append("parentId", getParentId())
.append("orderNum", getOrderNum())
.append("path", getPath())
.append("component", getComponent())
.append("isFrame", getIsFrame())
.append("IsCache", getIsCache())
.append("menuType", getMenuType())
.append("visible", getVisible())
.append("status ", getStatus())
.append("perms", getPerms())
.append("icon", getIcon())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}
@@ -0,0 +1,213 @@
package com.ruoyi.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excel.ColumnType;
import com.ruoyi.common.core.web.domain.BaseEntity;
import java.util.Date;
/**
* 操作日志记录表 oper_log
*
* @author ruoyi
*/
public class SysOperLog extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 日志主键 */
@Excel(name = "操作序号", cellType = ColumnType.NUMERIC)
private Long operId;
/** 操作模块 */
@Excel(name = "操作模块")
private String title;
/** 业务类型(0其它 1新增 2修改 3删除) */
@Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据")
private Integer businessType;
/** 业务类型数组 */
private Integer[] businessTypes;
/** 请求方法 */
@Excel(name = "请求方法")
private String method;
/** 请求方式 */
@Excel(name = "请求方式")
private String requestMethod;
/** 操作类别(0其它 1后台用户 2手机端用户) */
@Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
private Integer operatorType;
/** 操作人员 */
@Excel(name = "操作人员")
private String operName;
/** 部门名称 */
@Excel(name = "部门名称")
private String deptName;
/** 请求url */
@Excel(name = "请求地址")
private String operUrl;
/** 操作地址 */
@Excel(name = "操作地址")
private String operIp;
/** 请求参数 */
@Excel(name = "请求参数")
private String operParam;
/** 返回参数 */
@Excel(name = "返回参数")
private String jsonResult;
/** 操作状态(0正常 1异常) */
@Excel(name = "状态", readConverterExp = "0=正常,1=异常")
private Integer status;
/**
* 错误消息
*/
@Excel(name = "错误消息")
private String errorMsg;
/**
* 操作时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date operTime;
public Long getOperId() {
return operId;
}
public void setOperId(Long operId) {
this.operId = operId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Integer getBusinessType() {
return businessType;
}
public void setBusinessType(Integer businessType) {
this.businessType = businessType;
}
public Integer[] getBusinessTypes() {
return businessTypes;
}
public void setBusinessTypes(Integer[] businessTypes) {
this.businessTypes = businessTypes;
}
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public String getRequestMethod() {
return requestMethod;
}
public void setRequestMethod(String requestMethod) {
this.requestMethod = requestMethod;
}
public Integer getOperatorType() {
return operatorType;
}
public void setOperatorType(Integer operatorType) {
this.operatorType = operatorType;
}
public String getOperName() {
return operName;
}
public void setOperName(String operName) {
this.operName = operName;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public String getOperUrl() {
return operUrl;
}
public void setOperUrl(String operUrl) {
this.operUrl = operUrl;
}
public String getOperIp() {
return operIp;
}
public void setOperIp(String operIp) {
this.operIp = operIp;
}
public String getOperParam() {
return operParam;
}
public void setOperParam(String operParam) {
this.operParam = operParam;
}
public String getJsonResult() {
return jsonResult;
}
public void setJsonResult(String jsonResult) {
this.jsonResult = jsonResult;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
public Date getOperTime() {
return operTime;
}
public void setOperTime(Date operTime) {
this.operTime = operTime;
}
}
@@ -0,0 +1,228 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excel.ColumnType;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Comment;
import org.nutz.dao.entity.annotation.Id;
import org.nutz.dao.entity.annotation.Table;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Set;
/**
* 角色表 sys_role
*
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Table("sys_role")
@Data
@Comment("角色表")
public class SysRole extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 角色ID
*/
@Excel(name = "角色序号", cellType = ColumnType.NUMERIC)
@Column(hump = true)
@Id
private Long roleId;
/**
* 角色名称
*/
@Excel(name = "角色名称")
@Column(hump = true)
private String roleName;
/** 角色权限 */
@Excel(name = "角色权限")
@Column(hump = true)
private String roleKey;
/** 角色排序 */
@Excel(name = "角色排序")
@Column(hump = true)
private Integer roleSort;
/** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */
@Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限")
private String dataScope;
/** 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */
private boolean menuCheckStrictly;
/** 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */
private boolean deptCheckStrictly;
/** 角色状态(0正常 1停用) */
@Excel(name = "角色状态", readConverterExp = "0=正常,1=停用")
private String status;
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
/** 用户是否存在此角色标识 默认不存在 */
private boolean flag = false;
/**
* 菜单组
*/
private Long[] menuIds;
/**
* 部门组(数据权限)
*/
private Long[] deptIds;
/**
* 角色菜单权限
*/
private Set<String> permissions;
public SysRole() {
}
public SysRole(Long roleId) {
this.roleId = roleId;
}
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
@NotBlank(message = "角色名称不能为空")
@Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符")
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
@NotBlank(message = "权限字符不能为空")
@Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符")
public String getRoleKey() {
return roleKey;
}
public void setRoleKey(String roleKey) {
this.roleKey = roleKey;
}
@NotNull(message = "显示顺序不能为空")
public Integer getRoleSort() {
return roleSort;
}
public void setRoleSort(Integer roleSort) {
this.roleSort = roleSort;
}
public String getDataScope() {
return dataScope;
}
public void setDataScope(String dataScope) {
this.dataScope = dataScope;
}
public boolean isMenuCheckStrictly() {
return menuCheckStrictly;
}
public void setMenuCheckStrictly(boolean menuCheckStrictly) {
this.menuCheckStrictly = menuCheckStrictly;
}
public boolean isDeptCheckStrictly() {
return deptCheckStrictly;
}
public void setDeptCheckStrictly(boolean deptCheckStrictly) {
this.deptCheckStrictly = deptCheckStrictly;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
public Long[] getMenuIds() {
return menuIds;
}
public void setMenuIds(Long[] menuIds) {
this.menuIds = menuIds;
}
public Long[] getDeptIds() {
return deptIds;
}
public void setDeptIds(Long[] deptIds) {
this.deptIds = deptIds;
}
public Set<String> getPermissions() {
return permissions;
}
public void setPermissions(Set<String> permissions) {
this.permissions = permissions;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("roleId", getRoleId())
.append("roleName", getRoleName())
.append("roleKey", getRoleKey())
.append("roleSort", getRoleSort())
.append("dataScope", getDataScope())
.append("menuCheckStrictly", isMenuCheckStrictly())
.append("deptCheckStrictly", isDeptCheckStrictly())
.append("status", getStatus())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}
@@ -0,0 +1,71 @@
package com.ruoyi.system.api.domain;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
@Table("sys_special_personnel")
@Data
@Comment("特别人员")
public class SysSpecialPersonnel{
@Name
@Comment("ID")
@PrevInsert(uu32 = true)
@ColDefine(type = ColType.VARCHAR, width = 32)
private String id;
@Column
@Comment("组员对应的用户id")
@ColDefine(customType = "bigint")
private Long userId;
@Column
@Comment("人事关系部门")
@ColDefine(customType = "bigint")
private Long personnelRelationDeptId;
@Column
@Comment("人事关系部门名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String personnelRelationDeptName;
@Column
@Comment("人事关系工会名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String personnelRelationUnionName;
@Column
@Comment("人事关系三级单位")
@ColDefine(customType = "bigint")
private Long personnelRelationThreeDeptId;
@Column
@Comment("人事关系三级单位")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String personnelRelationThreeDeptName;
@Column
@Comment("人事关系工会小组名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String personnelRelationUnionGroupName;
@Column
@Comment("工会关系部门")
@ColDefine(customType = "bigint")
private Long unionRelationDeptId;
@Column
@Comment("工会关系三级单位")
@ColDefine(customType = "bigint")
private Long unionRelationThreeDeptId;
@Column
@Comment("工会关系小组名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String unionRelationUnionGroupName;
}
@@ -0,0 +1,58 @@
package com.ruoyi.system.api.domain;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.Date;
/**
* @ClassName SysUnion
* @Description TODO
* @Author zhaoxinyu
* @Date 2022/12/14 9:43
* @Version 1.0
*/
@Table("sys_union")
@Data
@Comment("分工会")
public class SysUnion {
@Column
@Name
@Comment("工会id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("工会名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String unionName;
@Column
@Comment("工会编码")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String unionCode;
@Column
@Comment("工会地址")
@ColDefine(type = ColType.VARCHAR, width = 150)
private String unionAddress;
@Column
@Comment("建会时间")
@ColDefine(type = ColType.DATE)
private Date unionTime;
@Column
@Comment("联系电话")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String telephone;
@Column
@Comment("校区")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String campus;
}
@@ -0,0 +1,43 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
/**
* 工会小组
*/
@Data
@Table("sys_union_group")
@EqualsAndHashCode(callSuper = true)
@Comment("工会小组")
public class SysUnionGroup extends BaseEntity {
@Column
@Name
@Comment("ID")
@PrevInsert(uu32 = true)
@ColDefine(type = ColType.VARCHAR, width = 32)
private String id;
@Column
@Comment("小组名称")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String groupName;
@Column
@Comment("小组编码")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String groupCode;
@Column
@Comment("所属工会")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String unionId;
@One(field = "unionId")
private SysUnion sysUnion;
}
@@ -0,0 +1,494 @@
package com.ruoyi.system.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excel.ColumnType;
import com.ruoyi.common.core.annotation.Excel.Type;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import java.util.Date;
import java.util.List;
/**
* 用户对象 sys_user
*
* 添加非数据库字段映射请到 MemberChangeHandle 里 archive方法添加locked
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Table("sys_user")
@Data
@Accessors(chain = true)
@Comment("用户")
public class SysUser extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 用户ID
*/
@Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
@Column(hump = true)
@Id
private Long userId;
/**
* 二级单位ID
*/
@Excel(name = "部门编号", type = Type.IMPORT)
@Column(hump = true)
private Long deptId;
/**
* 三级单位ID
*/
@Column
@Comment("三级单位")
private Long threeUnitId;
/**
* 用户账号
*/
@Excel(name = "登录名称")
@Column(hump = true)
private String userName;
/**
* 用户昵称
*/
@Excel(name = "用户名称")
@Column(hump = true)
private String nickName;
/**
* 用户邮箱
*/
@Excel(name = "用户邮箱")
@Column(hump = true)
private String email;
/**
* 用户性别
*/
@Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
@Column(hump = true)
@Comment("用户性别")
private String sex;
/**
* 用户头像
*/
@Column(hump = true)
private String avatar;
/**
* 密码
*/
@Column(hump = true)
private String password;
/**
* 帐号状态(0正常 1停用)
*/
@Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
@Column(hump = true)
private String status;
/**
* 删除标志(0代表存在 2代表删除)
*/
@Column(hump = true)
private String delFlag;
/**
* 最后登录IP
*/
@Excel(name = "最后登录IP", type = Type.EXPORT)
@Column(hump = true)
private String loginIp;
/**
* 最后登录时间
*/
@Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
@Column(hump = true)
private Date loginDate;
/**
* 部门对象
*/
@One(field = "deptId")
private SysDept dept;
/**
* 三级单位
*/
private SysDept threeDept;
/**
* 分工会对象
*/
private SysUnion union;
/**
* 角色对象
*/
private List<SysRole> roles;
/**
* 角色组
*/
private Long[] roleIds;
/**
* 岗位组
*/
private Long[] postIds;
/**
* 角色ID
*/
private Long roleId;
/**
* 生日
*/
@Column
@Comment("出生日期")
@ColDefine(type = ColType.DATE)
@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthday;
/**
* 人员类型
*/
@Column
@Comment("人员类型")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String personType;
/**
* 在职状态
*/
@Column
@Comment("在职状态")
@ColDefine(type = ColType.VARCHAR, width = 10)
private String userState;
/**
* 出生地点
*/
@Column
@Comment("出生地点")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String birthPlace;
/**
* 职务
*/
@Column
@Comment("职务")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String position;
@Column
@Comment("职务级别")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String positionLevel;
/**
* 职称
*/
@Column
@Comment("职称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String jobTitle;
/**
* 职称级别
*/
@Column
@Comment("职称级别")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String jobTitleLevel;
/**
* 籍贯
*/
@Column
@Comment("籍贯")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String hometown;
/**
* 民族
*/
@Column
@Comment("民族")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String nation;
/**
* 手机
*/
@Column
@Comment("手机号码")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String mobile;
/**
* 学历
*/
@Column
@Comment("学历")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String education;
/**
* 政治面貌
*/
@Column
@Comment("政治面貌")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String political;
/**
* 入校时间
*/
@Column
@Comment("入校时间")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String schoolTime;
/**
* 身份证
*/
@Column
@Comment("身份证")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String idcard;
/**
* 成员
*/
@Column
@Comment("会员状态")
@ColDefine(type = ColType.INT, width = 2)
private Integer member;
/**
* 会员加入时间
*/
@Column
@Comment("会员加入时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date memberJoinTime;
/**
* 福利会员状态
*/
@Column
@Comment("福利会员状态")
@ColDefine(type = ColType.INT, width = 2)
private Integer welfareMember;
/**
* 福利会员加入时间
*/
@Column
@Comment("福利会员加入时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date welfareMemberJoinTime;
/**
* 会员来源(1 个人申请 2 补录 3 批量设置 4 其他)
*/
@Column
@Comment("会员来源(1 个人申请 2 补录 3 批量设置 4 其他)")
@ColDefine(type = ColType.INT, width = 2)
private Integer memberOrigin;
/**
* 会员状态
*/
@Column
@Comment("会员状态")
@ColDefine(type = ColType.INT, width = 2)
private Integer memberStatus;
/**
* 兴趣爱好
*/
@Column
@Comment("兴趣爱好")
@ColDefine(type = ColType.VARCHAR, width = 255)
private String hobby;
/**
* 婚否
*/
@Column
@Comment("婚否")
@ColDefine(type = ColType.VARCHAR, width = 10)
private String marriage;
/**
* 人事编制
*/
@Column
@Comment("人事编制")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String preparedBy;
/**
* 有效证件类型
*/
@Column
@Comment("有效证件类型")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String idType;
/**
* 有效证件起始日期
*/
@Column
@Comment("有效证件起始日期")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String beginningDate;
/**
* 有效证件截止日期
*/
@Column
@Comment("有效证件截止日期")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String endDate;
/**
* 户籍类型
*/
@Column
@Comment("户籍类型")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String householdType;
/**
* 微信号
*/
@Column
@Comment("微信号")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String weChat;
/**
* 国籍
*/
@Column
@Comment("国籍")
@ColDefine(type = ColType.VARCHAR, width = 10)
private String nationality;
/**
* 学位
*/
@Column
@Comment("学位")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String academicDegree;
/**
* 个人身份
*/
@Column
@Comment("个人身份")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String personalStatus;
@Column
@Comment("个人简历")
@ColDefine(type = ColType.TEXT)
private String vita;
@Column
@Comment("校区")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String campus;
@Column
@Comment("家庭住址")
@ColDefine(type = ColType.VARCHAR, width = 255)
private String homeAddress;
@Column
@Comment("特长")
@ColDefine(type = ColType.VARCHAR, width = 255)
private String specialty;
@Column
@Comment("家庭主要成员及联系方式")
@ColDefine(type = ColType.MYSQL_JSON)
private List<Family> familyInformation;
@Column
@Comment("基金会员状态")
@ColDefine(type = ColType.INT, width = 2)
private Integer aidFundMember;
@Column
@Comment("基金会员加入时间")
@ColDefine(type = ColType.DATETIME)
private Date aidFundMemberJoinTime;
@Column
@Comment("基金会员退出时间")
@ColDefine(type = ColType.DATETIME)
private Date aidFundMemberQuitTime;
@Column
@Comment("是否多单位人员")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isManyUnit;
@Column
@Comment("多单位人员类型")
@ColDefine(type = ColType.VARCHAR,width = 4)
private String manyUnitType;
@Column
@Comment("多单位人员备注")
@ColDefine(type = ColType.VARCHAR,width = 50)
private String manyUnitRemark;
@Column
@Comment("起薪日期")
@ColDefine(type = ColType.DATE)
private Date startingSalaryDate;
@Column
@Comment("退休日期")
@ColDefine(type = ColType.DATE)
private Date retireTime;
@Column
@Comment("是否停薪")
@ColDefine(type = ColType.BOOLEAN)
private Boolean stopSalary;
@Data
public static class Family {
private String relation;
private String name;
private String unit;
private String remark;
}
/**
* 工会小组id
*/
private String unionGroupId;
/**
* 工会小组名称
*/
private String unionGroupName;
/**
* 管理的小组id集合
*/
private List<String> manageUnionGroupIds;
public boolean isAdmin() {
if (this.roles != null && this.roles.size() > 0) {
return this.roles.stream().anyMatch(v -> v.getRoleKey().equals("admin"));
} else {
return true;
}
}
public static boolean isAdmin(Long userId) {
return userId != null && 1L == userId;
}
}
@@ -0,0 +1,33 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
@EqualsAndHashCode(callSuper = true)
@Table
@Data
@Accessors(chain = true)
@Comment("用户默认应用模块")
public class SysUserEntrance extends BaseEntity {
@Name
@Comment("ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("用户id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String userId;
@Column
@Comment("默认模块id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String defaultModuleId;
}
@@ -0,0 +1,67 @@
package com.ruoyi.system.api.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Comment;
import org.nutz.dao.entity.annotation.Table;
import java.io.Serializable;
/**
* 用户和角色关联 sys_user_role
*
* @author ruoyi
*/
@Table("sys_user_role")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Comment("用户和角色关联")
public class SysUserRole implements Serializable {
/**
* 用户ID
*/
@Column(hump = true)
private Long userId;
/**
* 角色ID
*/
@Column(hump = true)
private Long roleId;
/**
* 分工会ID
*/
@Column(hump = true)
private String unionId;
@Column
private String jdhid;
@Column
private String jgid;
@Column
private String dbtid;
/**
* 工会小组ID
*/
@Column
private String unionGroupId;
/**
* 承办单位ID
*/
@Column
private String underTakeId;
@Column
private String gdhid;
@Column
private String stid;
}
@@ -0,0 +1,95 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import java.util.Date;
/**
* jug
* 流程实例表
* 一般作为发起表 比如申请一条慰问需要在此插入一条申请 用于申请人查看我的发起 同时需要在任务表插入待审核的信息
*/
@EqualsAndHashCode(callSuper = true)
@Table("sys_local_process_instance")
@Data
@Comment("流程实例")
public class Sys_local_process_instance extends BaseEntity {
@Id
@Comment("id")
@ColDefine(customType = "bigint")
private Long id;
/**
* 取主表表名+主键id 格式tableName@id 方便查找 例如proposal_info@1
*/
@Column
@ColDefine(type = ColType.VARCHAR, width = 500)
@Comment("流程唯一id")
private String processUniqueId;
@Column
@ColDefine(type = ColType.VARCHAR, width = 50)
@Comment("业务id")
private String processBizId;
@Column
@ColDefine(type = ColType.VARCHAR, width = 500)
@Comment("流程名称")
private String processName;
@Column
@ColDefine(type = ColType.VARCHAR, width = 50)
@Comment("当前节点key")
private String nodeKey;
@Column
@ColDefine(type = ColType.VARCHAR, width = 50)
@Comment("当前节点名称")
private String nodeName;
@Column
@ColDefine(type = ColType.VARCHAR, width = 32)
@Comment("流程发起人id")
private String processInitiatorId;
@Column
@ColDefine(type = ColType.VARCHAR, width = 20)
@Comment("流程发起人姓名")
private String processInitiatorName;
@Column
@ColDefine(type = ColType.VARCHAR, width = 20)
@Comment("流程发起人工号")
private String processInitiatorLoginName;
@Column
@ColDefine(type = ColType.DATETIME)
@Comment("流程发起时间")
private Date processInitiationTime;
@Column
@ColDefine(type = ColType.VARCHAR, width = 1000)
@Comment("pc端流程地址")
private String pcUrl;
@Column
@ColDefine(type = ColType.VARCHAR, width = 1000)
@Comment("手机端流程地址")
private String mobileUrl;
@Column
@Comment("流程实例当前状态 1.正常 2.完成")
@ColDefine(type = ColType.INT)
private Integer processInstanceStatus;
@Column
@ColDefine(type = ColType.BOOLEAN)
@Comment("是否删除")
private Boolean processDeleteFlag;
}
@@ -0,0 +1,129 @@
package com.ruoyi.system.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import java.util.Date;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Table("sys_local_process_instance_task")
@Data
@Comment("流程实例任务")
public class Sys_local_process_instance_task extends BaseEntity {
@Id
@Comment("id")
@ColDefine(customType = "bigint")
private Long id;
/**
* 取主表表名+主键id 格式tableName@id 方便查找 例如proposal_info@1
*/
@Column
@ColDefine(type = ColType.VARCHAR, width = 100)
@Comment("流程唯一id")
private String processInstanceId;
@Column
@ColDefine(type = ColType.VARCHAR, width = 100)
@Comment("任务环节key")
private String taskNodeKey;
@Column
@ColDefine(type = ColType.VARCHAR, width = 100)
@Comment("任务环节名称")
private String taskNodeName;
@Column
@Comment("递交人ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String createdById;
@Column
@Comment("递交人姓名")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String createdByUserName;
@Column
@Comment("递交人工号")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String createdByUserLoginName;
@Column
@Comment("递交人部门")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String createdByDept;
@Column
@Comment("任务接收人工号(可以多个)")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> assignments;
@Column
@Comment("任务创建时间")
@ColDefine(type = ColType.DATETIME)
private Date createdOn;
@Column
@Comment("办理人ID")
@ColDefine(type = ColType.VARCHAR)
private String actualOwnerId;
@Column
@Comment("办理人姓名")
@ColDefine(type = ColType.VARCHAR)
private String actualOwnerName;
@Column
@Comment("办理人部门")
@ColDefine(type = ColType.VARCHAR)
private String actualOwnerDept;
@Column
@Comment("任务的处理表单URL,用于待办任务的处理界面")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String formUrl;
@Column
@Comment("任务的浏览表单URL,用于已办任务的表单查看")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String formUrlView;
@Column
@Comment("手机端任务的处理表单URL,用于待办任务的处理界面")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String formMobileUrl;
@Column
@Comment("手机端任务的浏览表单URL,用于已办任务的表单查看")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String formMobileUrlView;
@Column
@Comment("处理意见")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String taskComment;
@Column
@Comment("任务完成时间")
@ColDefine(type = ColType.VARCHAR)
private Date endOn;
@Column
@Comment("任务状态 1.未完成 2.完成")
@ColDefine(type = ColType.INT)
private Integer status;
@Column
@Comment("待办表删除标记")
@ColDefine(type = ColType.BOOLEAN)
private Boolean taskDeleteFlag;
@Column
@Default("0")
@Comment("是否忽略")
@ColDefine(type = ColType.BOOLEAN)
private Boolean ignoreFlag;
}
@@ -0,0 +1,44 @@
package com.ruoyi.system.api.domain;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
@Data
@Table("user_part")
@Comment("用户部分更新分组")
public class UserPartUp {
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@ColDefine(type = ColType.INT)
@Comment("组别id")
private Integer groupId;
@Column
@ColDefine(type = ColType.VARCHAR, width = 100)
@Comment("组别名称")
private String groupName;
@Column
@ColDefine(type = ColType.VARCHAR, width = 32)
@Comment("userid")
private String userId;
@Column
@ColDefine(type = ColType.VARCHAR, width = 32)
@Comment("工号")
private String loginname;
@Column
@ColDefine(type = ColType.VARCHAR, width = 32)
@Comment("创建人")
private Long creator;
}
@@ -0,0 +1,124 @@
package com.ruoyi.system.api.domain.club;
import com.ruoyi.common.core.domain.SysFile;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import java.util.List;
/**
* @Author: V
* @DateTime: 2020/8/15 13:52
* @Description: 协会
*/
@Data
@Table("Sys_club")
@Accessors(chain = true)
@Comment("协会")
public class Sys_club {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@Prev(els = {@EL("uuid()")})
private String id;
@Column
@Comment("协会名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String name;
@Column
@Comment("协会编码")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String code;
@Column
@Comment("协会类型")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String type;
@Column
@Comment("负责人id")
@ColDefine(customType = "bigint")
private Long fzr;
@Column
@Comment("负责人电话")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String fzr_mobile;
@Column
@Comment("负责人邮箱")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String fzr_email;
@Column
@Comment("协会介绍")
@ColDefine(type = ColType.TEXT)
private String stjs;
@Column
@Comment("协会章程")
@ColDefine(type = ColType.TEXT)
private String stzc;
@Column
@Comment("成立时间")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String create_time;
@Column
@Comment("是否解散")
@ColDefine(type = ColType.BOOLEAN)
private boolean isjs;
@Column
@Comment("协会人数")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String number;
@Column
@Comment("介绍链接")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String introduce_href;
@Column
@Comment("会费标准")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String dues_standard;
@Column
@Comment("附件")
@ColDefine(type = ColType.MYSQL_JSON)
private List<SysFile> files;
@Many(field = "clubId")
private List<Sys_club_sponsor> sponsors;
@Column
@Comment("状态")
@ColDefine(type = ColType.VARCHAR, width = 10)
private String state;
@Column
@Comment("申请人")
@ColDefine(customType = "bigint")
private Long userid;
@Column
@Comment("校工会审核人")
@ColDefine(customType = "bigint")
private Long schoolAuditUser;
@Column
@Comment("校工会审核时间")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String schoolAuditTime;
@Column
@Comment("校工会审核意见")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String schoolAuditOpinion;
}
@@ -0,0 +1,35 @@
package com.ruoyi.system.api.domain.club;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
/**
* @Author JyuHsin
* @Date 2022/11/28
* @Description 协会发起人
*/
@Data
@Table("sys_club_sponsor")
@Accessors(chain = true)
@Comment("协会发起人")
public class Sys_club_sponsor {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@Prev(els = {@EL("uuid()")})
private String id;
@Column
@Comment("协会id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String clubId;
@Column
@Comment("发起人id")
@ColDefine(customType = "bigint")
private Long sponsorId;
}
@@ -0,0 +1,59 @@
package com.ruoyi.system.api.domain.club;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;
import org.nutz.lang.util.NutMap;
import java.util.List;
/**
* @Author: V
* @DateTime: 2020/8/15 16:39
* @Description: 协会成员
*/
@Data
@Table("Sys_club_user")
@Comment("协会成员")
public class Sys_club_user {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@Prev(els = {@EL("uuid()")})
private String id;
@Column
@Comment("协会id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String clubid;
@Column
@Comment("用户id")
@ColDefine(customType = "bigint")
private Long userid;
@Column
@Comment("入社时间")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String join_time;
@Column
@Comment("身份(1 负责人 2 成员)")
@ColDefine(type = ColType.INT, width = 4)
private Integer sf;
@Column
@Comment("是否缴费")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isjf;
@Column
@Comment("状态(1 待协会审核 2 协会审核不通过 3 待校工会审核 4 校工会审核不通过 5 通过)")
@ColDefine(type = ColType.INT, width = 4)
private Integer status;
@Column
@ColDefine(type = ColType.MYSQL_JSON)
@Comment("审核记录")
private List<NutMap> auditList;
}
@@ -0,0 +1,23 @@
package com.ruoyi.system.api.domain.data;
import com.ruoyi.system.api.domain.SysUser;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import java.util.Date;
@Data
@Table("user_source")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@Comment("用户源表")
public class UserSource extends SysUser {
@Column
@Comment("导入时间")
@ColDefine(type = ColType.DATETIME)
private Date pullTime;
}
@@ -0,0 +1,86 @@
package com.ruoyi.system.api.domain.mainPage;
import com.ruoyi.common.core.domain.SysFile;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;
import java.util.List;
/**
* @Author JyuHsin
* @Date 2023/3/6
* @Description
*/
@Data
@Table("need_items")
public class NeedItems {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@Prev(els = {@EL("uuid()")})
private String id;
@Column
@Comment("菜单id")
@ColDefine(type = ColType.INT)
private Long menuId;
@Column
@Comment("标题")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String title;
@Column
@Comment("名称")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String menuName;
@Column
@Comment("编码")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String code;
@Column
@Comment("地址")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String component;
@Column
@Comment("图标")
@ColDefine(type = ColType.MYSQL_JSON)
private List<SysFile> iconClass;
@Column
@Comment("颜色")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String color;
@Column
@Comment("创建人")
@ColDefine(type = ColType.INT)
private Long creatUser;
@Column
@Comment("创建时间")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String creatTime;
@Column
@Comment("数据库")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String queryDataBase;
@One(field = "queryDataBase")
private NeedItemsSource needItemsSource;
@Column
@Comment("查询状态")
@ColDefine(type = ColType.INT)
private Integer state;
private String path;
private Integer count;
}
@@ -0,0 +1,41 @@
package com.ruoyi.system.api.domain.mainPage;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;
/**
* @Author JyuHsin
* @Date 2023/3/6
* @Description
*/
@Data
@Table("need_items_source")
public class NeedItemsSource {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@Prev(els = {@EL("uuid()")})
private String id;
@Column
@Comment("数据库")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String queryDataBase;
@Column
@Comment("表名")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String queryTableName;
@Column
@Comment("显示名称")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String displayName;
@Column
@Comment("状态id对应的模块名称")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String moduleName;
}
@@ -0,0 +1,68 @@
package com.ruoyi.system.api.domain.mainPage;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;
/**
* @Author JyuHsin
* @Date 2023/3/5
* @Description
*/
@Data
@Table("quick_entry")
public class QuickEntry {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@Prev(els = {@EL("uuid()")})
private String id;
@Column
@Comment("菜单id")
@ColDefine(type = ColType.INT)
private Long menuId;
@Column
@Comment("名称")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String menuName;
@Column
@Comment("编码")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String code;
@Column
@Comment("地址")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String component;
// @Column
// @Comment("图标")
// @ColDefine(type = ColType.MYSQL_JSON)
// private List<SysFile> iconClass;
@Column
@Comment("图标")
@ColDefine(type = ColType.VARCHAR, width = 255)
private String img;
@Column
@Comment("颜色")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String color;
@Column
@Comment("创建人")
@ColDefine(type = ColType.INT)
private Long creatUser;
@Column
@Comment("创建时间")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String creatTime;
private String path;
}
@@ -0,0 +1,51 @@
package com.ruoyi.system.api.domain.mobileManage;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;
/**
* @Author JyuHsin
* @Date 2023/3/9
* @Description
*/
@Data
@Table("mobile_main_page_photo")
public class MainPagePhoto {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@Prev(els = {@EL("uuid()")})
private String id;
@Column
@Comment("文件名")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String fileName;
@Column
@Comment("排序编号")
@ColDefine(type = ColType.INT)
private String sortNum;
// @Column
// @Comment("文件")
// @ColDefine(type = ColType.MYSQL_JSON)
// private List<SysFile> file;
@Column
@Comment("图片地址")
@ColDefine(type = ColType.VARCHAR, width = 500)
private String img;
@Column
@Comment("上传人")
@ColDefine(customType = "bigint")
private Long createUser;
@Column
@Comment("上传时间")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String createTime;
}
@@ -0,0 +1,56 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteClubService;
import com.ruoyi.system.api.domain.club.Sys_club;
import org.nutz.lang.util.NutMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* TODO
*
* @Author zhf
* @Date 2023/1/15 9:05
*/
@Component
public class RemoteClubFallbackFactory implements FallbackFactory<RemoteClubService> {
private static final Logger log = LoggerFactory.getLogger(RemoteClubFallbackFactory.class);
@Override
public RemoteClubService create(Throwable throwable) {
log.error("服务调用失败:{}", throwable.getMessage());
return new RemoteClubService() {
@Override
public R<List<Long>> getClubUserIdById(String id) {
log.error(throwable.getMessage());
return R.fail("查询用户id信息失败:" + throwable.getMessage());
}
@Override
public R<List<Long>> getClubUserIdByIdList(List<String> ids) {
log.error(throwable.getMessage());
return R.fail("查询用户id信息失败:" + throwable.getMessage());
}
@Override
public R<List<NutMap>> getClubsByRole() {
log.error(throwable.getMessage());
return R.fail("获取当前人所管理的协会失败:" + throwable.getMessage());
}
@Override
public R<List<Sys_club>> getClubs() {
log.error(throwable.getMessage());
return R.fail("获取所有协会失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,24 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteConfigService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
@Component
public class RemoteConfigFallbackFactory implements FallbackFactory<RemoteConfigService> {
private static final Logger log = LoggerFactory.getLogger(RemoteClubFallbackFactory.class);
@Override
public RemoteConfigService create(Throwable throwable) {
log.error("服务调用失败:{}", throwable.getMessage());
return configKey -> {
log.error(throwable.getMessage());
return R.fail("根据键名查询参数配置信息失败:" + throwable.getMessage());
};
}
}
@@ -0,0 +1,38 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteDeptService;
import com.ruoyi.system.api.domain.SysDept;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* TODO
*
* @Author zhf
* @Date 2023/1/10 16:11
*/
@Component
public class RemoteDeptFallbackFactory implements FallbackFactory<RemoteDeptService> {
private static final Logger log = LoggerFactory.getLogger(RemoteDeptFallbackFactory.class);
@Override
public RemoteDeptService create(Throwable throwable) {
log.error("分工会服务调用失败:{}", throwable.getMessage());
return new RemoteDeptService() {
@Override
public R<List<SysDept>> listUnitByUnionId(String id) {
log.error(throwable.getMessage());
return R.fail("查询单位信息失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,41 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteDictService;
import com.ruoyi.system.api.domain.SysDictData;
import org.nutz.dao.entity.Record;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Author JyuHsin
* @Date 2022/12/21
* @Description
*/
@Component
public class RemoteDictFallbackFactory implements FallbackFactory<RemoteDictService> {
private static final Logger log = LoggerFactory.getLogger(RemoteDictFallbackFactory.class);
@Override
public RemoteDictService create(Throwable throwable) {
log.error("服务调用失败:{}", throwable.getMessage());
return new RemoteDictService() {
@Override
public R<List<Record>> getCanChooseDbt(List<String> names) {
log.error(throwable.getMessage());
return R.fail("获取代表团失败:" + throwable.getMessage());
}
@Override
public R<List<SysDictData>> dictType(String dictType) {
log.error(throwable.getMessage());
return R.fail("获取字典信息失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,36 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteFileService;
import com.ruoyi.system.api.domain.SysFile;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
/**
* 文件服务降级处理
*
* @author ruoyi
*/
@Component
public class RemoteFileFallbackFactory implements FallbackFactory<RemoteFileService> {
private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class);
@Override
public RemoteFileService create(Throwable throwable) {
log.error("文件服务调用失败:{}", throwable.getMessage());
return new RemoteFileService() {
@Override
public R<SysFile> upload(MultipartFile file) {
return R.fail("上传文件失败:" + throwable.getMessage());
}
@Override
public byte[] convertToPdfByInputStream(MultipartFile file) {
return new byte[0];
}
};
}
}
@@ -0,0 +1,35 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteJobService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @ClassName RemoteJobFallbackFactory
* @Author JyuHsin
* @Date 2025/4/9 15:12
* @Version 1.0
* @Description TODO
*/
@Component
public class RemoteJobFallbackFactory implements FallbackFactory<RemoteJobService> {
private static final Logger log = LoggerFactory.getLogger(RemoteJobFallbackFactory.class);
@Override
public RemoteJobService create(Throwable throwable) {
log.error("服务调用失败:{}", throwable.getMessage());
return new RemoteJobService() {
@Override
public R<Integer> editByCron(String cron, String status) {
log.error(throwable.getMessage());
return R.fail("修改定时任务失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,37 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteLogService;
import com.ruoyi.system.api.domain.SysLogininfor;
import com.ruoyi.system.api.domain.SysOperLog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 日志服务降级处理
*
* @author ruoyi
*/
@Component
public class RemoteLogFallbackFactory implements FallbackFactory<RemoteLogService> {
private static final Logger log = LoggerFactory.getLogger(RemoteLogFallbackFactory.class);
@Override
public RemoteLogService create(Throwable throwable) {
log.error("日志服务调用失败:{}", throwable.getMessage());
return new RemoteLogService() {
@Override
public R<Boolean> saveLog(SysOperLog sysOperLog, String source) {
return null;
}
@Override
public R<Boolean> saveLogininfor(SysLogininfor sysLogininfor, String source) {
return null;
}
};
}
}
@@ -0,0 +1,32 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteMatchCndService;
import com.ruoyi.system.api.domain.MatchConditionStructure;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* @Author JyuHsin
* @Date 2023/1/4
* @Description
*/
@Component
public class RemoteMatchCndFallbackFactory implements FallbackFactory<RemoteMatchCndService> {
private static final Logger log = LoggerFactory.getLogger(RemoteMatchCndFallbackFactory.class);
@Override
public RemoteMatchCndService create(Throwable throwable) {
log.error("服务调用失败:{}", throwable.getMessage());
return new RemoteMatchCndService() {
@Override
public R<MatchConditionStructure> save(MatchConditionStructure conditionStructure) {
log.error(throwable.getMessage());
return R.fail("新增条件失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,96 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteSysLocalProcessService;
import org.apache.poi.ss.formula.functions.T;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @version 1.0
* @Author zzr
* @nameRemoteSysLocalProcessFallbackFactory
* @Date 2025/6/26 11:41
* @注释
*/
@Component
public class RemoteSysLocalProcessFallbackFactory implements FallbackFactory<RemoteSysLocalProcessService> {
private static final Logger log = LoggerFactory.getLogger(RemoteSysLocalProcessFallbackFactory.class);
@Override
public RemoteSysLocalProcessService create(Throwable throwable) {
log.error("服务调用失败:{}", throwable.getMessage());
return new RemoteSysLocalProcessService() {
@Override
public R<String> initCreateInstance(String processUniqueId, String processBizId, String processName, String pcUrl, String mobileUrl, String source) {
log.error(throwable.getMessage());
return R.fail("初始化流程创建时的公共字段失败:" + throwable.getMessage());
}
@Override
public R updateProcessNodeName(String processUniqueId, String nodeName, String source) {
log.error(throwable.getMessage());
return R.fail("改变流程节点失败:" + throwable.getMessage());
}
@Override
public R completeProcess(String processUniqueId, Boolean isRefuse, String source) {
log.error(throwable.getMessage());
return R.fail("完成流程失败:" + throwable.getMessage());
}
@Override
public R deleteProcessInstance(String processUniqueId, String source) {
log.error(throwable.getMessage());
return R.fail("删除流程实例失败:" + throwable.getMessage());
}
@Override
public R<String> initCreateTask(String processUniqueId, String taskNodeKey, String taskNodeName, List<String> loginNameList, String formUrl, String formMobileUrl, String source) {
log.error(throwable.getMessage());
return R.fail("初始化任务创建时的公共字段失败:" + throwable.getMessage());
}
@Override
public R completeTask(String processUniqueId, String taskNodKey, String taskNodeName, String source) {
log.error(throwable.getMessage());
return R.fail("完成任务失败:" + throwable.getMessage());
}
@Override
public R completeReturnTask(String processUniqueId, String source) {
log.error(throwable.getMessage());
return R.fail("退回后提交任务失败:" + throwable.getMessage());
}
@Override
public R revokeTask(String processUniqueId, String taskNodKey, String source) {
log.error(throwable.getMessage());
return R.fail("撤回任务失败:" + throwable.getMessage());
}
@Override
public R deleteTask(String processUniqueId, String taskNodKey, String source) {
log.error(throwable.getMessage());
return R.fail("删除任务失败:" + throwable.getMessage());
}
@Override
public R<List<String>> getAssignments(String unionId, String unionGroupId, Long roleId, String source) {
log.error(throwable.getMessage());
return R.fail("获取审批人失败:" + throwable.getMessage());
}
@Override
public R<List<String>> getAssignmentsByColumn(String column, String columnValue, Long roleId, String source) {
log.error(throwable.getMessage());
return R.fail("获取审批人失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,80 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteProcessService;
import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.LoginUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 待办服务降级处理
*
* @author ruoyi
*/
@Component
public class RemoteTodoFallbackFactory implements FallbackFactory<RemoteProcessService> {
private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class);
@Override
public RemoteProcessService create(Throwable throwable) {
log.error("本地待办服务调用失败:{}", throwable.getMessage());
return new RemoteProcessService() {
@Override
public R startProcess(String processName, String processUniqueId, String nodeName, String processInitiatorId, String pcUrl, String mobileUrl) {
log.error(throwable.getMessage());
log.error("流程开启失败,流程id{},流程名称{},节点名称{},流程发起人{},url{}", processUniqueId, processName, nodeName, processInitiatorId, pcUrl);
return R.fail("流程开启失败");
}
@Override
public void updateProcessNodeName(String processUniqueId, String nodeName) {
log.error("流程更新失败,流程id{},节点名称{}", processUniqueId, nodeName);
log.error(throwable.getMessage());
}
@Override
public void createTask(String processUniqueId, String taskUniqueId, String taskNodeName, String createdByIds, List<String> assignments, String formUrl, String formUrlView, String formMobileUrl, String formMobileUrlView) {
log.error("创建任务失败,流程id{},任务id{},节点名称{},创建人{},接收人{},url{}", processUniqueId, taskUniqueId, taskNodeName, createdByIds, assignments, formUrl);
log.error(throwable.getMessage());
}
@Override
public void completeTask(String taskUniqueId, String processUniqueId, String actualOwnerId, String taskComment) {
log.error("完成任务失败,任务id{},流程id{},办理人{},办理意见{}", taskUniqueId, processUniqueId, actualOwnerId, taskComment);
log.error(throwable.getMessage());
}
@Override
public void deleteTask(String processInstanceId, String taskId) {
log.error("任务删除失败,任务id{},流程id{}", taskId, processInstanceId);
log.error(throwable.getMessage());
}
@Override
public void completeProcess(String processUniqueId) {
log.error("流程完成失败,流程id{}", processUniqueId);
log.error(throwable.getMessage());
}
@Override
public void deleteProcessInstance(String processUniqueId) {
log.error("流程删除失败,流程id{}", processUniqueId);
log.error(throwable.getMessage());
}
@Override
public void revoke(String processUniqueId, String restoreTaskId) {
log.error("任务撤销失败,任务id{},流程id{}", restoreTaskId, processUniqueId);
log.error(throwable.getMessage());
}
};
}
}
@@ -0,0 +1,62 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteUnionService;
import com.ruoyi.system.api.domain.SysUnion;
import org.nutz.lang.util.NutMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @ClassName RemoteUnionFallbackFactory
* @Description TODO
* @Author zhaoxinyu
* @Date 2022/12/14 17:07
* @Version 1.0
*/
@Component
public class RemoteUnionFallbackFactory implements FallbackFactory<RemoteUnionService> {
private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class);
@Override
public RemoteUnionService create(Throwable throwable) {
log.error("分工会服务调用失败:{}", throwable.getMessage());
return new RemoteUnionService() {
@Override
public R<NutMap> basicInfoAndAdminInfo(String id) {
log.error(throwable.getMessage());
return R.fail("查询分工会信息失败:" + throwable.getMessage());
}
@Override
public R<List<SysUnion>> listAll() {
log.error(throwable.getMessage());
return R.fail("查询所有分工会信息失败:" + throwable.getMessage());
}
@Override
public R<List<SysUnion>> getUnionList(String id) {
log.error(throwable.getMessage());
return R.fail("查询所有分工会信息失败:" + throwable.getMessage());
}
@Override
public R<List<SysUnion>> getActivityUnions() {
log.error(throwable.getMessage());
return R.fail("查询所有分工会信息失败:" + throwable.getMessage());
}
@Override
public R<List<SysUnion>> getCurrentUserManageUnion() {
log.error(throwable.getMessage());
return R.fail("查询当前登录用户管理的工会信息失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,22 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteUpdateUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
@Component
public class RemoteUpdateUserFallbackFactory implements FallbackFactory<RemoteUpdateUserService> {
private static final Logger log = LoggerFactory.getLogger(RemoteUpdateUserFallbackFactory.class);
@Override
public RemoteUpdateUserService create(Throwable throwable) {
log.error("更新用户服务调用失败:{}", throwable.getMessage());
return source -> {
log.error(throwable.getMessage());
return R.fail("更新用户失败:" + throwable.getMessage());
};
}
}
@@ -0,0 +1,66 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.system.api.domain.SmsDTO;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.LoginUser;
import org.nutz.dao.entity.Record;
import org.nutz.lang.util.NutMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* 用户服务降级处理
*
* @author ruoyi
*/
@Component
public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserService> {
private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class);
@Override
public RemoteUserService create(Throwable throwable) {
log.error("用户服务调用失败:{}", throwable.getMessage());
return new RemoteUserService() {
@Override
public R<LoginUser> getUserInfo(String username, String source) {
log.error(throwable.getMessage());
return R.fail("获取用户失败:" + throwable.getMessage());
}
@Override
public R<Boolean> registerUserInfo(SysUser sysUser, String source) {
return R.fail("注册用户失败:" + throwable.getMessage());
}
@Override
public R<SysUser> registerUserReturnUser(SysUser sysUser, String source) {
return R.fail("注册用户失败:" + throwable.getMessage());
}
@Override
public R autoUpdate(String source) {
return R.fail("更新用户失败:" + throwable.getMessage());
}
/*@Override
public R<List<Record>> todayBirthdayUser() {
log.error(throwable.getMessage());
return R.fail("获取用户生日信息失败:" + throwable.getMessage());
}*/
@Override
public R sendSms(SmsDTO smsDTO, String source) {
return R.fail("发送消息失败" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,66 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteUserRoleService;
import com.ruoyi.system.api.domain.SysUserRole;
import com.ruoyi.system.api.model.FeignCnd;
import org.nutz.dao.entity.Record;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Author JyuHsin
* @Date 2022/12/20
* @Description
*/
@Component
public class RemoteUserRoleFallbackFactory implements FallbackFactory<RemoteUserRoleService> {
private static final Logger log = LoggerFactory.getLogger(RemoteUserRoleFallbackFactory.class);
@Override
public RemoteUserRoleService create(Throwable throwable) {
log.error("服务调用失败:{}", throwable.getMessage());
return new RemoteUserRoleService() {
@Override
public R<Boolean> addUserRole(SysUserRole sysUserRole) {
log.error(throwable.getMessage());
return R.fail("新增用户角色关联失败:" + throwable.getMessage());
}
@Override
public R<Boolean> addUserRoles(List<SysUserRole> sysUserRole) {
log.error(throwable.getMessage());
return R.fail("新增用户角色关联失败:" + throwable.getMessage());
}
@Override
public R<Boolean> delUserRole(List<FeignCnd> cnd) {
log.error(throwable.getMessage());
return R.fail("删除用户角色关联失败:" + throwable.getMessage());
}
@Override
public R<List<SysUserRole>> getUserRole(List<FeignCnd> cnd) {
log.error(throwable.getMessage());
return R.fail("查询用户角色关联失败:" + throwable.getMessage());
}
@Override
public R<List<Record>> getAllRole() {
log.error(throwable.getMessage());
return R.fail("查询所有角色失败:" + throwable.getMessage());
}
@Override
public R<List<Record>> todayBirthdayUser() {
log.error(throwable.getMessage());
return R.fail("获取用户生日信息失败:" + throwable.getMessage());
}
};
}
}
@@ -0,0 +1,22 @@
package com.ruoyi.system.api.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author JyuHsin
* @Date 2022/12/21
* @Description
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FeignCnd implements Serializable {
private String column;
private String condition;
private Object value;
}
@@ -0,0 +1,132 @@
package com.ruoyi.system.api.model;
import com.ruoyi.system.api.domain.SysUser;
import java.io.Serializable;
import java.util.Set;
/**
* 用户信息
*
* @author ruoyi
*/
public class LoginUser implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户唯一标识
*/
private String token;
/**
* 用户名id
*/
private Long userid;
/**
* 用户名
*/
private String username;
/**
* 登录时间
*/
private Long loginTime;
/**
* 过期时间
*/
private Long expireTime;
/**
* 登录IP地址
*/
private String ipaddr;
/**
* 权限列表
*/
private Set<String> permissions;
/**
* 角色列表
*/
private Set<String> roles;
/**
* 用户信息
*/
private SysUser sysUser;
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public Long getUserid() {
return userid;
}
public void setUserid(Long userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Long getLoginTime() {
return loginTime;
}
public void setLoginTime(Long loginTime) {
this.loginTime = loginTime;
}
public Long getExpireTime() {
return expireTime;
}
public void setExpireTime(Long expireTime) {
this.expireTime = expireTime;
}
public String getIpaddr() {
return ipaddr;
}
public void setIpaddr(String ipaddr) {
this.ipaddr = ipaddr;
}
public Set<String> getPermissions() {
return permissions;
}
public void setPermissions(Set<String> permissions) {
this.permissions = permissions;
}
public Set<String> getRoles() {
return roles;
}
public void setRoles(Set<String> roles) {
this.roles = roles;
}
public SysUser getSysUser() {
return sysUser;
}
public void setSysUser(SysUser sysUser) {
this.sysUser = sysUser;
}
}
@@ -0,0 +1,12 @@
com.ruoyi.system.api.factory.RemoteUserFallbackFactory
com.ruoyi.system.api.factory.RemoteLogFallbackFactory
com.ruoyi.system.api.factory.RemoteFileFallbackFactory
com.ruoyi.system.api.factory.RemoteUserRoleFallbackFactory
com.ruoyi.system.api.factory.RemoteDictFallbackFactory
com.ruoyi.system.api.factory.RemoteUnionFallbackFactory
com.ruoyi.system.api.factory.RemoteDeptFallbackFactory
com.ruoyi.system.api.factory.RemoteClubFallbackFactory
com.ruoyi.system.api.factory.RemoteMatchCndFallbackFactory
com.ruoyi.system.api.factory.RemoteConfigFallbackFactory
com.ruoyi.system.api.factory.RemoteJobFallbackFactory
com.ruoyi.system.api.factory.RemoteSysLocalProcessFallbackFactory