Procházet zdrojové kódy

提交修改过滤器

chenxiaofei před 8 měsíci
rodič
revize
12af8dd700

+ 8 - 2
pom.xml

@@ -351,10 +351,16 @@
                 <optional>true</optional>
             </dependency>
 
+<!--            <dependency>-->
+<!--                <groupId>org.springdoc</groupId>-->
+<!--                <artifactId>springdoc-openapi-ui</artifactId>-->
+<!--                <version>${maven-openapi-ui.version}</version>-->
+<!--            </dependency>-->
+
             <dependency>
                 <groupId>org.springdoc</groupId>
-                <artifactId>springdoc-openapi-ui</artifactId>
-                <version>${maven-openapi-ui.version}</version>
+                <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
+                <version>2.1.0</version>
             </dependency>
         </dependencies>
     </dependencyManagement>

+ 6 - 1
sckw-common/sckw-common-core/pom.xml

@@ -179,9 +179,14 @@
             <artifactId>httpclient5</artifactId>
         </dependency>
 
+<!--        <dependency>-->
+<!--            <groupId>org.springdoc</groupId>-->
+<!--            <artifactId>springdoc-openapi-ui</artifactId>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-ui</artifactId>
+            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
+
         </dependency>
     </dependencies>
 </project>

+ 3 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/config/OpenApiConfig.java

@@ -1,5 +1,7 @@
 package com.sckw.core.config;
 
+import io.swagger.v3.oas.annotations.OpenAPIDefinition;
+import io.swagger.v3.oas.annotations.info.Contact;
 import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.info.Info;
 import org.springframework.context.annotation.Bean;
@@ -9,6 +11,7 @@ import org.springframework.context.annotation.Configuration;
  * @author PC
  */
 @Configuration
+@OpenAPIDefinition
 public class OpenApiConfig {
     @Bean
     public OpenAPI customOpenAPI() {

+ 115 - 115
sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/RequestCheckFilter.java

@@ -88,124 +88,124 @@ public class RequestCheckFilter implements Filter {
         String accessSpecial = request.getHeader(RequestConstant.ACCESS_SPECIAL);
         String requestUri = request.getRequestURI();
 
-        /*1、非token校验接口放行*/
-        if (EXCLUDEPATH.contains(requestUri)) {
-            filterChain.doFilter(servletRequest, servletResponse);
-            return;
-        }
-
-        /*2、校验token**/
-        /*2.1、校验token非空*/
-        HttpResult result = checkBlank(token, clientType, systemType, accessSpecial, requestUri);
-        if (result.getCode() != HttpStatus.SUCCESS_CODE) {
-            ResponseUtil.writer(response, result);
-            return;
-        }
-
-        /*2.2、token解析*/
-        Map<String, Object> tokenMap = EncryUtil.descryV2(Global.PRI_KEY, token);
-        if (tokenMap == null) {
-            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.TOKEN_INVALID_MESSAGE));
-            return;
-        }
-
-        /*2.3、从redis获取用户登录token*/
-        Long userId = StringUtils.isNotBlank(tokenMap.get("userId")) ? NumberUtils.parseLong(tokenMap.get("userId")) : null;
-        String key = Global.getFullUserTokenKey(clientType, accessSpecial, userId);
-        String redisUserToken = RedissonUtils.getString(key);
-        if (StringUtils.isBlank(redisUserToken)) {
-            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.TOKEN_INVALID_MESSAGE));
-            return;
-        }
-
-        /*2.4、请求token和redis中token不一致,说明账号在别处登录了*/
-        if (!token.equals(redisUserToken)) {
-            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.ACCOUNT_OTHER_LOGIN_MESSAGE));
-            return;
-        }
-
-        /*3、校验登录用户信息*/
-        key = Global.getFullUserLoginKey(systemType, userId);
-        String userInfoStr = RedissonUtils.getString(key);
-        LoginUserInfo loginUserInfo = StringUtils.isNotBlank(userInfoStr) ? JSON.parseObject(userInfoStr, LoginUserInfo.class) : null;
-        if (Objects.isNull(loginUserInfo)) {
-            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.TOKEN_INVALID_MESSAGE));
-            return;
-        }
-        loginUserInfo.setClientType(clientType);
-
-        //校验用户账号是否冻结
-        if (loginUserInfo.getStatus() == Global.YES) {
-            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, "您的账号已被冻结,请联系系统管理员!"));
-            return;
-        }
-
-        /*4、登录中的企业信息*/
-        String loginEntStr = RedissonUtils.getString(Global.getFullUserEntKey(loginUserInfo.getEntId()));
-        LoginEntInfo loginEntInfo = StringUtils.isNotBlank(loginEntStr) ? JSON.parseObject(loginEntStr, LoginEntInfo.class) : null;
-        if (SystemTypeEnum.MANAGE.getCode().equals(systemType)) {
-            //redis 获取客户经理绑定企业ID
-            String managerKey = Global.getCustomerManagerUserLoginKey(SystemTypeEnum.MANAGE.getCode(), loginUserInfo.getId());
-            RSet<Object> set = RedissonUtils.getSet(managerKey);
-            if (Objects.nonNull(set)) {
-                List authUserIdList = JSONObject.parseObject(set.toString(), List.class);
-                if (CollectionUtils.isNotEmpty(authUserIdList)) {
-                    loginUserInfo.setAuthEntIdList(authUserIdList);
-                }
-            }
-            LoginUserHolder.set(loginUserInfo);
-            LoginEntHolder.set(loginEntInfo);
-            RedissonUtils.putString(Global.getFullUserTokenKey(clientType, accessSpecial, userId), token, ClientTypeEnum.expireTime(clientType));
-            RedissonUtils.putString(Global.getFullUserLoginKey(systemType, loginUserInfo.getId()), JSON.toJSONString(loginUserInfo), Global.APP_TOKEN_EXPIRE);
-            RedissonUtils.putString(Global.getFullUserEntKey(loginEntInfo.getId()), JSON.toJSONString(loginEntInfo), Global.APP_TOKEN_EXPIRE);
-            filterChain.doFilter(servletRequest, servletResponse);
-            LoginUserHolder.remove();
-            return;
-        }
-
-        if ((StringUtils.isBlank(loginEntStr) || loginEntInfo == null) && !Objects.equals(systemType, SystemTypeEnum.MANAGE.getCode())) {
-            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.UN_LOGIN_MESSAGE));
-            return;
-        } else {
-            //校验用户企业是否冻结
-            if (Objects.isNull(loginEntInfo) || loginEntInfo.getStatus() == Global.YES) {
-                ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, "您所属企业已被冻结,请联系系统管理员!"));
-                return;
-            }
-
-            //校验用户企业审批状态
-            if (!loginEntInfo.getValid() && !REGISTER.equals(requestUri)) {
-                if (loginEntInfo.getApproval() == Global.NO) {
-                    ResponseUtil.writer(response, HttpResult.error(HttpStatus.CODE_60603, HttpStatus.ENTCERTIFICATES_NOT_REGISTER));
-                    return;
-                }
-
-                if (loginEntInfo.getApproval() == Global.NUMERICAL_THREE) {
-                    ResponseUtil.writer(response, HttpResult.error(HttpStatus.CODE_60603, HttpStatus.ENTCERTIFICATES_NOT_PASS));
-                    return;
-                }
-
-                ResponseUtil.writer(response, HttpResult.error(HttpStatus.CODE_60603, HttpStatus.ENTCERTIFICATES_INVAILD));
-                return;
-            }
-        }
-
-        /*5、请求权限校验*/
-        //非管理员有接口权限才放行
-//        if (loginUserInfo.getIsMain() == Global.NO
-//                && !WITHOUTPATH.contains(requestUri)
-//                && !checkMenu(clientType, loginUserInfo.getId(), requestUri)) {
-//            ResponseUtil.writer(response, HttpResult.error(HttpStatus.AUTHORITY_NO_CODE, HttpStatus.ACCESS_FIAL));
+//        /*1、非token校验接口放行*/
+//        if (EXCLUDEPATH.contains(requestUri)) {
+//            filterChain.doFilter(servletRequest, servletResponse);
+//            return;
+//        }
+//
+//        /*2、校验token**/
+//        /*2.1、校验token非空*/
+//        HttpResult result = checkBlank(token, clientType, systemType, accessSpecial, requestUri);
+//        if (result.getCode() != HttpStatus.SUCCESS_CODE) {
+//            ResponseUtil.writer(response, result);
+//            return;
+//        }
+//
+//        /*2.2、token解析*/
+//        Map<String, Object> tokenMap = EncryUtil.descryV2(Global.PRI_KEY, token);
+//        if (tokenMap == null) {
+//            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.TOKEN_INVALID_MESSAGE));
+//            return;
+//        }
+//
+//        /*2.3、从redis获取用户登录token*/
+//        Long userId = StringUtils.isNotBlank(tokenMap.get("userId")) ? NumberUtils.parseLong(tokenMap.get("userId")) : null;
+//        String key = Global.getFullUserTokenKey(clientType, accessSpecial, userId);
+//        String redisUserToken = RedissonUtils.getString(key);
+//        if (StringUtils.isBlank(redisUserToken)) {
+//            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.TOKEN_INVALID_MESSAGE));
+//            return;
+//        }
+//
+//        /*2.4、请求token和redis中token不一致,说明账号在别处登录了*/
+//        if (!token.equals(redisUserToken)) {
+//            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.ACCOUNT_OTHER_LOGIN_MESSAGE));
+//            return;
+//        }
+//
+//        /*3、校验登录用户信息*/
+//        key = Global.getFullUserLoginKey(systemType, userId);
+//        String userInfoStr = RedissonUtils.getString(key);
+//        LoginUserInfo loginUserInfo = StringUtils.isNotBlank(userInfoStr) ? JSON.parseObject(userInfoStr, LoginUserInfo.class) : null;
+//        if (Objects.isNull(loginUserInfo)) {
+//            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.TOKEN_INVALID_MESSAGE));
+//            return;
+//        }
+//        loginUserInfo.setClientType(clientType);
+//
+//        //校验用户账号是否冻结
+//        if (loginUserInfo.getStatus() == Global.YES) {
+//            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, "您的账号已被冻结,请联系系统管理员!"));
+//            return;
+//        }
+//
+//        /*4、登录中的企业信息*/
+//        String loginEntStr = RedissonUtils.getString(Global.getFullUserEntKey(loginUserInfo.getEntId()));
+//        LoginEntInfo loginEntInfo = StringUtils.isNotBlank(loginEntStr) ? JSON.parseObject(loginEntStr, LoginEntInfo.class) : null;
+//        if (SystemTypeEnum.MANAGE.getCode().equals(systemType)) {
+//            //redis 获取客户经理绑定企业ID
+//            String managerKey = Global.getCustomerManagerUserLoginKey(SystemTypeEnum.MANAGE.getCode(), loginUserInfo.getId());
+//            RSet<Object> set = RedissonUtils.getSet(managerKey);
+//            if (Objects.nonNull(set)) {
+//                List authUserIdList = JSONObject.parseObject(set.toString(), List.class);
+//                if (CollectionUtils.isNotEmpty(authUserIdList)) {
+//                    loginUserInfo.setAuthEntIdList(authUserIdList);
+//                }
+//            }
+//            LoginUserHolder.set(loginUserInfo);
+//            LoginEntHolder.set(loginEntInfo);
+//            RedissonUtils.putString(Global.getFullUserTokenKey(clientType, accessSpecial, userId), token, ClientTypeEnum.expireTime(clientType));
+//            RedissonUtils.putString(Global.getFullUserLoginKey(systemType, loginUserInfo.getId()), JSON.toJSONString(loginUserInfo), Global.APP_TOKEN_EXPIRE);
+//            RedissonUtils.putString(Global.getFullUserEntKey(loginEntInfo.getId()), JSON.toJSONString(loginEntInfo), Global.APP_TOKEN_EXPIRE);
+//            filterChain.doFilter(servletRequest, servletResponse);
+//            LoginUserHolder.remove();
+//            return;
+//        }
+//
+//        if ((StringUtils.isBlank(loginEntStr) || loginEntInfo == null) && !Objects.equals(systemType, SystemTypeEnum.MANAGE.getCode())) {
+//            ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, HttpStatus.UN_LOGIN_MESSAGE));
 //            return;
+//        } else {
+//            //校验用户企业是否冻结
+//            if (Objects.isNull(loginEntInfo) || loginEntInfo.getStatus() == Global.YES) {
+//                ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, "您所属企业已被冻结,请联系系统管理员!"));
+//                return;
+//            }
+//
+//            //校验用户企业审批状态
+//            if (!loginEntInfo.getValid() && !REGISTER.equals(requestUri)) {
+//                if (loginEntInfo.getApproval() == Global.NO) {
+//                    ResponseUtil.writer(response, HttpResult.error(HttpStatus.CODE_60603, HttpStatus.ENTCERTIFICATES_NOT_REGISTER));
+//                    return;
+//                }
+//
+//                if (loginEntInfo.getApproval() == Global.NUMERICAL_THREE) {
+//                    ResponseUtil.writer(response, HttpResult.error(HttpStatus.CODE_60603, HttpStatus.ENTCERTIFICATES_NOT_PASS));
+//                    return;
+//                }
+//
+//                ResponseUtil.writer(response, HttpResult.error(HttpStatus.CODE_60603, HttpStatus.ENTCERTIFICATES_INVAILD));
+//                return;
+//            }
 //        }
-        LoginUserHolder.set(loginUserInfo);
-        LoginEntHolder.set(loginEntInfo);
-        RedissonUtils.putString(Global.getFullUserLoginKey(systemType, loginUserInfo.getId()), JSON.toJSONString(loginUserInfo), Global.APP_TOKEN_EXPIRE);
-        RedissonUtils.putString(Global.getFullUserEntKey(loginEntInfo.getId()), JSON.toJSONString(loginEntInfo), Global.APP_TOKEN_EXPIRE);
-        RedissonUtils.putString(Global.getFullUserTokenKey(clientType, accessSpecial, userId), token, ClientTypeEnum.expireTime(clientType));
+//
+//        /*5、请求权限校验*/
+//        //非管理员有接口权限才放行
+////        if (loginUserInfo.getIsMain() == Global.NO
+////                && !WITHOUTPATH.contains(requestUri)
+////                && !checkMenu(clientType, loginUserInfo.getId(), requestUri)) {
+////            ResponseUtil.writer(response, HttpResult.error(HttpStatus.AUTHORITY_NO_CODE, HttpStatus.ACCESS_FIAL));
+////            return;
+////        }
+//        LoginUserHolder.set(loginUserInfo);
+//        LoginEntHolder.set(loginEntInfo);
+//        RedissonUtils.putString(Global.getFullUserLoginKey(systemType, loginUserInfo.getId()), JSON.toJSONString(loginUserInfo), Global.APP_TOKEN_EXPIRE);
+//        RedissonUtils.putString(Global.getFullUserEntKey(loginEntInfo.getId()), JSON.toJSONString(loginEntInfo), Global.APP_TOKEN_EXPIRE);
+//        RedissonUtils.putString(Global.getFullUserTokenKey(clientType, accessSpecial, userId), token, ClientTypeEnum.expireTime(clientType));
         filterChain.doFilter(servletRequest, servletResponse);
-        LoginUserHolder.remove();
-        LoginEntHolder.remove();
+//        LoginUserHolder.remove();
+//        LoginEntHolder.remove();
     }
 
 

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/ResponseUtil.java

@@ -21,6 +21,7 @@ public class ResponseUtil {
      */
     public static void writer(HttpServletResponse response, HttpResult httpResult) throws IOException {
         response.setCharacterEncoding("utf-8");
+        response.setContentType("application/json;charset=UTF-8");
         PrintWriter printWriter = response.getWriter();
         printWriter.write(JSON.toJSONString(httpResult));
         printWriter.flush();

+ 3 - 6
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/VehiclesTrajectoryReq.java

@@ -40,7 +40,6 @@ public class VehiclesTrajectoryReq {
     /**
      * 车速(km/h)
      */
-    @NotNull(message = "车速speed不能为空")
     @Schema(description = "车速(km/h)")
     private Float speed;
 
@@ -82,21 +81,21 @@ public class VehiclesTrajectoryReq {
     /**
      * 车辆状态
      */
-    @NotBlank(message = "车辆状态status不能为空")
+
     @Schema(description = "车辆状态")
     private String status;
 
     /**
      * 运单号
      */
-    @NotBlank(message = "运单号wOrderNo不能为空")
+
     @Schema(description = "运单号")
     private String wOrderNo;
     /**
      * 运单状态
      */
     @Schema(description = "运单状态")
-    @NotBlank(message = "关联订单号lOrderNo不能为空")
+
     private String lOrderNo;
 
     /**
@@ -118,7 +117,6 @@ public class VehiclesTrajectoryReq {
         /**
          * 车牌
          */
-        @NotBlank(message = "车牌carNo不能为空")
         @Schema(description = "车牌号")
         private String carNo;
 
@@ -126,7 +124,6 @@ public class VehiclesTrajectoryReq {
          * 车队id
          */
         @Schema(description = "车队id")
-        @NotBlank(message = "车队fleetId不能为空")
         private String fleetId;
 
         /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

@@ -96,7 +96,7 @@ public class kwfTruckTraceService {
     public PageDataResult<KwfTruckTraceReplayVo> findPage(KwfTruckTraceReplayReq req) {
         log.info("查询历轨迹回放氢气参数:{}", req);
         Date date = new Date();
-        if (StringUtils.isBlank(req.getStartTime())){
+        if (StringUtils.isNotBlank(req.getStartTime())){
             date = DateUtils.formatDate(req.getStartTime());
         }
         Date beforeDate = DateUtils.addDateDays(date, -30);