commit 84047eb3d9b31a7043f246a7860239c4c8542916
Author: bai <173792339@qq.com>
Date: Sun Jul 28 16:36:55 2024 +0800
初始化
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..0ac320f
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..872d41f
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..b4cc47a
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..ad4356f
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,29 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-common
+ 3.6.3
+
+
+ cloud-common-system
+
+ cloud-common-system系统级远程调用
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+ com.muyu
+ cloud-common-core
+
+
+
diff --git a/src/main/java/com/muyu/common/system/domain/LoginUser.java b/src/main/java/com/muyu/common/system/domain/LoginUser.java
new file mode 100644
index 0000000..a18af37
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/domain/LoginUser.java
@@ -0,0 +1,66 @@
+package com.muyu.common.system.domain;
+
+
+import lombok.*;
+
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ * 用户信息
+ *
+ * @author muyu
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+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 permissions;
+
+ /**
+ * 角色列表
+ */
+ private Set roles;
+
+ /**
+ * 用户信息
+ */
+ private SysUser sysUser;
+
+}
diff --git a/src/main/java/com/muyu/common/system/domain/SysDept.java b/src/main/java/com/muyu/common/system/domain/SysDept.java
new file mode 100644
index 0000000..65ada9e
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/domain/SysDept.java
@@ -0,0 +1,108 @@
+package com.muyu.common.system.domain;
+
+import com.muyu.common.core.web.domain.BaseEntity;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
+import jakarta.validation.constraints.Email;
+import jakarta.validation.constraints.NotBlank;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 部门表 sys_dept
+ *
+ * @author muyu
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class SysDept extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 部门ID
+ */
+ private Long deptId;
+
+ /**
+ * 父部门ID
+ */
+ private Long parentId;
+
+ /**
+ * 祖级列表
+ */
+ private String ancestors;
+
+ /**
+ * 部门名称
+ */
+ private String deptName;
+
+ /**
+ * 显示顺序
+ */
+ private Integer orderNum;
+
+ /**
+ * 负责人
+ */
+ private String leader;
+
+ /**
+ * 联系电话
+ */
+ private String phone;
+
+ /**
+ * 邮箱
+ */
+ private String email;
+
+ /**
+ * 部门状态:0正常,1停用
+ */
+ private String status;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ private String delFlag;
+
+ /**
+ * 父部门名称
+ */
+ private String parentName;
+
+ /**
+ * 子部门
+ */
+ private List children = new ArrayList();
+
+ @NotBlank(message = "部门名称不能为空")
+ @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符")
+ public String getDeptName () {
+ return deptName;
+ }
+
+ @NotNull(message = "显示顺序不能为空")
+ public Integer getOrderNum () {
+ return orderNum;
+ }
+
+ @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符")
+ public String getPhone () {
+ return phone;
+ }
+
+ @Email(message = "邮箱格式不正确")
+ @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
+ public String getEmail () {
+ return email;
+ }
+}
diff --git a/src/main/java/com/muyu/common/system/domain/SysDictData.java b/src/main/java/com/muyu/common/system/domain/SysDictData.java
new file mode 100644
index 0000000..5beee3f
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/domain/SysDictData.java
@@ -0,0 +1,104 @@
+package com.muyu.common.system.domain;
+
+import com.muyu.common.core.annotation.Excel;
+import com.muyu.common.core.annotation.Excel.ColumnType;
+import com.muyu.common.core.constant.UserConstants;
+import com.muyu.common.core.web.domain.BaseEntity;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Size;
+
+/**
+ * 字典数据表 sys_dict_data
+ *
+ * @author muyu
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class SysDictData extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 字典编码
+ */
+ @Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
+ private Long dictCode;
+
+ /**
+ * 字典排序
+ */
+ @Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
+ private Long dictSort;
+
+ /**
+ * 字典标签
+ */
+ @Excel(name = "字典标签")
+ private String dictLabel;
+
+ /**
+ * 字典键值
+ */
+ @Excel(name = "字典键值")
+ private String dictValue;
+
+ /**
+ * 字典类型
+ */
+ @Excel(name = "字典类型")
+ private String dictType;
+
+ /**
+ * 样式属性(其他样式扩展)
+ */
+ private String cssClass;
+
+ /**
+ * 表格字典样式
+ */
+ private String listClass;
+
+ /**
+ * 是否默认(Y是 N否)
+ */
+ @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
+ private String isDefault;
+
+ /**
+ * 状态(0正常 1停用)
+ */
+ @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
+ private String status;
+
+ @NotBlank(message = "字典标签不能为空")
+ @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
+ public String getDictLabel () {
+ return dictLabel;
+ }
+
+ @NotBlank(message = "字典键值不能为空")
+ @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
+ public String getDictValue () {
+ return dictValue;
+ }
+
+ @NotBlank(message = "字典类型不能为空")
+ @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
+ public String getDictType () {
+ return dictType;
+ }
+
+ @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
+ public String getCssClass () {
+ return cssClass;
+ }
+
+ public boolean getDefault () {
+ return UserConstants.YES.equals(this.isDefault);
+ }
+}
diff --git a/src/main/java/com/muyu/common/system/domain/SysDictType.java b/src/main/java/com/muyu/common/system/domain/SysDictType.java
new file mode 100644
index 0000000..d623333
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/domain/SysDictType.java
@@ -0,0 +1,62 @@
+package com.muyu.common.system.domain;
+
+import com.muyu.common.core.annotation.Excel;
+import com.muyu.common.core.annotation.Excel.ColumnType;
+import com.muyu.common.core.web.domain.BaseEntity;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
+
+/**
+ * 字典类型表 sys_dict_type
+ *
+ * @author muyu
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class SysDictType extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 字典主键
+ */
+ @Excel(name = "字典主键", cellType = ColumnType.NUMERIC)
+ private Long dictId;
+
+ /**
+ * 字典名称
+ */
+ @Excel(name = "字典名称")
+ private String dictName;
+
+ /**
+ * 字典类型
+ */
+ @Excel(name = "字典类型")
+ private String dictType;
+
+ /**
+ * 状态(0正常 1停用)
+ */
+ @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
+ private String status;
+
+ @NotBlank(message = "字典名称不能为空")
+ @Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
+ public String getDictName () {
+ return dictName;
+ }
+
+ @NotBlank(message = "字典类型不能为空")
+ @Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
+ @Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
+ public String getDictType () {
+ return dictType;
+ }
+}
diff --git a/src/main/java/com/muyu/common/system/domain/SysFile.java b/src/main/java/com/muyu/common/system/domain/SysFile.java
new file mode 100644
index 0000000..ad48a1e
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/domain/SysFile.java
@@ -0,0 +1,27 @@
+package com.muyu.common.system.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 文件信息
+ *
+ * @author muyu
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SysFile {
+ /**
+ * 文件名称
+ */
+ private String name;
+
+ /**
+ * 文件地址
+ */
+ private String url;
+}
diff --git a/src/main/java/com/muyu/common/system/domain/SysLogininfor.java b/src/main/java/com/muyu/common/system/domain/SysLogininfor.java
new file mode 100644
index 0000000..c66f131
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/domain/SysLogininfor.java
@@ -0,0 +1,64 @@
+package com.muyu.common.system.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.muyu.common.core.annotation.Excel;
+import com.muyu.common.core.annotation.Excel.ColumnType;
+import com.muyu.common.core.web.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+
+/**
+ * 系统访问记录表 sys_logininfor
+ *
+ * @author muyu
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+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;
+}
diff --git a/src/main/java/com/muyu/common/system/domain/SysOperLog.java b/src/main/java/com/muyu/common/system/domain/SysOperLog.java
new file mode 100644
index 0000000..b207611
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/domain/SysOperLog.java
@@ -0,0 +1,129 @@
+package com.muyu.common.system.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.muyu.common.core.annotation.Excel;
+import com.muyu.common.core.annotation.Excel.ColumnType;
+import com.muyu.common.core.web.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+
+/**
+ * 操作日志记录表 oper_log
+ *
+ * @author muyu
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+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;
+
+ /**
+ * 消耗时间
+ */
+ @Excel(name = "消耗时间", suffix = "毫秒")
+ private Long costTime;
+}
diff --git a/src/main/java/com/muyu/common/system/domain/SysRole.java b/src/main/java/com/muyu/common/system/domain/SysRole.java
new file mode 100644
index 0000000..1aab56a
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/domain/SysRole.java
@@ -0,0 +1,127 @@
+package com.muyu.common.system.domain;
+
+import com.muyu.common.core.annotation.Excel;
+import com.muyu.common.core.annotation.Excel.ColumnType;
+import com.muyu.common.core.web.domain.BaseEntity;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import java.util.Set;
+
+/**
+ * 角色表 sys_role
+ *
+ * @author muyu
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class SysRole extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 角色ID
+ */
+ @Excel(name = "角色序号", cellType = ColumnType.NUMERIC)
+ private Long roleId;
+
+ /**
+ * 角色名称
+ */
+ @Excel(name = "角色名称")
+ private String roleName;
+
+ /**
+ * 角色权限
+ */
+ @Excel(name = "角色权限")
+ private String roleKey;
+
+ /**
+ * 角色排序
+ */
+ @Excel(name = "角色排序")
+ 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 permissions;
+
+
+ public SysRole (Long roleId) {
+ this.roleId = roleId;
+ }
+
+ public static boolean isAdmin (Long roleId) {
+ return roleId != null && 1L == roleId;
+ }
+
+ public boolean isAdmin () {
+ return isAdmin(this.roleId);
+ }
+
+ @NotBlank(message = "角色名称不能为空")
+ @Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符")
+ public String getRoleName () {
+ return roleName;
+ }
+
+ @NotBlank(message = "权限字符不能为空")
+ @Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符")
+ public String getRoleKey () {
+ return roleKey;
+ }
+
+ @NotNull(message = "显示顺序不能为空")
+ public Integer getRoleSort () {
+ return roleSort;
+ }
+}
diff --git a/src/main/java/com/muyu/common/system/domain/SysUser.java b/src/main/java/com/muyu/common/system/domain/SysUser.java
new file mode 100644
index 0000000..999b22c
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/domain/SysUser.java
@@ -0,0 +1,173 @@
+package com.muyu.common.system.domain;
+
+import com.muyu.common.core.annotation.Excel;
+import com.muyu.common.core.annotation.Excel.ColumnType;
+import com.muyu.common.core.annotation.Excel.Type;
+import com.muyu.common.core.annotation.Excels;
+import com.muyu.common.core.web.domain.BaseEntity;
+import com.muyu.common.core.xss.Xss;
+import jakarta.validation.constraints.Email;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Size;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 用户对象 sys_user
+ *
+ * @author muyu
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class SysUser extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 用户ID
+ */
+ @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
+ private Long userId;
+
+ /**
+ * 部门ID
+ */
+ @Excel(name = "部门编号", type = Type.IMPORT)
+ private Long deptId;
+
+ /**
+ * 用户账号
+ */
+ @Excel(name = "登录名称")
+ private String userName;
+
+ /**
+ * 用户昵称
+ */
+ @Excel(name = "用户名称")
+ private String nickName;
+
+ /**
+ * 用户邮箱
+ */
+ @Excel(name = "用户邮箱")
+ private String email;
+
+ /**
+ * 手机号码
+ */
+ @Excel(name = "手机号码")
+ private String phonenumber;
+
+ /**
+ * 用户性别
+ */
+ @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
+ private String sex;
+
+ /**
+ * 用户头像
+ */
+ private String avatar;
+
+ /**
+ * 密码
+ */
+ private String password;
+
+ /**
+ * 帐号状态(0正常 1停用)
+ */
+ @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
+ private String status;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ private String delFlag;
+
+ /**
+ * 最后登录IP
+ */
+ @Excel(name = "最后登录IP", type = Type.EXPORT)
+ private String loginIp;
+
+ /**
+ * 最后登录时间
+ */
+ @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
+ private Date loginDate;
+
+ /**
+ * 部门对象
+ */
+ @Excels({
+ @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
+ @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
+ })
+ private SysDept dept;
+
+ /**
+ * 角色对象
+ */
+ private List roles;
+
+ /**
+ * 角色组
+ */
+ private Long[] roleIds;
+
+ /**
+ * 岗位组
+ */
+ private Long[] postIds;
+
+ /**
+ * 角色ID
+ */
+ private Long roleId;
+
+ public SysUser (Long userId) {
+ this.userId = userId;
+ }
+
+ public static boolean isAdmin (Long userId) {
+ return userId != null && 1L == userId;
+ }
+
+ public boolean isAdmin () {
+ return isAdmin(this.userId);
+ }
+
+ @Xss(message = "用户昵称不能包含脚本字符")
+ @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
+ public String getNickName () {
+ return nickName;
+ }
+
+ @Xss(message = "用户账号不能包含脚本字符")
+ @NotBlank(message = "用户账号不能为空")
+ @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
+ public String getUserName () {
+ return userName;
+ }
+
+ @Email(message = "邮箱格式不正确")
+ @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
+ public String getEmail () {
+ return email;
+ }
+
+ @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
+ public String getPhonenumber () {
+ return phonenumber;
+ }
+}
diff --git a/src/main/java/com/muyu/common/system/remote/RemoteFileService.java b/src/main/java/com/muyu/common/system/remote/RemoteFileService.java
new file mode 100644
index 0000000..96dd181
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/remote/RemoteFileService.java
@@ -0,0 +1,29 @@
+package com.muyu.common.system.remote;
+
+import com.muyu.common.core.constant.ServiceNameConstants;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.system.domain.SysFile;
+import com.muyu.common.system.remote.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.RequestPart;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * 文件服务
+ *
+ * @author muyu
+ */
+@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 Result upload (@RequestPart(value = "file") MultipartFile file);
+}
diff --git a/src/main/java/com/muyu/common/system/remote/RemoteLogService.java b/src/main/java/com/muyu/common/system/remote/RemoteLogService.java
new file mode 100644
index 0000000..7e767c4
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/remote/RemoteLogService.java
@@ -0,0 +1,42 @@
+package com.muyu.common.system.remote;
+
+import com.muyu.common.core.constant.SecurityConstants;
+import com.muyu.common.core.constant.ServiceNameConstants;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.system.domain.SysLogininfor;
+import com.muyu.common.system.domain.SysOperLog;
+import com.muyu.common.system.remote.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 muyu
+ */
+@FeignClient(contextId = "remoteLogService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteLogFallbackFactory.class)
+public interface RemoteLogService {
+ /**
+ * 保存系统日志
+ *
+ * @param sysOperLog 日志实体
+ * @param source 请求来源
+ *
+ * @return 结果
+ */
+ @PostMapping("/operlog")
+ public Result saveLog (@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception;
+
+ /**
+ * 保存访问记录
+ *
+ * @param sysLogininfor 访问实体
+ * @param source 请求来源
+ *
+ * @return 结果
+ */
+ @PostMapping("/logininfor")
+ public Result saveLogininfor (@RequestBody SysLogininfor sysLogininfor, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+}
diff --git a/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/src/main/java/com/muyu/common/system/remote/RemoteUserService.java
new file mode 100644
index 0000000..cb968e0
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/remote/RemoteUserService.java
@@ -0,0 +1,40 @@
+package com.muyu.common.system.remote;
+
+import com.muyu.common.core.constant.SecurityConstants;
+import com.muyu.common.core.constant.ServiceNameConstants;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.system.domain.SysUser;
+import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory;
+import com.muyu.common.system.domain.LoginUser;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 用户服务
+ *
+ * @author muyu
+ */
+@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
+public interface RemoteUserService {
+ /**
+ * 通过用户名查询用户信息
+ *
+ * @param username 用户名
+ * @param source 请求来源
+ *
+ * @return 结果
+ */
+ @GetMapping("/user/info/{username}")
+ public Result getUserInfo (@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
+ /**
+ * 注册用户信息
+ *
+ * @param sysUser 用户信息
+ * @param source 请求来源
+ *
+ * @return 结果
+ */
+ @PostMapping("/user/register")
+ public Result registerUserInfo (@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+}
diff --git a/src/main/java/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.java b/src/main/java/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.java
new file mode 100644
index 0000000..395f74f
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.java
@@ -0,0 +1,31 @@
+package com.muyu.common.system.remote.factory;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.system.remote.RemoteFileService;
+import com.muyu.common.system.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 muyu
+ */
+@Component
+public class RemoteFileFallbackFactory implements FallbackFactory {
+ private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class);
+
+ @Override
+ public RemoteFileService create (Throwable throwable) {
+ log.error("文件服务调用失败:{}", throwable.getMessage());
+ return new RemoteFileService() {
+ @Override
+ public Result upload (MultipartFile file) {
+ return Result.error("上传文件失败:" + throwable.getMessage());
+ }
+ };
+ }
+}
diff --git a/src/main/java/com/muyu/common/system/remote/factory/RemoteLogFallbackFactory.java b/src/main/java/com/muyu/common/system/remote/factory/RemoteLogFallbackFactory.java
new file mode 100644
index 0000000..1fc0491
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/remote/factory/RemoteLogFallbackFactory.java
@@ -0,0 +1,37 @@
+package com.muyu.common.system.remote.factory;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.system.remote.RemoteLogService;
+import com.muyu.common.system.domain.SysLogininfor;
+import com.muyu.common.system.domain.SysOperLog;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * 日志服务降级处理
+ *
+ * @author muyu
+ */
+@Component
+public class RemoteLogFallbackFactory implements FallbackFactory {
+ private static final Logger log = LoggerFactory.getLogger(RemoteLogFallbackFactory.class);
+
+ @Override
+ public RemoteLogService create (Throwable throwable) {
+ log.error("日志服务调用失败:{}", throwable.getMessage(), throwable);
+ return new RemoteLogService() {
+ @Override
+ public Result saveLog (SysOperLog sysOperLog, String source) {
+ return Result.error("保存操作日志失败:" + throwable.getMessage());
+ }
+
+ @Override
+ public Result saveLogininfor (SysLogininfor sysLogininfor, String source) {
+ return Result.error("保存登录日志失败:" + throwable.getMessage());
+ }
+ };
+
+ }
+}
diff --git a/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java b/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java
new file mode 100644
index 0000000..b7f4d60
--- /dev/null
+++ b/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java
@@ -0,0 +1,36 @@
+package com.muyu.common.system.remote.factory;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.system.remote.RemoteUserService;
+import com.muyu.common.system.domain.SysUser;
+import com.muyu.common.system.domain.LoginUser;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * 用户服务降级处理
+ *
+ * @author muyu
+ */
+@Component
+public class RemoteUserFallbackFactory implements FallbackFactory {
+ private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class);
+
+ @Override
+ public RemoteUserService create (Throwable throwable) {
+ log.error("用户服务调用失败:{}", throwable.getMessage());
+ return new RemoteUserService() {
+ @Override
+ public Result getUserInfo (String username, String source) {
+ return Result.error("获取用户失败:" + throwable.getMessage());
+ }
+
+ @Override
+ public Result registerUserInfo (SysUser sysUser, String source) {
+ return Result.error("注册用户失败:" + throwable.getMessage());
+ }
+ };
+ }
+}
diff --git a/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..b9a11b8
--- /dev/null
+++ b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1,3 @@
+com.muyu.common.system.remote.factory.RemoteUserFallbackFactory
+com.muyu.common.system.remote.factory.RemoteLogFallbackFactory
+com.muyu.common.system.remote.factory.RemoteFileFallbackFactory
diff --git a/target/classes/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/target/classes/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..b9a11b8
--- /dev/null
+++ b/target/classes/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1,3 @@
+com.muyu.common.system.remote.factory.RemoteUserFallbackFactory
+com.muyu.common.system.remote.factory.RemoteLogFallbackFactory
+com.muyu.common.system.remote.factory.RemoteFileFallbackFactory
diff --git a/target/classes/com/muyu/common/system/domain/LoginUser$LoginUserBuilder.class b/target/classes/com/muyu/common/system/domain/LoginUser$LoginUserBuilder.class
new file mode 100644
index 0000000..1a45267
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/LoginUser$LoginUserBuilder.class differ
diff --git a/target/classes/com/muyu/common/system/domain/LoginUser.class b/target/classes/com/muyu/common/system/domain/LoginUser.class
new file mode 100644
index 0000000..9dfd119
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/LoginUser.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysDept$SysDeptBuilder.class b/target/classes/com/muyu/common/system/domain/SysDept$SysDeptBuilder.class
new file mode 100644
index 0000000..5ed3e4f
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysDept$SysDeptBuilder.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysDept$SysDeptBuilderImpl.class b/target/classes/com/muyu/common/system/domain/SysDept$SysDeptBuilderImpl.class
new file mode 100644
index 0000000..124d87f
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysDept$SysDeptBuilderImpl.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysDept.class b/target/classes/com/muyu/common/system/domain/SysDept.class
new file mode 100644
index 0000000..36d7421
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysDept.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysDictData$SysDictDataBuilder.class b/target/classes/com/muyu/common/system/domain/SysDictData$SysDictDataBuilder.class
new file mode 100644
index 0000000..fc7f4ba
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysDictData$SysDictDataBuilder.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysDictData$SysDictDataBuilderImpl.class b/target/classes/com/muyu/common/system/domain/SysDictData$SysDictDataBuilderImpl.class
new file mode 100644
index 0000000..08bf0dc
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysDictData$SysDictDataBuilderImpl.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysDictData.class b/target/classes/com/muyu/common/system/domain/SysDictData.class
new file mode 100644
index 0000000..0387f2e
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysDictData.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysDictType$SysDictTypeBuilder.class b/target/classes/com/muyu/common/system/domain/SysDictType$SysDictTypeBuilder.class
new file mode 100644
index 0000000..198b47d
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysDictType$SysDictTypeBuilder.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysDictType$SysDictTypeBuilderImpl.class b/target/classes/com/muyu/common/system/domain/SysDictType$SysDictTypeBuilderImpl.class
new file mode 100644
index 0000000..598cb7d
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysDictType$SysDictTypeBuilderImpl.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysDictType.class b/target/classes/com/muyu/common/system/domain/SysDictType.class
new file mode 100644
index 0000000..638e19c
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysDictType.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysFile$SysFileBuilder.class b/target/classes/com/muyu/common/system/domain/SysFile$SysFileBuilder.class
new file mode 100644
index 0000000..c4e7764
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysFile$SysFileBuilder.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysFile.class b/target/classes/com/muyu/common/system/domain/SysFile.class
new file mode 100644
index 0000000..f9c4cec
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysFile.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysLogininfor$SysLogininforBuilder.class b/target/classes/com/muyu/common/system/domain/SysLogininfor$SysLogininforBuilder.class
new file mode 100644
index 0000000..7a89377
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysLogininfor$SysLogininforBuilder.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysLogininfor$SysLogininforBuilderImpl.class b/target/classes/com/muyu/common/system/domain/SysLogininfor$SysLogininforBuilderImpl.class
new file mode 100644
index 0000000..8774192
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysLogininfor$SysLogininforBuilderImpl.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysLogininfor.class b/target/classes/com/muyu/common/system/domain/SysLogininfor.class
new file mode 100644
index 0000000..e3f0a49
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysLogininfor.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysOperLog$SysOperLogBuilder.class b/target/classes/com/muyu/common/system/domain/SysOperLog$SysOperLogBuilder.class
new file mode 100644
index 0000000..afeada2
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysOperLog$SysOperLogBuilder.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysOperLog$SysOperLogBuilderImpl.class b/target/classes/com/muyu/common/system/domain/SysOperLog$SysOperLogBuilderImpl.class
new file mode 100644
index 0000000..e64c40f
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysOperLog$SysOperLogBuilderImpl.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysOperLog.class b/target/classes/com/muyu/common/system/domain/SysOperLog.class
new file mode 100644
index 0000000..c4942af
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysOperLog.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysRole$SysRoleBuilder.class b/target/classes/com/muyu/common/system/domain/SysRole$SysRoleBuilder.class
new file mode 100644
index 0000000..0f7f296
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysRole$SysRoleBuilder.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysRole$SysRoleBuilderImpl.class b/target/classes/com/muyu/common/system/domain/SysRole$SysRoleBuilderImpl.class
new file mode 100644
index 0000000..6a23d02
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysRole$SysRoleBuilderImpl.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysRole.class b/target/classes/com/muyu/common/system/domain/SysRole.class
new file mode 100644
index 0000000..2b54e5f
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysRole.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysUser$SysUserBuilder.class b/target/classes/com/muyu/common/system/domain/SysUser$SysUserBuilder.class
new file mode 100644
index 0000000..2c46acc
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysUser$SysUserBuilder.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysUser$SysUserBuilderImpl.class b/target/classes/com/muyu/common/system/domain/SysUser$SysUserBuilderImpl.class
new file mode 100644
index 0000000..9f54a03
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysUser$SysUserBuilderImpl.class differ
diff --git a/target/classes/com/muyu/common/system/domain/SysUser.class b/target/classes/com/muyu/common/system/domain/SysUser.class
new file mode 100644
index 0000000..f377d3b
Binary files /dev/null and b/target/classes/com/muyu/common/system/domain/SysUser.class differ
diff --git a/target/classes/com/muyu/common/system/remote/RemoteFileService.class b/target/classes/com/muyu/common/system/remote/RemoteFileService.class
new file mode 100644
index 0000000..f695b97
Binary files /dev/null and b/target/classes/com/muyu/common/system/remote/RemoteFileService.class differ
diff --git a/target/classes/com/muyu/common/system/remote/RemoteLogService.class b/target/classes/com/muyu/common/system/remote/RemoteLogService.class
new file mode 100644
index 0000000..85d29ee
Binary files /dev/null and b/target/classes/com/muyu/common/system/remote/RemoteLogService.class differ
diff --git a/target/classes/com/muyu/common/system/remote/RemoteUserService.class b/target/classes/com/muyu/common/system/remote/RemoteUserService.class
new file mode 100644
index 0000000..4aee4ee
Binary files /dev/null and b/target/classes/com/muyu/common/system/remote/RemoteUserService.class differ
diff --git a/target/classes/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory$1.class b/target/classes/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory$1.class
new file mode 100644
index 0000000..841c0f9
Binary files /dev/null and b/target/classes/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory$1.class differ
diff --git a/target/classes/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.class b/target/classes/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.class
new file mode 100644
index 0000000..6ab7cdb
Binary files /dev/null and b/target/classes/com/muyu/common/system/remote/factory/RemoteFileFallbackFactory.class differ
diff --git a/target/classes/com/muyu/common/system/remote/factory/RemoteLogFallbackFactory$1.class b/target/classes/com/muyu/common/system/remote/factory/RemoteLogFallbackFactory$1.class
new file mode 100644
index 0000000..dda53c1
Binary files /dev/null and b/target/classes/com/muyu/common/system/remote/factory/RemoteLogFallbackFactory$1.class differ
diff --git a/target/classes/com/muyu/common/system/remote/factory/RemoteLogFallbackFactory.class b/target/classes/com/muyu/common/system/remote/factory/RemoteLogFallbackFactory.class
new file mode 100644
index 0000000..853356a
Binary files /dev/null and b/target/classes/com/muyu/common/system/remote/factory/RemoteLogFallbackFactory.class differ
diff --git a/target/classes/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory$1.class b/target/classes/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory$1.class
new file mode 100644
index 0000000..8e9c823
Binary files /dev/null and b/target/classes/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory$1.class differ
diff --git a/target/classes/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.class b/target/classes/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.class
new file mode 100644
index 0000000..26812f6
Binary files /dev/null and b/target/classes/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.class differ
diff --git a/target/cloud-common-system-3.6.3.jar b/target/cloud-common-system-3.6.3.jar
new file mode 100644
index 0000000..0938be4
Binary files /dev/null and b/target/cloud-common-system-3.6.3.jar differ
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..51c1928
--- /dev/null
+++ b/target/maven-archiver/pom.properties
@@ -0,0 +1,3 @@
+artifactId=cloud-common-system
+groupId=com.muyu
+version=3.6.3
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..f9f8775
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,34 @@
+com\muyu\common\system\domain\SysOperLog$SysOperLogBuilder.class
+com\muyu\common\system\domain\LoginUser$LoginUserBuilder.class
+com\muyu\common\system\domain\SysDept$SysDeptBuilderImpl.class
+com\muyu\common\system\remote\factory\RemoteFileFallbackFactory.class
+com\muyu\common\system\remote\factory\RemoteUserFallbackFactory.class
+com\muyu\common\system\remote\factory\RemoteUserFallbackFactory$1.class
+com\muyu\common\system\domain\SysFile$SysFileBuilder.class
+com\muyu\common\system\domain\SysLogininfor.class
+com\muyu\common\system\remote\factory\RemoteLogFallbackFactory$1.class
+com\muyu\common\system\domain\SysUser$SysUserBuilderImpl.class
+com\muyu\common\system\domain\SysUser.class
+com\muyu\common\system\domain\SysDept.class
+com\muyu\common\system\domain\SysLogininfor$SysLogininforBuilderImpl.class
+com\muyu\common\system\domain\SysOperLog$SysOperLogBuilderImpl.class
+com\muyu\common\system\domain\SysDictType$SysDictTypeBuilder.class
+com\muyu\common\system\remote\factory\RemoteFileFallbackFactory$1.class
+com\muyu\common\system\remote\RemoteUserService.class
+com\muyu\common\system\domain\SysDictData$SysDictDataBuilderImpl.class
+com\muyu\common\system\domain\SysDept$SysDeptBuilder.class
+com\muyu\common\system\remote\RemoteFileService.class
+com\muyu\common\system\domain\SysRole$SysRoleBuilder.class
+com\muyu\common\system\domain\SysDictType.class
+com\muyu\common\system\domain\SysDictData$SysDictDataBuilder.class
+com\muyu\common\system\domain\SysUser$SysUserBuilder.class
+com\muyu\common\system\domain\LoginUser.class
+com\muyu\common\system\domain\SysLogininfor$SysLogininforBuilder.class
+com\muyu\common\system\domain\SysRole$SysRoleBuilderImpl.class
+com\muyu\common\system\remote\factory\RemoteLogFallbackFactory.class
+com\muyu\common\system\domain\SysDictData.class
+com\muyu\common\system\domain\SysRole.class
+com\muyu\common\system\domain\SysDictType$SysDictTypeBuilderImpl.class
+com\muyu\common\system\domain\SysFile.class
+com\muyu\common\system\domain\SysOperLog.class
+com\muyu\common\system\remote\RemoteLogService.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..07f4f1d
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,15 @@
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\domain\SysDept.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\domain\SysOperLog.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\domain\LoginUser.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\remote\RemoteFileService.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\domain\SysDictType.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\domain\SysRole.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\remote\RemoteUserService.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\domain\SysUser.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\remote\factory\RemoteUserFallbackFactory.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\domain\SysFile.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\domain\SysDictData.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\remote\factory\RemoteLogFallbackFactory.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\remote\RemoteLogService.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\domain\SysLogininfor.java
+D:\master\yjs-cloud-2112\cloud-common-system\src\main\java\com\muyu\common\system\remote\factory\RemoteFileFallbackFactory.java