dengsixing il y a 9 mois
Parent
commit
3b8c9acd37

+ 7 - 0
pom.xml

@@ -210,6 +210,13 @@
       <version>2.17.0</version>
     </dependency>
 
+    <!--        htt请求工具-->
+    <dependency>
+      <groupId>com.dtflys.forest</groupId>
+      <artifactId>forest-spring-boot-starter</artifactId>
+      <version>1.5.19</version>
+    </dependency>
+
   </dependencies>
   <build>
     <finalName>${artifactId}</finalName>

+ 13 - 0
src/main/java/com/fdkankan/contro/httpclient/MyClient.java

@@ -0,0 +1,13 @@
+package com.fdkankan.contro.httpclient;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.dtflys.forest.annotation.*;
+import com.fdkankan.web.response.ResultData;
+
+public interface MyClient {
+
+    @Post(url = "${url}")
+    ResultData postJson(@Var("url") String url, @Header("sign") String sign, @JSONBody JSONObject param);
+
+}

+ 19 - 3
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -24,9 +24,11 @@ import com.fdkankan.common.util.SnowflakeIdGenerator;
 import com.fdkankan.contro.constant.RedisConstants;
 import com.fdkankan.contro.entity.*;
 import com.fdkankan.contro.enums.CameraTypeEnum;
+import com.fdkankan.contro.httpclient.MyClient;
 import com.fdkankan.contro.mapper.ISceneFileBuildMapper;
 import com.fdkankan.contro.service.ICommonService;
 import com.fdkankan.contro.service.*;
+import com.fdkankan.contro.util.RsaUtils;
 import com.fdkankan.contro.vo.ResponseSceneFile;
 import com.fdkankan.contro.vo.ScenePlusVO;
 import com.fdkankan.fyun.config.FYunFileConfig;
@@ -210,6 +212,8 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     private ISceneUploadCountService sceneUploadCountService;
     @Autowired
     private IWbService wbService;
+    @Resource
+    private MyClient httpClient;
 
     @Override
     public SceneFileBuild findByFileId(String fileId) {
@@ -423,8 +427,8 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         String imgViewPath = String.format(UploadFilePath.IMG_VIEW_PATH, sceneNum);
 
         String userName = null;
-        if (!ObjectUtils.isEmpty(cameraDetail.getUserId())) {
-            SSOUser user = userService.getSSOUserByUserId(cameraDetail.getUserId());
+        if (StrUtil.isNotEmpty(jsonObject.getString("account"))) {
+            SSOUser user = userService.getSSOUserByUserId(Long.valueOf(jsonObject.getString("account")));
             userName = ObjectUtils.isEmpty(user) ? null : user.getUserName();
         }
 
@@ -451,7 +455,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
 
         ScenePlusVO scenePlusVO = this.createScenePlus(sceneNum, cameraDetail.getCameraId(), jsonObject.getString("creator"),
                 jsonObject.getString("pwd"),cameraType, jsonObject.getJSONObject("cam").getIntValue("type"),
-                dataSource, icon,  cameraDetail.getUserId(), userName,algorithm,jsonObject.getInteger("location"),
+                dataSource, icon,  Long.valueOf(jsonObject.getString("account")), userName,algorithm,jsonObject.getInteger("location"),
                 jsonObject.getJSONArray("points").size(), jsonObject.getString("name"), jsonObject.getString("info"),
                 jsonObject.getInteger("scenetype"), jsonObject.getString("gps"), rebuild,
                 jsonObject.getInteger("resolution"), firmwareVersion.toString(), sceneUrl, buildType, cameraDetail.getCooperationUser());
@@ -826,6 +830,18 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             cameraType = 14L;
         }
 
+        //调用接口入库
+        String account = fdageJson.getString("account");
+        Map<String, Object> signPlayload = new HashMap<>();
+        signPlayload.put("appId", "ucenter");
+        signPlayload.put("timestamp", Calendar.getInstance().getTimeInMillis());
+        String sign = RsaUtils.encipher(JSON.toJSONString(signPlayload), RsaUtils.publicKey);
+        JSONObject cameraParams = new JSONObject();
+        cameraParams.put("cameraType", camType);
+        cameraParams.put("snCode", mac);
+        cameraParams.put("userId", Long.valueOf(account));
+        ResultData resultData = httpClient.postJson(mainUrl + "/ucenter/_inner/cameraInStore", sign, cameraParams);
+
         // 判断是否是V3的场景
         ScenePro scenePro = sceneProService.getOne(
             new LambdaQueryWrapper<ScenePro>().like(ScenePro::getDataSource, "/".concat(fileId).concat("/")));

Fichier diff supprimé car celui-ci est trop grand
+ 314 - 0
src/main/java/com/fdkankan/contro/util/RsaUtils.java