diff --git a/README.md b/README.md
index 7578fe3..a5ad77e 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,18 @@
# ams-social
+- 框架/依赖说明
+ - JDK17
+ - SpringBoot 3.1.7
+ - sa-token 登陆认证
+ - mapstruct、orika 对象拷贝
+ - mybatis-plus 数据持久化
+ - easy-excel excel导入导出
+ - hikari 数据库连接池
+ - openapi 注解生成接口文档
+ - rabbitmq 消息队列
+ - redis 缓存
+ - actuator/prometheus 监控
+ - huawei obs 对象存储
+ - fastjson2/gson/jackson json
+ - maven-pmd-plugin 静态代码检查插件
+- 功能说明
\ No newline at end of file
diff --git a/social/pom.xml b/social/pom.xml
index fb16e35..6fe0db3 100644
--- a/social/pom.xml
+++ b/social/pom.xml
@@ -104,7 +104,11 @@
mapstruct-processor
provided
-
+
+ com.huaweicloud
+ esdk-obs-java
+ 3.20.6.1
+
\ No newline at end of file
diff --git a/social/src/main/java/com/jiagutech/ams/controller/JobController.java b/social/src/main/java/com/jiagutech/ams/controller/JobController.java
index 5e394cd..22bde56 100644
--- a/social/src/main/java/com/jiagutech/ams/controller/JobController.java
+++ b/social/src/main/java/com/jiagutech/ams/controller/JobController.java
@@ -3,27 +3,31 @@ package com.jiagutech.ams.controller;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.map.MapUtil;
+import com.jiagutech.ams.listener.JobFinishListener;
import com.jiagutech.ams.model.TrackImageVO;
import com.jiagutech.ams.model.TrackItem;
import com.jiagutech.ams.model.common.PageRequest;
import com.jiagutech.ams.model.common.PageResult;
import com.jiagutech.ams.model.common.R;
import com.jiagutech.ams.model.dto.JobTypeDTO;
-import com.jiagutech.ams.model.dto.TrackImageDTO;
import com.jiagutech.ams.model.request.JobCreateRequest;
import com.jiagutech.ams.model.request.JobPageRequest;
import com.jiagutech.ams.model.request.JobStatusRequest;
import com.jiagutech.ams.model.response.JobCreateResponse;
import com.jiagutech.ams.model.response.JobItem;
-import com.jiagutech.ams.model.response.JobTypeItem;
import com.jiagutech.ams.service.JobService;
+import com.jiagutech.ams.utils.TrackUtil;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
+import org.apache.commons.collections4.MapUtils;
import org.springframework.web.bind.annotation.*;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @ClassName JobController
@@ -39,6 +43,8 @@ import java.util.List;
public class JobController {
private final JobService jobService;
+ private final JobFinishListener jobFinishListener;
+
@GetMapping("/types")
@Operation(summary = "作业类型列表")
public R> getJobTypes() {
@@ -75,13 +81,13 @@ public class JobController {
}
- @PostMapping(value = "/export",consumes = "application/json")
+ @PostMapping(value = "/export", consumes = "application/json")
@Operation(summary = "导出作业记录")
public void exportJobs(@RequestBody(required = false) JobPageRequest jobPageRequest, HttpServletResponse response) {
jobService.exportJobs(jobPageRequest, response);
}
- @PostMapping(value = "/exportByFarmer",consumes = "application/json")
+ @PostMapping(value = "/exportByFarmer", consumes = "application/json")
@Operation(summary = "导出作业记录")
public void exportByFarmer(@RequestBody(required = false) JobPageRequest jobPageRequest, HttpServletResponse response) {
jobService.exportByFarmer(jobPageRequest, response);
@@ -100,5 +106,39 @@ public class JobController {
return R.ok();
}
+ @GetMapping("/tracksByZhongnong")
+ @Operation(summary = "从中农云获取作业轨迹列表")
+ public R> getTracksByZhongnongList(@RequestParam("deviceId") String deviceId,
+ @RequestParam long startTime,
+ @RequestParam long endTime) {
+
+ return R.ok(jobFinishListener.getTracks(deviceId, startTime, endTime));
+ }
+
+ @GetMapping("/countAreaByZhongnong/{jobId}")
+ @Operation(summary = "从中农云获取轨迹计算面积")
+ public R countAreaByZhongnong(@PathVariable("jobId") Long jobId) {
+ jobFinishListener.refreshJobArea(jobId);
+ return R.ok();
+ }
+
+ @GetMapping("/calcAreaByZhongnong")
+ @Operation(summary = "重新计算面积")
+ public R