package org.sxkj.resource.feign;
|
|
import org.springblade.core.launch.constant.AppConstant;
|
import org.springblade.core.oss.model.BladeFile;
|
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.http.MediaType;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.sxkj.resource.entity.Attach;
|
import org.sxkj.resource.model.FeignSupportConfig;
|
import org.sxkj.resource.vo.AttachTypeStatisticsVO;
|
import org.sxkj.resource.vo.AttachVO;
|
|
import java.io.IOException;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* IAttachClient
|
*
|
* @author Chill
|
*/
|
@FeignClient(
|
value = AppConstant.APPLICATION_RESOURCE_NAME,
|
fallback = IAttachClientFallback.class,
|
configuration = FeignSupportConfig.class,
|
contextId = "IAttachClient"
|
)
|
public interface IAttachClient {
|
String API_PREFIX = "/client";
|
String SAVE_ATTACH_INFO = API_PREFIX + "/save-attach-info";
|
String SAVE_ATTACH_FILE = API_PREFIX + "/save-attach-file";
|
String SAVE_ATTACH_FILE_2 = API_PREFIX + "/save-attach-file_2";
|
String PUT_FILE = API_PREFIX + "/put-file";
|
String GET_ATTACH_NAMES = API_PREFIX + "/get_attach_names";
|
String GET_ATTACH_METADATA_NAMES = API_PREFIX + "/get_attach_metadata";
|
String FIND_RESULT_NUM_BY_JOB_ID = API_PREFIX + "/findResultNumByJobId";
|
String FIND_ATTACH_INFO_BY_YESTERDAY = API_PREFIX + "/findAttachInfoByYesterday";
|
String SET_YESTERDAY_VIDEO = API_PREFIX + "/setYesterdayVideo";
|
String GET_ATTACH_BY_MD5 = API_PREFIX + "/get_attach_by_md5";
|
String GET_ATTACH_BY_ID = API_PREFIX + "/get_attach_by_id";
|
String GET_ATTACH_DATA = API_PREFIX + "/get_attach_data";
|
String DELETE_ATTACH = API_PREFIX + "/delete-attach";
|
// calculateTheThreeDimensionalArea
|
String CALCULATE_THE_THREE_DIMENSIONAL_AREA = API_PREFIX + "/calculateTheThreeDimensionalArea";
|
|
/**
|
* 保存附件表信息
|
*
|
* @param attach 附件表信息
|
* @return R
|
*/
|
@PostMapping(value = SAVE_ATTACH_INFO, consumes = MediaType.APPLICATION_JSON_VALUE)
|
Boolean saveAttachInfo(@RequestBody Attach attach);
|
|
/**
|
* 获取附件表信息
|
*
|
* @param jobs 附件表信息
|
* @return R
|
*/
|
@PostMapping(value = GET_ATTACH_DATA, consumes = MediaType.APPLICATION_JSON_VALUE)
|
List<AttachVO> getAttachData(@RequestParam("jobs") String jobs);
|
/**
|
* 附件上传并保存
|
*
|
* @param file
|
* @param fileName
|
* @return
|
* @throws IOException
|
*/
|
@PostMapping(value = SAVE_ATTACH_FILE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
BladeFile saveAttachFile(@RequestPart MultipartFile file, @RequestParam String fileName) throws IOException;
|
|
/**
|
* 附件上传并保存
|
*
|
* @param file
|
* @param fileName
|
* @return
|
* @throws IOException
|
*/
|
@PostMapping(value = SAVE_ATTACH_FILE_2, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
BladeFile saveAttachFile(@RequestPart MultipartFile file, @RequestParam String fileName, @RequestParam List<List<String>> type) throws IOException;
|
|
/**
|
* 附件上传
|
*
|
* @param file
|
* @param fileName
|
* @return
|
* @throws IOException
|
*/
|
@PostMapping(value = PUT_FILE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
BladeFile putFile(@RequestPart MultipartFile file, @RequestParam String fileName) throws IOException;
|
|
@PostMapping(GET_ATTACH_NAMES)
|
List<String> getAttachNames(@RequestBody List<Long> ids);
|
|
@PostMapping(GET_ATTACH_METADATA_NAMES)
|
Map<String, Object> findMetaDataByName(@RequestBody List<String> names);
|
|
|
/**
|
* 查询成果数量
|
*
|
* @param jobId 任务id
|
* @return 成果数量
|
*/
|
@GetMapping(FIND_RESULT_NUM_BY_JOB_ID)
|
Long findResultNumByJobId(@RequestParam String jobId);
|
|
/**
|
* 通过md5查询附件信息
|
*/
|
@GetMapping(GET_ATTACH_BY_MD5)
|
public Attach getAttachByMd5(@RequestParam String md5);
|
|
/**
|
* 获取昨日视频处理
|
*
|
* @param startTime 开始时间
|
* @param endTime 结束时间
|
*/
|
@GetMapping(SET_YESTERDAY_VIDEO)
|
void processingYesterdayVideo(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
|
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime);
|
|
|
/**
|
* 删除附件接口
|
*
|
* @param deviceSn 设备sn
|
* @param timestamp 时间戳
|
* @param operator 操作人
|
* @param workspaceId 工作空间id
|
* @return Boolean 删除结果
|
*/
|
@GetMapping(value = DELETE_ATTACH, consumes = MediaType.APPLICATION_JSON_VALUE)
|
Boolean deleteAttach(
|
@RequestParam String deviceSn,
|
@RequestParam long timestamp,
|
@RequestParam Long operator,
|
@RequestParam String workspaceId
|
);
|
|
/**
|
*
|
* @param deviceSn
|
* @param startDate
|
* @param endDate
|
* @param resultTypes
|
* @return
|
*/
|
@GetMapping(value = CALCULATE_THE_THREE_DIMENSIONAL_AREA)
|
List<AttachTypeStatisticsVO> calculateTheThreeDimensionalArea(@RequestParam String deviceSn, @RequestParam String startDate,
|
@RequestParam String endDate, @RequestParam String resultTypes,
|
@RequestParam String areaCode);
|
/**
|
* 通过ID查询附件信息
|
*/
|
@GetMapping(GET_ATTACH_BY_ID)
|
public Attach getAttachById(@RequestParam String id);
|
|
}
|