package com.ld.igds.sec.view; import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.annotation.DataResolver; import com.bstek.dorado.annotation.Expose; import com.bstek.dorado.data.provider.Page; import com.ld.igds.camera.ApiCameraManager; import com.ld.igds.camera.CameraUtil; import com.ld.igds.camera.data.ApiCameraData; import com.ld.igds.models.*; import com.ld.igds.sec.dto.SecCameraDto; import com.ld.igds.sec.service.SecurityService; import com.ld.igds.util.ContextUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * * @author: andy.jia * @description: * @version: * @data:2020年5月27日 * */ @Slf4j @Component public class SecurityPR { @Autowired private SecurityService service; @Autowired private ApiCameraManager apiCameraManager; // --------------摄像头配置-------------// /** * 摄像头类型 * ${dorado.getDataProvider("securityPR#triggerCameraType").getResult()} * * @return */ @DataProvider public List triggerCameraType() { List list = new ArrayList(); list.add(new DicTrigger("01", "枪机")); list.add(new DicTrigger("02", "球机")); return list; } /** * securityPR#listCamera 根据条件获取所有的摄像机配置信息 * * ${dorado.getDataProvider("securityPR#listCamera").getResult()} * * @param param */ @DataProvider public List listCamera(Map param) { return service.listCamera(param); } /** * securityPR#saveCamera * * @param data */ @DataResolver public void saveCamera(SecCamera data) { service.saveCamera(data); } /** * securityPR#delCamera * * @param data * @return */ @Expose public String delCamera(SecCamera data) { return service.delCamera(data); } /*** * securityPR#refreshCache * @return */ @Expose public String refreshCache() { service.refreshCache(ContextUtil.getCompanyId()); return null; } /*** * securityPR#flushByMedia * * 获取摄像头列表信息 * @return */ @Expose public String flushByMedia(String playType) { if (null == playType){ return "没有选择播放方式,执行失败"; } try { if (CameraUtil.PLAY_TYPE_MEDIA_HIK.equals(playType)) { ApiCameraData apiCameraData = new ApiCameraData(); apiCameraData.setCompanyId(ContextUtil.getCompanyId()); apiCameraData.setDeptId(ContextUtil.subDeptId(null)); apiCameraData.setPlayType(playType); List list = apiCameraManager.getApiCameraService(playType).searchCamera(apiCameraData); if(list == null){ return "同步失败!"; }else { return "同步成功!"; } } return "当前播放方式没有此功能!"; }catch (Exception e){ log.error("-----同步摄像头列表失败-----原因={}", e.toString()); return "远程接口服务异常,请核查后重试!"; } } // --------------消防配置-------------// /** * securityPR#listFire 根据条件获取所有的消防配置信息 * * ${dorado.getDataProvider("securityPR#listFire").getResult()} * * @param param */ @DataProvider public List listFire(Map param) { return service.listFire(param); } /** * securityPR#saveFire * * @param data */ @DataResolver public void saveFire(SecFire data) { service.saveFire(data); } /** * securityPR#delFire * * @param data * @return */ @Expose public String delFire(SecFire data) { return service.delFire(data); } // --------------来访客户管理-------------// /** * securityPR#pageCustomer * * @param param * @throws Exception */ @DataProvider public void pageCustomer(Page page, Map param) throws Exception { service.pageCustomer(page, param); } /** * securityPR#saveCustomer * * @param data */ @DataResolver public void saveCustomer(SecCustomer data) { service.saveCustomer(data); } /** * securityPR#delCustomer * * @param data * @return */ @Expose public String delCustomer(SecCustomer data) { return service.delCustomer(data); } // --------------电子巡逻-------------// /** * securityPR#pagePatrol * * @param param * @throws Exception */ @DataProvider public void pagePatrol(Page page, Map param) throws Exception { service.pagePatrol(page, param); } /** * securityPR#savePatrol * * @param data */ @DataResolver public void savePatrol(SecPatrolRecord data) { service.savePatrol(data); } /** * securityPR#delPatrol * * @param data * @return */ @Expose public String delPatrol(SecPatrolRecord data) { return service.delPatrol(data); } // --------------硬盘录像机配置-------------// /** * securityPR#listVodeo * * @param param */ @DataProvider public List listVodeo(Map param) { return service.listVodeo(param); } /** * securityPR#saveVideo * * @param data */ @DataResolver public void saveVideo(SecVideoMac data) { service.saveVideo(data); } /** * securityPR#delVideo * * @param data * @return */ @Expose public String delVideo(SecVideoMac data) { return service.delVideo(data); } // --------------电子巡更设备配置-------------// /** * securityPR#listPatrolDevice 根据条件获取所有的摄像机配置信息 * * ${dorado.getDataProvider("securityPR#listPatrolDevice").getResult()} * * @param param */ @DataProvider public List listPatrolDevice(Map param) { return service.listPatrolDevice(param); } /** * securityPR#savePatrolDevice * * @param data */ @DataResolver public void savePatrolDevice(SecPatrolDevice data) { service.savePatrolDevice(data); } /** * securityPR#delPatrolDevice * * @param data * @return */ @Expose public String delPatrolDevice(SecPatrolDevice data) { return service.delPatrolDevice(data); } }