Explorar o código

修改4维看看数据同步逻辑

tianboguang %!s(int64=3) %!d(string=hai) anos
pai
achega
6cf6dbea12

+ 3 - 0
platform-common/src/main/java/com/platform/entity/Result.java

@@ -32,6 +32,9 @@ public class Result<T> implements Serializable {
 
     private T data;
 
+    public Result(){
+
+    }
 
     public Result(Integer code, String msg, T data) {
         this.code = code;

+ 3 - 0
platform-common/src/main/java/com/platform/service/impl/SysUserServiceImpl.java

@@ -348,6 +348,9 @@ public class SysUserServiceImpl implements SysUserService {
 
     @Override
     public List<SysUserEntity> getSysUserListByDeptIds(List<Long> deptList) {
+        if(ObjectUtils.isEmpty(deptList)){
+            return new ArrayList<>();
+        }
         return sysUserDao.getSysUserListByDeptIds(deptList);
     }
 }

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

@@ -63,7 +63,7 @@ public class ZhiHouseService {
      */
     public ResponseEntity<Result> sync4dkkSceneData(String username) {
         Map<String ,Object> params = new HashMap<>(1);
-        params.put("username",username);
+        params.put("phone",username);
         String url = zhiHouseHost + "api/platform/sync4dkkSceneData";
         return restTemplate.postForEntity(url, params, Result.class);
     }

+ 5 - 4
platform-shop/src/main/java/com/platform/controller/SceneController.java

@@ -119,7 +119,7 @@ public class SceneController extends AbstractController{
                 sceneEntity.setName(sceneParam.getName());
             }
             sceneEntity.setSceneNum(sceneParam.getSceneNum());
-            int result = sceneService.save(sceneEntity);
+            int result = sceneService.save(sceneEntity,true);
             if(result==0){
                 log.error("场景已经被绑定!");
                 return R.error("场景已经被绑定!");
@@ -345,14 +345,15 @@ public class SceneController extends AbstractController{
     /**
      * 同步四维看看数据
      */
-    @RequestMapping("/sync4dkkSceneData")
+    @GetMapping("/sync4dkkSceneData")
     @Transactional(rollbackFor = Exception.class)
     public R sync4dkkSceneData() {
         CurrentUserLoginVo user = getUser();
-        if(ObjectUtils.isEmpty(user.getFdkkUser())){
+        String mobile = user.getMobile();
+        SysUserEntity userEntity = sysUserService.queryByUserMobile(mobile);
+        if(ObjectUtils.isEmpty(userEntity.getFdkkUser())){
             throw new CommonBaseException(500, "请绑定四维看看账号!");
         }
-        String mobile = user.getMobile();
         sceneService.sync4dkkSceneData(mobile,user.getUserId());
         return R.ok();
     }

+ 1 - 1
platform-shop/src/main/java/com/platform/service/SceneService.java

@@ -47,7 +47,7 @@ public interface SceneService {
      * @param brand 实体
      * @return 保存条数
      */
-    int save(SceneEntity brand);
+    int save(SceneEntity brand,boolean checkName);
 
     /**
      * 根据主键更新实体

+ 11 - 6
platform-shop/src/main/java/com/platform/service/impl/SceneServiceImpl.java

@@ -54,11 +54,13 @@ public class SceneServiceImpl implements SceneService {
     }
 
     @Override
-    public int save(SceneEntity sceneEntity) {
-        SceneEntity SceneEntity = sceneDao.findByName(sceneEntity.getName());
-        if(SceneEntity != null){
-            log.error("场景已经被绑定");
-            return 0;
+    public int save(SceneEntity sceneEntity,boolean checkName) {
+        if(checkName){
+            SceneEntity SceneEntity = sceneDao.findByName(sceneEntity.getName());
+            if(SceneEntity != null){
+                log.error("场景已经被绑定");
+                return 0;
+            }
         }
         return sceneDao.save(sceneEntity);
     }
@@ -119,6 +121,9 @@ public class SceneServiceImpl implements SceneService {
         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();
 
@@ -135,7 +140,7 @@ public class SceneServiceImpl implements SceneService {
                 scene.setUpdateUserId(userId);
                 scene.setIsShow(0);
                 try {
-                    save(scene);
+                    save(scene,false);
                 } catch (Exception e) {
                     log.error("场景同步失败:{}",JSONObject.toJSONString(map));
                     e.printStackTrace();