Forráskód Böngészése

getInfo接口返回数据同步类型

dengsixing 3 éve
szülő
commit
06901babc8
15 módosított fájl, 266 hozzáadás és 21 törlés
  1. 11 0
      4dkankan-center-api/4dkankan-center-platform-api/src/main/java/com/fdkankan/platform/api/vo/Company.java
  2. 2 1
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/controller/manager/ManagerCompanyController.java
  3. 14 5
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/entity/Company.java
  4. 3 1
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/ICompanyService.java
  5. 16 7
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/CompanyServiceImpl.java
  6. 98 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/vo/CompanyVO.java
  7. 1 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneController.java
  8. 1 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneEditController.java
  9. 1 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneEditInfoService.java
  10. 2 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/FolderServiceImpl.java
  11. 50 3
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java
  12. 5 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneInfoVO.java
  13. 6 0
      4dkankan-center-scene/src/main/resources/bootstrap.yml
  14. 50 0
      4dkankan-common/src/main/java/com/fdkankan/common/controller/CustomErrorController.java
  15. 6 1
      4dkankan-common/src/main/java/com/fdkankan/common/exception/GlobalExceptionHandler.java

+ 11 - 0
4dkankan-center-api/4dkankan-center-platform-api/src/main/java/com/fdkankan/platform/api/vo/Company.java

@@ -1,5 +1,6 @@
 package com.fdkankan.platform.api.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -63,6 +64,16 @@ public class Company implements Serializable {
     private Integer cameraDelete;
 
     /**
+     * 数据同步类型
+     */
+    private String dataSync;
+
+    /**
+     * 数据同步方式
+     */
+    private Integer dataSyncAction;
+
+    /**
      * 创建时间
      */
     private Date createTime;

+ 2 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/controller/manager/ManagerCompanyController.java

@@ -11,6 +11,7 @@ import com.fdkankan.platform.goods.entity.Company;
 import com.fdkankan.platform.goods.request.RequestCompany;
 import com.fdkankan.platform.goods.service.ICameraDetailService;
 import com.fdkankan.platform.goods.service.ICompanyService;
+import com.fdkankan.platform.goods.vo.CompanyVO;
 import com.fdkankan.platform.user.service.IManagerService;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -92,7 +93,7 @@ public class ManagerCompanyController {
      * companyName      企业名称
      */
     @PostMapping(value = "/list")
-    public Page<Company> list(@RequestBody RequestCompany param){
+    public Page<CompanyVO> list(@RequestBody RequestCompany param){
         return companyService.pageList(param);
     }
 

+ 14 - 5
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/entity/Company.java

@@ -76,6 +76,18 @@ public class Company implements Serializable {
     private Integer cameraDelete;
 
     /**
+     * 数据同步类型
+     */
+    @TableField("data_sync")
+    private String dataSync;
+
+    /**
+     * 数据同步方式
+     */
+    @TableField("data_sync_action")
+    private Integer dataSyncAction;
+
+    /**
      * 创建时间
      */
     @TableField("create_time")
@@ -90,11 +102,8 @@ public class Company implements Serializable {
     /**
      * 0正常,1删除
      */
-   @TableField("tb_status")
-@TableLogic(value="0",delval = "1")
+    @TableField("tb_status")
+    @TableLogic(value="0",delval = "1")
     private Integer tbStatus;
 
-
-    private String managerName;
-
 }

+ 3 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/ICompanyService.java

@@ -5,6 +5,7 @@ import com.fdkankan.platform.goods.entity.Company;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.platform.goods.request.RequestCompany;
 
+import com.fdkankan.platform.goods.vo.CompanyVO;
 import java.util.List;
 
 /**
@@ -19,7 +20,8 @@ public interface ICompanyService extends IService<Company> {
 
     String saveOrUpdateByParam(RequestCompany param);
 
-    Page<Company> pageList(RequestCompany param);
+    Page<CompanyVO> pageList(RequestCompany param);
 
     List<Long> getManagerId();
+
 }

+ 16 - 7
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/CompanyServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fdkankan.platform.goods.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -11,8 +12,10 @@ import com.fdkankan.platform.goods.entity.Company;
 import com.fdkankan.platform.goods.mapper.ICompanyMapper;
 import com.fdkankan.platform.goods.request.RequestCompany;
 import com.fdkankan.platform.goods.service.ICompanyService;
+import com.fdkankan.platform.goods.vo.CompanyVO;
 import com.fdkankan.platform.user.entity.Manager;
 import com.fdkankan.platform.user.service.IManagerService;
+import java.util.stream.Collectors;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -46,7 +49,7 @@ public class CompanyServiceImpl extends ServiceImpl<ICompanyMapper, Company> imp
     }
 
     @Override
-    public Page<Company> pageList(RequestCompany param) {
+    public Page<CompanyVO> pageList(RequestCompany param) {
         LambdaQueryWrapper<Company> queryWrapper =new LambdaQueryWrapper<>();
         queryWrapper.eq(Company::getTbStatus, TbStatus.VALID.code());
         queryWrapper.orderByDesc(Company::getId);
@@ -56,15 +59,21 @@ public class CompanyServiceImpl extends ServiceImpl<ICompanyMapper, Company> imp
         Page<Company> pageInfo = this.page(new Page<>(param.getPageNum(),param.getPageSize()),queryWrapper);
 
         List<Company> list = pageInfo.getRecords();
-        for (Company companyEntity : list) {
-            if(companyEntity.getManagerId() != null){
-                Manager managerEntity = managerService.getById(companyEntity.getManagerId());
+        List<CompanyVO> companyVOList = list.parallelStream().map(company -> {
+            CompanyVO companyVO = BeanUtil.copyProperties(company, CompanyVO.class);
+            if(company.getManagerId() != null){
+                Manager managerEntity = managerService.getById(company.getManagerId());
                 if(managerEntity != null){
-                    companyEntity.setManagerName(managerEntity.getUsername());
+                    companyVO.setManagerName(managerEntity.getUsername());
                 }
             }
-        }
-        return pageInfo;
+            return companyVO;
+        }).collect(Collectors.toList());
+
+        Page<CompanyVO> result = new Page<>(param.getPageNum(),param.getPageSize(), pageInfo.getTotal());
+        result.setRecords(companyVOList);
+
+        return result;
     }
 
     @Override

+ 98 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/vo/CompanyVO.java

@@ -0,0 +1,98 @@
+package com.fdkankan.platform.goods.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * <p>
+ * 客户企业logo信息
+ * </p>
+ *
+ * @author 
+ * @since 2021-12-24
+ */
+@Getter
+@Setter
+public class CompanyVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 公司名称
+     */
+    private String companyName;
+
+    /**
+     * 顶部logo
+     */
+    private String topLogo;
+
+    /**
+     * 地面logo
+     */
+    private String floorLogo;
+
+    /**
+     * 地面点位logo
+     */
+    private String markerLogo;
+
+    /**
+     * 二维码logo
+     */
+    private String qrLogo;
+
+    /**
+     * 是否显示初始logo,0隐藏,1显示
+     */
+    private Integer showLogo;
+
+    /**
+     * t_manager表的id
+     */
+    private Long managerId;
+
+    /**
+     * 新增的相机是否注册,0否,1删
+     */
+    private Integer cameraDelete;
+
+    /**
+     * 数据同步类型
+     */
+    private String dataSync;
+
+    /**
+     * 数据同步方式
+     */
+    private Integer dataSyncAction;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 0正常,1删除
+     */
+    private Integer tbStatus;
+
+
+    private String managerName;
+
+}

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneController.java

@@ -49,7 +49,7 @@ public class SceneController {
      * 获取场景详情
      */
     @GetMapping(value = "/getInfo")
-    public SceneInfoVO getInfo(@Validated SceneInfoParamVO param){
+    public SceneInfoVO getInfo(@Validated SceneInfoParamVO param) throws Exception{
         param.setReqType(SceneInfoReqType.VIEW.code());
         return sceneEditInfoService.getSceneInfo(param);
     }

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -688,7 +688,7 @@ public class SceneEditController extends BaseController {
      * 获取场景详情
      */
     @GetMapping(value = "/getInfo")
-    public SceneInfoVO getInfo(@Validated SceneInfoParamVO param){
+    public SceneInfoVO getInfo(@Validated SceneInfoParamVO param) throws Exception{
         param.setReqType(SceneInfoReqType.EDIT.code());
         return sceneEditInfoService.getSceneInfo(param);
     }

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

@@ -24,7 +24,7 @@ public interface ISceneEditInfoService extends IService<SceneEditInfo> {
 
     ResultData publicScene(SceneEditInfoParamVO param) throws Exception;
 
-    SceneInfoVO getSceneInfo(SceneInfoParamVO param);
+    SceneInfoVO getSceneInfo(SceneInfoParamVO param) throws Exception;
 
     ResultData saveUpload(SaveUploadParamVO param) throws Exception;
 

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

@@ -171,6 +171,8 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
             sceneNumFile = 0;
             FolderVO folderVO = FolderVO.builder().build();
             BeanUtils.copyProperties(folder, folderVO);
+            folderVO.setName(folder.getFolderName());
+            folderVO.setType(folder.getFolderType());
             if(folder.getCreateTime() != null){
                 folderVO.setCreateTimeStr(DateUtil.format(folder.getCreateTime(), DateExtUtil.dateStyle4));
             }

+ 50 - 3
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -20,6 +20,11 @@ import com.fdkankan.common.util.FileUtil;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.fyun.constant.StorageType;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
+import com.fdkankan.platform.api.feign.PlatformGoodsClient;
+import com.fdkankan.platform.api.feign.PlatformUserClient;
+import com.fdkankan.platform.api.vo.Camera;
+import com.fdkankan.platform.api.vo.CameraDetail;
+import com.fdkankan.platform.api.vo.Company;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisLockKey;
 import com.fdkankan.redis.util.RedisLockUtil;
@@ -96,6 +101,10 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     private RedisLockUtil redisLockUtil;
     @Autowired
     ISceneDataDownloadService sceneDataDownloadService;
+    @Autowired
+    PlatformGoodsClient platformGoodsClient;
+    @Autowired
+    PlatformUserClient platformUserClient;
 
 
     @Transactional
@@ -289,7 +298,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     }
 
     @Override
-    public SceneInfoVO getSceneInfo(@Var SceneInfoParamVO param) {
+    public SceneInfoVO getSceneInfo(@Var SceneInfoParamVO param) throws Exception{
         SceneInfoReqType sceneInfoReqType = SceneInfoReqType.get(param.getReqType());
         switch (sceneInfoReqType){
             //如果是编辑页面请求,查数据库
@@ -311,7 +320,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
      * @param num
      * @return com.fdkankan.scene.vo.SceneInfoVO
      **/
-    private SceneInfoVO getSceneInfo4Edit(String num){
+    private SceneInfoVO getSceneInfo4Edit(String num) throws Exception{
         ScenePro scenePro = sceneProService.findBySceneNum(num);
         if(Objects.isNull(scenePro)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
@@ -333,11 +342,44 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         sceneInfoVO.setSceneFrom(sceneProExt.getSceneFrom());
         sceneInfoVO.setVideos(scenePro.getVideos());
 
+        this.setExtData(sceneInfoVO, scenePro.getCameraId());
+
         return sceneInfoVO;
     }
 
     /**
      * <p>
+            getInfo接口返回字段扩展
+     * </p>
+     * @author dengsixing
+     * @date 2022/3/9
+     **/
+    private void setExtData(SceneInfoVO sceneInfoVO, Long cameraId) throws Exception{
+
+        ResultData<CameraDetail> cameraResultData = platformGoodsClient.getCameraDetailByCameraId(cameraId);
+        if(!cameraResultData.getSuccess()){
+            throw new Exception(ServerCode.FEIGN_REQUEST_FAILD.message());
+        }
+        CameraDetail camera = cameraResultData.getData();
+        if(Objects.isNull(camera)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_7010);
+        }
+        if(Objects.isNull(camera.getCompanyId())){
+            return;
+        }
+        ResultData<Company> companyResultData = platformUserClient.getCompanyById(camera.getCompanyId());
+        if(!companyResultData.getSuccess()){
+            throw new Exception(ServerCode.FEIGN_REQUEST_FAILD.message());
+        }
+        Company company = companyResultData.getData();
+        if(Objects.isNull(company)){
+            return;
+        }
+        sceneInfoVO.setDataSync(company.getDataSync());
+    }
+
+    /**
+     * <p>
      查看页面获取场景详情信息
      * </p>
      * @author dengsixing
@@ -345,7 +387,10 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
      * @param num
      * @return com.fdkankan.scene.vo.SceneInfoVO
      **/
-    private SceneInfoVO getSceneInfo4View(String num){
+    private SceneInfoVO getSceneInfo4View(String num) throws Exception{
+
+        ScenePro scenePro = sceneProService.findBySceneNum(num);
+
         String sceneJson = redisUtil.get(String.format(RedisKey.SCENE_JSON, num));
         SceneInfoVO sceneInfoVO = null;
         //先查询redis
@@ -361,6 +406,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             return null;
         sceneInfoVO = JSON.parseObject(objectContent, SceneInfoVO.class);
 
+        this.setExtData(sceneInfoVO, scenePro.getCameraId());
+
         return sceneInfoVO;
     }
 

+ 5 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneInfoVO.java

@@ -142,5 +142,10 @@ public class SceneInfoVO {
      */
     private String loadingLogoFile;
 
+    /**
+     * 数据同步方式
+     */
+    private String dataSync;
+
 
 }

+ 6 - 0
4dkankan-center-scene/src/main/resources/bootstrap.yml

@@ -13,6 +13,8 @@ spring:
 #      max-file-size: 50MB
 #      # 设置单次请求文件的总大小
 #      max-request-size: 50MB
+#  mvc:
+#    throw-exception-if-no-handler-found: true
   cloud:
     nacos:
       config:
@@ -84,5 +86,9 @@ feign:
   httpclient:
     connection-timeout: 200000
 
+#server:
+#  error:
+#    path: /error
+
 
 

+ 50 - 0
4dkankan-common/src/main/java/com/fdkankan/common/controller/CustomErrorController.java

@@ -0,0 +1,50 @@
+package com.fdkankan.common.controller;
+
+import com.fdkankan.common.response.ResultData;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.boot.web.servlet.error.ErrorController;
+import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * <p>
+ * 404 500 401等错误返回转发接口,统一返回格式
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/3/9
+ **/
+@Controller
+public class CustomErrorController implements ErrorController {
+
+    @RequestMapping("/error")
+    @ResponseBody
+    public ResultData handleError(HttpServletRequest request, HttpServletResponse response){
+
+        //获取statusCode:401,404,500
+        Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code");
+        String message = "";
+        HttpStatus httpStatus = HttpStatus.valueOf(statusCode);
+        switch (httpStatus){
+            case INTERNAL_SERVER_ERROR :
+                message = "内部服务器异常!";
+                break;
+            case NOT_FOUND:
+                message = "接口不存在!";
+                break;
+            case FORBIDDEN:
+                message = "禁止访问!";
+                break;
+        }
+        return ResultData.error(statusCode, message);
+    }
+
+
+    @Override
+    public String getErrorPath() {
+        return "/error";
+    }
+}

+ 6 - 1
4dkankan-common/src/main/java/com/fdkankan/common/exception/GlobalExceptionHandler.java

@@ -8,7 +8,9 @@ import com.fdkankan.common.response.ResultData;
 import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.xml.transform.Result;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
 import org.springframework.validation.BindException;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.FieldError;
@@ -17,11 +19,14 @@ import org.springframework.web.bind.MethodArgumentNotValidException;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.NoHandlerFoundException;
 
 /**
  * 全局异常处理器
  */
-@ControllerAdvice
+@RestControllerAdvice
 @Slf4j
 public class GlobalExceptionHandler {