package com.javaweb.geo.controller; import java.util.List; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.javaweb.common.annotation.Log; import com.javaweb.common.enums.BusinessType; import com.javaweb.geo.domain.ProjectCamera; import com.javaweb.geo.service.IProjectCameraService; import com.javaweb.common.core.controller.BaseController; import com.javaweb.common.core.domain.AjaxResult; import com.javaweb.common.utils.poi.ExcelUtil; import com.javaweb.common.core.page.TableDataInfo; /** * 监控设备Controller * * @author cxy * @date 2024-05-16 */ @Controller @RequestMapping("/geo/projectCamera") public class ProjectCameraController extends BaseController { private String prefix = "geo/projectCamera"; @Autowired private IProjectCameraService projectCameraService; @RequiresPermissions("geo:projectCamera:view") @GetMapping() public String projectCamera(String id, ModelMap mmap) { mmap.put("projectId", id); return prefix + "/projectCamera"; } /** * 查询监控设备列表 */ @RequiresPermissions("geo:projectCamera:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(ProjectCamera projectCamera) { startPage(); List list = projectCameraService.selectProjectCameraList(projectCamera); return getDataTable(list); } /** * 导出监控设备列表 */ @RequiresPermissions("geo:projectCamera:export") @Log(title = "监控设备", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(ProjectCamera projectCamera) { List list = projectCameraService.selectProjectCameraList(projectCamera); ExcelUtil util = new ExcelUtil(ProjectCamera.class); return util.exportExcel(list, "projectCamera"); } /** * 新增监控设备 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存监控设备 */ @RequiresPermissions("geo:projectCamera:add") @Log(title = "监控设备", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(ProjectCamera projectCamera) { return toAjax(projectCameraService.insertProjectCamera(projectCamera)); } /** * 修改监控设备 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") String id, ModelMap mmap) { ProjectCamera projectCamera = projectCameraService.selectProjectCameraById(id); mmap.put("projectCamera", projectCamera); return prefix + "/edit"; } /** * 播放视频 */ @GetMapping("/player") public String player( String id, ModelMap mmap) { mmap.put("id", id); return prefix + "/player"; } /** * 修改保存监控设备 */ @RequiresPermissions("geo:projectCamera:edit") @Log(title = "监控设备", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(ProjectCamera projectCamera) { return toAjax(projectCameraService.updateProjectCamera(projectCamera)); } /** * 删除监控设备 */ @RequiresPermissions("geo:projectCamera:remove") @Log(title = "监控设备", businessType = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(projectCameraService.deleteProjectCameraByIds(ids)); } }