Explorar o código

修改生成token逻辑

tianboguang %!s(int64=3) %!d(string=hai) anos
pai
achega
5f3540e46d

+ 21 - 7
platform-common/src/main/java/com/platform/service/impl/ZhiHouseService.java

@@ -1,20 +1,20 @@
 package com.platform.service.impl;
 
-import com.platform.entity.Result;
 import com.platform.enums.ResultCodeEnum;
 import com.platform.exception.CommonBaseException;
+import com.platform.vos.ReturnDTO;
 import com.platform.vos.ZhiHouseUserLoginVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 @Service
@@ -41,7 +41,7 @@ public class ZhiHouseService {
         return restTemplate.postForEntity(url, userLoginVo, String.class);
     }
 
-    public ResponseEntity<String> generateSceneEditToken(String token,String userName,String sceneNum) {
+    public ReturnDTO generateSceneEditToken(String token, String userName, String sceneNum) {
         if(ObjectUtils.isEmpty(token)){
             throw new CommonBaseException(ResultCodeEnum.D101);
         }
@@ -52,8 +52,15 @@ public class ZhiHouseService {
         HttpHeaders headers = new HttpHeaders();
         headers.add("token", token);
         HttpEntity<Object> formEntity = new HttpEntity<>(param, headers);
-        ResponseEntity<String> kankanResult = restTemplate.postForEntity(url,formEntity,String.class);
-        return kankanResult;
+        ResponseEntity<ReturnDTO> responseEntity = restTemplate.postForEntity(url,formEntity,ReturnDTO.class);
+        if(responseEntity.getStatusCode()!= HttpStatus.OK){
+            throw new CommonBaseException(ResultCodeEnum.D100,"连接失败");
+        }
+        if (responseEntity.getBody().getCode() != 200) {
+            throw new CommonBaseException(ResultCodeEnum.D100,responseEntity.getBody().getError());
+        }
+
+        return responseEntity.getBody();
     }
 
     /**
@@ -61,10 +68,17 @@ public class ZhiHouseService {
      * @param username
      * @return
      */
-    public ResponseEntity<Result> sync4dkkSceneData(String username) {
+    public ReturnDTO sync4dkkSceneData(String username) {
         Map<String ,Object> params = new HashMap<>(1);
         params.put("phone",username);
         String url = zhiHouseHost + "api/platform/sync4dkkSceneData";
-        return restTemplate.postForEntity(url, params, Result.class);
+        ResponseEntity<ReturnDTO> responseEntity = restTemplate.postForEntity(url, params, ReturnDTO.class);
+        if(responseEntity.getStatusCode()!= HttpStatus.OK){
+            throw new CommonBaseException(ResultCodeEnum.D100);
+        }
+        if (responseEntity.getBody().getCode() != 200) {
+            throw new CommonBaseException(ResultCodeEnum.D100,responseEntity.getBody().getError());
+        }
+        return responseEntity.getBody();
     }
 }

+ 7 - 30
platform-shop/src/main/java/com/platform/controller/TokenController.java

@@ -2,28 +2,22 @@ package com.platform.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.platform.entity.Result;
-import com.platform.entity.SceneEntity;
 import com.platform.entity.SysUserEntity;
-import com.platform.entity.UserEntity;
 import com.platform.enums.ResultCodeEnum;
 import com.platform.exception.CommonBaseException;
 import com.platform.service.SceneService;
 import com.platform.service.SysUserService;
-import com.platform.service.UserService;
 import com.platform.service.impl.FdkkService;
 import com.platform.service.impl.ZhiHouseService;
 import com.platform.utils.Base64Converter;
+import com.platform.vos.ReturnDTO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.client.RestTemplate;
 
 import java.util.Map;
 
@@ -49,16 +43,13 @@ public class TokenController extends AbstractController{
     @ResponseBody
     public Result renewToken(@RequestBody Map<String,String> param) {
         String sceneNum = param.get("sceneNum");
+        String sceneUrl = param.get("sceneUrl");
         String userName = param.get("userName");
-        if(ObjectUtils.isEmpty(userName) || ObjectUtils.isEmpty(sceneNum)){
+        if(ObjectUtils.isEmpty(userName) || ObjectUtils.isEmpty(sceneNum) || ObjectUtils.isEmpty(sceneUrl)){
             throw new CommonBaseException(ResultCodeEnum.D101,"参数有误!");
         }
         // 判断场景为四维看看或者指房宝
-        SceneEntity scene = sceneService.queryByScene(sceneNum);
-        if(ObjectUtils.isEmpty(scene)){
-            throw new CommonBaseException(ResultCodeEnum.D101,"请先保存场景!");
-        }
-        if(scene.getSceneUrl().contains("www.4dkankan.com") || scene.getSceneUrl().contains("test.4dkankan.com")){
+        if(sceneUrl.contains("www.4dkankan.com") || sceneUrl.contains("test.4dkankan.com")){
             Long userId = getUser().getUserId();
             SysUserEntity user = sysUserService.queryObject(userId);
             if(ObjectUtils.isEmpty(user.getFdkkUser())){
@@ -76,22 +67,8 @@ public class TokenController extends AbstractController{
             return Result.success("操作成功",result.getJSONObject("data").getString("token"));
         }
 
-        // 判断token是否有效
-        ResponseEntity<String> kankanResult = zhiHouseService.generateSceneEditToken(param.get("token"),userName,sceneNum);
-        return parseKanKanRsp(kankanResult.getBody());
-    }
-
-    private Result parseKanKanRsp(String result) {
-        if (null == result) {
-            throw new CommonBaseException(ResultCodeEnum.D101.getCode(), "返回数据异常");
-        }
-        //把信息封装为json
-        JSONObject jsonObject = JSONObject.parseObject(result);
-        log.info("看看返回数据:{}", jsonObject.toJSONString());
-        int code = -10;
-        if (!jsonObject.containsKey("code") || jsonObject.getInteger("code") != 200) {
-            throw new CommonBaseException(ResultCodeEnum.D101.getCode(), "请求失败");
-        }
-        return Result.success(jsonObject.get("message"));
+        // 生成token
+        ReturnDTO result = zhiHouseService.generateSceneEditToken(param.get("token"),userName,sceneNum);
+        return Result.success(result.getMessage());
     }
 }

+ 4 - 14
platform-shop/src/main/java/com/platform/service/impl/SceneServiceImpl.java

@@ -2,18 +2,14 @@ package com.platform.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.platform.dao.SceneDao;
-import com.platform.entity.Result;
 import com.platform.entity.SceneEntity;
-import com.platform.enums.ResultCodeEnum;
-import com.platform.exception.CommonBaseException;
 import com.platform.service.SceneService;
 import com.platform.utils.R;
+import com.platform.vos.ReturnDTO;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
@@ -117,16 +113,10 @@ public class SceneServiceImpl implements SceneService {
     @Override
     public void sync4dkkSceneData(String mobile,Long userId) {
         // 请求指房宝获取四维看看数据
-        ResponseEntity<Result> responseEntity = zhiHouseService.sync4dkkSceneData(mobile);
-        if(responseEntity.getStatusCode()!= HttpStatus.OK){
-            throw new CommonBaseException(ResultCodeEnum.D100);
-        }
-        if (responseEntity.getBody().getCode() != Result.CODE_SUCCESS) {
-            throw new CommonBaseException(ResultCodeEnum.D100,responseEntity.getBody().getMsg());
-        }
-        // 解析数据,获取相机及场景数据,并入库
-        HashMap<String,List<HashMap<String,String>>> result = (HashMap<String, List<HashMap<String, String>>>)responseEntity.getBody().getData();
+        ReturnDTO returnDTO = zhiHouseService.sync4dkkSceneData(mobile);
+        HashMap<String,List<HashMap<String,String>>> result = (HashMap<String, List<HashMap<String, String>>>) returnDTO.getMessage();
 
+        // 解析数据,获取相机及场景数据,并入库
         List<HashMap<String, String>> scenes = result.get("scenes");
 
         if(!ObjectUtils.isEmpty(scenes)){