浏览代码

创建文件夹接口
获取相机列表-不分页接口

dengsixing 3 年之前
父节点
当前提交
e002be3ca8

+ 12 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/controller/api/UserCameraController.java

@@ -1,6 +1,7 @@
 package com.fdkankan.platform.user.controller.api;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.controller.BaseController;
 import com.fdkankan.platform.goods.entity.CameraDetailNumEntity;
 import com.fdkankan.platform.goods.service.ICameraService;
 import com.fdkankan.platform.user.request.RequestCamera;
@@ -22,7 +23,7 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/api/platform/user/camera")
-public class UserCameraController {
+public class UserCameraController extends BaseController {
 
     private static Logger log = LoggerFactory.getLogger("programLog");
 
@@ -161,4 +162,14 @@ public class UserCameraController {
     public HSSFWorkbook export(@RequestHeader String token, HttpServletResponse response) throws Exception {
         return cameraService.export(token,response);
     }
+
+    /**
+     * 获取用户设备--新(根据sn返回全部不分页)
+     * @return
+     */
+    @RequestMapping(value = "/listNewAll", method = RequestMethod.POST)
+    public List<ResponseCamera> listNewAll(@RequestBody RequestCamera param) throws Exception {
+        Long userId = this.getUserId();
+        return userService.findNewAll(userId, param);
+    }
 }

+ 2 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/IUserService.java

@@ -91,4 +91,6 @@ public interface IUserService extends IService<User> {
     String updateStatus(Long userId, int status);
 
     List<User> getUserLikeUserName(String searchKey);
+
+    List<ResponseCamera> findNewAll(Long userId, RequestCamera param) throws Exception;
 }

+ 37 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/impl/UserServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fdkankan.platform.user.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -16,6 +17,7 @@ import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.SsoUtil;
 import com.fdkankan.common.validation.Variable;
 import com.fdkankan.fyun.qiniu.QiniuUpload;
+import com.fdkankan.platform.goods.entity.Camera;
 import com.fdkankan.platform.goods.entity.CameraDetail;
 import com.fdkankan.platform.goods.entity.CameraDetailNumEntity;
 import com.fdkankan.platform.goods.service.ICameraDetailService;
@@ -532,6 +534,41 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
                 .like(User::getUserName,searchKey);
         return this.list(queryWrapper);
     }
+
+    @Override
+    public List<ResponseCamera> findNewAll(Long userId, RequestCamera param) throws Exception {
+
+        if(StrUtil.isEmpty(param.getChildName())){
+            return null;
+        }
+
+        List<Camera> cameraList = cameraService.getCameraLikeSnCode("%" + param.getChildName() + "%");
+
+        List<ResponseCamera> result = new ArrayList<>();
+        ResponseCamera responseCamera = null;
+
+        List<CameraDetail> cameraDetailList = cameraDetailService.list(
+            new LambdaQueryWrapper<CameraDetail>().eq(CameraDetail::getUserId, userId)
+                .ge(CameraDetail::getCameraType, 1));
+
+        if(CollUtil.isEmpty(cameraList) || CollUtil.isEmpty(cameraDetailList)){
+            return null;
+        }
+
+        for (Camera camera : cameraList) {
+            for (CameraDetail detail : cameraDetailList) {
+                if(detail.getCameraId().longValue() == camera.getId()){
+                    responseCamera = new ResponseCamera();
+                    BeanUtils.copyProperties(camera, responseCamera);
+
+                    result.add(responseCamera);
+                    break;
+                }
+            }
+        }
+
+        return result;
+    }
 }
 
 

+ 35 - 3
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/FolderController.java

@@ -1,8 +1,18 @@
 package com.fdkankan.scene.controller;
 
 
+import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.scene.service.IFolderService;
+import com.fdkankan.scene.vo.FolderParamVO;
+import java.util.List;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -14,9 +24,31 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2021-12-24
  */
 @RestController
-@RequestMapping("/scene/folder")
-public class FolderController {
-
+@RequestMapping("/api/scene/folder")
+public class FolderController extends BaseController {
+
+    @Autowired
+    private IFolderService folderService;
+
+    /**
+     * <p>
+     新增文件夹
+     * </p>
+     * @author dengsixing
+     * @date 2022/3/8
+     * @param param
+     * @return Result
+     **/
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+//    @ApiImplicitParams({
+//        @ApiImplicitParam(name = "name", value = "文件夹名称", dataType = "String"),
+//        @ApiImplicitParam(name = "type", value = "文件夹类型,0我的场景,1协作场景", dataType = "String"),
+//        @ApiImplicitParam(name = "parentId", value = "上层文件夹id", dataType = "String")})
+    public ResultData save(@RequestBody @Validated FolderParamVO param){
+        Long userId = this.getUserId();
+        param.setUserId(userId);
+        return folderService.save(param);
+    }
 
 
 }

+ 6 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IFolderService.java

@@ -1,11 +1,15 @@
 package com.fdkankan.scene.service;
 
+import com.fdkankan.common.response.ResultData;
 import com.fdkankan.scene.entity.Folder;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.scene.vo.FolderParamVO;
 import com.fdkankan.scene.vo.FolderVO;
 
 import java.util.List;
 import java.util.Set;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * <p>
@@ -29,4 +33,6 @@ public interface IFolderService extends IService<Folder> {
 
     List<FolderVO> convert(List<Folder> list);
 
+    ResultData save(FolderParamVO param);
+
 }

+ 28 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/FolderServiceImpl.java

@@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.common.constant.RecStatus;
+import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.constant.TbStatus;
+import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.util.DateExtUtil;
 import com.fdkankan.scene.entity.Folder;
 import com.fdkankan.scene.entity.FolderScene;
@@ -17,6 +19,7 @@ import com.fdkankan.scene.service.IFolderSceneService;
 import com.fdkankan.scene.service.IFolderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.scene.service.ISceneProService;
+import com.fdkankan.scene.vo.FolderParamVO;
 import com.fdkankan.scene.vo.FolderVO;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
@@ -204,6 +207,31 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
         return responseFolders;
     }
 
+    @Override
+    public ResultData save(FolderParamVO param) {
+
+        LambdaQueryWrapper<Folder> wrapper = new LambdaQueryWrapper<Folder>()
+            .eq(Folder::getFolderName, param.getName()).eq(Folder::getUserId, param.getUserId());
+        if(Objects.isNull(param.getParentId())){
+            wrapper.isNull(Folder::getParentId);
+        }else{
+            wrapper.eq(Folder::getParentId, param.getParentId());
+        }
+        long count = this.count(wrapper);
+        if(count > 0){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5030);
+        }
+
+        Folder folder = new Folder();
+        BeanUtils.copyProperties(param, folder);
+        folder.setFolderName(param.getName());
+        folder.setFolderType(param.getType());
+
+        this.save(folder);
+
+        return ResultData.ok();
+    }
+
     //根据文件夹,递归获取该文件夹中所有文件夹的场景数量之和
     public int folderChildrenSceneNum(Long parentId, Integer sceneNum){
         List<Folder> byParentId = this.findByParentId(parentId);

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/UserSceneServiceImpl.java

@@ -347,7 +347,7 @@ public class UserSceneServiceImpl implements IUserSceneService {
                 }
             }
 
-            if(Objects.nonNull(param.getSceneSource())){
+            if(StrUtil.isNotBlank(param.getSceneSource())){
                 param.setSceneSourceList(
                     Arrays.stream(param.getSceneSource().split(","))
                         .map(source->Integer.parseInt(source))

+ 29 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/FolderParamVO.java

@@ -0,0 +1,29 @@
+package com.fdkankan.scene.vo;
+
+import javax.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * Created by Hb_zzZ on 2021/2/18.
+ */
+@Data
+public class FolderParamVO {
+
+    private Long id;
+
+    @NotBlank(message = "文件夹名称不能为空")
+    private String name;
+
+    /**
+     * 文件夹类型,0我的场景,1协作场景
+     */
+    private Integer type;
+
+    private Long parentId;
+
+    private String folderIds;
+
+    private String sceneIds;
+
+    private Long userId;
+}