package org.sxkj.resource.feign; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; import lombok.AllArgsConstructor; import org.springblade.core.tenant.annotation.NonDS; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.sxkj.resource.entity.MediaFileEntity; import org.sxkj.resource.mapper.IFileMapper; import org.sxkj.resource.model.EventHistoryDto; import org.sxkj.resource.model.MediaFileDTO; import org.sxkj.resource.service.IFileService; import org.sxkj.resource.vo.JobStatisticsTimeVoBo; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; @NonDS @RestController @AllArgsConstructor public class MediaFileClient implements IMediaFileClient { @Autowired private IFileService fileService; @Autowired private IFileMapper fileMapper; @GetMapping(CHECK_EXIST) public Boolean checkExist(@RequestParam String workspaceId, @RequestParam String fingerprint) { return fileService.checkExist(workspaceId, fingerprint); } @GetMapping(GET_MEDIA) public List getMedia(@RequestParam String jobId) { return fileService.getMedia(jobId); } @GetMapping(DELETE_LOCAL_FILE) public void deleteLocalFile(@RequestParam String filePath) { fileService.deleteLocalFile(filePath); } /** * Query information about all files in this workspace based on the workspace id. * * @param workspaceId * @return */ @GetMapping(GET_ALL_FILES_BY_WORK_SPACE) public List getAllFilesByWorkspaceId(@RequestParam String workspaceId) { return fileService.getAllFilesByWorkspaceId(workspaceId); } /** * 获取图斑图片集合 * * @param dkbh * @param workspaceId * @return */ @GetMapping(LIST_BY_IS_ADD) public List listByIsadd(@RequestParam String dkbh, @RequestParam String workspaceId) { return fileService.listByIsadd(dkbh, workspaceId); } @GetMapping(LIST_MEDIA_FILE_ENTITY) public List listMediaFileEntity(@RequestParam String workspaceId, @RequestParam String jobId) { return fileService.listMediaFileEntity(workspaceId, jobId); } /** * Query all media files of a job. * * @param workspaceId * @param jobId * @return */ @GetMapping(GET_FILES_BY_WORKSPACE_AND_JOB) public List getFilesByWorkspaceAndJobId(@RequestParam String workspaceId, @RequestParam String jobId) { return fileService.getFilesByWorkspaceAndJobId(workspaceId, jobId); } @GetMapping(GET_UNIQUE_FILE_PATHS) public List getUniqueFilePaths(@RequestParam List jobIds) { return fileService.getUniqueFilePaths(jobIds); } /** * 更新文件 * * @param workspaceId 项目id * @param mediaFileEntity * @return */ @GetMapping(UPDATE_MEDIA_FILE) public Boolean updateMediaFile(@RequestParam String workspaceId, @RequestBody MediaFileEntity mediaFileEntity) { return fileService.updateMediaFile(workspaceId, mediaFileEntity); } /** * 对图片进行软删除 * * @param workspaceId * @param fileId * @return */ @GetMapping(DELETE_MEDIA_INFO) public int deleteMediaInfo(@RequestParam String workspaceId, @RequestParam String fileId) { return fileService.deleteMediaInfo(workspaceId, fileId); } @GetMapping(GET_COUNT_BY_WORKSPACE) public long getCountByWorkspaceId(@RequestParam String workspaceId) { return fileService.getCountByWorkspaceId(workspaceId); } /** * 图斑图片一键审核 * * @param dkbh * @return */ @GetMapping(APPROVE_BY_DK) public int approveByDkbh(@RequestParam String dkbh) { return fileService.approveByDkbh(dkbh); } /** * 查询缩率图集合信息 * * @param workspaceId * @param jobId * @return */ @RequestMapping(FIND_NAIL_FILES_LIST) public List findNailFilesList(@RequestParam String workspaceId, @RequestParam String jobId) { return fileService.findNailFilesList(workspaceId, jobId); } /** * 获取时间节点之前的媒体数据 * * @param time * @return */ @GetMapping(GET_MEDIA_BY_TIME) public List getMediaByTime(@RequestParam long time) { return fileService.getMediaByTime(time); } @PostMapping(SELECT_LIST) public ListselectList(@RequestBody MediaFileEntity entity){ return fileService.selectList(entity); } /** * 区域附近的图片及视频 * @param dto 参数 * @return */ @PostMapping(NEAR_BY_LAT_LNG) public ListnearByLatLng(@RequestBody EventHistoryDto dto){ return fileService.findNearByMediaUrl(dto); } @GetMapping(TIME_EVENT_NUM_STATISTICS) public List timeEventNumStatistics(@RequestParam(required = false) String startDate, @RequestParam(required = false)String endDate, @RequestParam(required = false) String areaCode, @RequestParam(required = false)String formatTime) { // Feign在远程调用是,使用LocalDate需要转换成字符串 LocalDateTime parseStartTime = LocalDateTimeUtil.parse(startDate, DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)); LocalDateTime parseEndTime = LocalDateTimeUtil.parse(endDate, DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)); return fileMapper.timeEventNumStatistics(parseStartTime,parseEndTime,areaCode,formatTime); } @GetMapping(COUNT_EVENT_NUM_STATISTICS) public Long countEventNumStatistics(@RequestParam(required = false) String startDate, @RequestParam(required = false) String endDate, @RequestParam(required = false) String areaCode) { // Feign在远程调用是,使用LocalDate需要转换成字符串 LocalDateTime parseStartTime = LocalDateTimeUtil.parse(startDate, DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)); LocalDateTime parseEndTime = LocalDateTimeUtil.parse(endDate, DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)); return fileMapper.countEventNumStatistics(parseStartTime,parseEndTime,areaCode); } }