Browse Source

兼容邮储产品

sakuya 3 years ago
parent
commit
eeb9204e54

+ 1 - 0
eladmin-security/src/main/java/me/zhengjie/security/config/SpringSecurityConfig.java

@@ -118,6 +118,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
                 .antMatchers("/swagger-ui.html").permitAll()
                 .antMatchers("/swagger-resources/**").permitAll()
                 .antMatchers("/app/**").permitAll()
+                .antMatchers("/api/bank-app/**").permitAll()
                 .antMatchers("/minipro/**").permitAll()
                 .antMatchers("/image/**").permitAll()
                 .antMatchers("/webjars/**").permitAll()

+ 1 - 1
eladmin-security/src/main/java/me/zhengjie/security/config/bean/LoginProperties.java

@@ -36,7 +36,7 @@ public class LoginProperties {
     /**
      * 账号单用户 登录
      */
-    private boolean singleLogin = false;
+    private boolean singleLogin = true;
 
     private LoginCode loginCode;
 

+ 6 - 0
eladmin-security/src/main/java/me/zhengjie/security/domain/OnlineUserConstant.java

@@ -0,0 +1,6 @@
+package me.zhengjie.security.domain;
+
+public class OnlineUserConstant {
+    public static final String SEARCH_USER_WITH_KEWORD = "0";
+    public static final String SEARCH_USER_WITH_USERNAME = "1";
+}

+ 2 - 1
eladmin-security/src/main/java/me/zhengjie/security/rest/OnlineController.java

@@ -18,6 +18,7 @@ package me.zhengjie.security.rest;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
+import me.zhengjie.security.domain.OnlineUserConstant;
 import me.zhengjie.security.service.OnlineUserService;
 import me.zhengjie.utils.EncryptUtils;
 import org.springframework.data.domain.Pageable;
@@ -52,7 +53,7 @@ public class OnlineController {
     @GetMapping(value = "/download")
     @PreAuthorize("@el.check()")
     public void exportOnlineUser(HttpServletResponse response, String filter) throws IOException {
-        onlineUserService.download(onlineUserService.getAll(filter), response);
+        onlineUserService.download(onlineUserService.getAll(filter, OnlineUserConstant.SEARCH_USER_WITH_KEWORD), response);
     }
 
     @ApiOperation("踢出用户")

+ 1 - 1
eladmin-security/src/main/java/me/zhengjie/security/security/TokenFilter.java

@@ -107,7 +107,7 @@ public class TokenFilter extends GenericFilterBean {
 
 		// 这里是处理app的接口
 		String token = resolveToken(httpServletRequest);
-		if (reqUrl.startsWith("/app/")|| reqUrl.startsWith("/minipro/")) {
+		if (reqUrl.startsWith("/api/bank") || reqUrl.startsWith("/app/") || reqUrl.startsWith("/minipro/")) {
 			Object appToken = null;
 			try {
 				// 判断是否是不需要权限访问的,

+ 17 - 11
eladmin-security/src/main/java/me/zhengjie/security/service/OnlineUserService.java

@@ -20,6 +20,7 @@ import com.corundumstudio.socketio.SocketIOClient;
 import com.google.gson.JsonObject;
 import lombok.extern.slf4j.Slf4j;
 import me.zhengjie.security.config.bean.SecurityProperties;
+import me.zhengjie.security.domain.OnlineUserConstant;
 import me.zhengjie.security.service.dto.OnlineUserDto;
 import me.zhengjie.utils.*;
 import org.springframework.data.domain.Pageable;
@@ -93,27 +94,32 @@ public class OnlineUserService {
 	 * @return /
 	 */
 	public Map<String, Object> getAll(String filter, Pageable pageable) {
-		List<OnlineUserDto> onlineUserDtos = getAll(filter);
+		List<OnlineUserDto> onlineUserDtos = getAll(filter,OnlineUserConstant.SEARCH_USER_WITH_KEWORD);
 		return PageUtil.toPage(PageUtil.toPage(pageable.getPageNumber(), pageable.getPageSize(), onlineUserDtos),
 				onlineUserDtos.size());
 	}
 
 	/**
 	 * 查询全部数据,不分页
-	 * 
-	 * @param filter /
-	 * @return /
+	 * @param filterKeyword
+	 * @param type
+	 * @return
 	 */
-	public List<OnlineUserDto> getAll(String filter) {
+	public List<OnlineUserDto> getAll(String filterKeyword, String type) {
 		List<String> keys = redisUtils.scan(properties.getOnlineKey() + "*");
 		Collections.reverse(keys);
 		List<OnlineUserDto> onlineUserList = new ArrayList<>();
 		for (String key : keys) {
 			OnlineUserDto onlineUserDto = JSON.parseObject((String) redisUtils.get(key), OnlineUserDto.class);
-			// onlineUserDto.setToken(key);
-			if (StringUtils.isNotBlank(filter)) {
-				if (onlineUserDto.toString().contains(filter)) {
-					onlineUserList.add(onlineUserDto);
+			if (StringUtils.isNotBlank(filterKeyword)) {
+				if (OnlineUserConstant.SEARCH_USER_WITH_USERNAME.equals(type)) {
+					if (StringUtils.isNotBlank(onlineUserDto.getUsername()) && onlineUserDto.getUsername().equals(filterKeyword)) {
+						onlineUserList.add(onlineUserDto);
+					}
+				} else {
+					if (onlineUserDto.toString().contains(filterKeyword)) {
+						onlineUserList.add(onlineUserDto);
+					}
 				}
 			} else {
 				onlineUserList.add(onlineUserDto);
@@ -196,7 +202,7 @@ public class OnlineUserService {
 	 * @param userName 用户名
 	 */
 	public void checkLoginOnUser(String userName, String igoreToken) {
-		List<OnlineUserDto> onlineUserDtos = getAll(userName);
+		List<OnlineUserDto> onlineUserDtos = getAll(userName, OnlineUserConstant.SEARCH_USER_WITH_USERNAME);
 		if (onlineUserDtos == null || onlineUserDtos.isEmpty()) {
 			return;
 		}
@@ -221,7 +227,7 @@ public class OnlineUserService {
 	 */
 	@Async
 	public void kickOutForUsername(String username) throws Exception {
-		List<OnlineUserDto> onlineUsers = getAll(username);
+		List<OnlineUserDto> onlineUsers = getAll(username, OnlineUserConstant.SEARCH_USER_WITH_USERNAME);
 		for (OnlineUserDto onlineUser : onlineUsers) {
 			if (onlineUser.getUsername().equals(username)) {
 				String token = EncryptUtils.desDecrypt(onlineUser.getKey());