Administrator 2 年之前
父节点
当前提交
4111abb245

+ 47 - 0
src/main/java/com/sysu/admin/controller/lz/air_route/AirRoute.java

@@ -0,0 +1,47 @@
+package com.sysu.admin.controller.lz.air_route;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import lombok.experimental.FieldNameConstants;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+
+import javax.persistence.*;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@FieldNameConstants(innerTypeName = "FIELDS")
+@Table(name = "lz_air_route")
+@Entity
+@DynamicInsert
+@DynamicUpdate
+public class AirRoute {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Integer id;
+
+    @Column()
+    private String name;
+
+    @Column
+    private String color;
+
+    @Transient
+    private String wkt;
+
+    @Transient
+    private String pointWkt;
+
+    @JSONField(serialize = false)
+    @Column(name = "geom")
+    private MultiPolygon geom;
+
+    @JSONField(serialize = false)
+    @Column(name = "center_point")
+    private Point point;
+}

+ 57 - 0
src/main/java/com/sysu/admin/controller/lz/air_route/AirRouteController.java

@@ -0,0 +1,57 @@
+package com.sysu.admin.controller.lz.air_route;
+
+import com.sysu.admin.controller.lz.area.LzArea;
+import com.sysu.admin.controller.lz.area.LzAreaService;
+import com.sysu.admin.site.CommonVo;
+import com.sysu.admin.utils.shape.GeoCastUtil;
+import com.xiesx.fastboot.base.result.BaseResult;
+import com.xiesx.fastboot.base.result.R;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RequestMapping("/site/lz_area")
+@RestController
+public class AirRouteController {
+
+    @Autowired
+    private LzAreaService lzAreaService;
+
+    @RequestMapping("/list")
+    public BaseResult list(){
+        List<LzArea> list = lzAreaService.findAll();
+        list.forEach(lzArea -> {
+            lzArea.setWkt(GeoCastUtil.geomToWkt(lzArea.getGeom()));
+            lzArea.setPointWkt(GeoCastUtil.geomToWkt(lzArea.getPoint()));
+        });
+        return R.succ(list);
+    }
+
+    @RequestMapping("/air_route")
+    public BaseResult airRoute(@RequestBody CommonVo commonVo){
+        LzArea area = lzAreaService.findOne(commonVo.getId().intValue());
+        Coordinate[] coordinates  = area.getGeom().getCoordinates();
+        Double[][] res = new Double[coordinates.length - 1][];
+        for(int i=0; i < coordinates.length - 1; i++){
+            Double [] temp = new Double[2];
+            temp[0] = coordinates[i].getX();
+            temp[1] = coordinates[i].getY();
+            res[i] = temp;
+        }
+        return R.succ(res);
+    }
+
+    @RequestMapping("/save")
+    public BaseResult save(@RequestBody LzArea bean){
+        bean.setGeom((MultiPolygon) GeoCastUtil.wktToGeom(bean.getWkt()));
+        bean.setPoint(bean.getGeom().getCentroid());
+        lzAreaService.save(bean);
+        return R.succ();
+    }
+
+}

+ 8 - 0
src/main/java/com/sysu/admin/controller/lz/air_route/AirRouteRepository.java

@@ -0,0 +1,8 @@
+package com.sysu.admin.controller.lz.air_route;
+
+import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
+import org.springframework.data.jpa.repository.Query;
+
+public interface AirRouteRepository extends JpaPlusRepository<AirRoute, Integer> {
+
+}

+ 18 - 0
src/main/java/com/sysu/admin/controller/lz/air_route/AirRouteService.java

@@ -0,0 +1,18 @@
+package com.sysu.admin.controller.lz.air_route;
+
+import com.sysu.admin.support.base.BaseService;
+import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class AirRouteService extends BaseService<AirRoute, Integer> {
+
+    @Autowired
+    AirRouteRepository lzAreaRepository;
+
+    @Override
+    public JpaPlusRepository<AirRoute, Integer> r() {
+        return lzAreaRepository;
+    }
+}

+ 9 - 22
src/main/java/com/sysu/admin/controller/lz/everyday/LzEverydayImageController.java

@@ -1,27 +1,13 @@
 package com.sysu.admin.controller.lz.everyday;
 
-import com.alibaba.excel.EasyExcel;
-import com.sysu.admin.controller.lz.everyday.LzEveryExcelListener;
-import com.sysu.admin.controller.lz.everyday.LzEverydayExcel;
-import com.sysu.admin.controller.lz.everyday.LzEverydayImgService;
-import com.sysu.admin.controller.lz.everyday.LzEverydayService;
-import com.sysu.admin.controller.lz.tree.LzTreeService;
 import com.sysu.admin.site.CommonVo;
-import com.sysu.admin.support.system.config.ConfigContext;
 import com.xiesx.fastboot.base.result.BaseResult;
 import com.xiesx.fastboot.base.result.R;
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.nio.file.StandardOpenOption;
 import java.util.List;
 
 @RequestMapping("/site/lz_everyday_image")
@@ -33,14 +19,15 @@ public class LzEverydayImageController {
     LzEverydayImgService lzEverydayImgService;
 
 
-    @RequestMapping("/list")
-    public BaseResult imageList(@RequestBody CommonVo commonVo){
-        List list = null;
-        if(commonVo.getTreeId() != null){
-            list = lzEverydayImgService.findAllByTreeId(commonVo.getTreeId());
-        }else{
-            list = lzEverydayImgService.findAllByAreaId(commonVo.getAreaId());
-        }
+
+    /**
+     * 返回最新的照片
+     * @param commonVo
+     * @return
+     */
+    @RequestMapping("/new_list")
+    public BaseResult newList(@RequestBody CommonVo commonVo){
+        List list = lzEverydayImgService.findNewEveryDayImageListByAreaId(commonVo.getAreaId());
         return R.succ(list);
     }
 }

+ 6 - 4
src/main/java/com/sysu/admin/controller/lz/everyday/LzEverydayImageExtRepository.java

@@ -8,10 +8,12 @@ import java.util.List;
 public interface LzEverydayImageExtRepository extends JpaPlusRepository<LzEverydayImageExt, Integer> {
 
 
-    @Query(value = " select i.*,t.code,t.id as tree_id,e.create_date from lz_everyday_image i join lz_everyday e on e.id = i.everyday_id join lz_tree t on t.id = e.tree_id where t.area_id = ?1", nativeQuery = true)
-    List<LzEverydayImageExt> findAllByAreaId(Integer areaId);
+    @Query(value = "select ei.*,t.code,t.id as tree_id,e.create_date from lz_tree t " +
+            "join lz_everyday e on t.everyday_id = e.id " +
+            "join lz_everyday_image ei on e.id = ei.everyday_id " +
+            "where t.area_id = ?1", nativeQuery = true)
+    List<LzEverydayImageExt> findNewEveryDayImageListByAreaId(Integer areaId);
+
 
-    @Query(value = " select i.*,t.code,t.id as tree_id,e.create_date from lz_everyday_image i join lz_everyday e on e.id = i.everyday_id join lz_tree t on t.id = e.tree_id where t.area_id = ?1", nativeQuery = true)
-    List<LzEverydayImageExt> findAllByTreeId(Integer treeId);
 
 }

+ 2 - 6
src/main/java/com/sysu/admin/controller/lz/everyday/LzEverydayImgService.java

@@ -19,12 +19,8 @@ public class LzEverydayImgService extends BaseService<LzEverydayImage, Integer>
         return lzEverydayImageRepository.findAllByEverydayId(everydayId);
     }
 
-    public List<LzEverydayImageExt> findAllByAreaId(Integer areaId){
-        return lzEverydayImageExtRepository.findAllByAreaId(areaId);
-    }
-
-    public List<LzEverydayImageExt> findAllByTreeId(Integer treeId){
-        return lzEverydayImageExtRepository.findAllByTreeId(treeId);
+    public List<LzEverydayImageExt> findNewEveryDayImageListByAreaId(Integer areaId){
+        return lzEverydayImageExtRepository.findNewEveryDayImageListByAreaId(areaId);
     }
 
     @Override

+ 17 - 0
src/main/java/com/sysu/admin/site/lz/LzAreaController.java

@@ -2,10 +2,12 @@ package com.sysu.admin.site.lz;
 
 import com.sysu.admin.controller.lz.area.LzArea;
 import com.sysu.admin.controller.lz.area.LzAreaService;
+import com.sysu.admin.site.CommonVo;
 import com.sysu.admin.utils.shape.GeoCastUtil;
 import com.xiesx.fastboot.base.result.BaseResult;
 import com.xiesx.fastboot.base.result.R;
 import org.geotools.geometry.jts.JTSFactoryFinder;
+import org.locationtech.jts.geom.Coordinate;
 import org.locationtech.jts.geom.GeometryFactory;
 import org.locationtech.jts.geom.MultiPolygon;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Arrays;
 import java.util.List;
 
 @RequestMapping("/site/lz_area")
@@ -32,6 +35,20 @@ public class LzAreaController {
         return R.succ(list);
     }
 
+    @RequestMapping("/air_route")
+    public BaseResult airRoute(@RequestBody CommonVo commonVo){
+        LzArea area = lzAreaService.findOne(commonVo.getId().intValue());
+        Coordinate[] coordinates  = area.getGeom().getCoordinates();
+        Double[][] res = new Double[coordinates.length - 1][];
+        for(int i=0; i < coordinates.length - 1; i++){
+            Double [] temp = new Double[2];
+            temp[0] = coordinates[i].getX();
+            temp[1] = coordinates[i].getY();
+            res[i] = temp;
+        }
+        return R.succ(res);
+    }
+
     @RequestMapping("/save")
     public BaseResult save(@RequestBody LzArea bean){
         bean.setGeom((MultiPolygon) GeoCastUtil.wktToGeom(bean.getWkt()));

+ 2 - 0
src/test/java/com/sysu/admin/api/crop/CropControllerTest.java

@@ -1,6 +1,8 @@
 package com.sysu.admin.api.crop;
 
 import com.sysu.admin.controller.aland.StatItemData;
+import com.sysu.admin.utils.MySimpleDateFormat;
+import com.xiesx.fastboot.utils.DateUtils;
 import junit.framework.TestCase;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;