Browse Source

初始提交

dev
yinzuomei 6 years ago
parent
commit
63f1c2927b
  1. 565
      db/mysql.sql
  2. BIN
      doc/renren-cloud(后端文档).pdf
  3. BIN
      doc/renren-cloud-admin(前端文档).pdf
  4. BIN
      doc/系统构架文档.pdf
  5. 35
      epmet-admin/epmet-admin-client/pom.xml
  6. 29
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/MenuResourceDTO.java
  7. 54
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/NewsDTO.java
  8. 37
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/PasswordDTO.java
  9. 106
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDeptDTO.java
  10. 66
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java
  11. 63
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java
  12. 48
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysLogErrorDTO.java
  13. 50
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysLogLoginDTO.java
  14. 65
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysLogOperationDTO.java
  15. 158
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysMenuDTO.java
  16. 60
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysParamsDTO.java
  17. 62
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysRegionDTO.java
  18. 59
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysRoleDTO.java
  19. 98
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysUserDTO.java
  20. 36
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/Region.java
  21. 30
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/RegionCity.java
  22. 30
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/RegionProvince.java
  23. 36
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/MenuFlagEnum.java
  24. 36
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/MenuTypeEnum.java
  25. 29
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/RegionLeafEnum.java
  26. 30
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/RegionLevelEnum.java
  27. 30
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/UserStatusEnum.java
  28. 44
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/ParamsFeignClient.java
  29. 32
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/fallback/ParamsFeignClientFallback.java
  30. 57
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/remote/ParamsRemoteService.java
  31. 140
      epmet-admin/epmet-admin-server/pom.xml
  32. 27
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/AdminApplication.java
  33. 26
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/config/ModuleConfigImpl.java
  34. 68
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/config/SwaggerConfig.java
  35. 102
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/NewsController.java
  36. 92
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDeptController.java
  37. 104
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java
  38. 114
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictTypeController.java
  39. 69
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysLogErrorController.java
  40. 74
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysLogLoginController.java
  41. 73
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysLogOperationController.java
  42. 134
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMenuController.java
  43. 138
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysParamsController.java
  44. 122
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysRegionController.java
  45. 41
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysResourceController.java
  46. 139
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysRoleController.java
  47. 209
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysUserController.java
  48. 28
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/NewsDao.java
  49. 41
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDeptDao.java
  50. 30
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java
  51. 31
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictTypeDao.java
  52. 27
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysLanguageDao.java
  53. 24
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysLogErrorDao.java
  54. 24
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysLogLoginDao.java
  55. 24
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysLogOperationDao.java
  56. 52
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysMenuDao.java
  57. 46
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysParamsDao.java
  58. 28
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRegionDao.java
  59. 48
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysResourceDao.java
  60. 24
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRoleDao.java
  61. 41
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRoleDataScopeDao.java
  62. 42
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRoleMenuDao.java
  63. 45
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRoleUserDao.java
  64. 41
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysUserDao.java
  65. 25
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/DictData.java
  66. 28
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/DictType.java
  67. 58
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/NewsEntity.java
  68. 70
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDeptEntity.java
  69. 60
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java
  70. 56
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictTypeEntity.java
  71. 49
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLanguageEntity.java
  72. 71
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLogErrorEntity.java
  73. 63
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLogLoginEntity.java
  74. 82
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLogOperationEntity.java
  75. 83
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysMenuEntity.java
  76. 64
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysParamsEntity.java
  77. 77
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRegionEntity.java
  78. 67
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysResourceEntity.java
  79. 40
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRoleDataScopeEntity.java
  80. 61
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRoleEntity.java
  81. 36
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRoleMenuEntity.java
  82. 37
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRoleUserEntity.java
  83. 98
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysUserEntity.java
  84. 39
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysLogErrorExcel.java
  85. 37
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysLogLoginExcel.java
  86. 47
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysLogOperationExcel.java
  87. 29
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysParamsExcel.java
  88. 43
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysUserExcel.java
  89. 95
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/log/LogConsumer.java
  90. 58
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/redis/SysMenuRedis.java
  91. 45
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/redis/SysParamsRedis.java
  92. 48
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/redis/SysResourceRedis.java
  93. 33
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/NewsService.java
  94. 41
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDeptService.java
  95. 35
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java
  96. 42
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictTypeService.java
  97. 31
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysLanguageService.java
  98. 33
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysLogErrorService.java
  99. 32
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysLogLoginService.java
  100. 32
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysLogOperationService.java

565
db/mysql.sql

@ -0,0 +1,565 @@
create table sys_user
(
id bigint not null comment 'id',
username varchar(50) comment '用户名',
password varchar(100) comment '密码',
real_name varchar(50) comment '姓名',
head_url varchar(200) comment '头像',
gender tinyint(4) unsigned comment '性别 0:男 1:女 2:保密',
email varchar(100) comment '邮箱',
mobile varchar(20) comment '手机号',
dept_id bigint comment '部门ID',
super_admin tinyint unsigned comment '超级管理员 0:否 1:是',
status tinyint(4) unsigned comment '状态 0:停用 1:正常',
remark varchar(200) comment '备注',
del_flag tinyint(4) unsigned comment '删除标识 0:未删除 1:删除',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
updater bigint comment '更新者',
update_date datetime comment '更新时间',
primary key (id),
unique key uk_username (username),
key idx_del_flag (del_flag),
key idx_create_date (create_date)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='用户管理';
create table sys_dept
(
id bigint not null comment 'id',
pid bigint comment '上级ID',
pids varchar(500) comment '所有上级ID,用逗号分开',
name varchar(50) comment '部门名称',
sort int unsigned comment '排序',
del_flag tinyint(4) unsigned comment '删除标识 0:未删除 1:删除',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
updater bigint comment '更新者',
update_date datetime comment '更新时间',
primary key (id),
key idx_pid (pid),
key idx_del_flag (del_flag),
key idx_create_date (create_date)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='部门管理';
create table sys_menu
(
id bigint not null comment 'id',
pid bigint comment '上级ID,一级菜单为0',
url varchar(200) comment '菜单URL',
type tinyint unsigned comment '类型 0:菜单 1:按钮',
icon varchar(50) comment '菜单图标',
permissions varchar(32) comment '权限标识,如:sys:menu:save',
sort int(11) comment '排序',
del_flag tinyint(4) unsigned comment '删除标识 0:未删除 1:删除',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
updater bigint comment '更新者',
update_date datetime comment '更新时间',
primary key (id),
key idx_pid (pid),
key idx_del_flag (del_flag),
key idx_create_date (create_date)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='菜单管理';
create table sys_resource
(
id bigint not null comment 'id',
resource_code varchar(32) comment '资源编码,如菜单ID',
resource_name varchar(32) comment '资源名称',
resource_url varchar(100) comment '资源URL',
resource_method varchar(8) comment '请求方式(如:GET、POST、PUT、DELETE)',
menu_flag tinyint unsigned comment '菜单标识 0:非菜单资源 1:菜单资源',
auth_level tinyint unsigned comment '认证等级 0:权限认证 1:登录认证 2:无需认证',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
updater bigint comment '更新者',
update_date datetime comment '更新时间',
primary key (id),
key idx_resource_code (resource_code),
key idx_create_date (create_date)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='资源管理';
create table sys_role
(
id bigint not null comment 'id',
name varchar(32) comment '角色名称',
remark varchar(100) comment '备注',
del_flag tinyint(4) unsigned comment '删除标识 0:未删除 1:删除',
dept_id bigint comment '部门ID',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
updater bigint comment '更新者',
update_date datetime comment '更新时间',
primary key (id),
key idx_dept_id (dept_id),
key idx_del_flag (del_flag),
key idx_create_date (create_date)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='角色管理';
create table sys_role_user
(
id bigint not null comment 'id',
role_id bigint comment '角色ID',
user_id bigint comment '用户ID',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
primary key (id),
key idx_role_id (role_id),
key idx_user_id (user_id)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='角色用户关系';
create table sys_role_menu
(
id bigint not null comment 'id',
role_id bigint comment '角色ID',
menu_id bigint comment '菜单ID',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
primary key (id),
key idx_role_id (role_id),
key idx_menu_id (menu_id)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='角色菜单关系';
create table sys_role_data_scope
(
id bigint not null comment 'id',
role_id bigint comment '角色ID',
dept_id bigint comment '部门ID',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
primary key (id),
key idx_role_id (role_id)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='角色数据权限';
-- 字典类型
create table sys_dict_type
(
id bigint NOT NULL COMMENT 'id',
dict_type varchar(100) NOT NULL COMMENT '字典类型',
dict_name varchar(255) NOT NULL COMMENT '字典名称',
remark varchar(255) COMMENT '备注',
sort int unsigned COMMENT '排序',
creator bigint COMMENT '创建者',
create_date datetime COMMENT '创建时间',
updater bigint COMMENT '更新者',
update_date datetime COMMENT '更新时间',
primary key (id),
UNIQUE KEY(dict_type)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='字典类型';
-- 字典数据
create table sys_dict_data
(
id bigint NOT NULL COMMENT 'id',
dict_type_id bigint NOT NULL COMMENT '字典类型ID',
dict_label varchar(255) NOT NULL COMMENT '字典标签',
dict_value varchar(255) COMMENT '字典值',
remark varchar(255) COMMENT '备注',
sort int unsigned COMMENT '排序',
creator bigint COMMENT '创建者',
create_date datetime COMMENT '创建时间',
updater bigint COMMENT '更新者',
update_date datetime COMMENT '更新时间',
primary key (id),
unique key uk_dict_type_value (dict_type_id, dict_value),
key idx_sort (sort)
)ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='字典数据';
-- 行政区域
CREATE TABLE sys_region (
id bigint NOT NULL COMMENT 'id',
pid bigint COMMENT '上级ID,一级为0',
name varchar(100) COMMENT '名称',
tree_level tinyint COMMENT '层级',
leaf tinyint COMMENT '是否叶子节点 0:否 1:是',
sort bigint COMMENT '排序',
creator bigint COMMENT '创建者',
create_date datetime COMMENT '创建时间',
updater bigint COMMENT '更新者',
update_date datetime COMMENT '更新时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='行政区域';
create table sys_params
(
id bigint not null comment 'id',
param_code varchar(32) comment '参数编码',
param_value varchar(2000) comment '参数值',
param_type tinyint(4) unsigned default 1 comment '类型 0:系统参数 1:非系统参数',
remark varchar(200) comment '备注',
del_flag tinyint(4) unsigned comment '删除标识 0:未删除 1:删除',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
updater bigint comment '更新者',
update_date datetime comment '更新时间',
primary key (id),
unique key uk_param_code (param_code),
key idx_del_flag (del_flag),
key idx_create_date (create_date)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='参数管理';
create table sys_log_login
(
id bigint not null comment 'id',
operation tinyint unsigned comment '用户操作 0:用户登录 1:用户退出',
status tinyint unsigned not null comment '状态 0:失败 1:成功 2:账号已锁定',
user_agent varchar(500) comment '用户代理',
ip varchar(160) comment '操作IP',
creator_name varchar(50) comment '用户名',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
primary key (id),
key idx_status (status),
key idx_create_date (create_date)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='登录日志';
create table sys_log_operation
(
id bigint not null comment 'id',
module varchar(32) comment '模块名称,如:sys',
operation varchar(50) comment '用户操作',
request_uri varchar(200) comment '请求URI',
request_method varchar(20) comment '请求方式',
request_params text comment '请求参数',
request_time int unsigned not null comment '请求时长(毫秒)',
user_agent varchar(500) comment '用户代理',
ip varchar(160) comment '操作IP',
status tinyint(4) unsigned not null comment '状态 0:失败 1:成功',
creator_name varchar(50) comment '用户名',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
primary key (id),
key idx_module (module),
key idx_create_date (create_date)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='操作日志';
create table sys_log_error
(
id bigint not null comment 'id',
module varchar(50) comment '模块名称,如:sys',
request_uri varchar(200) comment '请求URI',
request_method varchar(20) comment '请求方式',
request_params text comment '请求参数',
user_agent varchar(500) comment '用户代理',
ip varchar(160) comment '操作IP',
error_info text comment '异常信息',
creator bigint comment '创建者',
create_date datetime comment '创建时间',
primary key (id),
key idx_module (module),
key idx_create_date (create_date)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='异常日志';
CREATE TABLE sys_language (
table_name varchar(32) NOT NULL COMMENT '表名',
table_id bigint NOT NULL COMMENT '表主键',
field_name varchar(32) NOT NULL COMMENT '字段名',
field_value varchar(200) NOT NULL COMMENT '字段值',
language varchar(10) NOT NULL COMMENT '语言',
primary key (table_name, table_id, field_name, language),
key idx_table_id (table_id)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='国际化';
-- 新闻管理
CREATE TABLE tb_news (
id bigint NOT NULL COMMENT 'id',
title varchar(255) NOT NULL COMMENT '标题',
content mediumtext NOT NULL COMMENT '内容',
pub_date datetime COMMENT '发布时间',
dept_id bigint COMMENT '创建者dept_id',
creator bigint COMMENT '创建者',
create_date datetime COMMENT '创建时间',
updater bigint COMMENT '更新者',
update_date datetime COMMENT '更新时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='新闻管理';
INSERT INTO sys_user(id, username, password, real_name, head_url, gender, email, mobile, dept_id, super_admin, status, remark, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000001, 'admin', '$2a$10$012Kx2ba5jzqr9gLlG4MX.bnQJTD9UWqF57XDo2N3.fPtLne02u/m', '超级管理员', NULL, 1, 'root@renren.io', '13512345678', NULL, 1, 1, NULL, 0, NULL, now(), NULL, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000002, 0, '', 0, 'icon-lock', '', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000003, 1067246875800000002, 'sys/user', 0, 'icon-user', '', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000004, 1067246875800000003, '', 1, '', 'sys:user:view', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000005, 1067246875800000003, '', 1, '', 'sys:user:save', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000006, 1067246875800000003, '', 1, '', 'sys:user:update', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000007, 1067246875800000003, '', 1, '', 'sys:user:delete', 3, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000008, 1067246875800000003, '', 1, '', 'sys:user:export', 4, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000009, 1067246875800000002, 'sys/dept', 0, 'icon-apartment', '', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000010, 1067246875800000009, '', 1, '', 'sys:dept:view', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000011, 1067246875800000009, '', 1, '', 'sys:dept:save', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000012, 1067246875800000009, '', 1, '', 'sys:dept:update', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000013, 1067246875800000009, '', 1, '', 'sys:dept:delete', 3, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000014, 1067246875800000002, 'sys/role', 0, 'icon-team', '', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000015, 1067246875800000014, '', 1, '', 'sys:role:view', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000016, 1067246875800000014, '', 1, '', 'sys:role:save', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000017, 1067246875800000014, '', 1, '', 'sys:role:update', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000018, 1067246875800000014, '', 1, '', 'sys:role:delete', 3, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000019, 0, '', 0, 'icon-setting', NULL, 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000020, 1067246875800000019, 'sys/menu', 0, 'icon-unorderedlist', NULL, 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000021, 1067246875800000020, NULL, 1, NULL, 'sys:menu:view', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000022, 1067246875800000020, NULL, 1, NULL, 'sys:menu:save', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000023, 1067246875800000020, NULL, 1, NULL, 'sys:menu:update', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000024, 1067246875800000020, NULL, 1, NULL, 'sys:menu:delete', 3, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000025, 1067246875800000019, 'sys/params', 0, 'icon-fileprotect', '', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000026, 1067246875800000025, NULL, 1, NULL, 'sys:params:view', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000027, 1067246875800000025, NULL, 1, NULL, 'sys:params:save', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000028, 1067246875800000025, NULL, 1, NULL, 'sys:params:update', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000029, 1067246875800000025, NULL, 1, NULL, 'sys:params:delete', 3, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000030, 1067246875800000025, '', 1, NULL, 'sys:params:export', 4, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000031, 1067246875800000019, 'sys/dict-type', 0, 'icon-gold', '', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000032, 1067246875800000031, '', 1, '', 'sys:dict:view', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000033, 1067246875800000031, '', 1, '', 'sys:dict:save', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000034, 1067246875800000031, '', 1, '', 'sys:dict:update', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000035, 1067246875800000031, '', 1, '', 'sys:dict:delete', 3, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000036, 0, '', 0, 'icon-container', '', 4, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000037, 1067246875800000036, 'sys/log-login', 0, 'icon-filedone', '', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000038, 1067246875800000036, 'sys/log-operation', 0, 'icon-solution', '', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000039, 1067246875800000036, 'sys/log-error', 0, 'icon-file-exception', '', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000040, 0, '', 0, 'icon-desktop', '', 5, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000041, 1067246875800000040, '{{ window.SITE_CONFIG["apiURL"] }}/monitor', 0, 'icon-medicinebox', '', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000042, 1067246875800000040, '{{ window.SITE_CONFIG["apiURL"] }}/swagger-ui.html', 0, 'icon-file-word', '', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1164489061834969089, 1067246875800000019, 'sys/region', 0, 'icon-location', '0', 3, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1164492214366130178, 1164489061834969089, '', 1, '', 'sys:region:view', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1164492872829915138, 1164489061834969089, '', 1, '', 'sys:region:save', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1164493252347318273, 1164489061834969089, '', 1, '', 'sys:region:update', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1164493391254278145, 1164489061834969089, '', 1, '', 'sys:region:delete', 3, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1176372255559024642, 0, '', 0, 'icon-windows', '', 999, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_menu(id, pid, url, type, icon, permissions, sort, del_flag, creator, create_date, updater, update_date) VALUES (1206460008292216834, 1176372255559024642, 'sys/news', 0, 'icon-file-word', '', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000002, 'name', '权限管理', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000002, 'name', '權限管理', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000002, 'name', 'Authority Management', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000003, 'name', '用户管理', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000003, 'name', '用戶管理', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000003, 'name', 'User Management', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000004, 'name', 'View', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000004, 'name', '查看', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000004, 'name', '查看', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000005, 'name', 'Add', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000005, 'name', '新增', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000005, 'name', '新增', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000006, 'name', 'Edit', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000006, 'name', '修改', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000006, 'name', '修改', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000007, 'name', 'Delete', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000007, 'name', '删除', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000007, 'name', '刪除', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000008, 'name', 'Export', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000008, 'name', '导出', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000008, 'name', '導出', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000009, 'name', 'Department Management', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000009, 'name', '部门管理', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000009, 'name', '部門管理', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000010, 'name', 'View', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000010, 'name', '查看', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000010, 'name', '查看', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000011, 'name', 'Add', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000011, 'name', '新增', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000011, 'name', '新增', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000012, 'name', 'Edit', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000012, 'name', '修改', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000012, 'name', '修改', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000013, 'name', 'Delete', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000013, 'name', '删除', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000013, 'name', '刪除', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000014, 'name', 'Role Management', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000014, 'name', '角色管理', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000014, 'name', '角色管理', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000015, 'name', 'View', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000015, 'name', '查看', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000015, 'name', '查看', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000016, 'name', 'Add', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000016, 'name', '新增', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000016, 'name', '新增', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000017, 'name', 'Edit', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000017, 'name', '修改', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000017, 'name', '修改', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000018, 'name', 'Delete', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000018, 'name', '删除', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000018, 'name', '刪除', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000019, 'name', 'Setting', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000019, 'name', '系统设置', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000019, 'name', '系統設置', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000020, 'name', 'Menu Management', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000020, 'name', '菜单管理', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000020, 'name', '菜單管理', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000021, 'name', 'View', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000021, 'name', '查看', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000021, 'name', '查看', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000022, 'name', 'Add', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000022, 'name', '新增', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000022, 'name', '新增', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000023, 'name', 'Edit', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000023, 'name', '修改', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000023, 'name', '修改', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000024, 'name', 'Delete', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000024, 'name', '删除', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000024, 'name', '刪除', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000025, 'name', 'Parameter Management', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000025, 'name', '参数管理', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000025, 'name', '參數管理', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000026, 'name', 'View', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000026, 'name', '查看', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000026, 'name', '查看', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000027, 'name', 'Add', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000027, 'name', '新增', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000027, 'name', '新增', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000028, 'name', 'Edit', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000028, 'name', '修改', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000028, 'name', '修改', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000029, 'name', 'Delete', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000029, 'name', '删除', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000029, 'name', '刪除', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000030, 'name', 'Export', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000030, 'name', '导出', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000030, 'name', '導出', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000031, 'name', 'Dict Management', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000031, 'name', '字典管理', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000031, 'name', '字典管理', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000032, 'name', 'View', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000032, 'name', '查看', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000032, 'name', '查看', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000033, 'name', 'Add', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000033, 'name', '新增', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000033, 'name', '新增', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000034, 'name', 'Edit', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000034, 'name', '修改', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000034, 'name', '修改', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000035, 'name', 'Delete', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000035, 'name', '删除', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000035, 'name', '刪除', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000036, 'name', 'Log Management', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000036, 'name', '日志管理', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000036, 'name', '日誌管理', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000037, 'name', 'Login Log', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000037, 'name', '登录日志', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000037, 'name', '登錄日誌', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000038, 'name', 'Operation Log', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000038, 'name', '操作日志', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000038, 'name', '操作日誌', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000039, 'name', 'Error Log', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000039, 'name', '异常日志', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000039, 'name', '異常日誌', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000040, 'name', 'System Monitoring', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000040, 'name', '系统监控', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000040, 'name', '系統監控', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000041, 'name', 'Service Monitoring', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000041, 'name', '服务监控', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000041, 'name', '服務監控', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000042, 'name', 'Swagger Api', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000042, 'name', '接口文档', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1067246875800000042, 'name', '接口文檔', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164489061834969089, 'name', 'Administrative Regions', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164489061834969089, 'name', '行政区域', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164489061834969089, 'name', '行政區域', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164492214366130178, 'name', 'View', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164492214366130178, 'name', '查看', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164492214366130178, 'name', '查看', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164492872829915138, 'name', 'Add', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164492872829915138, 'name', '新增', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164492872829915138, 'name', '新增', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164493252347318273, 'name', 'Edit', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164493252347318273, 'name', '修改', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164493252347318273, 'name', '修改', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164493391254278145, 'name', 'Delete', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164493391254278145, 'name', '删除', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1164493391254278145, 'name', '刪除', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1176372255559024642, 'name', 'Demo', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1176372255559024642, 'name', '功能示例', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1176372255559024642, 'name', '功能示例', 'zh-TW');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1206460008292216834, 'name', 'News Management', 'en-US');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1206460008292216834, 'name', '新闻管理', 'zh-CN');
INSERT INTO sys_language(table_name, table_id, field_name, field_value, language) VALUES ('sys_menu', 1206460008292216834, 'name', '新聞管理', 'zh-TW');
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000073, 1067246875800000017, '修改', '/sys/menu/select', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000074, 'nav', '导航', '/sys/menu/nav', 'GET', 1, 1, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000075, 1067246875800000037, '登录日志', '/sys/log/login/**', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000076, 1067246875800000005, '新增', '/sys/role/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000078, 1067246875800000026, '查看', '/sys/params/page', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000079, 1067246875800000005, '新增', '/sys/dept/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000080, 1067246875800000028, '修改', '/sys/params/{id}', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000081, 1067246875800000018, '删除', '/sys/role', 'DELETE', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000082, 'user_info', '登录账号信息', '/sys/user/info', 'GET', 1, 1, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000083, 1067246875800000022, '新增', '/sys/menu', 'POST', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000084, 1067246875800000030, '导出', '/sys/params/export', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000085, 1067246875800000007, '删除', '/sys/user', 'DELETE', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000087, 'permissions', '权限', '/sys/menu/permissions', 'GET', 1, 1, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000088, 1067246875800000004, '查看', '/sys/user/page', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000089, 1067246875800000029, '删除', '/sys/params', 'DELETE', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000090, 1067246875800000006, '修改', '/sys/user', 'PUT', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000091, 1067246875800000011, '新增', '/sys/dept', 'POST', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000092, 1067246875800000016, '新增', '/sys/dept/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000093, 1067246875800000016, '新增', '/sys/menu/select', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000094, 1067246875800000012, '修改', '/sys/dept', 'PUT', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000095, 1067246875800000023, '修改', '/sys/menu', 'PUT', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000097, 1067246875800000010, '查看', '/sys/dept/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000098, 1067246875800000006, '修改', '/sys/user/{id}', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000100, 1067246875800000005, '新增', '/sys/user', 'POST', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000101, 1067246875800000017, '修改', '/sys/dept/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000102, 1067246875800000017, '修改', '/sys/role/{id}', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000103, 1067246875800000016, '新增', '/sys/role', 'POST', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000104, 1067246875800000006, '修改', '/sys/dept/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000105, 1067246875800000023, '修改', '/sys/menu/{id}', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000106, 1067246875800000017, '修改', '/sys/role', 'PUT', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000107, 1067246875800000021, '查看', '/sys/menu/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000108, 1067246875800000013, '删除', '/sys/dept/{id}', 'DELETE', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000109, 1067246875800000028, '修改', '/sys/params/update', 'PUT', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000111, 1067246875800000038, '操作日志', '/sys/log/operation/**', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000112, 1067246875800000008, '导出', '/sys/user/export', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000113, 1067246875800000015, '查看', '/sys/role/page', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000114, 1067246875800000024, '删除', '/sys/menu/{id}', 'DELETE', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000115, 1067246875800000006, '修改', '/sys/role/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000116, 1067246875800000012, '修改', '/sys/dept/{id}', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000117, 1067246875800000039, '异常日志', '/sys/log/error/**', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1067246875800000118, 1067246875800000027, '新增', '/sys/params', 'POST', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164484970899591170, '1067246875800000032', '查看', '/sys/dict/type/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164484971033808897, '1067246875800000032', '查看', '/sys/dict/data/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164484971168026626, '1067246875800000032', '查看', '/sys/dict/type/page', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164484971306438658, '1067246875800000032', '查看', '/sys/dict/data/page', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164485074578591745, '1067246875800000033', '新增', '/sys/dict/type', 'POST', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164485074884775938, '1067246875800000033', '新增', '/sys/dict/data', 'POST', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164485377499615234, '1067246875800000034', '修改', '/sys/dict/type/{id}', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164485377658998785, '1067246875800000034', '修改', '/sys/dict/data/{id}', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164485377801605121, '1067246875800000034', '修改', '/sys/dict/type', 'PUT', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164485377919045634, '1067246875800000034', '修改', '/sys/dict/data', 'PUT', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164485451738796033, '1067246875800000035', '删除', '/sys/dict/type', 'DELETE', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164485451873013762, '1067246875800000035', '删除', '/sys/dict/data', 'DELETE', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164797969766023169, 'all_dict', '全部字典', '/sys/dict/type/all', 'GET', 1, 1, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164492579039891457, '1164492214366130178', '查看', '/sys/region/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164492873219985409, '1164492872829915138', '新增', '/sys/region', 'POST', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164493252758360066, '1164493252347318273', '修改', '/sys/region/{id}', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164493252884189186, '1164493252347318273', '修改', '/sys/region', 'PUT', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1164493391648542721, '1164493391254278145', '删除', '/sys/region/{id}', 'DELETE', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1203701983399669761, '1176372255559024642', '新闻管理', '/sys/demo', 'GET', 1, 1, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1203714104359473153, '1176372255559024642', '新闻管理', '/sys/demo/list', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1203714169761177602, '1176372255559024642', '新闻管理', '/sys/demo', 'POST', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1203714551992320002, '1176372255559024642', '新闻管理', '/sys/demo/{id}', 'GET', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1203714594015051777, '1176372255559024642', '新闻管理', '/sys/demo', 'PUT', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_resource(id, resource_code, resource_name, resource_url, resource_method, menu_flag, auth_level, creator, create_date, updater, update_date) VALUES (1206450581342326785, '1176372255559024642', '新闻管理', '/sys/demo/{id}', 'DELETE', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dept(id, pid, pids, name, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000061, 1067246875800000062, '1067246875800000065,1067246875800000062', '技术部', 2, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dept(id, pid, pids, name, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000062, 1067246875800000065, '1067246875800000065', '长沙分公司', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dept(id, pid, pids, name, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000063, 1067246875800000065, '1067246875800000065', '上海分公司', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dept(id, pid, pids, name, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000064, 1067246875800000063, '1067246875800000065,1067246875800000063', '市场部', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dept(id, pid, pids, name, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000065, 0, '0', '人人开源集团', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dept(id, pid, pids, name, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000066, 1067246875800000063, '1067246875800000065,1067246875800000063', '销售部', 0, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dept(id, pid, pids, name, sort, del_flag, creator, create_date, updater, update_date) VALUES (1067246875800000067, 1067246875800000062, '1067246875800000065,1067246875800000062', '产品部', 1, 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dict_type(id, dict_type, dict_name, remark, sort, creator, create_date, updater, update_date) VALUES (1160061077912858625, 'gender', '性别', '', 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dict_data(id, dict_type_id, dict_label, dict_value, remark, sort, creator, create_date, updater, update_date) VALUES (1160061112075464705, 1160061077912858625, '', '0', '', 0, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dict_data(id, dict_type_id, dict_label, dict_value, remark, sort, creator, create_date, updater, update_date) VALUES (1160061146967879681, 1160061077912858625, '', '1', '', 1, 1067246875800000001, now(), 1067246875800000001, now());
INSERT INTO sys_dict_data(id, dict_type_id, dict_label, dict_value, remark, sort, creator, create_date, updater, update_date) VALUES (1160061190127267841, 1160061077912858625, '保密', '2', '', 2, 1067246875800000001, now(), 1067246875800000001, now());

BIN
doc/renren-cloud(后端文档).pdf

Binary file not shown.

BIN
doc/renren-cloud-admin(前端文档).pdf

Binary file not shown.

BIN
doc/系统构架文档.pdf

Binary file not shown.

35
epmet-admin/epmet-admin-client/pom.xml

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-admin</artifactId>
<version>2.0.0</version>
</parent>
<artifactId>epmet-admin-client</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-tools</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

29
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/MenuResourceDTO.java

@ -0,0 +1,29 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 菜单资源
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@ApiModel(value = "菜单资源")
public class MenuResourceDTO {
@ApiModelProperty(value = "资源URL")
private String resourceUrl;
@ApiModelProperty(value = "请求方式(如:GET、POST、PUT、DELETE)")
private String resourceMethod;
}

54
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/NewsDTO.java

@ -0,0 +1,54 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;
/**
* 新闻管理
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@ApiModel(value = "新闻管理")
public class NewsDTO implements Serializable {
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
@NotNull(message="{id.require}", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty(value = "标题")
@NotBlank(message="{news.title.require}", groups = DefaultGroup.class)
private String title;
@ApiModelProperty(value = "内容")
@NotBlank(message="{news.content.require}", groups = DefaultGroup.class)
private String content;
@ApiModelProperty(value = "发布时间")
private Date pubDate;
@ApiModelProperty(value = "创建时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
}

37
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/PasswordDTO.java

@ -0,0 +1,37 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 修改密码
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@ApiModel(value = "修改密码")
public class PasswordDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "原密码")
@NotBlank(message="{sysuser.password.require}")
private String password;
@ApiModelProperty(value = "新密码")
@NotBlank(message="{sysuser.password.require}")
private String newPassword;
}

106
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDeptDTO.java

@ -0,0 +1,106 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.epmet.commons.tools.utils.TreeNode;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;
/**
* 部门管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@ApiModel(value = "部门管理")
public class SysDeptDTO extends TreeNode implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
@NotNull(message="{id.require}", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty(value = "上级ID")
@NotNull(message="{sysdept.pid.require}", groups = DefaultGroup.class)
private Long pid;
@ApiModelProperty(value = "部门名称")
@NotBlank(message="{sysdept.name.require}", groups = DefaultGroup.class)
private String name;
@ApiModelProperty(value = "排序")
@Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class)
private Integer sort;
@ApiModelProperty(value = "创建时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
@ApiModelProperty(value = "上级部门名称")
private String parentName;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public Integer getSort() {
return sort;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getCreateDate() {
return createDate;
}
public String getParentName() {
return parentName;
}
public void setParentName(String parentName) {
this.parentName = parentName;
}
@Override
public Long getId() {
return id;
}
@Override
public void setId(Long id) {
this.id = id;
}
@Override
public Long getPid() {
return pid;
}
@Override
public void setPid(Long pid) {
this.pid = pid;
}
}

66
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java

@ -0,0 +1,66 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;
/**
* 字典数据
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@ApiModel(value = "字典数据")
public class SysDictDataDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
@NotNull(message="{id.require}", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty(value = "字典类型ID")
@NotNull(message="{sysdict.type.require}", groups = DefaultGroup.class)
private Long dictTypeId;
@ApiModelProperty(value = "字典标签")
@NotBlank(message="{sysdict.label.require}", groups = DefaultGroup.class)
private String dictLabel;
@ApiModelProperty(value = "字典值")
private String dictValue;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "排序")
@Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class)
private Integer sort;
@ApiModelProperty(value = "创建时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
@ApiModelProperty(value = "更新时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date updateDate;
}

63
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java

@ -0,0 +1,63 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;
/**
* 字典类型
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@ApiModel(value = "字典类型")
public class SysDictTypeDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
@NotNull(message="{id.require}", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty(value = "字典类型")
@NotBlank(message="{sysdict.type.require}", groups = DefaultGroup.class)
private String dictType;
@ApiModelProperty(value = "字典名称")
@NotBlank(message="{sysdict.name.require}", groups = DefaultGroup.class)
private String dictName;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "排序")
@Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class)
private Integer sort;
@ApiModelProperty(value = "创建时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
@ApiModelProperty(value = "更新时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date updateDate;
}

48
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysLogErrorDTO.java

@ -0,0 +1,48 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 异常日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@ApiModel(value = "异常日志")
public class SysLogErrorDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
private Long id;
@ApiModelProperty(value = "模块名称,如:sys")
private String module;
@ApiModelProperty(value = "请求URI")
private String requestUri;
@ApiModelProperty(value = "请求方式")
private String requestMethod;
@ApiModelProperty(value = "请求参数")
private String requestParams;
@ApiModelProperty(value = "用户代理")
private String userAgent;
@ApiModelProperty(value = "操作IP")
private String ip;
@ApiModelProperty(value = "异常信息")
private String errorInfo;
@ApiModelProperty(value = "创建时间")
private Date createDate;
}

50
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysLogLoginDTO.java

@ -0,0 +1,50 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 登录日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@ApiModel(value = "登录日志")
public class SysLogLoginDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
private Long id;
@ApiModelProperty(value = "用户操作 0:用户登录 1:用户退出")
private Integer operation;
@ApiModelProperty(value = "状态 0:失败 1:成功 2:账号已锁定")
private Integer status;
@ApiModelProperty(value = "用户代理")
private String userAgent;
@ApiModelProperty(value = "操作IP")
private String ip;
@ApiModelProperty(value = "用户名")
private String creatorName;
@ApiModelProperty(value = "创建时间")
private Date createDate;
}

65
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysLogOperationDTO.java

@ -0,0 +1,65 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 操作日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@ApiModel(value = "操作日志")
public class SysLogOperationDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
private Long id;
@ApiModelProperty(value = "模块名称,如:sys")
private String module;
@ApiModelProperty(value = "用户操作")
private String operation;
@ApiModelProperty(value = "请求URI")
private String requestUri;
@ApiModelProperty(value = "请求方式")
private String requestMethod;
@ApiModelProperty(value = "请求参数")
private String requestParams;
@ApiModelProperty(value = "请求时长(毫秒)")
private Integer requestTime;
@ApiModelProperty(value = "用户代理")
private String userAgent;
@ApiModelProperty(value = "操作IP")
private String ip;
@ApiModelProperty(value = "状态 0:失败 1:成功")
private Integer status;
@ApiModelProperty(value = "用户名")
private String creatorName;
@ApiModelProperty(value = "创建时间")
private Date createDate;
}

158
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysMenuDTO.java

@ -0,0 +1,158 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.epmet.commons.tools.utils.TreeNode;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 菜单管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@ApiModel(value = "菜单管理")
public class SysMenuDTO extends TreeNode<SysMenuDTO> implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
@NotNull(message="{id.require}", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty(value = "上级ID")
@NotNull(message="{sysmenu.pid.require}", groups = DefaultGroup.class)
private Long pid;
@ApiModelProperty(value = "菜单名称")
@NotBlank(message="{sysmenu.name.require}", groups = DefaultGroup.class)
private String name;
@ApiModelProperty(value = "菜单URL")
private String url;
@ApiModelProperty(value = "类型 0:菜单 1:按钮")
@Range(min=0, max=1, message = "{sysmenu.type.range}", groups = DefaultGroup.class)
private Integer type;
@ApiModelProperty(value = "菜单图标")
private String icon;
@ApiModelProperty(value = "权限标识,如:sys:menu:save")
private String permissions;
@ApiModelProperty(value = "排序")
@Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class)
private Integer sort;
@ApiModelProperty(value = "创建时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
@ApiModelProperty(value = "菜单资源")
private List<MenuResourceDTO> resourceList;
@ApiModelProperty(value = "上级菜单名称")
private String parentName;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setUrl(String url) {
this.url = url;
}
public String getUrl() {
return url;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getType() {
return type;
}
public void setIcon(String icon) {
this.icon = icon;
}
public String getIcon() {
return icon;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public Integer getSort() {
return sort;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getCreateDate() {
return createDate;
}
public String getPermissions() {
return permissions;
}
public void setPermissions(String permissions) {
this.permissions = permissions;
}
public List<MenuResourceDTO> getResourceList() {
return resourceList;
}
public void setResourceList(List<MenuResourceDTO> resourceList) {
this.resourceList = resourceList;
}
@Override
public Long getId() {
return id;
}
@Override
public void setId(Long id) {
this.id = id;
}
@Override
public Long getPid() {
return pid;
}
@Override
public void setPid(Long pid) {
this.pid = pid;
}
public String getParentName() {
return parentName;
}
public void setParentName(String parentName) {
this.parentName = parentName;
}
}

60
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysParamsDTO.java

@ -0,0 +1,60 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;
/**
* 参数管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@ApiModel(value = "参数管理")
public class SysParamsDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
@NotNull(message="{id.require}", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty(value = "参数编码")
@NotBlank(message="{sysparams.paramcode.require}", groups = DefaultGroup.class)
private String paramCode;
@ApiModelProperty(value = "参数值")
@NotBlank(message="{sysparams.paramvalue.require}", groups = DefaultGroup.class)
private String paramValue;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "创建时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
@ApiModelProperty(value = "更新时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date updateDate;
}

62
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysRegionDTO.java

@ -0,0 +1,62 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* 行政区域
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@ApiModel(value = "行政区域")
public class SysRegionDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "区域标识")
@NotNull(message="{id.require}", groups = DefaultGroup.class)
private Long id;
@ApiModelProperty(value = "上级区域ID")
@NotNull(message="{region.pid.require}", groups = DefaultGroup.class)
private Long pid;
@ApiModelProperty(value = "区域名称")
@NotBlank(message="{region.name.require}", groups = DefaultGroup.class)
private String name;
@ApiModelProperty(value = "排序")
@Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class)
private Long sort;
@ApiModelProperty(value = "上级区域名称")
private String parentName;
@ApiModelProperty(value = "是否有子节点")
private Boolean hasChildren;
@ApiModelProperty(value = "层级")
private Integer treeLevel;
@ApiModelProperty(value = "更新时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date updateDate;
}

59
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysRoleDTO.java

@ -0,0 +1,59 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 角色管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@ApiModel(value = "角色管理")
public class SysRoleDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
@NotNull(message="{id.require}", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty(value = "角色名称")
@NotBlank(message="{sysrole.name.require}", groups = DefaultGroup.class)
private String name;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "创建时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
@ApiModelProperty(value = "菜单ID列表")
private List<Long> menuIdList;
@ApiModelProperty(value = "部门ID列表")
private List<Long> deptIdList;
}

98
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysUserDTO.java

@ -0,0 +1,98 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 用户管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@ApiModel(value = "用户管理")
public class SysUserDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
@NotNull(message="{id.require}", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty(value = "用户名", required = true)
@NotBlank(message="{sysuser.username.require}", groups = DefaultGroup.class)
private String username;
@ApiModelProperty(value = "密码")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
@NotBlank(message="{sysuser.password.require}", groups = AddGroup.class)
private String password;
@ApiModelProperty(value = "姓名", required = true)
@NotBlank(message="{sysuser.realname.require}", groups = DefaultGroup.class)
private String realName;
@ApiModelProperty(value = "头像")
private String headUrl;
@ApiModelProperty(value = "性别 0:男 1:女 2:保密", required = true)
@Range(min=0, max=2, message = "{sysuser.gender.range}", groups = DefaultGroup.class)
private Integer gender;
@ApiModelProperty(value = "邮箱", required = true)
@NotBlank(message="{sysuser.email.require}", groups = DefaultGroup.class)
@Email(message="{sysuser.email.error}", groups = DefaultGroup.class)
private String email;
@ApiModelProperty(value = "手机号", required = true)
@NotBlank(message="{sysuser.mobile.require}", groups = DefaultGroup.class)
private String mobile;
@ApiModelProperty(value = "部门ID", required = true)
@NotNull(message="{sysuser.deptId.require}", groups = DefaultGroup.class)
private Long deptId;
@ApiModelProperty(value = "超级管理员 0:否 1:是")
@Range(min=0, max=1, message = "{sysuser.superadmin.range}", groups = DefaultGroup.class)
private Integer superAdmin;
@ApiModelProperty(value = "状态 0:停用 1:正常", required = true)
@Range(min=0, max=1, message = "{sysuser.status.range}", groups = DefaultGroup.class)
private Integer status;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "创建时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
@ApiModelProperty(value = "角色ID列表")
private List<Long> roleIdList;
@ApiModelProperty(value = "部门名称")
private String deptName;
}

36
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/Region.java

@ -0,0 +1,36 @@
/**
* Copyright (c) 2019 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.dto.region;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 地区管理
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@ApiModel(value = "地区管理")
public class Region implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "地区ID")
private Long id;
@JsonIgnore
private Long pid;
@ApiModelProperty(value = "名称")
private String name;
}

30
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/RegionCity.java

@ -0,0 +1,30 @@
/**
* Copyright (c) 2019 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.dto.region;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
/**
*
*
* @author Mark sunlightcs@gmail.com
*/
@ApiModel(value = "市")
@Data
@EqualsAndHashCode(callSuper = true)
public class RegionCity extends Region {
@ApiModelProperty(value = "区、县列表")
private List<Region> counties = new ArrayList<>();
}

30
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/RegionProvince.java

@ -0,0 +1,30 @@
/**
* Copyright (c) 2019 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.dto.region;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
/**
*
*
* @author Mark sunlightcs@gmail.com
*/
@ApiModel(value = "省")
@Data
@EqualsAndHashCode(callSuper = true)
public class RegionProvince extends Region {
@ApiModelProperty(value = "市列表")
private List<Region> cities = new ArrayList<>();
}

36
epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/MenuFlagEnum.java

@ -0,0 +1,36 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.enums;
/**
* 菜单资源标识
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public enum MenuFlagEnum {
/**
* 菜单资源
*/
YES(1),
/**
* 非菜单资源
*/
NO(0);
private int value;
MenuFlagEnum(int value) {
this.value = value;
}
public int value() {
return this.value;
}
}

36
epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/MenuTypeEnum.java

@ -0,0 +1,36 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.enums;
/**
* 菜单类型枚举
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public enum MenuTypeEnum {
/**
* 菜单
*/
MENU(0),
/**
* 按钮
*/
BUTTON(1);
private int value;
MenuTypeEnum(int value) {
this.value = value;
}
public int value() {
return this.value;
}
}

29
epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/RegionLeafEnum.java

@ -0,0 +1,29 @@
/**
* Copyright (c) 2019 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.enums;
/**
* 叶子节点枚举
*
* @author Mark sunlightcs@gmail.com
*/
public enum RegionLeafEnum {
YES(1),
NO(0);
private int value;
RegionLeafEnum(int value) {
this.value = value;
}
public int value() {
return this.value;
}
}

30
epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/RegionLevelEnum.java

@ -0,0 +1,30 @@
/**
* Copyright (c) 2019 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.enums;
/**
* 行政区域 级别枚举
*
* @author Mark sunlightcs@gmail.com
*/
public enum RegionLevelEnum {
ONE(1),
TWO(2),
THREE(3);
private int value;
RegionLevelEnum(int value) {
this.value = value;
}
public int value() {
return this.value;
}
}

30
epmet-admin/epmet-admin-client/src/main/java/com/epmet/enums/UserStatusEnum.java

@ -0,0 +1,30 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.enums;
/**
* 用户状态
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public enum UserStatusEnum {
DISABLE(0),
ENABLED(1);
private int value;
UserStatusEnum(int value) {
this.value = value;
}
public int value() {
return this.value;
}
}

44
epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/ParamsFeignClient.java

@ -0,0 +1,44 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.feign.fallback.ParamsFeignClientFallback;
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.PutMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 参数接口
*
* @author Mark sunlightcs@gmail.com
* @since 1.1.0
*/
@FeignClient(name = ServiceConstant.EPMET_ADMIN_SERVER, fallback = ParamsFeignClientFallback.class)
public interface ParamsFeignClient {
/**
* 根据参数编码获取参数值
* @param paramCode 参数编码
* @return 返回参数值
*/
@GetMapping("sys/params/code/{paramCode}")
String getValue(@PathVariable("paramCode") String paramCode);
/**
* 根据参数编码更新参数值
* @param paramCode 参数编码
* @param paramValue 参数值
*/
@PutMapping("sys/params/code/{paramCode}")
void updateValueByCode(@PathVariable("paramCode") String paramCode, @RequestParam("paramValue") String paramValue);
}

32
epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/fallback/ParamsFeignClientFallback.java

@ -0,0 +1,32 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.feign.fallback;
import com.epmet.feign.ParamsFeignClient;
import org.springframework.stereotype.Component;
/**
* 参数接口 Fallback
*
* @author Mark sunlightcs@gmail.c om
* @since 1.1.0
*/
@Component
public class ParamsFeignClientFallback implements ParamsFeignClient {
@Override
public String getValue(String paramCode) {
return null;
}
@Override
public void updateValueByCode(String paramCode, String paramValue) {
}
}

57
epmet-admin/epmet-admin-client/src/main/java/com/epmet/remote/ParamsRemoteService.java

@ -0,0 +1,57 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.remote;
import com.alibaba.fastjson.JSON;
import com.epmet.feign.ParamsFeignClient;
import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.exception.RenException;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 参数
*
* @author Mark sunlightcs@gmail.com
* @since 1.1.0
*/
@Component
public class ParamsRemoteService {
@Autowired
private ParamsFeignClient paramsFeignClient;
/**
* 根据参数编码获取value的Object对象
* @param paramCode 参数编码
* @param clazz Object对象
*/
public <T> T getValueObject(String paramCode, Class<T> clazz) {
String paramValue = paramsFeignClient.getValue(paramCode);
if(StringUtils.isNotBlank(paramValue)){
return JSON.parseObject(paramValue, clazz);
}
try {
return clazz.newInstance();
} catch (Exception e) {
throw new RenException(ErrorCode.PARAMS_GET_ERROR);
}
}
/**
* 根据参数编码更新value
* @param paramCode 参数编码
* @param paramValue 参数值
*/
public void updateValueByCode(String paramCode, String paramValue){
paramsFeignClient.updateValueByCode(paramCode, paramValue);
}
}

140
epmet-admin/epmet-admin-server/pom.xml

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-admin</artifactId>
<version>2.0.0</version>
</parent>
<artifactId>epmet-admin-server</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-admin-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-mybatis</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-dynamic-datasource</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources</directory>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.port>8082</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_admin?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>122.152.200.70</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8082</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_admin?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>122.152.200.70</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

27
epmet-admin/epmet-admin-server/src/main/java/com/epmet/AdminApplication.java

@ -0,0 +1,27 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 管理后台
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@SpringBootApplication
public class AdminApplication {
public static void main(String[] args) {
SpringApplication.run(AdminApplication.class, args);
}
}

26
epmet-admin/epmet-admin-server/src/main/java/com/epmet/config/ModuleConfigImpl.java

@ -0,0 +1,26 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.config;
import com.epmet.commons.tools.config.ModuleConfig;
import org.springframework.stereotype.Service;
/**
* 模块配置信息
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Service
public class ModuleConfigImpl implements ModuleConfig {
@Override
public String getName() {
return "sys";
}
}

68
epmet-admin/epmet-admin-server/src/main/java/com/epmet/config/SwaggerConfig.java

@ -0,0 +1,68 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.config;
import com.epmet.commons.tools.constant.Constant;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.List;
import static com.google.common.collect.Lists.newArrayList;
/**
* Swagger配置
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//加了ApiOperation注解的类,才生成接口文档
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
//包下的类,才生成接口文档
//.apis(RequestHandlerSelectors.basePackage("io.renren.controller"))
.paths(PathSelectors.any())
.build()
.directModelSubstitute(java.util.Date.class, String.class)
.securitySchemes(security());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("人人开源")
.description("系统模块开发文档")
.termsOfServiceUrl("https://www.renren.io/community")
.version("1.4.0")
.build();
}
private List<ApiKey> security() {
return newArrayList(
new ApiKey(Constant.TOKEN_HEADER, Constant.TOKEN_HEADER, "header")
);
}
}

102
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/NewsController.java

@ -0,0 +1,102 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.NewsDTO;
import com.epmet.service.NewsService;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Arrays;
import java.util.Map;
/**
* 新闻
*
* @author Mark sunlightcs@gmail.com
*/
@RestController
@RequestMapping("news")
@Api(tags="新闻管理")
public class NewsController {
@Autowired
private NewsService newsService;
@GetMapping("page")
@ApiOperation("分页")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = "title", value = "标题", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "startDate", value = "开始时间", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "endDate", value = "结束时间", paramType = "query", dataType="String")
})
public Result<PageData<NewsDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<NewsDTO> page = newsService.page(params);
return new Result<PageData<NewsDTO>>().ok(page);
}
@ApiOperation("信息")
@GetMapping("{id}")
public Result<NewsDTO> info(@PathVariable("id") Long id){
NewsDTO news = newsService.get(id);
return new Result<NewsDTO>().ok(news);
}
@PostMapping
@ApiOperation("保存")
public Result save(NewsDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
newsService.save(dto);
return new Result();
}
@PutMapping
@ApiOperation("修改")
public Result update(NewsDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
newsService.update(dto);
return new Result();
}
@DeleteMapping
@ApiOperation("删除")
public Result delete(@RequestBody Long[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
newsService.deleteBatchIds(Arrays.asList(ids));
return new Result();
}
}

92
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDeptController.java

@ -0,0 +1,92 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.SysDeptDTO;
import com.epmet.service.SysDeptService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
/**
* 部门管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestController
@RequestMapping("dept")
@Api(tags="部门管理")
public class SysDeptController {
@Autowired
private SysDeptService sysDeptService;
@GetMapping("list")
@ApiOperation("列表")
public Result<List<SysDeptDTO>> list(){
List<SysDeptDTO> list = sysDeptService.list(new HashMap<>(1));
return new Result<List<SysDeptDTO>>().ok(list);
}
@GetMapping("{id}")
@ApiOperation("信息")
public Result<SysDeptDTO> get(@PathVariable("id") Long id){
SysDeptDTO data = sysDeptService.get(id);
return new Result<SysDeptDTO>().ok(data);
}
@PostMapping
@ApiOperation("保存")
@LogOperation("Save Dept")
public Result save(@RequestBody SysDeptDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
sysDeptService.save(dto);
return new Result();
}
@PutMapping
@ApiOperation("修改")
@LogOperation("Update Dept")
public Result update(@RequestBody SysDeptDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
sysDeptService.update(dto);
return new Result();
}
@DeleteMapping("{id}")
@ApiOperation("删除")
@LogOperation("Delete Dept")
public Result delete(@PathVariable("id") Long id){
//效验数据
AssertUtils.isNull(id, "id");
sysDeptService.delete(id);
return new Result();
}
}

104
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java

@ -0,0 +1,104 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.service.SysDictDataService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Map;
/**
* 字典数据
*
* @author Mark sunlightcs@gmail.com
*/
@RestController
@RequestMapping("dict/data")
@Api(tags="字典数据")
public class SysDictDataController {
@Autowired
private SysDictDataService sysDictDataService;
@GetMapping("page")
@ApiOperation("字典数据")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = "dictLabel", value = "字典标签", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "dictValue", value = "字典值", paramType = "query", dataType="String")
})
public Result<PageData<SysDictDataDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
//字典类型
PageData<SysDictDataDTO> page = sysDictDataService.page(params);
return new Result<PageData<SysDictDataDTO>>().ok(page);
}
@GetMapping("{id}")
@ApiOperation("信息")
public Result<SysDictDataDTO> get(@PathVariable("id") Long id){
SysDictDataDTO data = sysDictDataService.get(id);
return new Result<SysDictDataDTO>().ok(data);
}
@PostMapping
@ApiOperation("保存")
@LogOperation("保存")
public Result save(@RequestBody SysDictDataDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, DefaultGroup.class);
sysDictDataService.save(dto);
return new Result();
}
@PutMapping
@ApiOperation("修改")
@LogOperation("修改")
public Result update(@RequestBody SysDictDataDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
sysDictDataService.update(dto);
return new Result();
}
@DeleteMapping
@ApiOperation("删除")
@LogOperation("删除")
public Result delete(@RequestBody Long[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
sysDictDataService.delete(ids);
return new Result();
}
}

114
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictTypeController.java

@ -0,0 +1,114 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.SysDictTypeDTO;
import com.epmet.service.SysDictTypeService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.entity.DictType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
/**
* 字典类型
*
* @author Mark sunlightcs@gmail.com
*/
@RestController
@RequestMapping("dict/type")
@Api(tags="字典类型")
public class SysDictTypeController {
@Autowired
private SysDictTypeService sysDictTypeService;
@GetMapping("page")
@ApiOperation("字典类型")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = "dictType", value = "字典类型", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "dictName", value = "字典名称", paramType = "query", dataType="String")
})
public Result<PageData<SysDictTypeDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
//字典类型
PageData<SysDictTypeDTO> page = sysDictTypeService.page(params);
return new Result<PageData<SysDictTypeDTO>>().ok(page);
}
@GetMapping("{id}")
@ApiOperation("信息")
public Result<SysDictTypeDTO> get(@PathVariable("id") Long id){
SysDictTypeDTO data = sysDictTypeService.get(id);
return new Result<SysDictTypeDTO>().ok(data);
}
@PostMapping
@ApiOperation("保存")
@LogOperation("保存")
public Result save(@RequestBody SysDictTypeDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, DefaultGroup.class);
sysDictTypeService.save(dto);
return new Result();
}
@PutMapping
@ApiOperation("修改")
@LogOperation("修改")
public Result update(@RequestBody SysDictTypeDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
sysDictTypeService.update(dto);
return new Result();
}
@DeleteMapping
@ApiOperation("删除")
@LogOperation("删除")
public Result delete(@RequestBody Long[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
sysDictTypeService.delete(ids);
return new Result();
}
@GetMapping("all")
@ApiOperation("所有字典数据")
public Result<List<DictType>> all(){
List<DictType> list = sysDictTypeService.getAllList();
return new Result<List<DictType>>().ok(list);
}
}

69
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysLogErrorController.java

@ -0,0 +1,69 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.SysLogErrorDTO;
import com.epmet.service.SysLogErrorService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.excel.SysLogErrorExcel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 异常日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestController
@RequestMapping("log/error")
@Api(tags="异常日志")
public class SysLogErrorController {
@Autowired
private SysLogErrorService sysLogErrorService;
@GetMapping("page")
@ApiOperation("分页")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = "module", value = "模块名称,如:sys", paramType = "query", dataType="String")
})
public Result<PageData<SysLogErrorDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<SysLogErrorDTO> page = sysLogErrorService.page(params);
return new Result<PageData<SysLogErrorDTO>>().ok(page);
}
@GetMapping("export")
@ApiOperation("导出")
@LogOperation("Export Log Error")
public void export(@ApiIgnore @RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<SysLogErrorDTO> list = sysLogErrorService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, SysLogErrorExcel.class);
}
}

74
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysLogLoginController.java

@ -0,0 +1,74 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.SysLogLoginDTO;
import com.epmet.service.SysLogLoginService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.excel.SysLogLoginExcel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 登录日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestController
@RequestMapping("log/login")
@Api(tags="登录日志")
public class SysLogLoginController {
@Autowired
private SysLogLoginService sysLogLoginService;
@GetMapping("page")
@ApiOperation("分页")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = "status", value = "状态 0:失败 1:成功 2:账号已锁定", paramType = "query", dataType="int"),
@ApiImplicitParam(name = "creatorName", value = "用户名", paramType = "query", dataType="String")
})
public Result<PageData<SysLogLoginDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<SysLogLoginDTO> page = sysLogLoginService.page(params);
return new Result<PageData<SysLogLoginDTO>>().ok(page);
}
@GetMapping("export")
@ApiOperation("导出")
@LogOperation("Export Log Login")
@ApiImplicitParams({
@ApiImplicitParam(name = "status", value = "状态 0:失败 1:成功 2:账号已锁定", paramType = "query", dataType="int"),
@ApiImplicitParam(name = "creatorName", value = "用户名", paramType = "query", dataType="String")
})
public void export(@ApiIgnore @RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<SysLogLoginDTO> list = sysLogLoginService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, SysLogLoginExcel.class);
}
}

73
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysLogOperationController.java

@ -0,0 +1,73 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.SysLogOperationDTO;
import com.epmet.service.SysLogOperationService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.excel.SysLogOperationExcel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 操作日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestController
@RequestMapping("log/operation")
@Api(tags="操作日志")
public class SysLogOperationController {
@Autowired
private SysLogOperationService sysLogOperationService;
@GetMapping("page")
@ApiOperation("分页")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = "module", value = "模块名称,如:sys", paramType = "query", dataType="String"),
@ApiImplicitParam(name = "status", value = "状态 0:失败 1:成功", paramType = "query", dataType="int")
})
public Result<PageData<SysLogOperationDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<SysLogOperationDTO> page = sysLogOperationService.page(params);
return new Result<PageData<SysLogOperationDTO>>().ok(page);
}
@GetMapping("export")
@ApiOperation("导出")
@LogOperation("Export Log Operation")
public void export(@ApiIgnore @RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<SysLogOperationDTO> list = sysLogOperationService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, SysLogOperationExcel.class);
}
}

134
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMenuController.java

@ -0,0 +1,134 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.MenuResourceDTO;
import com.epmet.dto.SysMenuDTO;
import com.epmet.service.SysMenuService;
import com.epmet.service.SysResourceService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.security.user.UserDetail;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Set;
/**
* 菜单管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestController
@RequestMapping("menu")
@Api(tags="菜单管理")
public class SysMenuController {
@Autowired
private SysMenuService sysMenuService;
@Autowired
private SysResourceService sysResourceService;
@GetMapping("nav")
@ApiOperation("导航")
public Result<List<SysMenuDTO>> nav(@ApiIgnore UserDetail userDetail){
List<SysMenuDTO> list = sysMenuService.getUserMenuNavList(userDetail);
return new Result<List<SysMenuDTO>>().ok(list);
}
@GetMapping("permissions")
@ApiOperation("权限标识")
public Result<Set<String>> permissions(@ApiIgnore UserDetail userDetail){
Set<String> set = sysMenuService.getUserPermissions(userDetail);
return new Result<Set<String>>().ok(set);
}
@GetMapping("list")
@ApiOperation("列表")
@ApiImplicitParam(name = "type", value = "菜单类型 0:菜单 1:按钮 null:全部", paramType = "query", dataType="int")
public Result<List<SysMenuDTO>> list(Integer type){
List<SysMenuDTO> list = sysMenuService.getMenuList(type);
return new Result<List<SysMenuDTO>>().ok(list);
}
@GetMapping("{id}")
@ApiOperation("信息")
public Result<SysMenuDTO> get(@PathVariable("id") Long id){
SysMenuDTO data = sysMenuService.get(id);
//菜单资源列表
List<MenuResourceDTO> resourceList = sysResourceService.getMenuResourceList(id);
data.setResourceList(resourceList);
return new Result<SysMenuDTO>().ok(data);
}
@PostMapping
@ApiOperation("保存")
@LogOperation("Save Menu")
public Result save(@RequestBody SysMenuDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, DefaultGroup.class);
sysMenuService.save(dto);
return new Result();
}
@PutMapping
@ApiOperation("修改")
@LogOperation("Update Menu")
public Result update(@RequestBody SysMenuDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, DefaultGroup.class);
sysMenuService.update(dto);
return new Result();
}
@DeleteMapping("{id}")
@ApiOperation("删除")
@LogOperation("Delete Menu")
public Result delete(@PathVariable("id") Long id){
//效验数据
AssertUtils.isNull(id, "id");
//判断是否有子菜单或按钮
List<SysMenuDTO> list = sysMenuService.getListPid(id);
if(list.size() > 0){
return new Result().error(ErrorCode.SUB_MENU_EXIST);
}
sysMenuService.delete(id);
return new Result();
}
@GetMapping("select")
@ApiOperation("角色菜单权限")
public Result<List<SysMenuDTO>> select(@ApiIgnore UserDetail userDetail){
List<SysMenuDTO> list = sysMenuService.getUserMenuList(userDetail, null);
return new Result<List<SysMenuDTO>>().ok(list);
}
}

138
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysParamsController.java

@ -0,0 +1,138 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.SysParamsDTO;
import com.epmet.service.SysParamsService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.excel.SysParamsExcel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 参数管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestController
@RequestMapping("params")
@Api(tags="参数管理")
public class SysParamsController {
@Autowired
private SysParamsService sysParamsService;
@GetMapping("page")
@ApiOperation("分页")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = "paramCode", value = "参数编码", paramType = "query", dataType="String")
})
public Result<PageData<SysParamsDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<SysParamsDTO> page = sysParamsService.page(params);
return new Result<PageData<SysParamsDTO>>().ok(page);
}
@GetMapping("{id}")
@ApiOperation("信息")
public Result<SysParamsDTO> get(@PathVariable("id") Long id){
SysParamsDTO data = sysParamsService.get(id);
return new Result<SysParamsDTO>().ok(data);
}
@PostMapping
@ApiOperation("保存")
@LogOperation("Save Params")
public Result save(@RequestBody SysParamsDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
sysParamsService.save(dto);
return new Result();
}
@PutMapping
@ApiOperation("修改")
@LogOperation("Update Params")
public Result update(@RequestBody SysParamsDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
sysParamsService.update(dto);
return new Result();
}
@DeleteMapping
@ApiOperation("删除")
@LogOperation("Delete Params")
public Result delete(@RequestBody Long[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
sysParamsService.delete(ids);
return new Result();
}
@GetMapping("export")
@ApiOperation("导出")
@LogOperation("Export Params")
@ApiImplicitParam(name = "paramCode", value = "参数编码", paramType = "query", dataType="String")
public void export(@ApiIgnore @RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<SysParamsDTO> list = sysParamsService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, SysParamsExcel.class);
}
/**
* 根据参数编码获取参数值
* @param paramCode 参数编码
* @return 返回参数值
*/
@GetMapping("code/{paramCode}")
public String getValue(@PathVariable("paramCode") String paramCode){
return sysParamsService.getValue(paramCode);
}
/**
* 根据参数编码更新参数值
* @param paramCode 参数编码
* @param paramValue 参数值
*/
@PutMapping("code/{paramCode}")
public void updateValueByCode(@PathVariable("paramCode") String paramCode, @RequestParam("paramValue") String paramValue){
sysParamsService.updateValueByCode(paramCode, paramValue);
}
}

122
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysRegionController.java

@ -0,0 +1,122 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.SysRegionDTO;
import com.epmet.dto.region.RegionProvince;
import com.epmet.service.SysRegionService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 行政区域
*
* @author Mark sunlightcs@gmail.com
*/
@RestController
@RequestMapping("region")
@Api(tags="行政区域")
public class SysRegionController {
@Autowired
private SysRegionService sysRegionService;
@GetMapping("list")
@ApiOperation("列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "pid", value = "上级ID", paramType = "query", dataType="String")
})
public Result<List<SysRegionDTO>> list(@RequestParam Map<String, Object> params){
List<SysRegionDTO> list = sysRegionService.list(params);
return new Result<List<SysRegionDTO>>().ok(list);
}
@GetMapping("tree")
@ApiOperation("树形数据")
public Result<List<Map<String, Object>>> tree(){
List<Map<String, Object>> list = sysRegionService.getTreeList();
return new Result<List<Map<String, Object>>>().ok(list);
}
@GetMapping("{id}")
@ApiOperation("信息")
public Result<SysRegionDTO> get(@PathVariable("id") Long id){
SysRegionDTO data = sysRegionService.get(id);
return new Result<SysRegionDTO>().ok(data);
}
@PostMapping
@ApiOperation("保存")
@LogOperation("保存")
public Result save(@RequestBody SysRegionDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
sysRegionService.save(dto);
return new Result();
}
@PutMapping
@ApiOperation("修改")
@LogOperation("修改")
public Result update(@RequestBody SysRegionDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
sysRegionService.update(dto);
return new Result();
}
@DeleteMapping("{id}")
@ApiOperation("删除")
@LogOperation("删除")
public Result delete(@PathVariable("id") Long id){
//效验数据
AssertUtils.isNull(id, "id");
int count = sysRegionService.getCountByPid(id);
if(count > 0){
throw new RenException(ErrorCode.REGION_SUB_DELETE_ERROR);
}
sysRegionService.delete(id);
return new Result();
}
@GetMapping("region")
@ApiOperation("地区列表")
@ApiImplicitParam(name = "threeLevel", value = "是否显示3级 true显示 false不显示", paramType = "query", dataType="boolean")
public Result<List<RegionProvince>> region(@RequestParam(value = "threeLevel", defaultValue = "true") boolean threeLevel){
List<RegionProvince> list = sysRegionService.getRegion(threeLevel);
return new Result<List<RegionProvince>>().ok(list);
}
}

41
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysResourceController.java

@ -0,0 +1,41 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.service.SysResourceService;
import com.epmet.commons.tools.security.bo.ResourceBO;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 资源管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestController
@RequestMapping("resource")
@Api(tags="资源管理")
public class SysResourceController {
@Autowired
private SysResourceService sysResourceService;
/**
* 获取所有资源列表
*/
@GetMapping("list")
public List<ResourceBO> list(){
return sysResourceService.getResourceList();
}
}

139
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysRoleController.java

@ -0,0 +1,139 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.dto.SysRoleDTO;
import com.epmet.service.SysRoleService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.service.SysRoleDataScopeService;
import com.epmet.service.SysRoleMenuService;
import com.epmet.service.SysRoleUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 角色管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestController
@RequestMapping("role")
@Api(tags="角色管理")
public class SysRoleController {
@Autowired
private SysRoleService sysRoleService;
@Autowired
private SysRoleMenuService sysRoleMenuService;
@Autowired
private SysRoleDataScopeService sysRoleDataScopeService;
@Autowired
private SysRoleUserService sysRoleUserService;
@GetMapping("page")
@ApiOperation("分页")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = "name", value = "角色名", paramType = "query", dataType="String")
})
public Result<PageData<SysRoleDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<SysRoleDTO> page = sysRoleService.page(params);
return new Result<PageData<SysRoleDTO>>().ok(page);
}
@GetMapping("list")
@ApiOperation("列表")
public Result<List<SysRoleDTO>> list(){
List<SysRoleDTO> data = sysRoleService.list(new HashMap<>(1));
return new Result<List<SysRoleDTO>>().ok(data);
}
@GetMapping("{id}")
@ApiOperation("信息")
public Result<SysRoleDTO> get(@PathVariable("id") Long id){
SysRoleDTO data = sysRoleService.get(id);
//查询角色对应的菜单
List<Long> menuIdList = sysRoleMenuService.getMenuIdList(id);
data.setMenuIdList(menuIdList);
//查询角色对应的数据权限
List<Long> deptIdList = sysRoleDataScopeService.getDeptIdList(id);
data.setDeptIdList(deptIdList);
return new Result<SysRoleDTO>().ok(data);
}
@PostMapping
@ApiOperation("保存")
@LogOperation("Save Role")
public Result save(@RequestBody SysRoleDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
sysRoleService.save(dto);
return new Result();
}
@PutMapping
@ApiOperation("修改")
@LogOperation("Update Role")
public Result update(@RequestBody SysRoleDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
sysRoleService.update(dto);
return new Result();
}
@DeleteMapping
@ApiOperation("删除")
@LogOperation("Delete Role")
public Result delete(@RequestBody Long[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
sysRoleService.delete(ids);
return new Result();
}
@GetMapping("getRoleIdList")
public Result<List<Long>> getRoleIdList(Long userId){
//用户角色列表
List<Long> roleIdList = sysRoleUserService.getRoleIdList(userId);
return new Result<List<Long>>().ok(roleIdList);
}
}

209
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysUserController.java

@ -0,0 +1,209 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.controller;
import com.epmet.commons.tools.security.user.SecurityUser;
import com.epmet.dto.PasswordDTO;
import com.epmet.dto.SysUserDTO;
import com.epmet.service.SysResourceService;
import com.epmet.service.SysUserService;
import com.epmet.commons.tools.annotation.LogOperation;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.bo.ResourceBO;
import com.epmet.commons.tools.security.password.PasswordUtils;
import com.epmet.commons.tools.security.user.UserDetail;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.excel.SysUserExcel;
import com.epmet.service.SysRoleDataScopeService;
import com.epmet.service.SysRoleUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 用户管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestController
@RequestMapping("user")
@Api(tags="用户管理")
public class SysUserController {
@Autowired
private SysUserService sysUserService;
@Autowired
private SysRoleUserService sysRoleUserService;
@Autowired
private SysRoleDataScopeService sysRoleDataScopeService;
@Autowired
private SysResourceService sysResourceService;
@GetMapping("page")
@ApiOperation("分页")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = "username", value = "用户名", paramType = "query", dataType="String")
})
public Result<PageData<SysUserDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<SysUserDTO> page = sysUserService.page(params);
return new Result<PageData<SysUserDTO>>().ok(page);
}
@GetMapping("{id}")
@ApiOperation("信息")
public Result<SysUserDTO> get(@PathVariable("id") Long id){
SysUserDTO data = sysUserService.get(id);
//用户角色列表
List<Long> roleIdList = sysRoleUserService.getRoleIdList(id);
data.setRoleIdList(roleIdList);
return new Result<SysUserDTO>().ok(data);
}
@GetMapping("info")
@ApiOperation("登录用户信息")
public Result<SysUserDTO> info(@ApiIgnore UserDetail user){
SysUserDTO data = ConvertUtils.sourceToTarget(user, SysUserDTO.class);
return new Result<SysUserDTO>().ok(data);
}
@PostMapping
@ApiOperation("保存")
@LogOperation("Save User")
public Result save(@RequestBody SysUserDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
sysUserService.save(dto);
return new Result();
}
@PutMapping
@ApiOperation("修改")
@LogOperation("Update User")
public Result update(@RequestBody SysUserDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
sysUserService.update(dto);
return new Result();
}
@PutMapping("password")
@ApiOperation("修改密码")
@LogOperation("Password User")
public Result password(@RequestBody PasswordDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto);
UserDetail user = SecurityUser.getUser();
//原密码不正确
if(!PasswordUtils.matches(dto.getPassword(), user.getPassword())){
return new Result().error(ErrorCode.PASSWORD_ERROR);
}
sysUserService.updatePassword(user.getId(), dto.getNewPassword());
return new Result();
}
@DeleteMapping
@ApiOperation("删除")
@LogOperation("Delete User")
public Result delete(@RequestBody Long[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
sysUserService.delete(ids);
return new Result();
}
@GetMapping("export")
@ApiOperation("导出")
@LogOperation("Export User")
@ApiImplicitParam(name = "username", value = "用户名", paramType = "query", dataType="String")
public void export(@ApiIgnore @RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<SysUserDTO> list = sysUserService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, SysUserExcel.class);
}
/**
* 根据用户名获取用户信息
*/
@GetMapping("getByUsername")
public Result<UserDetail> getByUsername(String username){
SysUserDTO user = sysUserService.getByUsername(username);
UserDetail userDetail = ConvertUtils.sourceToTarget(user, UserDetail.class);
//初始化用户数据
initUserData(userDetail);
return new Result<UserDetail>().ok(userDetail);
}
/**
* 根据用户ID获取用户信息
*/
@GetMapping("getById")
public Result<UserDetail> getById(Long id){
SysUserDTO user = sysUserService.get(id);
UserDetail userDetail = ConvertUtils.sourceToTarget(user, UserDetail.class);
//初始化用户数据
initUserData(userDetail);
return new Result<UserDetail>().ok(userDetail);
}
/**
* 初始化用户数据
*/
private void initUserData(UserDetail userDetail){
if(userDetail == null){
return;
}
//用户部门数据权限
List<Long> deptIdList = sysRoleDataScopeService.getDataScopeList(userDetail.getId());
userDetail.setDeptIdList(deptIdList);
//用户资源列表
List<ResourceBO> resourceList = sysResourceService.getUserResourceList(userDetail.getId());
userDetail.setResourceList(resourceList);
}
}

28
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/NewsDao.java

@ -0,0 +1,28 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.NewsEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 新闻
*
* @author Mark sunlightcs@gmail.com
*/
@Mapper
public interface NewsDao extends BaseDao<NewsEntity> {
List<NewsEntity> getList(Map<String, Object> params);
}

41
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDeptDao.java

@ -0,0 +1,41 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysDeptEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 部门管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysDeptDao extends BaseDao<SysDeptEntity> {
List<SysDeptEntity> getList(Map<String, Object> params);
SysDeptEntity getById(Long id);
/**
* 获取所有部门的idpid列表
*/
List<SysDeptEntity> getIdAndPidList();
/**
* 根据部门ID获取所有子部门ID列表
* @param id 部门ID
*/
List<Long> getSubDeptIdList(String id);
}

30
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java

@ -0,0 +1,30 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.DictData;
import com.epmet.entity.SysDictDataEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 字典数据
*
* @author Mark sunlightcs@gmail.com
*/
@Mapper
public interface SysDictDataDao extends BaseDao<SysDictDataEntity> {
/**
* 字典数据列表
*/
List<DictData> getDictDataList();
}

31
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictTypeDao.java

@ -0,0 +1,31 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.DictType;
import com.epmet.entity.SysDictTypeEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 字典类型
*
* @author Mark sunlightcs@gmail.com
*/
@Mapper
public interface SysDictTypeDao extends BaseDao<SysDictTypeEntity> {
/**
* 字典类型列表
*/
List<DictType> getDictTypeList();
}

27
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysLanguageDao.java

@ -0,0 +1,27 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysLanguageEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 国际化
*
* @author Mark sunlightcs@gmail.com
*/
@Mapper
public interface SysLanguageDao extends BaseDao<SysLanguageEntity> {
SysLanguageEntity getLanguage(SysLanguageEntity entity);
void updateLanguage(SysLanguageEntity entity);
}

24
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysLogErrorDao.java

@ -0,0 +1,24 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysLogErrorEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 异常日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysLogErrorDao extends BaseDao<SysLogErrorEntity> {
}

24
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysLogLoginDao.java

@ -0,0 +1,24 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysLogLoginEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 登录日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysLogLoginDao extends BaseDao<SysLogLoginEntity> {
}

24
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysLogOperationDao.java

@ -0,0 +1,24 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysLogOperationEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 操作日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysLogOperationDao extends BaseDao<SysLogOperationEntity> {
}

52
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysMenuDao.java

@ -0,0 +1,52 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysMenuEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 菜单管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysMenuDao extends BaseDao<SysMenuEntity> {
SysMenuEntity getById(@Param("id") Long id, @Param("language") String language);
/**
* 查询所有菜单列表
*
* @param type 菜单类型
* @param language 语言
*/
List<SysMenuEntity> getMenuList(@Param("type") Integer type, @Param("language") String language);
/**
* 查询用户菜单列表
*
* @param userId 用户ID
* @param type 菜单类型
* @param language 语言
*/
List<SysMenuEntity> getUserMenuList(@Param("userId") Long userId, @Param("type") Integer type, @Param("language") String language);
/**
* 根据父菜单查询子菜单
* @param pid 父菜单ID
*/
List<SysMenuEntity> getListPid(Long pid);
}

46
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysParamsDao.java

@ -0,0 +1,46 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysParamsEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 参数管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysParamsDao extends BaseDao<SysParamsEntity> {
/**
* 根据参数编码查询value
* @param paramCode 参数编码
* @return 参数值
*/
String getValueByCode(String paramCode);
/**
* 获取参数编码列表
* @param ids ids
* @return 返回参数编码列表
*/
List<String> getParamCodeList(Long[] ids);
/**
* 根据参数编码更新value
* @param paramCode 参数编码
* @param paramValue 参数值
*/
int updateValueByCode(@Param("paramCode") String paramCode, @Param("paramValue") String paramValue);
}

28
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRegionDao.java

@ -0,0 +1,28 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysRegionEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 行政区域
*
* @author Mark sunlightcs@gmail.com
*/
@Mapper
public interface SysRegionDao extends BaseDao<SysRegionEntity> {
List<SysRegionEntity> getList(Map<String, Object> params);
List<SysRegionEntity> getListByLevel(Integer treeLevel);
List<Map<String, Object>> getTreeList();
SysRegionEntity getById(Long id);
int getCountByPid(Long pid);
}

48
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysResourceDao.java

@ -0,0 +1,48 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysResourceEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 资源管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysResourceDao extends BaseDao<SysResourceEntity> {
/**
* 根据资源编码删除对应的资源
* @param code 资源编码
*/
void deleteByCode(String code);
/**
* 获取资源列表
* @param menuId 菜单ID
*/
List<SysResourceEntity> getMenuResourceList(String menuId);
/**
* 获取所有资源列表
*/
List<SysResourceEntity> getResourceList();
/**
* 获取用户资源列表
* @param userId 用户ID
*/
List<SysResourceEntity> getUserResourceList(@Param("userId") Long userId);
}

24
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRoleDao.java

@ -0,0 +1,24 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysRoleEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 角色管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysRoleDao extends BaseDao<SysRoleEntity> {
}

41
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRoleDataScopeDao.java

@ -0,0 +1,41 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysRoleDataScopeEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 角色数据权限
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysRoleDataScopeDao extends BaseDao<SysRoleDataScopeEntity> {
/**
* 根据角色ID获取部门ID列表
*/
List<Long> getDeptIdList(Long roleId);
/**
* 获取用户的部门数据权限列表
*/
List<Long> getDataScopeList(Long userId);
/**
* 根据角色id删除角色数据权限关系
* @param roleId 角色id
*/
void deleteByRoleId(Long roleId);
}

42
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRoleMenuDao.java

@ -0,0 +1,42 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysRoleMenuEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 角色菜单关系
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysRoleMenuDao extends BaseDao<SysRoleMenuEntity> {
/**
* 根据角色ID获取菜单ID列表
*/
List<Long> getMenuIdList(Long roleId);
/**
* 根据角色id删除角色菜单关系
* @param roleId 角色id
*/
void deleteByRoleId(Long roleId);
/**
* 根据菜单id删除角色菜单关系
* @param menuId 菜单id
*/
void deleteByMenuId(Long menuId);
}

45
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysRoleUserDao.java

@ -0,0 +1,45 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysRoleUserEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 角色用户关系
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysRoleUserDao extends BaseDao<SysRoleUserEntity> {
/**
* 根据角色ids删除角色用户关系
* @param roleIds 角色ids
*/
void deleteByRoleIds(Long[] roleIds);
/**
* 根据用户id删除角色用户关系
* @param userId 用户id
*/
void deleteByUserId(Long userId);
/**
* 角色ID列表
* @param userId 用户ID
*
* @return
*/
List<Long> getRoleIdList(Long userId);
}

41
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysUserDao.java

@ -0,0 +1,41 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.SysUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 用户管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Mapper
public interface SysUserDao extends BaseDao<SysUserEntity> {
List<SysUserEntity> getList(Map<String, Object> params);
SysUserEntity getById(Long id);
SysUserEntity getByUsername(String username);
int updatePassword(@Param("id") Long id, @Param("newPassword") String newPassword);
/**
* 根据部门ID查询用户数
*/
int getCountByDeptId(Long deptId);
}

25
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/DictData.java

@ -0,0 +1,25 @@
/**
* Copyright (c) 2019 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
/**
* 字典数据
*
* @author Mark sunlightcs@gmail.com
*/
@Data
public class DictData {
@JsonIgnore
private Long dictTypeId;
private String dictLabel;
private String dictValue;
}

28
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/DictType.java

@ -0,0 +1,28 @@
/**
* Copyright (c) 2019 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 字典类型
*
* @author Mark sunlightcs@gmail.com
*/
@Data
public class DictType {
@JsonIgnore
private Long id;
private String dictType;
private List<DictData> dataList = new ArrayList<>();
}

58
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/NewsEntity.java

@ -0,0 +1,58 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 新闻
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("tb_news")
public class NewsEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String content;
/**
* 发布时间
*/
private Date pubDate;
/**
* 创建者dept_id
*/
@TableField(fill = FieldFill.INSERT)
private Long deptId;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
}

70
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDeptEntity.java

@ -0,0 +1,70 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 部门管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_dept")
public class SysDeptEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 上级ID
*/
private Long pid;
/**
* 所有上级ID用逗号分开
*/
private String pids;
/**
* 部门名称
*/
private String name;
/**
* 排序
*/
private Integer sort;
/**
* 删除标识 0未删除 1删除
*/
@TableField(fill = FieldFill.INSERT)
private Integer delFlag;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
/**
* 上级部门名称
*/
@TableField(exist = false)
private String parentName;
}

60
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java

@ -0,0 +1,60 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 数据字典
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_dict_data")
public class SysDictDataEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 字典类型ID
*/
private Long dictTypeId;
/**
* 字典标签
*/
private String dictLabel;
/**
* 字典值
*/
private String dictValue;
/**
* 备注
*/
private String remark;
/**
* 排序
*/
private Integer sort;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
}

56
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictTypeEntity.java

@ -0,0 +1,56 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 字典类型
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_dict_type")
public class SysDictTypeEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 字典类型
*/
private String dictType;
/**
* 字典名称
*/
private String dictName;
/**
* 备注
*/
private String remark;
/**
* 排序
*/
private Integer sort;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
}

49
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLanguageEntity.java

@ -0,0 +1,49 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 国际化
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_language")
public class SysLanguageEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 表名
*/
private String tableName;
/**
* 表主键
*/
private Long tableId;
/**
* 字段名
*/
private String fieldName;
/**
* 字段值
*/
private String fieldValue;
/**
* 语言
*/
private String language;
}

71
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLogErrorEntity.java

@ -0,0 +1,71 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 异常日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@TableName("sys_log_error")
public class SysLogErrorEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* 模块名称sys
*/
private String module;
/**
* 请求URI
*/
private String requestUri;
/**
* 请求方式
*/
private String requestMethod;
/**
* 请求参数
*/
private String requestParams;
/**
* 用户代理
*/
private String userAgent;
/**
* 操作IP
*/
private String ip;
/**
* 异常信息
*/
private String errorInfo;
/**
* 创建者
*/
private Long creator;
/**
* 创建时间
*/
private Date createDate;
}

63
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLogLoginEntity.java

@ -0,0 +1,63 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 登录日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@TableName("sys_log_login")
public class SysLogLoginEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* 用户操作 0用户登录 1用户退出
*/
private Integer operation;
/**
* 状态 0失败 1成功 2账号已锁定
*/
private Integer status;
/**
* 用户代理
*/
private String userAgent;
/**
* 操作IP
*/
private String ip;
/**
* 用户名
*/
private String creatorName;
/**
* 创建者
*/
private Long creator;
/**
* 创建时间
*/
private Date createDate;
}

82
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLogOperationEntity.java

@ -0,0 +1,82 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 操作日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@TableName("sys_log_operation")
public class SysLogOperationEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId
private Long id;
/**
* 模块名称sys
*/
private String module;
/**
* 用户操作
*/
private String operation;
/**
* 请求URI
*/
private String requestUri;
/**
* 请求方式
*/
private String requestMethod;
/**
* 请求参数
*/
private String requestParams;
/**
* 请求时长(毫秒)
*/
private Integer requestTime;
/**
* 用户代理
*/
private String userAgent;
/**
* 操作IP
*/
private String ip;
/**
* 状态 0失败 1成功
*/
private Integer status;
/**
* 用户名
*/
private String creatorName;
/**
* 创建者
*/
private Long creator;
/**
* 创建时间
*/
private Date createDate;
}

83
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysMenuEntity.java

@ -0,0 +1,83 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 菜单管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_menu")
public class SysMenuEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 上级ID一级菜单为0
*/
private Long pid;
/**
* 菜单名称
*/
@TableField(exist = false)
private String name;
/**
* 菜单URL
*/
private String url;
/**
* 类型 0菜单 1按钮
*/
private Integer type;
/**
* 菜单图标
*/
private String icon;
/**
* 权限标识sys:menu:save
*/
private String permissions;
/**
* 排序
*/
private Integer sort;
/**
* 删除标识 0未删除 1删除
*/
@TableField(fill = FieldFill.INSERT)
private Integer delFlag;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
/**
* 上级菜单名称
*/
@TableField(exist = false)
private String parentName;
}

64
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysParamsEntity.java

@ -0,0 +1,64 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 参数管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_params")
public class SysParamsEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 参数编码
*/
private String paramCode;
/**
* 参数值
*/
private String paramValue;
/**
* 类型 0系统参数 1非系统参数
*/
private Integer paramType;
/**
* 备注
*/
private String remark;
/**
* 删除标识 0未删除 1删除
*/
@TableField(fill = FieldFill.INSERT)
private Integer delFlag;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
}

77
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRegionEntity.java

@ -0,0 +1,77 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 行政区域
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@TableName("sys_region")
public class SysRegionEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(type = IdType.INPUT)
private Long id;
/**
* 上级ID一级为0
*/
private Long pid;
/**
* 名称
*/
private String name;
/**
* 层级
*/
private Integer treeLevel;
/**
* 排序
*/
private Long sort;
/**
* 是否叶子节点 0 1
*/
private Integer leaf;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
private Long creator;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createDate;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
/**
* 上级名称
*/
@TableField(exist = false)
private String parentName;
}

67
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysResourceEntity.java

@ -0,0 +1,67 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 资源管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_resource")
public class SysResourceEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 资源编码如菜单ID
*/
private String resourceCode;
/**
* 资源名称
*/
private String resourceName;
/**
* 资源URL
*/
private String resourceUrl;
/**
* 请求方式GETPOSTPUTDELETE
*/
private String resourceMethod;
/**
* 菜单标识 0非菜单资源 1菜单资源
*/
private Integer menuFlag;
/**
* 认证等级 0权限认证 1登录认证 2无需认证
*/
private Integer authLevel;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
}

40
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRoleDataScopeEntity.java

@ -0,0 +1,40 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 角色数据权限
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_role_data_scope")
public class SysRoleDataScopeEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 角色ID
*/
private Long roleId;
/**
* 部门ID
*/
@TableField(fill = FieldFill.DEFAULT)
private Long deptId;
}

61
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRoleEntity.java

@ -0,0 +1,61 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 角色管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_role")
public class SysRoleEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 角色名称
*/
private String name;
/**
* 备注
*/
private String remark;
/**
* 删除标识 0未删除 1删除
*/
@TableField(fill = FieldFill.INSERT)
private Integer delFlag;
/**
* 部门ID
*/
@TableField(fill = FieldFill.INSERT)
private Long deptId;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
}

36
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRoleMenuEntity.java

@ -0,0 +1,36 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 角色菜单关系
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_role_menu")
public class SysRoleMenuEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 角色ID
*/
private Long roleId;
/**
* 菜单ID
*/
private Long menuId;
}

37
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysRoleUserEntity.java

@ -0,0 +1,37 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 角色用户关系
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_role_user")
public class SysRoleUserEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 角色ID
*/
private Long roleId;
/**
* 用户ID
*/
private Long userId;
}

98
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysUserEntity.java

@ -0,0 +1,98 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 用户管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_user")
public class SysUserEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 用户名
*/
private String username;
/**
* 密码
*/
private String password;
/**
* 姓名
*/
private String realName;
/**
* 头像
*/
private String headUrl;
/**
* 性别 0 1 2保密
*/
private Integer gender;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String mobile;
/**
* 超级管理员 0 1
*/
private Integer superAdmin;
/**
* 状态 0停用 1正常
*/
private Integer status;
/**
* 备注
*/
private String remark;
/**
* 部门ID
*/
private Long deptId;
/**
* 删除标识 0未删除 1删除
*/
@TableField(fill = FieldFill.INSERT)
private Integer delFlag;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
/**
* 部门名称
*/
@TableField(exist = false)
private String deptName;
}

39
epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysLogErrorExcel.java

@ -0,0 +1,39 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 异常日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
public class SysLogErrorExcel {
@Excel(name = "模块名称")
private String module;
@Excel(name = "请求URI")
private String requestUri;
@Excel(name = "请求方式")
private String requestMethod;
@Excel(name = "请求参数")
private String requestParams;
@Excel(name = "User-Agent")
private String userAgent;
@Excel(name = "操作IP")
private String ip;
@Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
private Date createDate;
}

37
epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysLogLoginExcel.java

@ -0,0 +1,37 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 登录日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
public class SysLogLoginExcel {
@Excel(name = "用户操作")
private String operation;
@Excel(name = "状态", replace = {"失败_0", "成功_1", "账号已锁定_1"})
private Integer status;
@Excel(name = "User-Agent")
private String userAgent;
@Excel(name = "操作IP")
private String ip;
@Excel(name = "用户名")
private String creatorName;
@Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
private Date createDate;
}

47
epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysLogOperationExcel.java

@ -0,0 +1,47 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 操作日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
public class SysLogOperationExcel {
@Excel(name = "模块名称")
private String module;
@Excel(name = "用户操作", replace = {"用户登录_0", "用户退出_1"})
private Integer operation;
@Excel(name = "请求URI")
private String requestUri;
@Excel(name = "请求方式")
private String requestMethod;
@Excel(name = "请求参数")
private String requestParams;
@Excel(name = "请求时长(毫秒)")
private Integer requestTime;
@Excel(name = "User-Agent")
private String userAgent;
@Excel(name = "操作IP")
private String ip;
@Excel(name = "状态", replace = {"失败_0", "成功_1"})
private Integer status;
@Excel(name = "用户名")
private String creatorName;
@Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
private Date createDate;
}

29
epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysParamsExcel.java

@ -0,0 +1,29 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
/**
* 参数管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
public class SysParamsExcel {
@Excel(name = "参数编码")
private String paramCode;
@Excel(name = "参数值")
private String paramValue;
@Excel(name = "备注")
private String remark;
}

43
epmet-admin/epmet-admin-server/src/main/java/com/epmet/excel/SysUserExcel.java

@ -0,0 +1,43 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 用户管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
public class SysUserExcel {
@Excel(name = "用户名")
private String username;
@Excel(name = "姓名")
private String realName;
@Excel(name = "性别", replace = {"男_0", "女_1", "保密_2"})
private Integer gender;
@Excel(name = "邮箱")
private String email;
@Excel(name = "手机号")
private String mobile;
@Excel(name = "部门名称")
private String deptName;
@Excel(name = "状态", replace = {"停用_0", "正常_1"})
private Integer status;
@Excel(name = "备注")
private String remark;
@Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
private Date createDate;
}

95
epmet-admin/epmet-admin-server/src/main/java/com/epmet/log/LogConsumer.java

@ -0,0 +1,95 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.log;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.log.BaseLog;
import com.epmet.commons.tools.log.enums.LogTypeEnum;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.entity.SysLogErrorEntity;
import com.epmet.entity.SysLogLoginEntity;
import com.epmet.entity.SysLogOperationEntity;
import com.epmet.service.SysLogErrorService;
import com.epmet.service.SysLogLoginService;
import com.epmet.service.SysLogOperationService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* 从Redis队列中获取Log保存到DB
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Slf4j
@Component
public class LogConsumer implements CommandLineRunner {
@Autowired
private RedisUtils redisUtils;
@Autowired
private SysLogErrorService sysLogErrorService;
@Autowired
private SysLogLoginService sysLogLoginService;
@Autowired
private SysLogOperationService sysLogOperationService;
private ScheduledExecutorService scheduledService = new ScheduledThreadPoolExecutor(1,
new BasicThreadFactory.Builder().namingPattern("log-consumer-schedule-pool-%d").daemon(true).build());
@Override
public void run(String... args) {
//上次任务结束后,等待10秒钟,再执行下次任务
scheduledService.scheduleWithFixedDelay(() -> {
try {
receiveQueue();
}catch (Exception e){
log.error("LogConsumer Error:"+ ExceptionUtils.getErrorStackTrace(e));
}
}, 1, 10, TimeUnit.SECONDS);
}
private void receiveQueue() {
String key = RedisKeys.getSysLogKey();
//每次插入100条
int count = 100;
for(int i = 0; i < count; i++){
BaseLog log = (BaseLog) redisUtils.rightPop(key);
if(log == null){
return;
}
//登录日志
if(log.getType() == LogTypeEnum.LOGIN.value()){
SysLogLoginEntity entity = ConvertUtils.sourceToTarget(log, SysLogLoginEntity.class);
sysLogLoginService.save(entity);
}
//操作日志
if(log.getType() == LogTypeEnum.OPERATION.value()){
SysLogOperationEntity entity = ConvertUtils.sourceToTarget(log, SysLogOperationEntity.class);
sysLogOperationService.save(entity);
}
//异常日志
if(log.getType() == LogTypeEnum.ERROR.value()){
SysLogErrorEntity entity = ConvertUtils.sourceToTarget(log, SysLogErrorEntity.class);
sysLogErrorService.save(entity);
}
}
}
}

58
epmet-admin/epmet-admin-server/src/main/java/com/epmet/redis/SysMenuRedis.java

@ -0,0 +1,58 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.redis;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.HttpContextUtils;
import com.epmet.dto.SysMenuDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Set;
/**
* 菜单管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Component
public class SysMenuRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Long userId){
//清空菜单导航、权限标识
redisUtils.deleteByPattern(RedisKeys.getUserMenuNavKey(userId));
redisUtils.delete(RedisKeys.getUserPermissionsKey(userId));
}
public void setUserMenuNavList(Long userId, List<SysMenuDTO> menuList){
String key = RedisKeys.getUserMenuNavKey(userId, HttpContextUtils.getLanguage());
redisUtils.set(key, menuList);
}
public List<SysMenuDTO> getUserMenuNavList(Long userId){
String key = RedisKeys.getUserMenuNavKey(userId, HttpContextUtils.getLanguage());
return (List<SysMenuDTO>)redisUtils.get(key);
}
public void setUserPermissions(Long userId, Set<String> permsSet){
String key = RedisKeys.getUserPermissionsKey(userId);
redisUtils.set(key, permsSet);
}
public Set<String> getUserPermissions(Long userId){
String key = RedisKeys.getUserPermissionsKey(userId);
return (Set<String>)redisUtils.get(key);
}
}

45
epmet-admin/epmet-admin-server/src/main/java/com/epmet/redis/SysParamsRedis.java

@ -0,0 +1,45 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.redis;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 参数管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Component
public class SysParamsRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] paramCodes) {
String key = RedisKeys.getSysParamsKey();
redisUtils.hDel(key, paramCodes);
}
public void set(String paramCode, String paramValue){
if(paramValue == null){
return ;
}
String key = RedisKeys.getSysParamsKey();
redisUtils.hSet(key, paramCode, paramValue);
}
public String get(String paramCode){
String key = RedisKeys.getSysParamsKey();
return (String)redisUtils.hGet(key, paramCode);
}
}

48
epmet-admin/epmet-admin-server/src/main/java/com/epmet/redis/SysResourceRedis.java

@ -0,0 +1,48 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.redis;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.entity.SysResourceEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 资源管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Component
public class SysResourceRedis {
@Autowired
private RedisUtils redisUtils;
public void delete() {
String key = RedisKeys.getSysResourceKey();
redisUtils.delete(key);
}
public void set(List<SysResourceEntity> list){
String key = RedisKeys.getSysResourceKey();
redisUtils.set(key, list);
}
public List<SysResourceEntity> get(){
String key = RedisKeys.getSysResourceKey();
return (List<SysResourceEntity>)redisUtils.get(key);
}
}

33
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/NewsService.java

@ -0,0 +1,33 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.service;
import com.epmet.dto.NewsDTO;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.entity.NewsEntity;
import java.util.Map;
/**
* 新闻
*
* @author Mark sunlightcs@gmail.com
*/
public interface NewsService extends BaseService<NewsEntity> {
PageData<NewsDTO> page(Map<String, Object> params);
NewsDTO get(Long id);
void save(NewsDTO dto);
void update(NewsDTO dto);
}

41
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDeptService.java

@ -0,0 +1,41 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.service;
import com.epmet.dto.SysDeptDTO;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.entity.SysDeptEntity;
import java.util.List;
import java.util.Map;
/**
* 部门管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public interface SysDeptService extends BaseService<SysDeptEntity> {
List<SysDeptDTO> list(Map<String, Object> params);
SysDeptDTO get(Long id);
void save(SysDeptDTO dto);
void update(SysDeptDTO dto);
void delete(Long id);
/**
* 根据部门ID获取本部门及子部门ID列表
* @param id 部门ID
*/
List<Long> getSubDeptIdList(Long id);
}

35
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java

@ -0,0 +1,35 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.service;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.entity.SysDictDataEntity;
import java.util.Map;
/**
* 数据字典
*
* @author Mark sunlightcs@gmail.com
*/
public interface SysDictDataService extends BaseService<SysDictDataEntity> {
PageData<SysDictDataDTO> page(Map<String, Object> params);
SysDictDataDTO get(Long id);
void save(SysDictDataDTO dto);
void update(SysDictDataDTO dto);
void delete(Long[] ids);
}

42
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictTypeService.java

@ -0,0 +1,42 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.service;
import com.epmet.dto.SysDictTypeDTO;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.entity.DictType;
import com.epmet.entity.SysDictTypeEntity;
import java.util.List;
import java.util.Map;
/**
* 数据字典
*
* @author Mark sunlightcs@gmail.com
*/
public interface SysDictTypeService extends BaseService<SysDictTypeEntity> {
PageData<SysDictTypeDTO> page(Map<String, Object> params);
SysDictTypeDTO get(Long id);
void save(SysDictTypeDTO dto);
void update(SysDictTypeDTO dto);
void delete(Long[] ids);
/**
* 获取所有字典
*/
List<DictType> getAllList();
}

31
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysLanguageService.java

@ -0,0 +1,31 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.entity.SysLanguageEntity;
/**
* 国际化
*
* @author Mark sunlightcs@gmail.com
*/
public interface SysLanguageService extends BaseService<SysLanguageEntity> {
/**
* 保存或更新
* @param tableName 表名
* @param tableId 表主键
* @param fieldName 字段名
* @param fieldValue 字段值
* @param language 语言
*/
void saveOrUpdate(String tableName, Long tableId, String fieldName, String fieldValue, String language);
}

33
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysLogErrorService.java

@ -0,0 +1,33 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.service;
import com.epmet.dto.SysLogErrorDTO;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.entity.SysLogErrorEntity;
import java.util.List;
import java.util.Map;
/**
* 异常日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public interface SysLogErrorService extends BaseService<SysLogErrorEntity> {
PageData<SysLogErrorDTO> page(Map<String, Object> params);
List<SysLogErrorDTO> list(Map<String, Object> params);
void save(SysLogErrorEntity entity);
}

32
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysLogLoginService.java

@ -0,0 +1,32 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.service;
import com.epmet.dto.SysLogLoginDTO;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.entity.SysLogLoginEntity;
import java.util.List;
import java.util.Map;
/**
* 登录日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public interface SysLogLoginService extends BaseService<SysLogLoginEntity> {
PageData<SysLogLoginDTO> page(Map<String, Object> params);
List<SysLogLoginDTO> list(Map<String, Object> params);
void save(SysLogLoginEntity entity);
}

32
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysLogOperationService.java

@ -0,0 +1,32 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.service;
import com.epmet.dto.SysLogOperationDTO;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.entity.SysLogOperationEntity;
import java.util.List;
import java.util.Map;
/**
* 操作日志
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public interface SysLogOperationService extends BaseService<SysLogOperationEntity> {
PageData<SysLogOperationDTO> page(Map<String, Object> params);
List<SysLogOperationDTO> list(Map<String, Object> params);
void save(SysLogOperationEntity entity);
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save