| | |
| | | package com.doumee.cloud.board; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.config.annotation.CloudRequiredPermission; |
| | | import com.doumee.config.annotation.LoginNoRequired; |
| | | import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse; |
| | | import com.doumee.core.haikang.model.param.respose.RuleEventSearchResponse; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.admin.response.PCWorkPlatformDataVO; |
| | | import com.doumee.dao.business.model.Visits; |
| | | import com.doumee.dao.web.response.platformReport.*; |
| | | import com.doumee.service.business.VisitsService; |
| | | import com.doumee.service.business.third.BoardService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | |
| | | * @create 2024/10/28 13:42 |
| | | */ |
| | | |
| | | @Api(tags = "安防管控大屏") |
| | | @Api(tags = "【看板大屏】安防管控大屏") |
| | | @RestController |
| | | @Slf4j |
| | | @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/security") |
| | |
| | | |
| | | @Autowired |
| | | private BoardService boardService; |
| | | @Autowired |
| | | private VisitsService visitsService; |
| | | |
| | | @LoginNoRequired |
| | | @ApiOperation("中心数据") |
| | | @GetMapping("/centerData") |
| | | public ApiResponse<SecurityBoardVO> centerData() { |
| | | SecurityBoardVO data = new SecurityBoardVO(); |
| | | Random random = new Random(); |
| | | data.setParkingLotTotal(random.nextInt(200)); |
| | | data.setFreeParkingLot(random.nextInt(data.getParkingLotTotal())); |
| | | |
| | | data.setInternalCarTotal(random.nextInt(100)); |
| | | data.setRelatedCarTotal(random.nextInt(100)); |
| | | data.setVisitCarTotal(random.nextInt(100)); |
| | | data.setInParkCarTotal(data.getInternalCarTotal() + data.getRelatedCarTotal() + data.getVisitCarTotal()); |
| | | |
| | | data.setInternalTotal(random.nextInt(100)); |
| | | data.setRelatedTotal(random.nextInt(100)); |
| | | data.setVisitTotal(random.nextInt(100)); |
| | | data.setInParkTotal(data.getInternalTotal() + data.getRelatedTotal() + data.getVisitTotal()); |
| | | |
| | | data.setDeviceTotal(random.nextInt(20)); |
| | | data.setErrTotal(random.nextInt(20)); |
| | | data.setInternalJobCarTotal(random.nextInt(20)); |
| | | data.setVisitJobCarTotal(random.nextInt(20)); |
| | | data.setRelatedJobCarTotal(random.nextInt(20)); |
| | | |
| | | public ApiResponse<SecurityBoardVO> centerSecurityData() { |
| | | SecurityBoardVO data = boardService.centerSecurityData(); |
| | | return ApiResponse.success(data); |
| | | } |
| | | |
| | |
| | | @GetMapping("/securityDeviceData") |
| | | public ApiResponse<List<SecurityDeviceDataVO>> securityDeviceData() { |
| | | List<SecurityDeviceDataVO> list = boardService.securityDeviceData(); |
| | | /* |
| | | Random random = new Random(); |
| | | for (int i = 1; i <= 3; i++) { |
| | | SecurityDeviceDataVO data = new SecurityDeviceDataVO(); |
| | | data.setDeviceType("设备类型_"+i); |
| | | data.setOnlineNum(random.nextInt(10)); |
| | | data.setOfflineDeviceNum(random.nextInt(10)); |
| | | data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() ); |
| | | list.add(data); |
| | | }*/ |
| | | return ApiResponse.success(list); |
| | | } |
| | | @LoginNoRequired |
| | |
| | | @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "类型 0全部 1区域告警 2行为告警", required = false) |
| | | }) |
| | | @GetMapping("/warningEventData") |
| | | public ApiResponse<List<WaningEventDataVO>> warningEventData(Integer type) { |
| | | List<WaningEventDataVO> list = boardService.warningEventData(type); |
| | | /* |
| | | Random random = new Random(); |
| | | for (int i = 1; i <= 3; i++) { |
| | | SecurityDeviceDataVO data = new SecurityDeviceDataVO(); |
| | | data.setDeviceType("设备类型_"+i); |
| | | data.setOnlineNum(random.nextInt(10)); |
| | | data.setOfflineDeviceNum(random.nextInt(10)); |
| | | data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() ); |
| | | list.add(data); |
| | | }*/ |
| | | public ApiResponse<WaningEventDataVO> warningEventData(Integer type) { |
| | | WaningEventDataVO list = boardService.warningEventData(type); |
| | | return ApiResponse.success(list); |
| | | } |
| | | |
| | |
| | | @ApiOperation("访客滞留情况") |
| | | @GetMapping("/visitRetentionData") |
| | | public ApiResponse<List<VisitRetentionDataVO>> visitRetentionData() { |
| | | PageWrap<Visits> pageWrap = new PageWrap<>(); |
| | | pageWrap.setCapacity(10); |
| | | pageWrap.setPage(1); |
| | | pageWrap.setModel(new Visits()); |
| | | pageWrap.getModel().setLevelStatus(Constants.ZERO); |
| | | pageWrap.getModel().setStatus(Constants.TWO); |
| | | PageData<Visits> resut = visitsService.retentionPage(pageWrap); |
| | | List<VisitRetentionDataVO> list = new ArrayList<>(); |
| | | Random random = new Random(); |
| | | for (int i = 1; i <= 3; i++) { |
| | | VisitRetentionDataVO data = new VisitRetentionDataVO(); |
| | | data.setName("小明_"+i); |
| | | data.setCompanyName("运维组_"+i); |
| | | data.setTimeOutMinute(Long.valueOf(random.nextInt(200))); |
| | | list.add(data); |
| | | if(resut !=null && resut.getRecords() !=null && resut.getRecords().size()>0){ |
| | | for (Visits model : resut.getRecords()) { |
| | | VisitRetentionDataVO data = new VisitRetentionDataVO(); |
| | | data.setName(model.getName()); |
| | | data.setCompanyName(model.getCompanyName()); |
| | | data.setTimeOutMinute(Constants.formatIntegerNum(model.getTimeOut())); |
| | | list.add(data); |
| | | } |
| | | } |
| | | |
| | | return ApiResponse.success(list); |
| | | } |
| | | |
| | |
| | | } |
| | | @LoginNoRequired |
| | | @ApiOperation("平铺结果区域集合接口") |
| | | @GetMapping("/regionList") |
| | | public ApiResponse<List<PageRegionInfoResponse>> regionList(CarmeraListVO param) { |
| | | @PostMapping("/regionList") |
| | | public ApiResponse<List<PageRegionInfoResponse>> regionList(@RequestBody CarmeraListVO param) { |
| | | return ApiResponse.success(boardService.regionList(param)); |
| | | } |
| | | |
| | | @LoginNoRequired |
| | | @ApiOperation("获取监控流播放地址") |
| | | @GetMapping("/getCarmeraPreviemUrl") |
| | | public ApiResponse<String> getCarmeraPreviemUrl(CarmeraListVO param) { |
| | | return ApiResponse.success(boardService.getCarmeraPreviemUrl(param)); |
| | | } |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @ApiOperation("今日访客分析和滞留访客数据集合") |
| | | @GetMapping("/visitSecurityData") |
| | | public ApiResponse<VisitDataVO> visitSecurityData ( ){ |
| | | VisitDataVO data = boardService.visitSecurityData(); |
| | | return ApiResponse.success(data); |
| | | } |
| | | } |