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<MediaFileEntity> 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<MediaFileDTO> getAllFilesByWorkspaceId(@RequestParam String workspaceId) {
|
return fileService.getAllFilesByWorkspaceId(workspaceId);
|
}
|
|
|
/**
|
* 获取图斑图片集合
|
*
|
* @param dkbh
|
* @param workspaceId
|
* @return
|
*/
|
@GetMapping(LIST_BY_IS_ADD)
|
public List<MediaFileEntity> listByIsadd(@RequestParam String dkbh, @RequestParam String workspaceId) {
|
return fileService.listByIsadd(dkbh, workspaceId);
|
}
|
|
|
@GetMapping(LIST_MEDIA_FILE_ENTITY)
|
public List<MediaFileEntity> 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<MediaFileDTO> getFilesByWorkspaceAndJobId(@RequestParam String workspaceId, @RequestParam String jobId) {
|
return fileService.getFilesByWorkspaceAndJobId(workspaceId, jobId);
|
}
|
|
@GetMapping(GET_UNIQUE_FILE_PATHS)
|
public List<String> getUniqueFilePaths(@RequestParam List<String> 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<MediaFileEntity> findNailFilesList(@RequestParam String workspaceId, @RequestParam String jobId) {
|
return fileService.findNailFilesList(workspaceId, jobId);
|
}
|
|
/**
|
* 获取时间节点之前的媒体数据
|
*
|
* @param time
|
* @return
|
*/
|
@GetMapping(GET_MEDIA_BY_TIME)
|
public List<MediaFileEntity> getMediaByTime(@RequestParam long time) {
|
return fileService.getMediaByTime(time);
|
}
|
|
|
|
@PostMapping(SELECT_LIST)
|
public List<MediaFileEntity>selectList(@RequestBody MediaFileEntity entity){
|
return fileService.selectList(entity);
|
}
|
/**
|
* 区域附近的图片及视频
|
* @param dto 参数
|
* @return
|
*/
|
@PostMapping(NEAR_BY_LAT_LNG)
|
public List<MediaFileEntity>nearByLatLng(@RequestBody EventHistoryDto dto){
|
return fileService.findNearByMediaUrl(dto);
|
}
|
|
@GetMapping(TIME_EVENT_NUM_STATISTICS)
|
public List<JobStatisticsTimeVoBo> 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);
|
}
|
|
}
|