package com.ruoyi.web.controller.api; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.system.dto.SysVisitorRecordDetailRequest; import com.ruoyi.system.dto.SysVisitorRecordPageRequest; import com.ruoyi.system.service.ISysVersionUpdateService; import com.ruoyi.system.service.ISysVisitorRecordService; import com.ruoyi.system.vo.SysVersionUpdateVO; import com.ruoyi.system.vo.SysVisitorRecordDetailVO; import com.ruoyi.system.vo.SysVisitorRecordVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 管理侧访客记录接口 * * @author ruoyi */ @RestController @RequestMapping("/api/visitorRecord") @Api(tags = "管理侧访客记录") public class SysApiVisitorRecordManageController extends BaseController { @Autowired private ISysVisitorRecordService visitorRecordService; @Autowired private ISysVersionUpdateService versionUpdateService; /** * 分页查询访客记录 */ @ApiOperation( value = "分页查询访客记录", notes = "按访客、被访人、部门、访问区域、来访事由、有效期筛选访客记录", response = SysVisitorRecordVO.class, responseContainer = "Page" ) @ApiResponses({ @ApiResponse( code = 200, message = "成功", response = AjaxResult.class, responseContainer = "Page" ) }) @PostMapping("/page") public AjaxResult> page(@RequestBody(required = false) SysVisitorRecordPageRequest request) { return success(visitorRecordService.pageList(request)); } /** * 查询访客记录详情 */ @ApiOperation( value = "查询访客记录详情", notes = "返回访客信息、被访者信息、访问权限、签离记录和通行明细", response = SysVisitorRecordDetailVO.class ) @ApiResponses({ @ApiResponse( code = 200, message = "成功", response = AjaxResult.class, responseContainer = "Data" ) }) @PostMapping("/detail") public AjaxResult detail(@RequestBody SysVisitorRecordDetailRequest request) { return success(visitorRecordService.detail(request)); } /** * 获取最新版本信息 */ @ApiOperation( value = "获取最新版本信息", notes = "返回最新一条未删除的版本更新记录", response = SysVersionUpdateVO.class ) @ApiResponses({ @ApiResponse( code = 200, message = "成功", response = AjaxResult.class, responseContainer = "Data" ) }) @PostMapping("/latestVersion") public AjaxResult latestVersion() { return success(versionUpdateService.latest()); } }