Merge branch 'master' of http://192.168.11.205:9000/r/se-cloud
| | |
| | | active: dev |
| | | cloud: |
| | | nacos: |
| | | username: nacos |
| | | password: nAcos_!9#_admIn |
| | | discovery: |
| | | # æå¡æ³¨åå°å |
| | | server-addr: se-nacos:8848 |
| | |
| | | # å
±äº«é
ç½® |
| | | shared-configs: |
| | | - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} |
| | | enableEncrypt: false |
| | |
| | | - ./nacos/logs/:/home/nacos/logs |
| | | - ./nacos/conf/application.properties:/home/nacos/conf/application.properties |
| | | ports: |
| | | # - 7848:7848 |
| | | - 8848:8848 |
| | | # - 9848:9848 |
| | | - 9848:9848 |
| | | # - 9849:9849 |
| | | depends_on: |
| | | - se-mysql |
| | | networks: |
| | | - network-se |
| | | restart: always |
| | | # redis,Redis_s!E_6.2.6 |
| | | # redis |
| | | se-redis: |
| | | image: redis:latest |
| | | ports: |
| | |
| | | - ./redis/data/redis.conf:/data/redis.conf |
| | | - ./redis/data:/data |
| | | command: redis-server /data/redis.conf |
| | | # command: redis-server --requirepass Redis_s!E_6.2.6 |
| | | networks: |
| | | - network-se |
| | | restart: always |
| | |
| | | # ports: |
| | | # - 9204:8080 |
| | | volumes: |
| | | - ./gateway/logs:/logs |
| | | - ./gateway:/data |
| | | environment: |
| | | TZ: Asia/Shanghai |
| | | entrypoint: java -jar /data/se-gateway.jar --spring.config.location=file:/data/ |
| | | depends_on: |
| | | - se-redis |
| | | - se-mysql |
| | | - se-nacos |
| | | links: |
| | | - se-redis |
| | | - se-nacos |
| | | # links: |
| | | # - se-redis |
| | | networks: |
| | | - network-se |
| | | restart: always |
| | |
| | | # ports: |
| | | # - 9200:9200 |
| | | volumes: |
| | | - ./auth/logs:/logs |
| | | - ./auth:/data |
| | | environment: |
| | | TZ: Asia/Shanghai |
| | | entrypoint: java -jar /data/se-auth.jar --spring.config.location=file:/data/ |
| | | depends_on: |
| | | - se-redis |
| | | - se-mysql |
| | | - se-nacos |
| | | networks: |
| | | - network-se |
| | |
| | | # ports: |
| | | # - 9201:9201 |
| | | volumes: |
| | | - ./system/logs:/logs |
| | | - ./system:/data |
| | | environment: |
| | | TZ: Asia/Shanghai |
| | | entrypoint: java -jar /data/se-modules-system.jar --spring.config.location=file:/data/ |
| | | depends_on: |
| | | - se-redis |
| | | - se-nacos |
| | | - se-mysql |
| | | - se-nacos |
| | | networks: |
| | | - network-se |
| | | restart: always |
| | |
| | | # ports: |
| | | # - 9300:9300 |
| | | volumes: |
| | | - ./file/logs:/logs |
| | | - ./file:/data |
| | | environment: |
| | | TZ: Asia/Shanghai |
| | | entrypoint: java -jar /data/se-modules-file.jar --spring.config.location=file:/data/ |
| | | depends_on: |
| | | - se-mysql |
| | | - se-nacos |
| | | networks: |
| | | - network-se |
| | | restart: always |
| | | # se-wgcloud |
| | | se-wgcloud: |
| | | image: openjdk:8-jre |
| | | ports: |
| | | - 9999:9999 |
| | | volumes: |
| | | - ./wgcloud/logs:/log |
| | | - ./wgcloud:/data |
| | | environment: |
| | | TZ: Asia/Shanghai |
| | | entrypoint: java -jar /data/wgcloud-server-release.jar --spring.config.location=file:/data/ |
| | | depends_on: |
| | | - se-mysql |
| | | networks: |
| | | - network-se |
| | | restart: always |
| | | # nginx |
| | | se-nginx: |
| | | image: nginx:latest |
| | |
| | | active: dev |
| | | cloud: |
| | | nacos: |
| | | username: nacos |
| | | password: nAcos_!9#_admIn |
| | | discovery: |
| | | # æå¡æ³¨åå°å |
| | | server-addr: se-nacos:8848 |
| | |
| | | active: dev |
| | | cloud: |
| | | nacos: |
| | | username: nacos |
| | | password: nAcos_!9#_admIn |
| | | discovery: |
| | | # æå¡æ³¨åå°å |
| | | server-addr: se-nacos:8848 |
| | |
| | | -- insert into sys_menu values('1059', 'é¢è§ä»£ç ', '115', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', sysdate(), '', null, ''); |
| | | -- insert into sys_menu values('1060', 'çæä»£ç ', '115', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | alter table sys_menu add column mark varchar(20) comment 'èåæ è¯'; |
| | | update sys_menu set mark = 'sys' where menu_id < 1070; |
| | | -- select * from sys_menu; |
| | | |
| | | |
| | | -- ---------------------------- |
| | | -- 6ãç¨æ·åè§è²å
³è表 ç¨æ·N-1è§è² |
| | |
| | | -- insert into sys_role_menu values ('2', '1058'); |
| | | -- insert into sys_role_menu values ('2', '1059'); |
| | | -- insert into sys_role_menu values ('2', '1060'); |
| | | -- select * from sys_role_menu; |
| | | |
| | | -- ---------------------------- |
| | | -- 8ãè§è²åé¨é¨å
³è表 è§è²1-Né¨é¨ |
| | |
| | | UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE |
| | | ); |
| | | |
| | | INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE); |
| | | -- nAcos_!9#_admIn |
| | | INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$LnJDlPeP.XbQnr6iabc65OI6kM4LLS/BRLwPHEtRSERErvnmlKkBu', TRUE); |
| | | -- INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE); |
| | | |
| | | INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN'); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | -- DROP DATABASE IF EXISTS `wgcloud`; |
| | | |
| | | CREATE DATABASE IF NOT EXISTS `wgcloud` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
| | | |
| | | SET NAMES utf8mb4; |
| | | SET FOREIGN_KEY_CHECKS = 0; |
| | | |
| | | USE `wgcloud`; |
| | | |
| | | /* |
| | | Navicat MySQL Data Transfer |
| | | |
| | | Source Server : 127.0.0.1 |
| | | Source Server Version : 50717 |
| | | Source Host : localhost:3306 |
| | | Source Database : wgcloud |
| | | |
| | | Target Server Type : MYSQL |
| | | Target Server Version : 50717 |
| | | File Encoding : 65001 |
| | | |
| | | Date: 2021-11-26 20:01:46 |
| | | */ |
| | | |
| | | SET FOREIGN_KEY_CHECKS=0; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for app_info |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `APP_INFO`; |
| | | CREATE TABLE `APP_INFO` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(30) DEFAULT NULL, |
| | | `APP_PID` char(200) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | `APP_NAME` varchar(50) DEFAULT NULL, |
| | | `CPU_PER` double(8,2) DEFAULT NULL, |
| | | `MEM_PER` double(10,2) DEFAULT NULL, |
| | | `APP_TYPE` char(1) DEFAULT NULL, |
| | | `STATE` char(1) DEFAULT NULL, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for app_state |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `APP_STATE`; |
| | | CREATE TABLE `APP_STATE` ( |
| | | `ID` char(32) NOT NULL, |
| | | `APP_INFO_ID` char(32) DEFAULT NULL, |
| | | `CPU_PER` double(8,2) DEFAULT NULL, |
| | | `MEM_PER` double(10,2) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | PRIMARY KEY (`ID`), |
| | | KEY `APP_STAT_INDEX` (`APP_INFO_ID`,`CREATE_TIME`) USING BTREE |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for cpu_state |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `CPU_STATE`; |
| | | CREATE TABLE `CPU_STATE` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(30) DEFAULT NULL, |
| | | `USER` char(30) DEFAULT NULL, |
| | | `SYS` double(8,2) DEFAULT NULL, |
| | | `IDLE` double(8,2) DEFAULT NULL, |
| | | `IOWAIT` double(8,2) DEFAULT NULL, |
| | | `IRQ` char(30) DEFAULT NULL, |
| | | `SOFT` char(30) DEFAULT NULL, |
| | | `DATE_STR` char(30) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | PRIMARY KEY (`ID`), |
| | | KEY `CPU_ACC_HOST_INDEX` (`HOST_NAME`,`CREATE_TIME`) USING BTREE |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for db_info |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `DB_INFO`; |
| | | CREATE TABLE `DB_INFO` ( |
| | | `ID` char(32) NOT NULL, |
| | | `DBTYPE` char(32) DEFAULT NULL, |
| | | `USER` varchar(50) DEFAULT NULL, |
| | | `PASSWD` varchar(50) DEFAULT NULL, |
| | | `IP` char(20) DEFAULT NULL, |
| | | `PORT` char(10) DEFAULT NULL, |
| | | -- `CREATE_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, |
| | | `CREATE_TIME` timestamp DEFAULT CURRENT_TIMESTAMP, |
| | | `DBNAME` char(50) DEFAULT NULL, |
| | | `DB_STATE` char(1) DEFAULT NULL, |
| | | `ALIAS_NAME` varchar(50) DEFAULT NULL, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for db_table |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `DB_TABLE`; |
| | | CREATE TABLE `DB_TABLE` ( |
| | | `ID` char(32) NOT NULL, |
| | | `TABLE_NAME` varchar(50) DEFAULT NULL, |
| | | `WHERE_VAL` varchar(200) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, |
| | | `REMARK` varchar(50) DEFAULT NULL, |
| | | `TABLE_COUNT` bigint(20) DEFAULT NULL, |
| | | `DATE_STR` char(30) DEFAULT NULL, |
| | | `DBINFO_ID` char(32) DEFAULT NULL, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for db_table_count |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `DB_TABLE_COUNT`; |
| | | CREATE TABLE `DB_TABLE_COUNT` ( |
| | | `ID` char(32) NOT NULL, |
| | | `DB_TABLE_ID` char(32) DEFAULT NULL, |
| | | `TABLE_COUNT` bigint(20) DEFAULT NULL, |
| | | `DATE_STR` char(30) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for desk_state |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `DESK_STATE`; |
| | | CREATE TABLE `DESK_STATE` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(30) DEFAULT NULL, |
| | | `FILE_STSTEM` char(50) DEFAULT NULL, |
| | | `SIZE` char(30) DEFAULT NULL, |
| | | `USED` char(30) DEFAULT NULL, |
| | | `AVAIL` char(30) DEFAULT NULL, |
| | | `USE_PER` char(10) DEFAULT NULL, |
| | | `DATE_STR` char(30) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | PRIMARY KEY (`ID`), |
| | | KEY `DESK_ACC_HOST_INDEX` (`HOST_NAME`,`CREATE_TIME`) USING BTREE |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for heath_monitor |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `HEATH_MONITOR`; |
| | | CREATE TABLE `HEATH_MONITOR` ( |
| | | `ID` char(32) NOT NULL, |
| | | `APP_NAME` char(50) DEFAULT NULL, |
| | | `HEATH_URL` varchar(255) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, |
| | | `HEATH_STATUS` char(10) DEFAULT NULL, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for host_info |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `HOST_INFO`; |
| | | CREATE TABLE `HOST_INFO` ( |
| | | `ID` char(32) NOT NULL, |
| | | `IP` char(30) DEFAULT NULL, |
| | | `PORT` char(20) DEFAULT NULL, |
| | | `ROOT` char(50) DEFAULT NULL, |
| | | `PASSWD` char(50) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, |
| | | `REMARK` varchar(255) DEFAULT NULL, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for intrusion_info |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `INTRUSION_INFO`; |
| | | CREATE TABLE `INTRUSION_INFO` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(30) DEFAULT NULL, |
| | | `LSMOD` text, |
| | | `PASSWD_INFO` varchar(100) DEFAULT NULL, |
| | | `CRONTAB` text, |
| | | `PROMISC` varchar(100) DEFAULT NULL, |
| | | `RPCINFO` text, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for log_info |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `LOG_INFO`; |
| | | CREATE TABLE `LOG_INFO` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(50) DEFAULT NULL, |
| | | `INFO_CONTENT` text, |
| | | `STATE` char(1) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp DEFAULT CURRENT_TIMESTAMP, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for mail_set |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `MAIL_SET`; |
| | | CREATE TABLE `MAIL_SET` ( |
| | | `ID` char(32) COLLATE utf8_unicode_ci NOT NULL, |
| | | `SEND_MAIL` char(60) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | `FROM_MAIL_NAME` char(60) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | `FROM_PWD` char(30) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | `SMTP_HOST` char(50) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | `SMTP_PORT` char(30) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | `SMTP_SSL` char(30) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | `TO_MAIL` char(200) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | `CPU_PER` char(30) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | `MEM_PER` char(30) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | `HEATH_PER` char(30) COLLATE utf8_unicode_ci DEFAULT NULL, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for mem_state |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `MEM_STATE`; |
| | | CREATE TABLE `MEM_STATE` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(30) DEFAULT NULL, |
| | | `TOTAL` char(30) DEFAULT NULL, |
| | | `USED` char(30) DEFAULT NULL, |
| | | `FREE` char(30) DEFAULT NULL, |
| | | `USE_PER` double(8,2) DEFAULT NULL, |
| | | `DATE_STR` char(30) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | PRIMARY KEY (`ID`), |
| | | KEY `MEM_ACC_HOST_INDEX` (`HOST_NAME`,`CREATE_TIME`) USING BTREE |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for netio_state |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `NETIO_STATE`; |
| | | CREATE TABLE `NETIO_STATE` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(30) DEFAULT NULL, |
| | | `RXPCK` char(30) DEFAULT NULL, |
| | | `TXPCK` char(30) DEFAULT NULL, |
| | | `RXBYT` char(30) DEFAULT NULL, |
| | | `TXBYT` char(30) DEFAULT NULL, |
| | | `RXCMP` char(30) DEFAULT NULL, |
| | | `TXCMP` char(30) DEFAULT NULL, |
| | | `RXMCST` char(30) DEFAULT NULL, |
| | | `DATE_STR` char(30) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | PRIMARY KEY (`ID`), |
| | | KEY `NETIO_ACC_HOST_INDEX` (`HOST_NAME`,`CREATE_TIME`) USING BTREE |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for system_info |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `SYSTEM_INFO`; |
| | | CREATE TABLE `SYSTEM_INFO` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(30) DEFAULT NULL, |
| | | `VERSION` char(100) DEFAULT NULL, |
| | | `VERSION_DETAIL` char(200) DEFAULT NULL, |
| | | `CPU_PER` double(8,2) DEFAULT NULL, |
| | | `MEM_PER` double(8,2) DEFAULT NULL, |
| | | `CPU_CORE_NUM` char(10) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | `CPU_XH` char(150) DEFAULT NULL, |
| | | `STATE` char(1) DEFAULT NULL, |
| | | `REMARK` varchar(50) DEFAULT NULL, |
| | | PRIMARY KEY (`ID`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_load_state |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `SYS_LOAD_STATE`; |
| | | CREATE TABLE `SYS_LOAD_STATE` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(30) DEFAULT NULL, |
| | | `ONE_LOAD` double(8,2) DEFAULT NULL, |
| | | `FIVE_LOAD` double(8,2) DEFAULT NULL, |
| | | `FIFTEEN_LOAD` double(8,2) DEFAULT NULL, |
| | | `USERS` char(10) DEFAULT NULL, |
| | | `DATE_STR` char(30) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | PRIMARY KEY (`ID`), |
| | | KEY `LOAD_ACC_HOST_INDEX` (`HOST_NAME`,`CREATE_TIME`) USING BTREE |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for tcp_state |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `TCP_STATE`; |
| | | CREATE TABLE `TCP_STATE` ( |
| | | `ID` char(32) NOT NULL, |
| | | `HOST_NAME` char(30) DEFAULT NULL, |
| | | `ACTIVE` char(30) DEFAULT NULL, |
| | | `PASSIVE` char(30) DEFAULT NULL, |
| | | `RETRANS` char(30) DEFAULT NULL, |
| | | `DATE_STR` char(30) DEFAULT NULL, |
| | | `CREATE_TIME` timestamp NULL DEFAULT NULL, |
| | | PRIMARY KEY (`ID`), |
| | | KEY `TCP_ACC_HOST_INDEX` (`HOST_NAME`,`CREATE_TIME`) USING BTREE |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
| | |
| | | nacos.core.auth.system.type=nacos |
| | | |
| | | ### If turn on auth system: |
| | | nacos.core.auth.enabled=false |
| | | nacos.core.auth.enabled=true |
| | | |
| | | ### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay. |
| | | nacos.core.auth.caching.enabled=true |
| | | |
| | | ### Since 1.4.1, Turn on/off white auth for user-agent: nacos-server, only for upgrade from old version. |
| | | nacos.core.auth.enable.userAgentAuthWhite=true |
| | | nacos.core.auth.enable.userAgentAuthWhite=false |
| | | |
| | | ### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false. |
| | | ### The two properties is the white list for auth and used by identity the request from other server. |
| | | nacos.core.auth.server.identity.key= |
| | | nacos.core.auth.server.identity.value= |
| | | nacos.core.auth.server.identity.key=admin |
| | | nacos.core.auth.server.identity.value=nAcos_!9#_admIn |
| | | |
| | | ### worked when nacos.core.auth.system.type=nacos |
| | | ### The token expiration in seconds: |
| | | nacos.core.auth.plugin.nacos.token.cache.enable=false |
| | | nacos.core.auth.plugin.nacos.token.expire.seconds=18000 |
| | | ### The default token (Base64 String): |
| | | nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg= |
| | | ### The default token (Base64 String): https://base64.us/ |
| | | nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXljVXN0b21TZWNyZXRLZTkwMTIzNDU2Nzg= |
| | | |
| | | ### worked when nacos.core.auth.system.type=ldapï¼{0} is Placeholder,replace login username |
| | | #nacos.core.auth.ldap.url=ldap://localhost:389 |
| | |
| | | proxy_pass http://se-gateway:8080/; |
| | | } |
| | | |
| | | location /wgcloud { |
| | | proxy_set_header Host $http_host; |
| | | proxy_set_header X-Real-IP $remote_addr; |
| | | proxy_set_header REMOTE-HOST $remote_addr; |
| | | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| | | |
| | | proxy_pass http://se-wgcloud:9999/wgcloud; |
| | | } |
| | | |
| | | # actuator |
| | | if ($request_uri ~ "/actuator") { |
| | | return 403; |
| | |
| | | active: dev |
| | | cloud: |
| | | nacos: |
| | | username: nacos |
| | | password: nAcos_!9#_admIn |
| | | discovery: |
| | | # æå¡æ³¨åå°å |
| | | server-addr: se-nacos:8848 |
| | |
| | | # å
±äº«é
ç½® |
| | | shared-configs: |
| | | - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} |
| | | enableEncrypt: false |
¶Ô±ÈÐÂÎļþ |
| | |
| | | server: |
| | | port: 9999 |
| | | servlet: |
| | | session: |
| | | timeout: 120m |
| | | context-path: /wgcloud |
| | | #æ¥å¿æä»¶è¾åºè·¯å¾ |
| | | logging: |
| | | file: |
| | | path: ./log |
| | | # æ°æ®åº ç¸å
³è®¾ç½® |
| | | spring: |
| | | application: |
| | | name: wgcloud-server |
| | | datasource: |
| | | driver-class-name: com.mysql.jdbc.Driver |
| | | url: jdbc:mysql://se-mysql:3306/wgcloud?characterEncoding=utf-8&characterSetResults=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true |
| | | username: root |
| | | password: My_Sql_s!E_v5.7 |
| | | # hikariè¿æ¥æ± çåæ° ç¸å
³è®¾ç½® |
| | | hikari: |
| | | # çæè¶
æ¶ |
| | | validationTimeout: 3000 |
| | | # å®ä¹è·åè¿æ¥çè¶
æ¶æ¶é´ãæå°250ms,é»è®¤30s |
| | | connectionTimeout: 60000 |
| | | # å®ä¹è¿æ¥ç©ºé²æ¶é´ãæå°10s,é»è®¤10m |
| | | idleTimeout: 60000 |
| | | # å®ä¹æå°ç空é²è¿æ¥æ°ãæ¨èä¸è®¾ç½®ãæä¸æå¤§è¿æ¥æ°ä¸è´ï¼ä¿æåºå®çè¿æ¥æ°ç® |
| | | minimumIdle: 10 |
| | | # å®ä¹æå¤§çè¿æ¥æ°ãé»è®¤10 |
| | | maximumPoolSize: 10 |
| | | # å®ä¹è¿æ¥çæå¤§çå½å¨æãæ¨èè®¾ç½®è¯¥å±æ§ãæå°30sï¼é»è®¤30m |
| | | maxLifeTime: 60000 |
| | | # ä»è¿æ¥æ± è·åå°è¿æ¥åï¼è¿è¡æ£æ¥çæ¥è¯¢è¯å¥ãæ¨èè®¾ç½®è¯¥å±æ§ãé»è®¤å¼ä¸ºnone |
| | | connectionTestQuery: select 1 |
| | | mvc: |
| | | static-path-pattern: /static/** |
| | | thymeleaf: |
| | | cache: false |
| | | |
| | | #Mybatisé
ç½® |
| | | mybatis: |
| | | config-location: classpath:mybatis/mybatis-config.xml |
| | | mapper-locations: classpath:mybatis/mapper/*.xml |
| | | |
| | | #èªå®ä¹é
ç½®åæ° |
| | | base: |
| | | #ç»éè´¦å·adminçå¯ç |
| | | admindPwd: 111111 |
| | | #éä¿¡tokenï¼agentç«¯åæ¤ä¿æä¸è´ |
| | | wgToken: wgcloud |
| | | #æ¯å¦å¼å¯å
¬ä¼çæ¿ï¼yeså¼å¯ï¼noå
³éï¼å
¬ä¼çæ¿é¡µé¢æ éç»é |
| | | dashView: yes |
| | | # åå§åæä½ |
| | | initTaskTimes: 10000 |
| | | # æ£æµä¸»æºæ¯å¦å·²ç»ä¸çº¿ |
| | | hostDownCheckTimes: 10000 |
| | | #æå¡æ¥å£çæ§é´éï¼å使¯«ç§ |
| | | heathTimes: 10000 |
| | | #æ°æ®åºçæ§é´é,å使¯«ç§ |
| | | dbInfoTimes: 10000 |
| | | #æ°æ®è¡¨çæ§é´é,å使¯«ç§ |
| | | dbTableTimes: 10000 |
| | | # æ¹éæäº¤æ°æ® |
| | | commitTaskTimes: 10000 |
| | | |
| | | #åè¦é
ç½® |
| | | mail: |
| | | #åè¦é®ä»¶æ»å¼å
³ï¼yeså¼å¯ï¼noå
³é |
| | | allWarnMail: yes |
| | | #çæ§ä¸»æºå
å使ç¨ç%æ¥è¦å¼ï¼è¶
è¿æ¤å¼å³åéé®ä»¶æ¥è¦ |
| | | memWarnVal: 98 |
| | | #çæ§ä¸»æºcpu使ç¨ç%æ¥è¦å¼ï¼è¶
è¿æ¤å¼å³åéé®ä»¶æ¥è¦ |
| | | cpuWarnVal: 98 |
| | | #å
ååè¦é®ä»¶å¼å
³ï¼yeså¼å¯ï¼noå
³éãæ»å¼å
³å¼å¯åï¼æ¤å¤è®¾ç½®æä¼çæã以ä¸å¼å
³åéµå¾ªæ¤è§åã |
| | | memWarnMail: yes |
| | | #CPUåè¦é®ä»¶å¼å
³ï¼yeså¼å¯ï¼noå
³é |
| | | cpuWarnMail: yes |
| | | #主æºä¸çº¿åè¦é®ä»¶å¼å
³ï¼yeså¼å¯ï¼noå
³é |
| | | hostDownWarnMail: yes |
| | | #è¿ç¨ä¸çº¿åè¦é®ä»¶å¼å
³ï¼yeså¼å¯ï¼noå
³é |
| | | appDownWarnMail: yes |
| | | #æå¡æ¥å£åè¦é®ä»¶å¼å
³ï¼yeså¼å¯ï¼noå
³é |
| | | heathWarnMail: yes |
| | |
| | | <groupId>com.se</groupId> |
| | | <artifactId>se-common-security</artifactId> |
| | | </dependency> |
| | | |
| | | <!--lombok--> |
| | | <dependency> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | <version>1.18.22</version> |
| | | <optional>true</optional> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <build> |
| | |
| | | <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:6.1.10.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.4.34" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.4" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.30" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-bootstrap:3.1.7" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:3.1.7" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.11.RELEASE" level="project" /> |
| | |
| | | import com.se.auth.form.LoginBody; |
| | | import com.se.auth.form.RegisterBody; |
| | | import com.se.auth.service.SysLoginService; |
| | | import com.se.common.core.utils.AesUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.se.common.core.domain.R; |
| | | import com.se.common.core.utils.JwtUtils; |
| | |
| | | * @author admin |
| | | */ |
| | | @RestController |
| | | public class TokenController |
| | | { |
| | | public class TokenController { |
| | | @Autowired |
| | | private TokenService tokenService; |
| | | |
| | | @Autowired |
| | | private SysLoginService sysLoginService; |
| | | |
| | | @Value("${enableEncrypt}") |
| | | boolean enableEncrypt; |
| | | |
| | | @PostMapping("login") |
| | | public R<?> login(@RequestBody LoginBody form) |
| | | { |
| | | public R<?> login(@RequestBody LoginBody form) throws Exception { |
| | | if (enableEncrypt && !StringUtils.isEmpty(form.getPassword())) { |
| | | form.setPassword(AesUtils.decrypt(form.getPassword())); |
| | | } |
| | | // ç¨æ·ç»å½ |
| | | LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); |
| | | // è·åç»å½token |
| | |
| | | } |
| | | |
| | | @DeleteMapping("logout") |
| | | public R<?> logout(HttpServletRequest request) |
| | | { |
| | | public R<?> logout(HttpServletRequest request) { |
| | | String token = SecurityUtils.getToken(request); |
| | | if (StringUtils.isNotEmpty(token)) |
| | | { |
| | | if (StringUtils.isNotEmpty(token)) { |
| | | String username = JwtUtils.getUserName(token); |
| | | // å é¤ç¨æ·ç¼åè®°å½ |
| | | AuthUtil.logoutByToken(token); |
| | |
| | | } |
| | | |
| | | @PostMapping("refresh") |
| | | public R<?> refresh(HttpServletRequest request) |
| | | { |
| | | public R<?> refresh(HttpServletRequest request) { |
| | | LoginUser loginUser = tokenService.getLoginUser(request); |
| | | if (StringUtils.isNotNull(loginUser)) |
| | | { |
| | | if (StringUtils.isNotNull(loginUser)) { |
| | | // å·æ°ä»¤çæææ |
| | | tokenService.refreshToken(loginUser); |
| | | return R.ok(); |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("register") |
| | | /*@PostMapping("register") |
| | | public R<?> register(@RequestBody RegisterBody registerBody) |
| | | { |
| | | // ç¨æ·æ³¨å |
| | | sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); |
| | | return R.ok(); |
| | | } |
| | | }*/ |
| | | } |
| | |
| | | active: dev |
| | | cloud: |
| | | nacos: |
| | | username: nacos |
| | | password: nAcos_!9#_admIn |
| | | discovery: |
| | | # æå¡æ³¨åå°å |
| | | #server-addr: 192.168.11.203:8848 |
| | | server-addr: 127.0.0.1:8848 |
| | | config: |
| | | # é
ç½®ä¸å¿å°å |
| | | #server-addr: 192.168.11.203:8848 |
| | | server-addr: 127.0.0.1:8848 |
| | | # é
ç½®æä»¶æ ¼å¼ |
| | | file-extension: yml |
| | | # å
±äº«é
ç½® |
| | | shared-configs: |
| | | - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} |
| | | enableEncrypt: false |
| | |
| | | /** |
| | | * å¯é¥é¿åº¦å¿
é¡»æ¯16 |
| | | */ |
| | | private static final String DEFAULT_KEY = "A#s_zZ_sErve_k.y"; |
| | | private static final String DEFAULT_KEY = "A#s_zZ3seRve_k.y"; |
| | | |
| | | private static final String KEY_ALGORITHM = "AES"; |
| | | |
| | |
| | | active: dev |
| | | cloud: |
| | | nacos: |
| | | username: nacos |
| | | password: nAcos_!9#_admIn |
| | | discovery: |
| | | # æå¡æ³¨åå°å |
| | | #server-addr: 192.168.11.203:8848 |
| | | server-addr: 127.0.0.1:8848 |
| | | config: |
| | | # é
ç½®ä¸å¿å°å |
| | | #server-addr: 192.168.11.203:8848 |
| | | server-addr: 127.0.0.1:8848 |
| | | # é
ç½®æä»¶æ ¼å¼ |
| | | file-extension: yml |
| | |
| | | datasource: |
| | | ds1: |
| | | nacos: |
| | | #server-addr: 192.168.11.203:8848 |
| | | server-addr: 127.0.0.1:8848 |
| | | dataId: sentinel-se-gateway |
| | | groupId: DEFAULT_GROUP |
| | |
| | | active: dev |
| | | cloud: |
| | | nacos: |
| | | username: nacos |
| | | password: nAcos_!9#_admIn |
| | | discovery: |
| | | # æå¡æ³¨åå°å |
| | | server-addr: 127.0.0.1:8848 |
| | |
| | | active: dev |
| | | cloud: |
| | | nacos: |
| | | username: nacos |
| | | password: nAcos_!9#_admIn |
| | | discovery: |
| | | # æå¡æ³¨åå°å |
| | | server-addr: 127.0.0.1:8848 |
| | |
| | | <artifactId>se-common-swagger</artifactId> |
| | | </dependency> |
| | | |
| | | <!--lombok--> |
| | | <dependency> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | <version>1.18.22</version> |
| | | <optional>true</optional> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <build> |
| | |
| | | * @return è·¯ç±ä¿¡æ¯ |
| | | */ |
| | | @GetMapping("getRouters") |
| | | public AjaxResult getRouters() |
| | | public AjaxResult getRouters(String mark) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | if (StringUtils.isEmpty(mark)) { |
| | | mark = "sys"; |
| | | } |
| | | if ("all".equals(mark)) { |
| | | mark = null; |
| | | } |
| | | |
| | | List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId, mark); |
| | | return success(menuService.buildMenus(menus)); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®æ è¯è·åèå |
| | | * |
| | | * @return èå |
| | | */ |
| | | @GetMapping("getMenusByMark") |
| | | public AjaxResult getMenusByMark(String mark) |
| | | { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId); |
| | | return success(menuService.buildMenus(menus)); |
| | | List<SysMenu> menus = menuService.selectMenusByUserIdAndMark(userId, mark); |
| | | |
| | | return success(menus); |
| | | } |
| | | } |
| | |
| | | package com.se.system.controller; |
| | | |
| | | import java.util.Arrays; |
| | | |
| | | import com.se.common.core.utils.AesUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/user/profile") |
| | | public class SysProfileController extends BaseController |
| | | { |
| | | public class SysProfileController extends BaseController { |
| | | @Autowired |
| | | private ISysUserService userService; |
| | | |
| | | |
| | | @Autowired |
| | | private TokenService tokenService; |
| | | |
| | | |
| | | @Autowired |
| | | private RemoteFileService remoteFileService; |
| | | |
| | | @Value("${enableEncrypt}") |
| | | boolean enableEncrypt; |
| | | |
| | | /** |
| | | * ä¸ªäººä¿¡æ¯ |
| | | */ |
| | | @GetMapping |
| | | public AjaxResult profile() |
| | | { |
| | | public AjaxResult profile() { |
| | | String username = SecurityUtils.getUsername(); |
| | | SysUser user = userService.selectUserByUserName(username); |
| | | if (null != user) { |
| | | // 设置å¯ç 为空 |
| | | user.setPassword(null); |
| | | } |
| | | AjaxResult ajax = AjaxResult.success(user); |
| | | ajax.put("roleGroup", userService.selectUserRoleGroup(username)); |
| | | ajax.put("postGroup", userService.selectUserPostGroup(username)); |
| | |
| | | */ |
| | | @Log(title = "个人信æ¯", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult updateProfile(@RequestBody SysUser user) |
| | | { |
| | | public AjaxResult updateProfile(@RequestBody SysUser user) { |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | SysUser currentUser = loginUser.getSysUser(); |
| | | currentUser.setNickName(user.getNickName()); |
| | | currentUser.setEmail(user.getEmail()); |
| | | currentUser.setPhonenumber(user.getPhonenumber()); |
| | | currentUser.setSex(user.getSex()); |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser)) |
| | | { |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser)) { |
| | | return error("ä¿®æ¹ç¨æ·'" + loginUser.getUsername() + "'å¤±è´¥ï¼ææºå·ç å·²åå¨"); |
| | | } |
| | | if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(currentUser)) |
| | | { |
| | | if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(currentUser)) { |
| | | return error("ä¿®æ¹ç¨æ·'" + loginUser.getUsername() + "'失败ï¼é®ç®±è´¦å·å·²åå¨"); |
| | | } |
| | | if (userService.updateUserProfile(currentUser)) |
| | | { |
| | | if (userService.updateUserProfile(currentUser)) { |
| | | // æ´æ°ç¼åç¨æ·ä¿¡æ¯ |
| | | tokenService.setLoginUser(loginUser); |
| | | return success(); |
| | |
| | | */ |
| | | @Log(title = "个人信æ¯", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/updatePwd") |
| | | public AjaxResult updatePwd(String oldPassword, String newPassword) |
| | | { |
| | | public AjaxResult updatePwd(String oldPassword, String newPassword) throws Exception { |
| | | String username = SecurityUtils.getUsername(); |
| | | SysUser user = userService.selectUserByUserName(username); |
| | | if (enableEncrypt && !StringUtils.isEmpty(user.getPassword())) { |
| | | user.setPassword(AesUtils.decrypt(user.getPassword())); |
| | | } |
| | | String password = user.getPassword(); |
| | | if (!SecurityUtils.matchesPassword(oldPassword, password)) |
| | | { |
| | | if (!SecurityUtils.matchesPassword(oldPassword, password)) { |
| | | return error("ä¿®æ¹å¯ç å¤±è´¥ï¼æ§å¯ç é误"); |
| | | } |
| | | if (SecurityUtils.matchesPassword(newPassword, password)) |
| | | { |
| | | if (SecurityUtils.matchesPassword(newPassword, password)) { |
| | | return error("æ°å¯ç ä¸è½ä¸æ§å¯ç ç¸å"); |
| | | } |
| | | newPassword = SecurityUtils.encryptPassword(newPassword); |
| | | if (userService.resetUserPwd(username, newPassword) > 0) |
| | | { |
| | | if (userService.resetUserPwd(username, newPassword) > 0) { |
| | | // æ´æ°ç¼åç¨æ·å¯ç |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | loginUser.getSysUser().setPassword(newPassword); |
| | |
| | | } |
| | | return error("ä¿®æ¹å¯ç å¼å¸¸ï¼è¯·è系管çå"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 头åä¸ä¼ |
| | | */ |
| | | @Log(title = "ç¨æ·å¤´å", businessType = BusinessType.UPDATE) |
| | | @PostMapping("/avatar") |
| | | public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) |
| | | { |
| | | if (!file.isEmpty()) |
| | | { |
| | | public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) { |
| | | if (!file.isEmpty()) { |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | String extension = FileTypeUtils.getExtension(file); |
| | | if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION)) |
| | | { |
| | | if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION)) { |
| | | return error("æä»¶æ ¼å¼ä¸æ£ç¡®ï¼è¯·ä¸ä¼ " + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "æ ¼å¼"); |
| | | } |
| | | R<SysFile> fileResult = remoteFileService.upload(file); |
| | | if (StringUtils.isNull(fileResult) || StringUtils.isNull(fileResult.getData())) |
| | | { |
| | | if (StringUtils.isNull(fileResult) || StringUtils.isNull(fileResult.getData())) { |
| | | return error("æä»¶æå¡å¼å¸¸ï¼è¯·è系管çå"); |
| | | } |
| | | String url = fileResult.getData().getUrl(); |
| | | if (userService.updateUserAvatar(loginUser.getUsername(), url)) |
| | | { |
| | | if (userService.updateUserAvatar(loginUser.getUsername(), url)) { |
| | | AjaxResult ajax = AjaxResult.success(); |
| | | ajax.put("imgUrl", url); |
| | | // æ´æ°ç¼åç¨æ·å¤´å |
| | |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.se.common.core.utils.AesUtils; |
| | | import org.apache.commons.lang3.ArrayUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | import com.se.system.api.domain.SysRole; |
| | | import com.se.system.api.domain.SysUser; |
| | | import com.se.system.api.model.LoginUser; |
| | | import com.se.system.service.ISysConfigService; |
| | | import com.se.system.service.ISysDeptService; |
| | | import com.se.system.service.ISysPermissionService; |
| | | import com.se.system.service.ISysPostService; |
| | | import com.se.system.service.ISysRoleService; |
| | | import com.se.system.service.ISysUserService; |
| | | import com.se.system.service.*; |
| | | |
| | | /** |
| | | * ç¨æ·ä¿¡æ¯ |
| | |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/user") |
| | | public class SysUserController extends BaseController |
| | | { |
| | | public class SysUserController extends BaseController { |
| | | @Autowired |
| | | private ISysUserService userService; |
| | | |
| | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | @Value("${enableEncrypt}") |
| | | boolean enableEncrypt; |
| | | |
| | | /** |
| | | * è·åç¨æ·å表 |
| | | */ |
| | | @RequiresPermissions("system:user:list") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(SysUser user) |
| | | { |
| | | public TableDataInfo list(SysUser user) { |
| | | startPage(); |
| | | List<SysUser> list = userService.selectUserList(user); |
| | | if (!CollectionUtils.isEmpty(list)) { |
| | | for (SysUser sysUser : list) { |
| | | // 设置å¯ç 为空 |
| | | sysUser.setPassword(null); |
| | | } |
| | | } |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.EXPORT) |
| | | @RequiresPermissions("system:user:export") |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, SysUser user) |
| | | { |
| | | public void export(HttpServletResponse response, SysUser user) { |
| | | List<SysUser> list = userService.selectUserList(user); |
| | | if (!CollectionUtils.isEmpty(list)) { |
| | | for (SysUser sysUser : list) { |
| | | // 设置å¯ç 为空 |
| | | sysUser.setPassword(null); |
| | | } |
| | | } |
| | | ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); |
| | | util.exportExcel(response, list, "ç¨æ·æ°æ®"); |
| | | } |
| | |
| | | @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.IMPORT) |
| | | @RequiresPermissions("system:user:import") |
| | | @PostMapping("/importData") |
| | | public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception |
| | | { |
| | | public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { |
| | | ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); |
| | | List<SysUser> userList = util.importExcel(file.getInputStream()); |
| | | String operName = SecurityUtils.getUsername(); |
| | |
| | | } |
| | | |
| | | @PostMapping("/importTemplate") |
| | | public void importTemplate(HttpServletResponse response) throws IOException |
| | | { |
| | | public void importTemplate(HttpServletResponse response) throws IOException { |
| | | ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); |
| | | util.importTemplateExcel(response, "ç¨æ·æ°æ®"); |
| | | } |
| | |
| | | */ |
| | | @InnerAuth |
| | | @GetMapping("/info/{username}") |
| | | public R<LoginUser> info(@PathVariable("username") String username) |
| | | { |
| | | public R<LoginUser> info(@PathVariable("username") String username) { |
| | | SysUser sysUser = userService.selectUserByUserName(username); |
| | | if (StringUtils.isNull(sysUser)) |
| | | { |
| | | if (StringUtils.isNull(sysUser)) { |
| | | return R.fail("ç¨æ·åæå¯ç é误"); |
| | | } |
| | | // 设置å¯ç 为空 |
| | | //sysUser.setPassword(null); |
| | | // è§è²éå |
| | | Set<String> roles = permissionService.getRolePermission(sysUser); |
| | | // æééå |
| | |
| | | */ |
| | | @InnerAuth |
| | | @PostMapping("/register") |
| | | public R<Boolean> register(@RequestBody SysUser sysUser) |
| | | { |
| | | public R<Boolean> register(@RequestBody SysUser sysUser) { |
| | | String username = sysUser.getUserName(); |
| | | if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) |
| | | { |
| | | if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { |
| | | return R.fail("å½åç³»ç»æ²¡æå¼å¯æ³¨ååè½ï¼"); |
| | | } |
| | | if (!userService.checkUserNameUnique(sysUser)) |
| | | { |
| | | if (!userService.checkUserNameUnique(sysUser)) { |
| | | return R.fail("ä¿åç¨æ·'" + username + "'å¤±è´¥ï¼æ³¨åè´¦å·å·²åå¨"); |
| | | } |
| | | return R.ok(userService.registerUser(sysUser)); |
| | | } |
| | | |
| | | /** |
| | | *è®°å½ç¨æ·ç»å½IPå°ååç»å½æ¶é´ |
| | | * è®°å½ç¨æ·ç»å½IPå°ååç»å½æ¶é´ |
| | | */ |
| | | @InnerAuth |
| | | @PutMapping("/recordlogin") |
| | | public R<Boolean> recordlogin(@RequestBody SysUser sysUser) |
| | | { |
| | | public R<Boolean> recordlogin(@RequestBody SysUser sysUser) { |
| | | return R.ok(userService.updateUserProfile(sysUser)); |
| | | } |
| | | |
| | | /** |
| | | * è·åç¨æ·ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @return ç¨æ·ä¿¡æ¯ |
| | | */ |
| | | @GetMapping("getInfo") |
| | | public AjaxResult getInfo() { |
| | | SysUser user = userService.selectUserById(SecurityUtils.getUserId()); |
| | | if (null != user) { |
| | | // 设置å¯ç 为空 |
| | | user.setPassword(null); |
| | | } |
| | | // è§è²éå |
| | | Set<String> roles = permissionService.getRolePermission(user); |
| | | // æééå |
| | |
| | | * æ ¹æ®ç¨æ·ç¼å·è·å详ç»ä¿¡æ¯ |
| | | */ |
| | | @RequiresPermissions("system:user:query") |
| | | @GetMapping(value = { "/", "/{userId}" }) |
| | | public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) |
| | | { |
| | | @GetMapping(value = {"/", "/{userId}"}) |
| | | public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) { |
| | | userService.checkUserDataScope(userId); |
| | | AjaxResult ajax = AjaxResult.success(); |
| | | List<SysRole> roles = roleService.selectRoleAll(); |
| | | ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); |
| | | ajax.put("posts", postService.selectPostAll()); |
| | | if (StringUtils.isNotNull(userId)) |
| | | { |
| | | if (StringUtils.isNotNull(userId)) { |
| | | SysUser sysUser = userService.selectUserById(userId); |
| | | if (null != sysUser) { |
| | | // 设置å¯ç 为空 |
| | | sysUser.setPassword(null); |
| | | } |
| | | ajax.put(AjaxResult.DATA_TAG, sysUser); |
| | | ajax.put("postIds", postService.selectPostListByUserId(userId)); |
| | | ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); |
| | |
| | | @RequiresPermissions("system:user:add") |
| | | @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@Validated @RequestBody SysUser user) |
| | | { |
| | | public AjaxResult add(@Validated @RequestBody SysUser user) throws Exception { |
| | | deptService.checkDeptDataScope(user.getDeptId()); |
| | | roleService.checkRoleDataScope(user.getRoleIds()); |
| | | if (!userService.checkUserNameUnique(user)) |
| | | { |
| | | if (!userService.checkUserNameUnique(user)) { |
| | | return error("æ°å¢ç¨æ·'" + user.getUserName() + "'失败ï¼ç»å½è´¦å·å·²åå¨"); |
| | | } |
| | | else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) |
| | | { |
| | | } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { |
| | | return error("æ°å¢ç¨æ·'" + user.getUserName() + "'å¤±è´¥ï¼ææºå·ç å·²åå¨"); |
| | | } |
| | | else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) |
| | | { |
| | | } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { |
| | | return error("æ°å¢ç¨æ·'" + user.getUserName() + "'失败ï¼é®ç®±è´¦å·å·²åå¨"); |
| | | } |
| | | if (enableEncrypt && !StringUtils.isEmpty(user.getPassword())) { |
| | | user.setPassword(AesUtils.decrypt(user.getPassword())); |
| | | } |
| | | user.setCreateBy(SecurityUtils.getUsername()); |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | |
| | | @RequiresPermissions("system:user:edit") |
| | | @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@Validated @RequestBody SysUser user) |
| | | { |
| | | public AjaxResult edit(@Validated @RequestBody SysUser user) { |
| | | userService.checkUserAllowed(user); |
| | | userService.checkUserDataScope(user.getUserId()); |
| | | deptService.checkDeptDataScope(user.getDeptId()); |
| | | roleService.checkRoleDataScope(user.getRoleIds()); |
| | | if (!userService.checkUserNameUnique(user)) |
| | | { |
| | | if (!userService.checkUserNameUnique(user)) { |
| | | return error("ä¿®æ¹ç¨æ·'" + user.getUserName() + "'失败ï¼ç»å½è´¦å·å·²åå¨"); |
| | | } |
| | | else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) |
| | | { |
| | | } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { |
| | | return error("ä¿®æ¹ç¨æ·'" + user.getUserName() + "'å¤±è´¥ï¼ææºå·ç å·²åå¨"); |
| | | } |
| | | else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) |
| | | { |
| | | } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { |
| | | return error("ä¿®æ¹ç¨æ·'" + user.getUserName() + "'失败ï¼é®ç®±è´¦å·å·²åå¨"); |
| | | } |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | |
| | | @RequiresPermissions("system:user:remove") |
| | | @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{userIds}") |
| | | public AjaxResult remove(@PathVariable Long[] userIds) |
| | | { |
| | | if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) |
| | | { |
| | | public AjaxResult remove(@PathVariable Long[] userIds) { |
| | | if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) { |
| | | return error("å½åç¨æ·ä¸è½å é¤"); |
| | | } |
| | | return toAjax(userService.deleteUserByIds(userIds)); |
| | |
| | | @RequiresPermissions("system:user:edit") |
| | | @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/resetPwd") |
| | | public AjaxResult resetPwd(@RequestBody SysUser user) |
| | | { |
| | | public AjaxResult resetPwd(@RequestBody SysUser user) throws Exception { |
| | | userService.checkUserAllowed(user); |
| | | userService.checkUserDataScope(user.getUserId()); |
| | | if (enableEncrypt && !StringUtils.isEmpty(user.getPassword())) { |
| | | user.setPassword(AesUtils.decrypt(user.getPassword())); |
| | | } |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | | return toAjax(userService.resetPwd(user)); |
| | |
| | | @RequiresPermissions("system:user:edit") |
| | | @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/changeStatus") |
| | | public AjaxResult changeStatus(@RequestBody SysUser user) |
| | | { |
| | | public AjaxResult changeStatus(@RequestBody SysUser user) { |
| | | userService.checkUserAllowed(user); |
| | | userService.checkUserDataScope(user.getUserId()); |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | |
| | | */ |
| | | @RequiresPermissions("system:user:query") |
| | | @GetMapping("/authRole/{userId}") |
| | | public AjaxResult authRole(@PathVariable("userId") Long userId) |
| | | { |
| | | public AjaxResult authRole(@PathVariable("userId") Long userId) { |
| | | AjaxResult ajax = AjaxResult.success(); |
| | | SysUser user = userService.selectUserById(userId); |
| | | List<SysRole> roles = roleService.selectRolesByUserId(userId); |
| | |
| | | @RequiresPermissions("system:user:edit") |
| | | @Log(title = "ç¨æ·ç®¡ç", businessType = BusinessType.GRANT) |
| | | @PutMapping("/authRole") |
| | | public AjaxResult insertAuthRole(Long userId, Long[] roleIds) |
| | | { |
| | | public AjaxResult insertAuthRole(Long userId, Long[] roleIds) { |
| | | userService.checkUserDataScope(userId); |
| | | roleService.checkRoleDataScope(roleIds); |
| | | userService.insertUserAuth(userId, roleIds); |
| | |
| | | */ |
| | | @RequiresPermissions("system:user:list") |
| | | @GetMapping("/deptTree") |
| | | public AjaxResult deptTree(SysDept dept) |
| | | { |
| | | public AjaxResult deptTree(SysDept dept) { |
| | | return success(deptService.selectDeptTreeList(dept)); |
| | | } |
| | | } |
| | |
| | | /** èå徿 */ |
| | | private String icon; |
| | | |
| | | /** èåæ è¯ */ |
| | | private String mark; |
| | | |
| | | /** åèå */ |
| | | private List<SysMenu> children = new ArrayList<SysMenu>(); |
| | | |
| | |
| | | this.children = children; |
| | | } |
| | | |
| | | public String getMark() { |
| | | return mark; |
| | | } |
| | | |
| | | public void setMark(String mark) { |
| | | this.mark = mark; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) |
| | |
| | | .append("updateBy", getUpdateBy()) |
| | | .append("updateTime", getUpdateTime()) |
| | | .append("remark", getRemark()) |
| | | .append("mark", getMark()) |
| | | .toString(); |
| | | } |
| | | } |
| | |
| | | * |
| | | * @author admin |
| | | */ |
| | | public interface SysMenuMapper |
| | | { |
| | | public interface SysMenuMapper { |
| | | /** |
| | | * æ¥è¯¢ç³»ç»èåå表 |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return èåå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·æææé |
| | | * |
| | | * |
| | | * @return æéå表 |
| | | */ |
| | | public List<String> selectMenuPerms(); |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·æ¥è¯¢ç³»ç»èåå表 |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return èåå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®è§è²IDæ¥è¯¢æé |
| | | * |
| | | * |
| | | * @param roleId è§è²ID |
| | | * @return æéå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·IDæ¥è¯¢æé |
| | | * |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @return æéå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·IDæ¥è¯¢èå |
| | | * |
| | | * |
| | | * @return èåå表 |
| | | */ |
| | | public List<SysMenu> selectMenuTreeAll(); |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·IDæ¥è¯¢èå |
| | | * |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @param mark æ è¯ |
| | | * @return èåå表 |
| | | */ |
| | | public List<SysMenu> selectMenuTreeByUserId(Long userId); |
| | | public List<SysMenu> selectMenuTreeByUserId(@Param("userId") Long userId, @Param("mark") String mark); |
| | | |
| | | /** |
| | | * æ ¹æ®è§è²IDæ¥è¯¢èåæ ä¿¡æ¯ |
| | | * |
| | | * @param roleId è§è²ID |
| | | * |
| | | * @param roleId è§è²ID |
| | | * @param menuCheckStrictly èåæ éæ©é¡¹æ¯å¦å
³èæ¾ç¤º |
| | | * @return éä¸èåå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®èåIDæ¥è¯¢ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return èåä¿¡æ¯ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ¯å¦åå¨èååèç¹ |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ°å¢èåä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * ä¿®æ¹èåä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * å é¤èå管çä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¡éªèååç§°æ¯å¦å¯ä¸ |
| | | * |
| | | * |
| | | * @param menuName èååç§° |
| | | * @param parentId ç¶èåID |
| | | * @return ç»æ |
| | | */ |
| | | public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId); |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·IDåæ è¯æ¥è¯¢èå |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @param mark æ è¯ |
| | | * @return èåéå |
| | | */ |
| | | List<SysMenu> selectMenusByUserIdAndMark(@Param("userId") Long userId, @Param("mark") String mark); |
| | | } |
| | |
| | | public SysUser selectUserById(Long userId); |
| | | |
| | | /** |
| | | * éè¿idsæ¥è¯¢ç¨æ· |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | public List<SysUser> selectUserByIds(@Param("ids") String ids); |
| | | |
| | | /** |
| | | * æ°å¢ç¨æ·ä¿¡æ¯ |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | |
| | | package com.se.system.service; |
| | | |
| | | import java.util.List; |
| | | import com.se.system.domain.SysConfig; |
| | | import com.se.system.domain.*; |
| | | |
| | | /** |
| | | * åæ°é
ç½® æå¡å± |
| | |
| | | * |
| | | * @author admin |
| | | */ |
| | | public interface ISysMenuService |
| | | { |
| | | public interface ISysMenuService { |
| | | /** |
| | | * æ ¹æ®ç¨æ·æ¥è¯¢ç³»ç»èåå表 |
| | | * |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @return èåå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·æ¥è¯¢ç³»ç»èåå表 |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @param userId ç¨æ·ID |
| | | * @return èåå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·IDæ¥è¯¢æé |
| | | * |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @return æéå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®è§è²IDæ¥è¯¢æé |
| | | * |
| | | * |
| | | * @param roleId è§è²ID |
| | | * @return æéå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·IDæ¥è¯¢èåæ ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @param mark æ è¯ |
| | | * @return èåå表 |
| | | */ |
| | | public List<SysMenu> selectMenuTreeByUserId(Long userId); |
| | | public List<SysMenu> selectMenuTreeByUserId(Long userId, String mark); |
| | | |
| | | /** |
| | | * æ ¹æ®è§è²IDæ¥è¯¢èåæ ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param roleId è§è²ID |
| | | * @return éä¸èåå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æå»ºåç«¯è·¯ç±æéè¦çèå |
| | | * |
| | | * |
| | | * @param menus èåå表 |
| | | * @return è·¯ç±å表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æå»ºå端æéè¦æ ç»æ |
| | | * |
| | | * |
| | | * @param menus èåå表 |
| | | * @return æ ç»æå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æå»ºå端æéè¦ä¸ææ ç»æ |
| | | * |
| | | * |
| | | * @param menus èåå表 |
| | | * @return 䏿æ ç»æå表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®èåIDæ¥è¯¢ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return èåä¿¡æ¯ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ¯å¦åå¨èååèç¹ |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return ç»æ true åå¨ false ä¸åå¨ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ¥è¯¢è忝å¦åå¨è§è² |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return ç»æ true åå¨ false ä¸åå¨ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ°å¢ä¿åèåä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * ä¿®æ¹ä¿åèåä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * å é¤èå管çä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return ç»æ |
| | | */ |
| | |
| | | |
| | | /** |
| | | * æ ¡éªèååç§°æ¯å¦å¯ä¸ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | public boolean checkMenuNameUnique(SysMenu menu); |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·IDåæ è¯æ¥è¯¢èå |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @param mark æ è¯ |
| | | * @return èåéå |
| | | */ |
| | | List<SysMenu> selectMenusByUserIdAndMark(Long userId, String mark); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.se.system.service.impl; |
| | | |
| | | import com.se.system.api.domain.SysUser; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ISIMç¨æ·æå¡ |
| | | * |
| | | * @author WWW |
| | | * @date 2024-08-30 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | @SuppressWarnings("ALL") |
| | | public class IsimUserService { |
| | | public void insertUser(SysUser user) { |
| | | try { |
| | | System.out.println("insertUser"); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | public void insertUsers(List<SysUser> list) { |
| | | try { |
| | | System.out.println("insertUsers"); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | public void updateUser(SysUser user) { |
| | | try { |
| | | System.out.println("updateUser"); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | public void updateUsers(List<SysUser> list) { |
| | | try { |
| | | System.out.println("updateUsers"); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | public void deleteUser(SysUser user) { |
| | | try { |
| | | System.out.println("deleteUser"); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | public void deleteUsers(List<SysUser> list) { |
| | | try { |
| | | System.out.println("deleteUsers"); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.se.system.service.impl; |
| | | |
| | | import com.se.system.api.domain.SysUser; |
| | | import lombok.SneakyThrows; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.concurrent.CompletableFuture; |
| | | import java.util.concurrent.ExecutorService; |
| | | import java.util.concurrent.Executors; |
| | | |
| | | /** |
| | | * ç¨æ·åæ¥æå¡ |
| | | * |
| | | * @author WWW |
| | | * @date 2024-08-30 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | @SuppressWarnings("ALL") |
| | | public class SyncUserService { |
| | | @Resource |
| | | IsimUserService isimUserService; |
| | | |
| | | public void insertUser(SysUser user) { |
| | | // supplyAsync-带è¿åå¼ï¼runAsync-æ è¿åå¼ |
| | | CompletableFuture.runAsync(() -> { |
| | | isimUserService.insertUser(user); |
| | | }); |
| | | } |
| | | |
| | | public void insertUsers(List<SysUser> list) { |
| | | CompletableFuture.runAsync(() -> { |
| | | isimUserService.insertUsers(list); |
| | | }); |
| | | } |
| | | |
| | | public void updateUser(SysUser user) { |
| | | CompletableFuture.runAsync(() -> { |
| | | isimUserService.updateUser(user); |
| | | }); |
| | | } |
| | | |
| | | public void updateUsers(List<SysUser> list) { |
| | | CompletableFuture.runAsync(() -> { |
| | | isimUserService.updateUsers(list); |
| | | }); |
| | | } |
| | | |
| | | public void deleteUser(SysUser user) { |
| | | CompletableFuture.runAsync(() -> { |
| | | isimUserService.deleteUser(user); |
| | | }); |
| | | } |
| | | |
| | | public void deleteUsers(List<SysUser> list) { |
| | | CompletableFuture.runAsync(() -> { |
| | | isimUserService.deleteUsers(list); |
| | | }); |
| | | } |
| | | |
| | | private void asyncCall() { |
| | | try { |
| | | ExecutorService executor = Executors.newSingleThreadExecutor(); |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | @SneakyThrows |
| | | public void run() { |
| | | // |
| | | } |
| | | }); |
| | | executor.shutdown(); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | } |
| | | } |
| | | } |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | import com.se.system.domain.SysMenu; |
| | | import com.se.system.domain.vo.MetaVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.se.common.core.constant.Constants; |
| | |
| | | import com.se.common.security.utils.SecurityUtils; |
| | | import com.se.system.api.domain.SysRole; |
| | | import com.se.system.api.domain.SysUser; |
| | | import com.se.system.domain.vo.RouterVo; |
| | | import com.se.system.domain.vo.TreeSelect; |
| | | import com.se.system.domain.vo.*; |
| | | import com.se.system.mapper.SysMenuMapper; |
| | | import com.se.system.mapper.SysRoleMapper; |
| | | import com.se.system.mapper.SysRoleMenuMapper; |
| | | import com.se.system.mapper.*; |
| | | import com.se.system.service.ISysMenuService; |
| | | |
| | | /** |
| | |
| | | * @author admin |
| | | */ |
| | | @Service |
| | | public class SysMenuServiceImpl implements ISysMenuService |
| | | { |
| | | public class SysMenuServiceImpl implements ISysMenuService { |
| | | public static final String PREMISSION_STRING = "perms[\"{0}\"]"; |
| | | |
| | | @Autowired |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·æ¥è¯¢ç³»ç»èåå表 |
| | | * |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @return èåå表 |
| | | */ |
| | | @Override |
| | | public List<SysMenu> selectMenuList(Long userId) |
| | | { |
| | | public List<SysMenu> selectMenuList(Long userId) { |
| | | return selectMenuList(new SysMenu(), userId); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ç³»ç»èåå表 |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return èåå表 |
| | | */ |
| | | @Override |
| | | public List<SysMenu> selectMenuList(SysMenu menu, Long userId) |
| | | { |
| | | public List<SysMenu> selectMenuList(SysMenu menu, Long userId) { |
| | | List<SysMenu> menuList = null; |
| | | // 管çåæ¾ç¤ºææèåä¿¡æ¯ |
| | | if (SysUser.isAdmin(userId)) |
| | | { |
| | | if (SysUser.isAdmin(userId)) { |
| | | menuList = menuMapper.selectMenuList(menu); |
| | | } |
| | | else |
| | | { |
| | | } else { |
| | | menu.getParams().put("userId", userId); |
| | | menuList = menuMapper.selectMenuListByUserId(menu); |
| | | } |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·IDæ¥è¯¢æé |
| | | * |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @return æéå表 |
| | | */ |
| | | @Override |
| | | public Set<String> selectMenuPermsByUserId(Long userId) |
| | | { |
| | | public Set<String> selectMenuPermsByUserId(Long userId) { |
| | | List<String> perms = menuMapper.selectMenuPermsByUserId(userId); |
| | | Set<String> permsSet = new HashSet<>(); |
| | | for (String perm : perms) |
| | | { |
| | | if (StringUtils.isNotEmpty(perm)) |
| | | { |
| | | for (String perm : perms) { |
| | | if (StringUtils.isNotEmpty(perm)) { |
| | | permsSet.addAll(Arrays.asList(perm.trim().split(","))); |
| | | } |
| | | } |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®è§è²IDæ¥è¯¢æé |
| | | * |
| | | * |
| | | * @param roleId è§è²ID |
| | | * @return æéå表 |
| | | */ |
| | | @Override |
| | | public Set<String> selectMenuPermsByRoleId(Long roleId) |
| | | { |
| | | public Set<String> selectMenuPermsByRoleId(Long roleId) { |
| | | List<String> perms = menuMapper.selectMenuPermsByRoleId(roleId); |
| | | Set<String> permsSet = new HashSet<>(); |
| | | for (String perm : perms) |
| | | { |
| | | if (StringUtils.isNotEmpty(perm)) |
| | | { |
| | | for (String perm : perms) { |
| | | if (StringUtils.isNotEmpty(perm)) { |
| | | permsSet.addAll(Arrays.asList(perm.trim().split(","))); |
| | | } |
| | | } |
| | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·IDæ¥è¯¢èå |
| | | * |
| | | * |
| | | * @param userId ç¨æ·åç§° |
| | | * @param mark æ è¯ |
| | | * @return èåå表 |
| | | */ |
| | | @Override |
| | | public List<SysMenu> selectMenuTreeByUserId(Long userId) |
| | | { |
| | | List<SysMenu> menus = null; |
| | | public List<SysMenu> selectMenuTreeByUserId(Long userId, String mark) { |
| | | /*List<SysMenu> menus = null; |
| | | if (SecurityUtils.isAdmin(userId)) |
| | | { |
| | | menus = menuMapper.selectMenuTreeAll(); |
| | |
| | | else |
| | | { |
| | | menus = menuMapper.selectMenuTreeByUserId(userId); |
| | | } |
| | | }*/ |
| | | List<SysMenu> menus = menuMapper.selectMenuTreeByUserId(SecurityUtils.isAdmin(userId) ? null : userId, mark); |
| | | |
| | | return getChildPerms(menus, 0); |
| | | } |
| | | |
| | | @Override |
| | | public List<SysMenu> selectMenusByUserIdAndMark(Long userId, String mark) { |
| | | List<SysMenu> menus = menuMapper.selectMenusByUserIdAndMark(SecurityUtils.isAdmin(userId) ? null : userId, mark); |
| | | |
| | | return getChildPerms(menus, 0); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®è§è²IDæ¥è¯¢èåæ ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param roleId è§è²ID |
| | | * @return éä¸èåå表 |
| | | */ |
| | | @Override |
| | | public List<Long> selectMenuListByRoleId(Long roleId) |
| | | { |
| | | public List<Long> selectMenuListByRoleId(Long roleId) { |
| | | SysRole role = roleMapper.selectRoleById(roleId); |
| | | return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly()); |
| | | } |
| | | |
| | | /** |
| | | * æå»ºåç«¯è·¯ç±æéè¦çèå |
| | | * |
| | | * |
| | | * @param menus èåå表 |
| | | * @return è·¯ç±å表 |
| | | */ |
| | | @Override |
| | | public List<RouterVo> buildMenus(List<SysMenu> menus) |
| | | { |
| | | public List<RouterVo> buildMenus(List<SysMenu> menus) { |
| | | List<RouterVo> routers = new LinkedList<RouterVo>(); |
| | | for (SysMenu menu : menus) |
| | | { |
| | | for (SysMenu menu : menus) { |
| | | RouterVo router = new RouterVo(); |
| | | router.setHidden("1".equals(menu.getVisible())); |
| | | router.setName(getRouteName(menu)); |
| | |
| | | router.setQuery(menu.getQuery()); |
| | | router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); |
| | | List<SysMenu> cMenus = menu.getChildren(); |
| | | if (StringUtils.isNotEmpty(cMenus) && UserConstants.TYPE_DIR.equals(menu.getMenuType())) |
| | | { |
| | | if (StringUtils.isNotEmpty(cMenus) && UserConstants.TYPE_DIR.equals(menu.getMenuType())) { |
| | | router.setAlwaysShow(true); |
| | | router.setRedirect("noRedirect"); |
| | | router.setChildren(buildMenus(cMenus)); |
| | | } |
| | | else if (isMenuFrame(menu)) |
| | | { |
| | | } else if (isMenuFrame(menu)) { |
| | | router.setMeta(null); |
| | | List<RouterVo> childrenList = new ArrayList<RouterVo>(); |
| | | RouterVo children = new RouterVo(); |
| | |
| | | children.setQuery(menu.getQuery()); |
| | | childrenList.add(children); |
| | | router.setChildren(childrenList); |
| | | } |
| | | else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) |
| | | { |
| | | } else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) { |
| | | router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon())); |
| | | router.setPath("/"); |
| | | List<RouterVo> childrenList = new ArrayList<RouterVo>(); |
| | |
| | | |
| | | /** |
| | | * æå»ºå端æéè¦æ ç»æ |
| | | * |
| | | * |
| | | * @param menus èåå表 |
| | | * @return æ ç»æå表 |
| | | */ |
| | | @Override |
| | | public List<SysMenu> buildMenuTree(List<SysMenu> menus) |
| | | { |
| | | public List<SysMenu> buildMenuTree(List<SysMenu> menus) { |
| | | List<SysMenu> returnList = new ArrayList<SysMenu>(); |
| | | List<Long> tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); |
| | | for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext();) |
| | | { |
| | | for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext(); ) { |
| | | SysMenu menu = (SysMenu) iterator.next(); |
| | | // 妿æ¯é¡¶çº§èç¹, éå该ç¶èç¹çææåèç¹ |
| | | if (!tempList.contains(menu.getParentId())) |
| | | { |
| | | if (!tempList.contains(menu.getParentId())) { |
| | | recursionFn(menus, menu); |
| | | returnList.add(menu); |
| | | } |
| | | } |
| | | if (returnList.isEmpty()) |
| | | { |
| | | if (returnList.isEmpty()) { |
| | | returnList = menus; |
| | | } |
| | | return returnList; |
| | |
| | | |
| | | /** |
| | | * æå»ºå端æéè¦ä¸ææ ç»æ |
| | | * |
| | | * |
| | | * @param menus èåå表 |
| | | * @return 䏿æ ç»æå表 |
| | | */ |
| | | @Override |
| | | public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus) |
| | | { |
| | | public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus) { |
| | | List<SysMenu> menuTrees = buildMenuTree(menus); |
| | | return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®èåIDæ¥è¯¢ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return èåä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public SysMenu selectMenuById(Long menuId) |
| | | { |
| | | public SysMenu selectMenuById(Long menuId) { |
| | | return menuMapper.selectMenuById(menuId); |
| | | } |
| | | |
| | | /** |
| | | * æ¯å¦åå¨èååèç¹ |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public boolean hasChildByMenuId(Long menuId) |
| | | { |
| | | public boolean hasChildByMenuId(Long menuId) { |
| | | int result = menuMapper.hasChildByMenuId(menuId); |
| | | return result > 0; |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢èåä½¿ç¨æ°é |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public boolean checkMenuExistRole(Long menuId) |
| | | { |
| | | public boolean checkMenuExistRole(Long menuId) { |
| | | int result = roleMenuMapper.checkMenuExistRole(menuId); |
| | | return result > 0; |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ä¿åèåä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int insertMenu(SysMenu menu) |
| | | { |
| | | public int insertMenu(SysMenu menu) { |
| | | return menuMapper.insertMenu(menu); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ä¿åèåä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int updateMenu(SysMenu menu) |
| | | { |
| | | public int updateMenu(SysMenu menu) { |
| | | return menuMapper.updateMenu(menu); |
| | | } |
| | | |
| | | /** |
| | | * å é¤èå管çä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menuId èåID |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int deleteMenuById(Long menuId) |
| | | { |
| | | public int deleteMenuById(Long menuId) { |
| | | return menuMapper.deleteMenuById(menuId); |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªèååç§°æ¯å¦å¯ä¸ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public boolean checkMenuNameUnique(SysMenu menu) |
| | | { |
| | | public boolean checkMenuNameUnique(SysMenu menu) { |
| | | Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId(); |
| | | SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId()); |
| | | if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) |
| | | { |
| | | if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | |
| | | /** |
| | | * è·åè·¯ç±åç§° |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return è·¯ç±åç§° |
| | | */ |
| | | public String getRouteName(SysMenu menu) |
| | | { |
| | | public String getRouteName(SysMenu menu) { |
| | | // éå¤é¾å¹¶ä¸æ¯ä¸çº§ç®å½ï¼ç±»å为ç®å½ï¼ |
| | | if (isMenuFrame(menu)) |
| | | { |
| | | if (isMenuFrame(menu)) { |
| | | return StringUtils.EMPTY; |
| | | } |
| | | return getRouteName(menu.getRouteName(), menu.getPath()); |
| | |
| | | |
| | | /** |
| | | * è·åè·¯ç±åç§°ï¼å¦æ²¡æé
置路ç±åç§°ååè·¯ç±å°å |
| | | * |
| | | * |
| | | * @param routerName è·¯ç±åç§° |
| | | * @param path è·¯ç±å°å |
| | | * @param path è·¯ç±å°å |
| | | * @return è·¯ç±åç§°ï¼é©¼å³°æ ¼å¼ï¼ |
| | | */ |
| | | public String getRouteName(String name, String path) |
| | | { |
| | | public String getRouteName(String name, String path) { |
| | | String routerName = StringUtils.isNotEmpty(name) ? name : path; |
| | | return StringUtils.capitalize(routerName); |
| | | } |
| | | |
| | | /** |
| | | * è·åè·¯ç±å°å |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return è·¯ç±å°å |
| | | */ |
| | | public String getRouterPath(SysMenu menu) |
| | | { |
| | | public String getRouterPath(SysMenu menu) { |
| | | String routerPath = menu.getPath(); |
| | | // å
龿å¼å¤ç½æ¹å¼ |
| | | if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) |
| | | { |
| | | if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) { |
| | | routerPath = innerLinkReplaceEach(routerPath); |
| | | } |
| | | // éå¤é¾å¹¶ä¸æ¯ä¸çº§ç®å½ï¼ç±»å为ç®å½ï¼ |
| | | if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) |
| | | && UserConstants.NO_FRAME.equals(menu.getIsFrame())) |
| | | { |
| | | && UserConstants.NO_FRAME.equals(menu.getIsFrame())) { |
| | | routerPath = "/" + menu.getPath(); |
| | | } |
| | | // éå¤é¾å¹¶ä¸æ¯ä¸çº§ç®å½ï¼ç±»å为èåï¼ |
| | | else if (isMenuFrame(menu)) |
| | | { |
| | | else if (isMenuFrame(menu)) { |
| | | routerPath = "/"; |
| | | } |
| | | return routerPath; |
| | |
| | | |
| | | /** |
| | | * è·åç»ä»¶ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»ä»¶ä¿¡æ¯ |
| | | */ |
| | | public String getComponent(SysMenu menu) |
| | | { |
| | | public String getComponent(SysMenu menu) { |
| | | String component = UserConstants.LAYOUT; |
| | | if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) |
| | | { |
| | | if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) { |
| | | component = menu.getComponent(); |
| | | } |
| | | else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) |
| | | { |
| | | } else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) { |
| | | component = UserConstants.INNER_LINK; |
| | | } |
| | | else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) |
| | | { |
| | | } else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) { |
| | | component = UserConstants.PARENT_VIEW; |
| | | } |
| | | return component; |
| | |
| | | |
| | | /** |
| | | * æ¯å¦ä¸ºèåå
é¨è·³è½¬ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | public boolean isMenuFrame(SysMenu menu) |
| | | { |
| | | public boolean isMenuFrame(SysMenu menu) { |
| | | return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType()) |
| | | && menu.getIsFrame().equals(UserConstants.NO_FRAME); |
| | | } |
| | | |
| | | /** |
| | | * æ¯å¦ä¸ºå
é¾ç»ä»¶ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | public boolean isInnerLink(SysMenu menu) |
| | | { |
| | | public boolean isInnerLink(SysMenu menu) { |
| | | return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath()); |
| | | } |
| | | |
| | | /** |
| | | * æ¯å¦ä¸ºparent_viewç»ä»¶ |
| | | * |
| | | * |
| | | * @param menu èåä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | public boolean isParentView(SysMenu menu) |
| | | { |
| | | public boolean isParentView(SysMenu menu) { |
| | | return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç¶èç¹çIDè·åææåèç¹ |
| | | * |
| | | * @param list å类表 |
| | | * |
| | | * @param list å类表 |
| | | * @param parentId ä¼ å
¥çç¶èç¹ID |
| | | * @return String |
| | | */ |
| | | public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId) |
| | | { |
| | | public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId) { |
| | | List<SysMenu> returnList = new ArrayList<SysMenu>(); |
| | | for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext();) |
| | | { |
| | | for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext(); ) { |
| | | SysMenu t = (SysMenu) iterator.next(); |
| | | // ä¸ãæ ¹æ®ä¼ å
¥çæä¸ªç¶èç¹ID,éå该ç¶èç¹çææåèç¹ |
| | | if (t.getParentId() == parentId) |
| | | { |
| | | if (t.getParentId() == parentId) { |
| | | recursionFn(list, t); |
| | | returnList.add(t); |
| | | } |
| | |
| | | |
| | | /** |
| | | * éå½å表 |
| | | * |
| | | * |
| | | * @param list å类表 |
| | | * @param t åèç¹ |
| | | * @param t åèç¹ |
| | | */ |
| | | private void recursionFn(List<SysMenu> list, SysMenu t) |
| | | { |
| | | private void recursionFn(List<SysMenu> list, SysMenu t) { |
| | | // å¾å°åèç¹å表 |
| | | List<SysMenu> childList = getChildList(list, t); |
| | | t.setChildren(childList); |
| | | for (SysMenu tChild : childList) |
| | | { |
| | | if (hasChild(list, tChild)) |
| | | { |
| | | for (SysMenu tChild : childList) { |
| | | if (hasChild(list, tChild)) { |
| | | recursionFn(list, tChild); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * å¾å°åèç¹å表 |
| | | */ |
| | | private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) |
| | | { |
| | | private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) { |
| | | List<SysMenu> tlist = new ArrayList<SysMenu>(); |
| | | Iterator<SysMenu> it = list.iterator(); |
| | | while (it.hasNext()) |
| | | { |
| | | while (it.hasNext()) { |
| | | SysMenu n = (SysMenu) it.next(); |
| | | if (n.getParentId().longValue() == t.getMenuId().longValue()) |
| | | { |
| | | if (n.getParentId().longValue() == t.getMenuId().longValue()) { |
| | | tlist.add(n); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 夿æ¯å¦æåèç¹ |
| | | */ |
| | | private boolean hasChild(List<SysMenu> list, SysMenu t) |
| | | { |
| | | private boolean hasChild(List<SysMenu> list, SysMenu t) { |
| | | return getChildList(list, t).size() > 0; |
| | | } |
| | | |
| | | /** |
| | | * å
é¾ååç¹æ®åç¬¦æ¿æ¢ |
| | | * |
| | | * |
| | | * @return æ¿æ¢åçå
é¾åå |
| | | */ |
| | | public String innerLinkReplaceEach(String path) |
| | | { |
| | | return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, ".", ":" }, |
| | | new String[] { "", "", "", "/", "/" }); |
| | | public String innerLinkReplaceEach(String path) { |
| | | return StringUtils.replaceEach(path, new String[]{Constants.HTTP, Constants.HTTPS, Constants.WWW, ".", ":"}, |
| | | new String[]{"", "", "", "/", "/"}); |
| | | } |
| | | } |
| | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import javax.validation.Validator; |
| | | |
| | | import com.se.system.domain.SysPost; |
| | |
| | | * @author admin |
| | | */ |
| | | @Service |
| | | public class SysUserServiceImpl implements ISysUserService |
| | | { |
| | | public class SysUserServiceImpl implements ISysUserService { |
| | | private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); |
| | | |
| | | @Autowired |
| | |
| | | @Autowired |
| | | protected Validator validator; |
| | | |
| | | @Resource |
| | | SyncUserService syncUserService; |
| | | |
| | | /** |
| | | * æ ¹æ®æ¡ä»¶å页æ¥è¯¢ç¨æ·å表 |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç¨æ·ä¿¡æ¯éåä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | @DataScope(deptAlias = "d", userAlias = "u") |
| | | public List<SysUser> selectUserList(SysUser user) |
| | | { |
| | | public List<SysUser> selectUserList(SysUser user) { |
| | | return userMapper.selectUserList(user); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®æ¡ä»¶å页æ¥è¯¢å·²åé
ç¨æ·è§è²å表 |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç¨æ·ä¿¡æ¯éåä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | @DataScope(deptAlias = "d", userAlias = "u") |
| | | public List<SysUser> selectAllocatedList(SysUser user) |
| | | { |
| | | public List<SysUser> selectAllocatedList(SysUser user) { |
| | | return userMapper.selectAllocatedList(user); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®æ¡ä»¶å页æ¥è¯¢æªåé
ç¨æ·è§è²å表 |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç¨æ·ä¿¡æ¯éåä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | @DataScope(deptAlias = "d", userAlias = "u") |
| | | public List<SysUser> selectUnallocatedList(SysUser user) |
| | | { |
| | | public List<SysUser> selectUnallocatedList(SysUser user) { |
| | | return userMapper.selectUnallocatedList(user); |
| | | } |
| | | |
| | | /** |
| | | * éè¿ç¨æ·åæ¥è¯¢ç¨æ· |
| | | * |
| | | * |
| | | * @param userName ç¨æ·å |
| | | * @return ç¨æ·å¯¹è±¡ä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public SysUser selectUserByUserName(String userName) |
| | | { |
| | | public SysUser selectUserByUserName(String userName) { |
| | | return userMapper.selectUserByUserName(userName); |
| | | } |
| | | |
| | | /** |
| | | * éè¿ç¨æ·IDæ¥è¯¢ç¨æ· |
| | | * |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @return ç¨æ·å¯¹è±¡ä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public SysUser selectUserById(Long userId) |
| | | { |
| | | public SysUser selectUserById(Long userId) { |
| | | return userMapper.selectUserById(userId); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¨æ·æå±è§è²ç» |
| | | * |
| | | * |
| | | * @param userName ç¨æ·å |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public String selectUserRoleGroup(String userName) |
| | | { |
| | | public String selectUserRoleGroup(String userName) { |
| | | List<SysRole> list = roleMapper.selectRolesByUserName(userName); |
| | | if (CollectionUtils.isEmpty(list)) |
| | | { |
| | | if (CollectionUtils.isEmpty(list)) { |
| | | return StringUtils.EMPTY; |
| | | } |
| | | return list.stream().map(SysRole::getRoleName).collect(Collectors.joining(",")); |
| | |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¨æ·æå±å²ä½ç» |
| | | * |
| | | * |
| | | * @param userName ç¨æ·å |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public String selectUserPostGroup(String userName) |
| | | { |
| | | public String selectUserPostGroup(String userName) { |
| | | List<SysPost> list = postMapper.selectPostsByUserName(userName); |
| | | if (CollectionUtils.isEmpty(list)) |
| | | { |
| | | if (CollectionUtils.isEmpty(list)) { |
| | | return StringUtils.EMPTY; |
| | | } |
| | | return list.stream().map(SysPost::getPostName).collect(Collectors.joining(",")); |
| | |
| | | |
| | | /** |
| | | * æ ¡éªç¨æ·åç§°æ¯å¦å¯ä¸ |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public boolean checkUserNameUnique(SysUser user) |
| | | { |
| | | public boolean checkUserNameUnique(SysUser user) { |
| | | Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); |
| | | SysUser info = userMapper.checkUserNameUnique(user.getUserName()); |
| | | if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) |
| | | { |
| | | if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean checkPhoneUnique(SysUser user) |
| | | { |
| | | public boolean checkPhoneUnique(SysUser user) { |
| | | Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); |
| | | SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); |
| | | if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) |
| | | { |
| | | if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean checkEmailUnique(SysUser user) |
| | | { |
| | | public boolean checkEmailUnique(SysUser user) { |
| | | Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); |
| | | SysUser info = userMapper.checkEmailUnique(user.getEmail()); |
| | | if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) |
| | | { |
| | | if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | |
| | | /** |
| | | * æ ¡éªç¨æ·æ¯å¦å
许æä½ |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public void checkUserAllowed(SysUser user) |
| | | { |
| | | if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) |
| | | { |
| | | public void checkUserAllowed(SysUser user) { |
| | | if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) { |
| | | throw new ServiceException("ä¸å
许æä½è¶
级管çåç¨æ·"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªç¨æ·æ¯å¦ææ°æ®æé |
| | | * |
| | | * |
| | | * @param userId ç¨æ·id |
| | | */ |
| | | @Override |
| | | public void checkUserDataScope(Long userId) |
| | | { |
| | | if (!SysUser.isAdmin(SecurityUtils.getUserId())) |
| | | { |
| | | public void checkUserDataScope(Long userId) { |
| | | if (!SysUser.isAdmin(SecurityUtils.getUserId())) { |
| | | SysUser user = new SysUser(); |
| | | user.setUserId(userId); |
| | | List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user); |
| | | if (StringUtils.isEmpty(users)) |
| | | { |
| | | if (StringUtils.isEmpty(users)) { |
| | | throw new ServiceException("没ææé访é®ç¨æ·æ°æ®ï¼"); |
| | | } |
| | | } |
| | |
| | | |
| | | /** |
| | | * æ°å¢ä¿åç¨æ·ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int insertUser(SysUser user) |
| | | { |
| | | public int insertUser(SysUser user) { |
| | | // æ°å¢ç¨æ·ä¿¡æ¯ |
| | | int rows = userMapper.insertUser(user); |
| | | // æ°å¢ç¨æ·å²ä½å
³è |
| | | insertUserPost(user); |
| | | // æ°å¢ç¨æ·ä¸è§è²ç®¡ç |
| | | insertUserRole(user); |
| | | if (rows > 0) { |
| | | syncUserService.insertUser(user); |
| | | } |
| | | return rows; |
| | | } |
| | | |
| | | /** |
| | | * 注åç¨æ·ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public boolean registerUser(SysUser user) |
| | | { |
| | | return userMapper.insertUser(user) > 0; |
| | | public boolean registerUser(SysUser user) { |
| | | int rows = userMapper.insertUser(user); |
| | | if (rows > 0) { |
| | | syncUserService.insertUser(user); |
| | | } |
| | | return rows > 0; |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ä¿åç¨æ·ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int updateUser(SysUser user) |
| | | { |
| | | public int updateUser(SysUser user) { |
| | | Long userId = user.getUserId(); |
| | | // å é¤ç¨æ·ä¸è§è²å
³è |
| | | userRoleMapper.deleteUserRoleByUserId(userId); |
| | |
| | | userPostMapper.deleteUserPostByUserId(userId); |
| | | // æ°å¢ç¨æ·ä¸å²ä½ç®¡ç |
| | | insertUserPost(user); |
| | | return userMapper.updateUser(user); |
| | | int rows = userMapper.updateUser(user); |
| | | if (rows > 0) { |
| | | syncUserService.updateUser(user); |
| | | } |
| | | return rows; |
| | | } |
| | | |
| | | /** |
| | | * ç¨æ·ææè§è² |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @param roleIds è§è²ç» |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void insertUserAuth(Long userId, Long[] roleIds) |
| | | { |
| | | public void insertUserAuth(Long userId, Long[] roleIds) { |
| | | userRoleMapper.deleteUserRoleByUserId(userId); |
| | | insertUserRole(userId, roleIds); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ç¨æ·ç¶æ |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int updateUserStatus(SysUser user) |
| | | { |
| | | return userMapper.updateUser(user); |
| | | public int updateUserStatus(SysUser user) { |
| | | int rows = userMapper.updateUser(user); |
| | | if (rows > 0) { |
| | | syncUserService.updateUser(user); |
| | | } |
| | | return rows; |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ç¨æ·åºæ¬ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public boolean updateUserProfile(SysUser user) |
| | | { |
| | | return userMapper.updateUser(user) > 0; |
| | | public boolean updateUserProfile(SysUser user) { |
| | | int rows = userMapper.updateUser(user); |
| | | if (rows > 0) { |
| | | syncUserService.updateUser(user); |
| | | } |
| | | return rows > 0; |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ç¨æ·å¤´å |
| | | * |
| | | * |
| | | * @param userName ç¨æ·å |
| | | * @param avatar 头åå°å |
| | | * @param avatar 头åå°å |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public boolean updateUserAvatar(String userName, String avatar) |
| | | { |
| | | public boolean updateUserAvatar(String userName, String avatar) { |
| | | return userMapper.updateUserAvatar(userName, avatar) > 0; |
| | | } |
| | | |
| | | /** |
| | | * éç½®ç¨æ·å¯ç |
| | | * |
| | | * |
| | | * @param user ç¨æ·ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int resetPwd(SysUser user) |
| | | { |
| | | public int resetPwd(SysUser user) { |
| | | return userMapper.updateUser(user); |
| | | } |
| | | |
| | | /** |
| | | * éç½®ç¨æ·å¯ç |
| | | * |
| | | * |
| | | * @param userName ç¨æ·å |
| | | * @param password å¯ç |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int resetUserPwd(String userName, String password) |
| | | { |
| | | public int resetUserPwd(String userName, String password) { |
| | | return userMapper.resetUserPwd(userName, password); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ç¨æ·è§è²ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param user ç¨æ·å¯¹è±¡ |
| | | */ |
| | | public void insertUserRole(SysUser user) |
| | | { |
| | | public void insertUserRole(SysUser user) { |
| | | this.insertUserRole(user.getUserId(), user.getRoleIds()); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ç¨æ·å²ä½ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param user ç¨æ·å¯¹è±¡ |
| | | */ |
| | | public void insertUserPost(SysUser user) |
| | | { |
| | | public void insertUserPost(SysUser user) { |
| | | Long[] posts = user.getPostIds(); |
| | | if (StringUtils.isNotEmpty(posts)) |
| | | { |
| | | if (StringUtils.isNotEmpty(posts)) { |
| | | // æ°å¢ç¨æ·ä¸å²ä½ç®¡ç |
| | | List<SysUserPost> list = new ArrayList<SysUserPost>(); |
| | | for (Long postId : posts) |
| | | { |
| | | for (Long postId : posts) { |
| | | SysUserPost up = new SysUserPost(); |
| | | up.setUserId(user.getUserId()); |
| | | up.setPostId(postId); |
| | |
| | | |
| | | /** |
| | | * æ°å¢ç¨æ·è§è²ä¿¡æ¯ |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @param roleIds è§è²ç» |
| | | */ |
| | | public void insertUserRole(Long userId, Long[] roleIds) |
| | | { |
| | | if (StringUtils.isNotEmpty(roleIds)) |
| | | { |
| | | public void insertUserRole(Long userId, Long[] roleIds) { |
| | | if (StringUtils.isNotEmpty(roleIds)) { |
| | | // æ°å¢ç¨æ·ä¸è§è²ç®¡ç |
| | | List<SysUserRole> list = new ArrayList<SysUserRole>(); |
| | | for (Long roleId : roleIds) |
| | | { |
| | | for (Long roleId : roleIds) { |
| | | SysUserRole ur = new SysUserRole(); |
| | | ur.setUserId(userId); |
| | | ur.setRoleId(roleId); |
| | |
| | | |
| | | /** |
| | | * éè¿ç¨æ·IDå é¤ç¨æ· |
| | | * |
| | | * |
| | | * @param userId ç¨æ·ID |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int deleteUserById(Long userId) |
| | | { |
| | | public int deleteUserById(Long userId) { |
| | | // å é¤ç¨æ·ä¸è§è²å
³è |
| | | userRoleMapper.deleteUserRoleByUserId(userId); |
| | | // å é¤ç¨æ·ä¸å²ä½è¡¨ |
| | | userPostMapper.deleteUserPostByUserId(userId); |
| | | return userMapper.deleteUserById(userId); |
| | | SysUser user = userMapper.selectUserById(userId); |
| | | int rows = userMapper.deleteUserById(userId); |
| | | if (rows > 0) { |
| | | syncUserService.deleteUser(user); |
| | | } |
| | | return rows; |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ç¨æ·ä¿¡æ¯ |
| | | * |
| | | * |
| | | * @param userIds éè¦å é¤çç¨æ·ID |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int deleteUserByIds(Long[] userIds) |
| | | { |
| | | for (Long userId : userIds) |
| | | { |
| | | public int deleteUserByIds(Long[] userIds) { |
| | | for (Long userId : userIds) { |
| | | checkUserAllowed(new SysUser(userId)); |
| | | checkUserDataScope(userId); |
| | | } |
| | |
| | | userRoleMapper.deleteUserRole(userIds); |
| | | // å é¤ç¨æ·ä¸å²ä½å
³è |
| | | userPostMapper.deleteUserPost(userIds); |
| | | return userMapper.deleteUserByIds(userIds); |
| | | List<SysUser> list = userMapper.selectUserByIds(StringUtils.joinWith(",", userIds)); |
| | | int rows = userMapper.deleteUserByIds(userIds); |
| | | if (rows > 0 && !CollectionUtils.isEmpty(list)) { |
| | | syncUserService.deleteUsers(list); |
| | | } |
| | | return rows; |
| | | } |
| | | |
| | | /** |
| | | * 导å
¥ç¨æ·æ°æ® |
| | | * |
| | | * @param userList ç¨æ·æ°æ®å表 |
| | | * |
| | | * @param userList ç¨æ·æ°æ®å表 |
| | | * @param isUpdateSupport æ¯å¦æ´æ°æ¯æï¼å¦æå·²åå¨ï¼åè¿è¡æ´æ°æ°æ® |
| | | * @param operName æä½ç¨æ· |
| | | * @param operName æä½ç¨æ· |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) |
| | | { |
| | | if (StringUtils.isNull(userList) || userList.size() == 0) |
| | | { |
| | | public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) { |
| | | if (StringUtils.isNull(userList) || userList.size() == 0) { |
| | | throw new ServiceException("导å
¥ç¨æ·æ°æ®ä¸è½ä¸ºç©ºï¼"); |
| | | } |
| | | int successNum = 0; |
| | | int failureNum = 0; |
| | | List<SysUser> insertList = new ArrayList<>(); |
| | | List<SysUser> updateList = new ArrayList<>(); |
| | | StringBuilder successMsg = new StringBuilder(); |
| | | StringBuilder failureMsg = new StringBuilder(); |
| | | for (SysUser user : userList) |
| | | { |
| | | try |
| | | { |
| | | |
| | | for (SysUser user : userList) { |
| | | try { |
| | | // éªè¯æ¯å¦åå¨è¿ä¸ªç¨æ· |
| | | SysUser u = userMapper.selectUserByUserName(user.getUserName()); |
| | | if (StringUtils.isNull(u)) |
| | | { |
| | | if (StringUtils.isNull(u)) { |
| | | BeanValidators.validateWithException(validator, user); |
| | | deptService.checkDeptDataScope(user.getDeptId()); |
| | | String password = configService.selectConfigByKey("sys.user.initPassword"); |
| | | user.setPassword(SecurityUtils.encryptPassword(password)); |
| | | user.setCreateBy(operName); |
| | | userMapper.insertUser(user); |
| | | if (userMapper.insertUser(user) > 0) { |
| | | insertList.add(user); |
| | | } |
| | | successNum++; |
| | | successMsg.append("<br/>" + successNum + "ãè´¦å· " + user.getUserName() + " 导å
¥æå"); |
| | | } |
| | | else if (isUpdateSupport) |
| | | { |
| | | } else if (isUpdateSupport) { |
| | | BeanValidators.validateWithException(validator, user); |
| | | checkUserAllowed(u); |
| | | checkUserDataScope(u.getUserId()); |
| | | deptService.checkDeptDataScope(user.getDeptId()); |
| | | user.setUserId(u.getUserId()); |
| | | user.setUpdateBy(operName); |
| | | userMapper.updateUser(user); |
| | | if (userMapper.updateUser(user) > 0) { |
| | | updateList.add(user); |
| | | } |
| | | successNum++; |
| | | successMsg.append("<br/>" + successNum + "ãè´¦å· " + user.getUserName() + " æ´æ°æå"); |
| | | } |
| | | else |
| | | { |
| | | } else { |
| | | failureNum++; |
| | | failureMsg.append("<br/>" + failureNum + "ãè´¦å· " + user.getUserName() + " å·²åå¨"); |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | } catch (Exception e) { |
| | | failureNum++; |
| | | String msg = "<br/>" + failureNum + "ãè´¦å· " + user.getUserName() + " 导å
¥å¤±è´¥ï¼"; |
| | | failureMsg.append(msg + e.getMessage()); |
| | | log.error(msg, e); |
| | | } |
| | | } |
| | | if (failureNum > 0) |
| | | { |
| | | if (insertList.size() > 0) { |
| | | syncUserService.insertUsers(insertList); |
| | | } |
| | | if (updateList.size() > 0) { |
| | | syncUserService.updateUsers(updateList); |
| | | } |
| | | if (failureNum > 0) { |
| | | failureMsg.insert(0, "徿±æï¼å¯¼å
¥å¤±è´¥ï¼å
± " + failureNum + " æ¡æ°æ®æ ¼å¼ä¸æ£ç¡®ï¼é误å¦ä¸ï¼"); |
| | | throw new ServiceException(failureMsg.toString()); |
| | | } |
| | | else |
| | | { |
| | | } else { |
| | | successMsg.insert(0, "æåæ¨ï¼æ°æ®å·²å
¨é¨å¯¼å
¥æåï¼å
± " + successNum + " æ¡ï¼æ°æ®å¦ä¸ï¼"); |
| | | } |
| | | return successMsg.toString(); |
| | | } |
| | | |
| | | } |
| | |
| | | active: dev |
| | | cloud: |
| | | nacos: |
| | | username: nacos |
| | | password: nAcos_!9#_admIn |
| | | discovery: |
| | | # æå¡æ³¨åå°å |
| | | #server-addr: 192.168.11.203:8848 |
| | | server-addr: 127.0.0.1:8848 |
| | | config: |
| | | # é
ç½®ä¸å¿å°å |
| | | #server-addr: 192.168.11.203:8848 |
| | | server-addr: 127.0.0.1:8848 |
| | | # é
ç½®æä»¶æ ¼å¼ |
| | | file-extension: yml |
| | | # å
±äº«é
ç½® |
| | | shared-configs: |
| | | - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} |
| | | enableEncrypt: false |
| | |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- ç³»ç»æ¨¡åæ¥å¿çº§å«æ§å¶ --> |
| | | <!-- ç³»ç»æ¨¡åæ¥å¿çº§å«æ§å¶:info,debug --> |
| | | <logger name="com.se" level="info" /> |
| | | <!-- Springæ¥å¿çº§å«æ§å¶ --> |
| | | <logger name="org.springframework" level="warn" /> |
| | |
| | | <result property="updateTime" column="update_time" /> |
| | | <result property="updateBy" column="update_by" /> |
| | | <result property="remark" column="remark" /> |
| | | <result property="mark" column="mark" /> |
| | | </resultMap> |
| | | |
| | | <sql id="selectMenuVo"> |
| | | select menu_id, menu_name, parent_id, order_num, path, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time |
| | | select menu_id, menu_name, parent_id, order_num, path, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time, mark |
| | | from sys_menu |
| | | </sql> |
| | | |
| | |
| | | </select> |
| | | |
| | | <select id="selectMenuTreeAll" resultMap="SysMenuResult"> |
| | | select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time |
| | | select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time, m.mark |
| | | from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0 |
| | | order by m.parent_id, m.order_num |
| | | </select> |
| | | |
| | | <select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult"> |
| | | select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time |
| | | select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time, m.mark |
| | | from sys_menu m |
| | | left join sys_role_menu rm on m.menu_id = rm.menu_id |
| | | left join sys_user_role ur on rm.role_id = ur.role_id |
| | |
| | | </if> |
| | | order by m.parent_id, m.order_num |
| | | </select> |
| | | |
| | | <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult"> |
| | | select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time |
| | | |
| | | <select id="selectMenuTreeByUserId" resultMap="SysMenuResult"> |
| | | select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time, m.mark |
| | | from sys_menu m |
| | | left join sys_role_menu rm on m.menu_id = rm.menu_id |
| | | left join sys_user_role ur on rm.role_id = ur.role_id |
| | | left join sys_role ro on ur.role_id = ro.role_id |
| | | left join sys_user u on ur.user_id = u.user_id |
| | | where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = 0 AND ro.status = 0 |
| | | where m.menu_type in ('M', 'C') and m.status = 0 and ro.status = 0 |
| | | <if test="userId != null and userId != ''"> |
| | | and u.user_id = #{userId} |
| | | </if> |
| | | <if test="mark != null and mark != ''"> |
| | | and m.mark = #{mark} |
| | | </if> |
| | | order by m.parent_id, m.order_num |
| | | </select> |
| | | |
| | | |
| | | <select id="selectMenusByUserIdAndMark" resultMap="SysMenuResult"> |
| | | select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time, m.mark |
| | | from sys_menu m |
| | | left join sys_role_menu rm on m.menu_id = rm.menu_id |
| | | left join sys_user_role ur on rm.role_id = ur.role_id |
| | | left join sys_role ro on ur.role_id = ro.role_id |
| | | left join sys_user u on ur.user_id = u.user_id |
| | | where m.menu_type in ('M', 'C', 'F') and m.status = 0 and ro.status = 0 |
| | | <if test="userId != null and userId != ''"> |
| | | and u.user_id = #{userId} |
| | | </if> |
| | | <if test="mark != null and mark != ''"> |
| | | and m.mark = #{mark} |
| | | </if> |
| | | order by m.parent_id, m.order_num |
| | | </select> |
| | | |
| | | <select id="selectMenuListByRoleId" resultType="Long"> |
| | | select m.menu_id |
| | | from sys_menu m |
| | |
| | | <if test="icon !=null and icon != ''">icon = #{icon},</if> |
| | | <if test="remark != null and remark != ''">remark = #{remark},</if> |
| | | <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> |
| | | <if test="mark != null and mark != ''">mark = #{mark},</if> |
| | | update_time = sysdate() |
| | | </set> |
| | | where menu_id = #{menuId} |
| | |
| | | <if test="icon != null and icon != ''">icon,</if> |
| | | <if test="remark != null and remark != ''">remark,</if> |
| | | <if test="createBy != null and createBy != ''">create_by,</if> |
| | | <if test="mark != null and mark != ''">mark,</if> |
| | | create_time |
| | | )values( |
| | | <if test="menuId != null and menuId != 0">#{menuId},</if> |
| | |
| | | <if test="icon != null and icon != ''">#{icon},</if> |
| | | <if test="remark != null and remark != ''">#{remark},</if> |
| | | <if test="createBy != null and createBy != ''">#{createBy},</if> |
| | | <if test="mark != null and mark != ''">#{mark},</if> |
| | | sysdate() |
| | | ) |
| | | </insert> |
| | |
| | | <include refid="selectUserVo"/> |
| | | where u.user_id = #{userId} |
| | | </select> |
| | | |
| | | <select id="selectUserByIds" resultMap="SysUserResult"> |
| | | <include refid="selectUserVo"/> |
| | | where u.user_id in (${ids}) |
| | | </select> |
| | | |
| | | <select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult"> |
| | | select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1 |