Browse Source

增加内部接口:查询场景本地资源路径

dengsixing 2 năm trước cách đây
mục cha
commit
5d4fc94031

+ 7 - 0
src/main/java/com/fdkankan/ucenter/config/WebAppConfig.java

@@ -1,6 +1,7 @@
 package com.fdkankan.ucenter.config;
 
 import com.fdkankan.ucenter.interceptor.AppInterceptor;
+import com.fdkankan.ucenter.interceptor.InnerApiInterceptor;
 import com.fdkankan.ucenter.interceptor.UcenterInterceptor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
@@ -17,10 +18,16 @@ public class WebAppConfig implements WebMvcConfigurer {
 	UcenterInterceptor ucenterInterceptor;
 	@Autowired
 	AppInterceptor appInterceptor;
+	@Autowired
+	private InnerApiInterceptor innerApiInterceptor;
 
 
 	@Override
 	public void addInterceptors(InterceptorRegistry registry) {
+
+		//内部接口拦截器
+		registry.addInterceptor(innerApiInterceptor).addPathPatterns("/_inner/**");
+
 		registry.addInterceptor(ucenterInterceptor).addPathPatterns("/**")
 				.excludePathPatterns(
 						//"/user/virtualOrder/**",

+ 10 - 3
src/main/java/com/fdkankan/ucenter/controller/inner/InnerController.java

@@ -27,9 +27,16 @@ public class InnerController extends BaseController {
      * 根据场景码获取token
      */
     @GetMapping("/_token")
-    public Result createTokenByNum(String num) throws Exception{
-        String customToken = request.getHeader("custom-token");
-        return innerService.createTokenByNum(num, customToken);
+    public Result createTokenByNum(String num){
+        return innerService.createTokenByNum(num);
+    }
+
+    /**
+     * 根据场景码获取token
+     */
+    @GetMapping("/querySceneDataSource")
+    public Result querySceneDataSource(String num){
+        return innerService.querySceneDataSource(num);
     }
 
 }

+ 48 - 0
src/main/java/com/fdkankan/ucenter/interceptor/InnerApiInterceptor.java

@@ -0,0 +1,48 @@
+package com.fdkankan.ucenter.interceptor;
+
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.ContentType;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.util.JwtUtil;
+import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.ucenter.common.RedisKeyUtil;
+import com.fdkankan.ucenter.common.Result;
+import com.fdkankan.ucenter.constant.LoginConstant;
+import java.awt.PageAttributes.MediaType;
+import java.io.IOException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+@Component
+@Slf4j
+public class InnerApiInterceptor implements HandlerInterceptor {
+
+	@Value("${inner.customToken}")
+	private String customToken;
+
+	@Override
+	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+		response.setContentType("application/json;charset=UTF-8");
+		String customToken = request.getHeader("custom-token");
+		if(StrUtil.isEmpty(customToken) || !customToken.equals(this.customToken)){
+			response.getWriter().append(JSON.toJSONString(Result.failure(ErrorCode.HAVE_NO_RIGHT.code(), ErrorCode.HAVE_NO_RIGHT.message())));
+			return false;
+		}
+		return true;
+	}
+
+
+}
+

+ 3 - 1
src/main/java/com/fdkankan/ucenter/service/IInnerService.java

@@ -12,6 +12,8 @@ import com.fdkankan.ucenter.common.Result;
  **/
 public interface IInnerService {
 
-    Result createTokenByNum(String num, String customToken);
+    Result createTokenByNum(String num);
+
+    Result querySceneDataSource(String num);
 
 }

+ 13 - 0
src/main/java/com/fdkankan/ucenter/service/impl/DownService.java

@@ -13,6 +13,7 @@ import com.fdkankan.ucenter.service.*;
 import com.fdkankan.ucenter.vo.response.DownVo;
 import com.fdkankan.ucenter.vo.response.DownloadProcessVo;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Case;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -194,4 +195,16 @@ public class DownService implements IDownService {
         return downloadProcessVo;
     }
 
+
+    public static void main(String[] args) {
+        Integer aaa = new Integer(1002);
+        switch (aaa){
+            case DownloadStatusEnum.DOWNLOAD_SUCCESS_CODE:
+                System.out.println(123);
+        }
+
+
+
+    }
+
 }

+ 23 - 8
src/main/java/com/fdkankan/ucenter/service/impl/InnerServiceImpl.java

@@ -9,9 +9,11 @@ import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.ucenter.common.Result;
 import com.fdkankan.ucenter.entity.ScenePlus;
+import com.fdkankan.ucenter.entity.ScenePlusExt;
 import com.fdkankan.ucenter.entity.ScenePro;
 import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.service.IInnerService;
+import com.fdkankan.ucenter.service.IScenePlusExtService;
 import com.fdkankan.ucenter.service.IScenePlusService;
 import com.fdkankan.ucenter.service.ISceneProService;
 import com.fdkankan.ucenter.service.IUserService;
@@ -41,19 +43,14 @@ public class InnerServiceImpl implements IInnerService {
     @Autowired
     private IScenePlusService scenePlusService;
     @Autowired
+    private IScenePlusExtService scenePlusExtService;
+    @Autowired
     private IUserService userService;
     @Autowired
     private RedisUtil redisUtil;
 
     @Override
-    public Result createTokenByNum(String num, String customToken) {
-
-        log.info(this.customToken);
-        log.info(customToken);
-
-        if(!this.customToken.equals(customToken)){
-            return Result.failure("无权访问");
-        }
+    public Result createTokenByNum(String num) {
 
         Long userId = null;
         ScenePro scenePro = sceneProService.getByNum(num);
@@ -76,4 +73,22 @@ public class InnerServiceImpl implements IInnerService {
 
         return Result.success(object);
     }
+
+    @Override
+    public Result querySceneDataSource(String num) {
+
+        String dataSource = null;
+        ScenePro scenePro = sceneProService.getByNum(num);
+        if(Objects.isNull(scenePro)){
+            ScenePlus scenePlus = scenePlusService.getByNum(num);
+            if(Objects.isNull(scenePlus)){
+                return Result.failure(ErrorCode.FAILURE_CODE_5005.code(), ErrorCode.FAILURE_CODE_5005.message());
+            }
+            ScenePlusExt scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
+            dataSource = scenePlusExt.getDataSource();
+        }else{
+            dataSource = scenePro.getDataSource();
+        }
+        return Result.success("成功", dataSource);
+    }
 }