Skip to content

Commit 23b657d

Browse files
committed
Merge branch 'master' into deploy
2 parents 538f1ac + d752b3d commit 23b657d

4 files changed

Lines changed: 116 additions & 55 deletions

File tree

eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,13 @@
2929

3030
import javax.servlet.http.HttpServletRequest;
3131
import java.io.File;
32+
import java.net.Inet4Address;
3233
import java.net.InetAddress;
34+
import java.net.NetworkInterface;
3335
import java.net.UnknownHostException;
3436
import java.util.Calendar;
3537
import java.util.Date;
38+
import java.util.Enumeration;
3639

3740
/**
3841
* @author Zheng Jie
@@ -248,20 +251,37 @@ public static String getWeekDay() {
248251
* @return /
249252
*/
250253
public static String getLocalIp() {
251-
InetAddress addr;
252254
try {
253-
addr = InetAddress.getLocalHost();
254-
} catch (UnknownHostException e) {
255-
return "unknown";
256-
}
257-
byte[] ipAddr = addr.getAddress();
258-
StringBuilder ipAddrStr = new StringBuilder();
259-
for (int i = 0; i < ipAddr.length; i++) {
260-
if (i > 0) {
261-
ipAddrStr.append(".");
255+
InetAddress candidateAddress = null;
256+
// 遍历所有的网络接口
257+
for (Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); interfaces.hasMoreElements();) {
258+
NetworkInterface anInterface = interfaces.nextElement();
259+
// 在所有的接口下再遍历IP
260+
for (Enumeration<InetAddress> inetAddresses = anInterface.getInetAddresses(); inetAddresses.hasMoreElements();) {
261+
InetAddress inetAddr = inetAddresses.nextElement();
262+
// 排除loopback类型地址
263+
if (!inetAddr.isLoopbackAddress()) {
264+
if (inetAddr.isSiteLocalAddress()) {
265+
// 如果是site-local地址,就是它了
266+
return inetAddr.getHostAddress();
267+
} else if (candidateAddress == null) {
268+
// site-local类型的地址未被发现,先记录候选地址
269+
candidateAddress = inetAddr;
270+
}
271+
}
272+
}
273+
}
274+
if (candidateAddress != null) {
275+
return candidateAddress.getHostAddress();
262276
}
263-
ipAddrStr.append(ipAddr[i] & 0xFF);
277+
// 如果没有发现 non-loopback地址.只能用最次选的方案
278+
InetAddress jdkSuppliedAddress = InetAddress.getLocalHost();
279+
if (jdkSuppliedAddress == null) {
280+
return "";
281+
}
282+
return jdkSuppliedAddress.getHostAddress();
283+
} catch (Exception e) {
284+
return "";
264285
}
265-
return ipAddrStr.toString();
266286
}
267287
}

eladmin-system/src/main/java/me/zhengjie/modules/security/config/SecurityConfig.java renamed to eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import org.springframework.web.method.HandlerMethod;
4141
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
4242
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
43-
4443
import java.util.*;
4544

4645
/**
@@ -50,7 +49,7 @@
5049
@EnableWebSecurity
5150
@RequiredArgsConstructor
5251
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
53-
public class SecurityConfig extends WebSecurityConfigurerAdapter {
52+
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
5453

5554
private final TokenProvider tokenProvider;
5655
private final CorsFilter corsFilter;
@@ -138,6 +137,10 @@ protected void configure(HttpSecurity httpSecurity) throws Exception {
138137
.and().apply(securityConfigurerAdapter());
139138
}
140139

140+
private TokenConfigurer securityConfigurerAdapter() {
141+
return new TokenConfigurer(tokenProvider, properties, onlineUserService, userCacheClean);
142+
}
143+
141144
private Map<String, Set<String>> getAnonymousUrl(Map<RequestMappingInfo, HandlerMethod> handlerMethodMap) {
142145
Map<String, Set<String>> anonymousUrls = new HashMap<>(6);
143146
Set<String> get = new HashSet<>();
@@ -182,8 +185,4 @@ private Map<String, Set<String>> getAnonymousUrl(Map<RequestMappingInfo, Handler
182185
anonymousUrls.put(RequestMethodEnum.ALL.getType(), all);
183186
return anonymousUrls;
184187
}
185-
186-
private TokenConfigurer securityConfigurerAdapter() {
187-
return new TokenConfigurer(tokenProvider, properties, onlineUserService, userCacheClean);
188-
}
189188
}

eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MonitorServiceImpl.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import cn.hutool.core.date.BetweenFormater;
1919
import cn.hutool.core.date.DateUtil;
2020
import me.zhengjie.modules.system.service.MonitorService;
21+
import me.zhengjie.utils.ElAdminConstant;
2122
import me.zhengjie.utils.FileUtil;
2223
import me.zhengjie.utils.StringUtils;
2324
import org.springframework.stereotype.Service;
@@ -73,15 +74,24 @@ private Map<String,Object> getDiskInfo(OperatingSystem os) {
7374
Map<String,Object> diskInfo = new LinkedHashMap<>();
7475
FileSystem fileSystem = os.getFileSystem();
7576
List<OSFileStore> fsArray = fileSystem.getFileStores();
77+
String osName = System.getProperty("os.name");
78+
long available = 0, total = 0;
7679
for (OSFileStore fs : fsArray){
77-
long available = fs.getUsableSpace();
78-
long total = fs.getTotalSpace();
79-
long used = total - available;
80-
diskInfo.put("total", total > 0 ? FileUtil.getSize(total) : "?");
81-
diskInfo.put("available", FileUtil.getSize(available));
82-
diskInfo.put("used", FileUtil.getSize(used));
83-
diskInfo.put("usageRate", df.format(used/(double)fs.getTotalSpace() * 100));
80+
// windows 需要将所有磁盘分区累加
81+
if(osName.toLowerCase().startsWith(ElAdminConstant.WIN)) {
82+
available += fs.getUsableSpace();
83+
total += fs.getTotalSpace();
84+
} else {
85+
available = fs.getUsableSpace();
86+
total = fs.getTotalSpace();
87+
break;
88+
}
8489
}
90+
long used = total - available;
91+
diskInfo.put("total", total > 0 ? FileUtil.getSize(total) : "?");
92+
diskInfo.put("available", FileUtil.getSize(available));
93+
diskInfo.put("used", FileUtil.getSize(used));
94+
diskInfo.put("usageRate", df.format(used/(double)total * 100));
8595
return diskInfo;
8696
}
8797

sql/eladmin.sql

Lines changed: 62 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -547,74 +547,106 @@ CREATE TABLE `sys_roles_menus` (
547547
-- ----------------------------
548548
BEGIN;
549549
INSERT INTO `sys_roles_menus` VALUES (1, 1);
550-
INSERT INTO `sys_roles_menus` VALUES (1, 2);
551550
INSERT INTO `sys_roles_menus` VALUES (2, 1);
552-
INSERT INTO `sys_roles_menus` VALUES (2, 2);
553551
INSERT INTO `sys_roles_menus` VALUES (3, 1);
554-
INSERT INTO `sys_roles_menus` VALUES (3, 2);
555552
INSERT INTO `sys_roles_menus` VALUES (5, 1);
556-
INSERT INTO `sys_roles_menus` VALUES (5, 2);
557553
INSERT INTO `sys_roles_menus` VALUES (6, 1);
558-
INSERT INTO `sys_roles_menus` VALUES (6, 2);
559554
INSERT INTO `sys_roles_menus` VALUES (7, 1);
560-
INSERT INTO `sys_roles_menus` VALUES (7, 2);
561555
INSERT INTO `sys_roles_menus` VALUES (9, 1);
562-
INSERT INTO `sys_roles_menus` VALUES (9, 2);
563556
INSERT INTO `sys_roles_menus` VALUES (10, 1);
564-
INSERT INTO `sys_roles_menus` VALUES (10, 2);
565557
INSERT INTO `sys_roles_menus` VALUES (11, 1);
566-
INSERT INTO `sys_roles_menus` VALUES (11, 2);
567558
INSERT INTO `sys_roles_menus` VALUES (14, 1);
568-
INSERT INTO `sys_roles_menus` VALUES (14, 2);
569559
INSERT INTO `sys_roles_menus` VALUES (15, 1);
570-
INSERT INTO `sys_roles_menus` VALUES (15, 2);
571560
INSERT INTO `sys_roles_menus` VALUES (18, 1);
572-
INSERT INTO `sys_roles_menus` VALUES (18, 2);
573561
INSERT INTO `sys_roles_menus` VALUES (19, 1);
574-
INSERT INTO `sys_roles_menus` VALUES (19, 2);
575562
INSERT INTO `sys_roles_menus` VALUES (21, 1);
576-
INSERT INTO `sys_roles_menus` VALUES (21, 2);
577563
INSERT INTO `sys_roles_menus` VALUES (22, 1);
578-
INSERT INTO `sys_roles_menus` VALUES (22, 2);
579564
INSERT INTO `sys_roles_menus` VALUES (23, 1);
580-
INSERT INTO `sys_roles_menus` VALUES (23, 2);
581565
INSERT INTO `sys_roles_menus` VALUES (24, 1);
582-
INSERT INTO `sys_roles_menus` VALUES (24, 2);
583566
INSERT INTO `sys_roles_menus` VALUES (27, 1);
584-
INSERT INTO `sys_roles_menus` VALUES (27, 2);
585567
INSERT INTO `sys_roles_menus` VALUES (28, 1);
586-
INSERT INTO `sys_roles_menus` VALUES (28, 2);
587568
INSERT INTO `sys_roles_menus` VALUES (30, 1);
588569
INSERT INTO `sys_roles_menus` VALUES (32, 1);
589570
INSERT INTO `sys_roles_menus` VALUES (33, 1);
590-
INSERT INTO `sys_roles_menus` VALUES (33, 2);
591571
INSERT INTO `sys_roles_menus` VALUES (34, 1);
592-
INSERT INTO `sys_roles_menus` VALUES (34, 2);
593572
INSERT INTO `sys_roles_menus` VALUES (35, 1);
594-
INSERT INTO `sys_roles_menus` VALUES (35, 2);
595573
INSERT INTO `sys_roles_menus` VALUES (36, 1);
596-
INSERT INTO `sys_roles_menus` VALUES (36, 2);
597574
INSERT INTO `sys_roles_menus` VALUES (37, 1);
598-
INSERT INTO `sys_roles_menus` VALUES (37, 2);
599575
INSERT INTO `sys_roles_menus` VALUES (38, 1);
600-
INSERT INTO `sys_roles_menus` VALUES (38, 2);
601576
INSERT INTO `sys_roles_menus` VALUES (39, 1);
602-
INSERT INTO `sys_roles_menus` VALUES (39, 2);
603577
INSERT INTO `sys_roles_menus` VALUES (41, 1);
578+
INSERT INTO `sys_roles_menus` VALUES (44, 1);
579+
INSERT INTO `sys_roles_menus` VALUES (45, 1);
580+
INSERT INTO `sys_roles_menus` VALUES (46, 1);
581+
INSERT INTO `sys_roles_menus` VALUES (48, 1);
582+
INSERT INTO `sys_roles_menus` VALUES (49, 1);
583+
INSERT INTO `sys_roles_menus` VALUES (50, 1);
584+
INSERT INTO `sys_roles_menus` VALUES (52, 1);
585+
INSERT INTO `sys_roles_menus` VALUES (53, 1);
586+
INSERT INTO `sys_roles_menus` VALUES (54, 1);
587+
INSERT INTO `sys_roles_menus` VALUES (56, 1);
588+
INSERT INTO `sys_roles_menus` VALUES (57, 1);
589+
INSERT INTO `sys_roles_menus` VALUES (58, 1);
590+
INSERT INTO `sys_roles_menus` VALUES (60, 1);
591+
INSERT INTO `sys_roles_menus` VALUES (61, 1);
592+
INSERT INTO `sys_roles_menus` VALUES (62, 1);
593+
INSERT INTO `sys_roles_menus` VALUES (64, 1);
594+
INSERT INTO `sys_roles_menus` VALUES (65, 1);
595+
INSERT INTO `sys_roles_menus` VALUES (66, 1);
596+
INSERT INTO `sys_roles_menus` VALUES (73, 1);
597+
INSERT INTO `sys_roles_menus` VALUES (74, 1);
598+
INSERT INTO `sys_roles_menus` VALUES (75, 1);
599+
INSERT INTO `sys_roles_menus` VALUES (77, 1);
600+
INSERT INTO `sys_roles_menus` VALUES (78, 1);
601+
INSERT INTO `sys_roles_menus` VALUES (79, 1);
604602
INSERT INTO `sys_roles_menus` VALUES (80, 1);
605-
INSERT INTO `sys_roles_menus` VALUES (80, 2);
606603
INSERT INTO `sys_roles_menus` VALUES (82, 1);
607604
INSERT INTO `sys_roles_menus` VALUES (83, 1);
608-
INSERT INTO `sys_roles_menus` VALUES (83, 2);
609605
INSERT INTO `sys_roles_menus` VALUES (90, 1);
610-
INSERT INTO `sys_roles_menus` VALUES (90, 2);
611606
INSERT INTO `sys_roles_menus` VALUES (92, 1);
612-
INSERT INTO `sys_roles_menus` VALUES (92, 2);
613607
INSERT INTO `sys_roles_menus` VALUES (93, 1);
614608
INSERT INTO `sys_roles_menus` VALUES (94, 1);
615609
INSERT INTO `sys_roles_menus` VALUES (97, 1);
616610
INSERT INTO `sys_roles_menus` VALUES (98, 1);
611+
INSERT INTO `sys_roles_menus` VALUES (102, 1);
612+
INSERT INTO `sys_roles_menus` VALUES (103, 1);
613+
INSERT INTO `sys_roles_menus` VALUES (104, 1);
614+
INSERT INTO `sys_roles_menus` VALUES (105, 1);
615+
INSERT INTO `sys_roles_menus` VALUES (106, 1);
616+
INSERT INTO `sys_roles_menus` VALUES (107, 1);
617+
INSERT INTO `sys_roles_menus` VALUES (108, 1);
618+
INSERT INTO `sys_roles_menus` VALUES (109, 1);
619+
INSERT INTO `sys_roles_menus` VALUES (110, 1);
620+
INSERT INTO `sys_roles_menus` VALUES (111, 1);
621+
INSERT INTO `sys_roles_menus` VALUES (112, 1);
622+
INSERT INTO `sys_roles_menus` VALUES (113, 1);
623+
INSERT INTO `sys_roles_menus` VALUES (114, 1);
617624
INSERT INTO `sys_roles_menus` VALUES (116, 1);
625+
INSERT INTO `sys_roles_menus` VALUES (120, 1);
626+
INSERT INTO `sys_roles_menus` VALUES (1, 2);
627+
INSERT INTO `sys_roles_menus` VALUES (2, 2);
628+
INSERT INTO `sys_roles_menus` VALUES (6, 2);
629+
INSERT INTO `sys_roles_menus` VALUES (7, 2);
630+
INSERT INTO `sys_roles_menus` VALUES (9, 2);
631+
INSERT INTO `sys_roles_menus` VALUES (10, 2);
632+
INSERT INTO `sys_roles_menus` VALUES (11, 2);
633+
INSERT INTO `sys_roles_menus` VALUES (14, 2);
634+
INSERT INTO `sys_roles_menus` VALUES (15, 2);
635+
INSERT INTO `sys_roles_menus` VALUES (19, 2);
636+
INSERT INTO `sys_roles_menus` VALUES (21, 2);
637+
INSERT INTO `sys_roles_menus` VALUES (22, 2);
638+
INSERT INTO `sys_roles_menus` VALUES (23, 2);
639+
INSERT INTO `sys_roles_menus` VALUES (24, 2);
640+
INSERT INTO `sys_roles_menus` VALUES (27, 2);
641+
INSERT INTO `sys_roles_menus` VALUES (30, 2);
642+
INSERT INTO `sys_roles_menus` VALUES (32, 2);
643+
INSERT INTO `sys_roles_menus` VALUES (33, 2);
644+
INSERT INTO `sys_roles_menus` VALUES (34, 2);
645+
INSERT INTO `sys_roles_menus` VALUES (36, 2);
646+
INSERT INTO `sys_roles_menus` VALUES (80, 2);
647+
INSERT INTO `sys_roles_menus` VALUES (82, 2);
648+
INSERT INTO `sys_roles_menus` VALUES (83, 2);
649+
INSERT INTO `sys_roles_menus` VALUES (116, 2);
618650
COMMIT;
619651

620652
-- ----------------------------

0 commit comments

Comments
 (0)