Преглед изворни кода

Merge branch 'master' of http://192.168.0.115:3000/lyhzzz/4dkankan-center-user

lyhzzz пре 2 година
родитељ
комит
c3980ab979

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

@@ -27,7 +27,7 @@ public class WebAppConfig implements WebMvcConfigurer {
 	@Override
 	public void addInterceptors(InterceptorRegistry registry) {
 		registry.addInterceptor(ucenterInterceptor).addPathPatterns("/**")
-				.excludePathPatterns("/**/sso/**","/app/**","/test/**","/inner/**","/**/fusion/**");
+				.excludePathPatterns("/**/sso/**","/app/**","/test/**","/_inner/**","/**/fusion/**");
 
 		registry.addInterceptor(appInterceptor).addPathPatterns("/app/**");
 		WebMvcConfigurer.super.addInterceptors(registry);

+ 32 - 0
src/main/java/com/fdkankan/ucenter/controller/CustomResponseAdvice.java

@@ -0,0 +1,32 @@
+package com.fdkankan.ucenter.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.db.response.PageInfo;
+import com.fdkankan.web.response.ResultData;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.core.MethodParameter;
+import org.springframework.http.MediaType;
+import org.springframework.http.server.ServerHttpRequest;
+import org.springframework.http.server.ServerHttpResponse;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
+
+@RestControllerAdvice
+@Slf4j
+public class CustomResponseAdvice implements ResponseBodyAdvice {
+
+    @Override
+    public boolean supports(MethodParameter returnType, Class converterType) {
+        return true;
+    }
+
+    @Override
+    public Object beforeBodyWrite(Object body, MethodParameter returnType,
+        MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request,
+        ServerHttpResponse response) {
+        return body;
+    }
+
+}

+ 3 - 2
src/main/java/com/fdkankan/ucenter/controller/SceneController.java

@@ -9,6 +9,7 @@ import com.fdkankan.ucenter.service.*;
 import com.fdkankan.ucenter.vo.request.SceneParam;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestHeader;
@@ -102,7 +103,7 @@ public class SceneController {
      *
      * 场景升级V4接口
      */
-    @Get(value = "/upgradeToV4")
+    @GetMapping("/upgradeToV4")
     public Result upgradeToV4(String num) throws Exception{
         return sceneUpgradeToV4Service.upgrade(num);
     }
@@ -111,7 +112,7 @@ public class SceneController {
      *
      * 场景升级进度查询接口
      */
-    @RequestMapping(value = "/getUpgradeToV4Progress", method = RequestMethod.GET)
+    @GetMapping("/getUpgradeToV4Progress")
     public Result getUpgradeToV4Progress(String num) throws Exception{
         return sceneUpgradeToV4Service.getUpgradeToV4Progress(num);
     }

+ 6 - 35
src/main/java/com/fdkankan/ucenter/controller/inner/InnerController.java

@@ -1,19 +1,8 @@
 package com.fdkankan.ucenter.controller.inner;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.util.JwtUtil;
-import com.fdkankan.redis.constant.RedisKey;
-import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.ucenter.common.BaseController;
 import com.fdkankan.ucenter.common.Result;
-import com.fdkankan.ucenter.entity.ScenePro;
-import com.fdkankan.ucenter.entity.User;
-import com.fdkankan.ucenter.service.ISceneProService;
-import com.fdkankan.ucenter.service.IUserService;
-import com.fdkankan.web.util.WebUtil;
+import com.fdkankan.ucenter.service.IInnerService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -28,37 +17,19 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2022/8/19
  **/
 @RestController
-@RequestMapping("/inner")
+@RequestMapping("/_inner")
 public class InnerController extends BaseController {
 
     @Autowired
-    private ISceneProService sceneProService;
-    @Autowired
-    private IUserService userService;
-    @Autowired
-    private RedisUtil redisUtil;
+    private IInnerService innerService;
 
     /**
      * 根据场景码获取token
      */
-    @GetMapping("/createTokenByNum")
+    @GetMapping("/_token")
     public Result createTokenByNum(String num) throws Exception{
-
-        String requestIp = WebUtil.getIpAddress(this.request);
-        if(!"221.4.210.172".equals(requestIp)){
-            throw new BusinessException(ErrorCode.HAVE_NO_RIGHT);
-        }
-
-        ScenePro sceneProEntity = sceneProService.getByNum(num);
-        User user = userService.getById(sceneProEntity.getUserId());
-        String token = JwtUtil.createJWT(-1, user.getUserName(), "user");
-        String redisKey = String.format(RedisKey.TOKEN_V3,token);
-        redisUtil.set(redisKey, JSON.toJSONString(user), RedisKey.EXPIRE_TIME_2_HOUR);
-
-        JSONObject object = new JSONObject();
-        object.put("token", token);
-
-        return Result.success(object);
+        String customToken = request.getHeader("custom-token");
+        return innerService.createTokenByNum(num, customToken);
     }
 
 }

+ 17 - 0
src/main/java/com/fdkankan/ucenter/service/IInnerService.java

@@ -0,0 +1,17 @@
+package com.fdkankan.ucenter.service;
+
+import com.fdkankan.ucenter.common.Result;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/9/27
+ **/
+public interface IInnerService {
+
+    Result createTokenByNum(String num, String customToken);
+
+}

+ 80 - 0
src/main/java/com/fdkankan/ucenter/service/impl/InnerServiceImpl.java

@@ -0,0 +1,80 @@
+package com.fdkankan.ucenter.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.JwtUtil;
+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.ScenePro;
+import com.fdkankan.ucenter.entity.User;
+import com.fdkankan.ucenter.service.IInnerService;
+import com.fdkankan.ucenter.service.IScenePlusService;
+import com.fdkankan.ucenter.service.ISceneProService;
+import com.fdkankan.ucenter.service.IUserService;
+import com.fdkankan.web.util.WebUtil;
+import java.util.Objects;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/9/27
+ **/
+@Slf4j
+@Service
+public class InnerServiceImpl implements IInnerService {
+
+    @Value("${inner.customToken}")
+    private String customToken;
+
+    @Autowired
+    private ISceneProService sceneProService;
+    @Autowired
+    private IScenePlusService scenePlusService;
+    @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("无权访问");
+        }
+
+        Long userId = null;
+        ScenePro scenePro = sceneProService.getByNum(num);
+        if(Objects.nonNull(scenePro)){
+            userId = scenePro.getUserId();
+        }else{
+            ScenePlus scenePlus = scenePlusService.getByNum(num);
+            if(Objects.isNull(scenePlus)){
+                return Result.failure("场景为空");
+            }
+            userId = scenePlus.getUserId();
+        }
+        User user = userService.getById(userId);
+        String token = JwtUtil.createJWT(-1, user.getUserName(), "user");
+        String redisKey = String.format(RedisKey.TOKEN_V3,token);
+        redisUtil.set(redisKey, JSON.toJSONString(user), RedisKey.EXPIRE_TIME_2_HOUR);
+
+        JSONObject object = new JSONObject();
+        object.put("token", token);
+
+        return Result.success(object);
+    }
+}

+ 5 - 1
src/main/java/com/fdkankan/ucenter/service/impl/SceneUpgradeToV4Service.java

@@ -99,10 +99,14 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
             redisUtil.set(RedisKey.scene_upgrade_progress_num, JSON.toJSONString(progress));
 
             //发送mq
-            rabbitMqProducer.sendByWorkQueue(upgradeToV4, scenePro.getId());
+            HashMap<String, Object> msg = new HashMap<>();
+            msg.put("sceneProId", scenePro.getId());
+            msg.put("reUpgrade", false);
+            rabbitMqProducer.sendByWorkQueue(upgradeToV4, msg);
 
         }catch (Exception e){
             log.error("场景升级失败", e);
+            redisLockUtil.unlockLua(lockKey);
             this.upgradeLog(sceneRepairLog, num, 2, ExceptionUtil.stacktraceToString(e, 3000));
             return Result.failure(ErrorCode.FAILURE_CODE_7021.code(), ErrorCode.FAILURE_CODE_7021.message());
         }

+ 1 - 1
src/main/resources/bootstrap-test.yml

@@ -24,7 +24,7 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: other-config.yaml
+          - data-id: common-config.yaml
             group: DEFAULT_GROUP
             refresh: true
 

+ 13 - 11
src/main/resources/mapper/ucenter/SceneUpgradeMapper.xml

@@ -58,11 +58,12 @@
     build_type,
     create_time,
     update_time,
-    tb_status,
+    rec_status,
     scene_resolution,
     scene_from,
     scene_kind,
-    videos
+    videos,
+    algorithm_time
   )
   SELECT
     p.id,
@@ -82,21 +83,22 @@
     p.`update_time`,
     p.rec_status ,
     CASE
-      WHEN t.scene_source = 1 THEN '2k'
-      WHEN t.scene_source = 2 THEN '1k'
-      WHEN t.scene_source = 3 THEN '4k'
-      WHEN t.scene_source = 4 THEN '4k'
+      WHEN p.scene_source = 1 THEN '2k'
+      WHEN p.scene_source = 2 THEN '1k'
+      WHEN p.scene_source = 3 THEN '4k'
+      WHEN p.scene_source = 4 THEN '4k'
       ELSE NULL
      END AS scene_resolution,
     CASE
-      WHEN t.scene_source = 1 THEN 'pro'
-      WHEN t.scene_source = 2 THEN 'lite'
-      WHEN t.scene_source = 3 THEN 'minion'
-      WHEN t.scene_source = 4 THEN 'laser'
+      WHEN p.scene_source = 1 THEN 'pro'
+      WHEN p.scene_source = 2 THEN 'lite'
+      WHEN p.scene_source = 3 THEN 'minion'
+      WHEN p.scene_source = 4 THEN 'laser'
       ELSE NULL
      END AS scene_from,
     #{sceneKind} scene_kind,
-    p.videos
+    p.videos,
+    p.`create_time`
   FROM
     t_scene_pro p
   WHERE p.id = #{sceneProId}