czt
2026-01-07 3985d828c04fca7638fcfcd9a30bd9ff996a380e
fzzy-igdss-view/src/main/java/com/fzzy/igds/SecCameraPR.java
@@ -4,13 +4,20 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.igds.camera.ApiCameraManager;
import com.fzzy.igds.camera.data.ApiCameraData;
import com.fzzy.igds.camera.data.ApiCameraResp;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.domain.Camera;
import com.fzzy.igds.service.SecCameraService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
/**
@@ -22,73 +29,114 @@
@Component
public class SecCameraPR {
   @Autowired
   private SecCameraService secCameraService;
    @Autowired
    private SecCameraService secCameraService;
    @Resource
    private ApiCameraManager apiCameraManager;
   /**
    * secCameraPR#listPageCamera 根据条件获取所有的摄像机配置信息
    *
    * @param param
    */
   @DataProvider
   public void listPageCamera(Page<Camera> page, Camera param) {
      com.baomidou.mybatisplus.extension.plugins.pagination.Page<Camera> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
      if(null == param) {
         param = new Camera();
      }
      Camera camera = new Camera();
      BeanUtils.copyProperties(param, camera);
      secCameraService.listPageCamera(corePage, camera);
    /**
     * secCameraPR#listPageCamera 根据条件获取所有的摄像机配置信息
     *
     * @param param
     */
    @DataProvider
    public void listPageCamera(Page<Camera> page, Camera param) {
        com.baomidou.mybatisplus.extension.plugins.pagination.Page<Camera> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
      // 重新封装
      page.setEntities(corePage.getRecords());
      page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
   }
        if (null == param) {
            param = new Camera();
        }
        Camera camera = new Camera();
        BeanUtils.copyProperties(param, camera);
        secCameraService.listPageCamera(corePage, camera);
   /**
    * secCameraPR#listCamera 获取所有的摄像机配置信息
    * ${dorado.getDataProvider("secCameraPR#listCamera").getResult()}
    * @return
    */
   @DataProvider
   public List<Camera> listCamera(String deptId) {
      return secCameraService.listCamera(null,deptId);
   }
        // 重新封装
        page.setEntities(corePage.getRecords());
        page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
    }
   /**
    * secCameraPR#saveCamera
    *
    * @param data
    */
   @DataResolver
   public void saveCamera(Camera data) {
      Camera secCamera = new Camera();
      BeanUtils.copyProperties(data, secCamera);
      secCameraService.saveCamera(secCamera);
   }
    /**
     * secCameraPR#listCamera 获取所有的摄像机配置信息
     * ${dorado.getDataProvider("secCameraPR#listCamera").getResult()}
     *
     * @return
     */
    @DataProvider
    public List<Camera> listCamera(String deptId) {
        return secCameraService.listCamera(null, deptId);
    }
   /**
    * secCameraPR#delCamera
    *
    * @param data
    * @return
    */
   @Expose
   public String delCamera(Camera data) {
      Camera secCamera = new Camera();
      BeanUtils.copyProperties(data, secCamera);
      return secCameraService.delCamera(secCamera);
   }
   /***
    * secCameraPR#refreshCache
    * @return
    */
   @Expose
   public String refreshCache() {
      secCameraService.refreshCache(ContextUtil.getCompanyId());
      return null;
   }
    /**
     * secCameraPR#saveCamera
     *
     * @param data
     */
    @DataResolver
    public void saveCamera(Camera data) {
        Camera secCamera = new Camera();
        BeanUtils.copyProperties(data, secCamera);
        secCameraService.saveCamera(secCamera);
    }
    /**
     * secCameraPR#delCamera
     *
     * @param data
     * @return
     */
    @Expose
    public String delCamera(Camera data) {
        Camera secCamera = new Camera();
        BeanUtils.copyProperties(data, secCamera);
        return secCameraService.delCamera(secCamera);
    }
    /***
     * secCameraPR#refreshCache
     * @return
     */
    @Expose
    public String refreshCache() {
        secCameraService.refreshCache(ContextUtil.getCompanyId());
        return null;
    }
    /***
     * securityPR#flushByMedia
     *
     * 根据库区编码及播放方式,同步监控信息
     * @return
     */
    @DataResolver
    public String flushByMedia(Camera param) {
        if (StringUtils.isBlank(param.getPlayType())) {
            return "没有选择播放方式,不执行!";
        }
        if (StringUtils.isBlank(param.getDeptId())) {
            return "没有同步库区,不执行1";
        }
        try {
            //通过统一入口获取播放地址
            ApiCameraData apiCameraData = new ApiCameraData();
            apiCameraData.setCompanyId(ContextUtil.getCompanyId());
            apiCameraData.setDeptId(param.getDeptId());
            //根据播放方式获取对应的播放地址
            List<Camera> cameras = apiCameraManager.getApiCameraService(param.getPlayType()).searchCamera(apiCameraData);
            if (cameras == null) {
                return "同步失败!";
            } else {
                return null;
            }
        } catch (Exception e) {
            log.error("-----同步摄像头列表失败-----原因={}", e.toString());
            return "远程接口服务异常,请核查后重试!";
        }
    }
}