Administrator 2 年之前
父节点
当前提交
48b25d6239

+ 1 - 1
src/main/java/com/sysu/admin/site/lz/LzEverydayImageController.java → src/main/java/com/sysu/admin/controller/lz/everyday/LzEverydayImageController.java

@@ -1,4 +1,4 @@
-package com.sysu.admin.site.lz;
+package com.sysu.admin.controller.lz.everyday;
 
 
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.EasyExcel;
 import com.sysu.admin.controller.lz.everyday.LzEveryExcelListener;
 import com.sysu.admin.controller.lz.everyday.LzEveryExcelListener;

+ 2 - 0
src/main/java/com/sysu/admin/controller/lz/everyday/LzEverydayImageExt.java

@@ -23,5 +23,7 @@ public class LzEverydayImageExt {
     @Column
     @Column
     private String code;
     private String code;
     @Column
     @Column
+    private String treeId;
+    @Column
     private Date createDate;
     private Date createDate;
 }
 }

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

@@ -8,10 +8,10 @@ import java.util.List;
 public interface LzEverydayImageExtRepository extends JpaPlusRepository<LzEverydayImageExt, Integer> {
 public interface LzEverydayImageExtRepository extends JpaPlusRepository<LzEverydayImageExt, Integer> {
 
 
 
 
-    @Query(value = "select i.*,t.code,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)
+    @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);
     List<LzEverydayImageExt> findAllByAreaId(Integer areaId);
 
 
-    @Query(value = "select i.*,t.code,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.id = ?1", nativeQuery = true)
+    @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);
     List<LzEverydayImageExt> findAllByTreeId(Integer treeId);
 
 
 }
 }

+ 8 - 0
src/main/java/com/sysu/admin/controller/lz/ns/NsActionRecordRepository.java

@@ -2,6 +2,14 @@ package com.sysu.admin.controller.lz.ns;
 
 
 import com.sysu.admin.controller.lz.ns.bean.NsActionRecord;
 import com.sysu.admin.controller.lz.ns.bean.NsActionRecord;
 import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
 import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
 
 
 public interface NsActionRecordRepository extends JpaPlusRepository<NsActionRecord, Integer> {
 public interface NsActionRecordRepository extends JpaPlusRepository<NsActionRecord, Integer> {
+
+
+    @Query(value = "from NsActionRecord ar where ar.treeId in ?1 and ar.finished = ?2")
+    List<NsActionRecord> findAllByTreeIds(List<Integer> treeIds, Integer finished);
+
 }
 }

+ 6 - 0
src/main/java/com/sysu/admin/controller/lz/ns/NsActionRecordService.java

@@ -6,12 +6,18 @@ import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.List;
+
 @Service
 @Service
 public class NsActionRecordService extends BaseService<NsActionRecord, Integer> {
 public class NsActionRecordService extends BaseService<NsActionRecord, Integer> {
 
 
     @Autowired
     @Autowired
     NsActionRecordRepository repository;
     NsActionRecordRepository repository;
 
 
+    public List<NsActionRecord> findAllByTreeIds(List<Integer> treeIds,Integer finished){
+        return repository.findAllByTreeIds(treeIds, finished);
+    }
+
     @Override
     @Override
     public JpaPlusRepository<NsActionRecord, Integer> r() {
     public JpaPlusRepository<NsActionRecord, Integer> r() {
         return repository;
         return repository;

+ 10 - 0
src/main/java/com/sysu/admin/controller/lz/ns/bean/NsActionRecord.java

@@ -6,6 +6,8 @@ import lombok.experimental.Accessors;
 import lombok.experimental.FieldNameConstants;
 import lombok.experimental.FieldNameConstants;
 import org.hibernate.annotations.DynamicInsert;
 import org.hibernate.annotations.DynamicInsert;
 import org.hibernate.annotations.DynamicUpdate;
 import org.hibernate.annotations.DynamicUpdate;
+import org.springframework.data.annotation.CreatedDate;
+
 import javax.persistence.*;
 import javax.persistence.*;
 import java.util.Date;
 import java.util.Date;
 
 
@@ -19,10 +21,18 @@ import java.util.Date;
 @DynamicUpdate
 @DynamicUpdate
 public class NsActionRecord {
 public class NsActionRecord {
 
 
+
     @Id
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Integer id;
     private Integer id;
     private Integer actionId;
     private Integer actionId;
     private Date createDate;
     private Date createDate;
     private Integer finished;
     private Integer finished;
+    private Integer source;
+    private Integer treeId;
+
+    @Transient
+    private String actionName;
+    @Transient
+    private Integer typeId;
 }
 }

+ 17 - 0
src/main/java/com/sysu/admin/controller/lz/ns/site/ActionRecordVo.java

@@ -0,0 +1,17 @@
+package com.sysu.admin.controller.lz.ns.site;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ActionRecordVo {
+
+    private List<Integer> actionIds;
+    private List<String> codes;
+    private String content;
+    private Integer finished = 0;
+    private Integer source;
+
+
+}

+ 55 - 2
src/main/java/com/sysu/admin/controller/lz/ns/site/NsActionRecordController.java

@@ -1,22 +1,75 @@
 package com.sysu.admin.controller.lz.ns.site;
 package com.sysu.admin.controller.lz.ns.site;
 
 
+import com.sysu.admin.controller.lz.ns.NsActionRecordService;
 import com.sysu.admin.controller.lz.ns.NsActionTreeService;
 import com.sysu.admin.controller.lz.ns.NsActionTreeService;
+import com.sysu.admin.controller.lz.ns.bean.NsActionRecord;
+import com.sysu.admin.controller.lz.ns.bean.NsActionTree;
+import com.sysu.admin.controller.lz.tree.LzTree;
+import com.sysu.admin.controller.lz.tree.LzTreeService;
+import com.sysu.admin.site.CommonVo;
 import com.xiesx.fastboot.base.result.BaseResult;
 import com.xiesx.fastboot.base.result.BaseResult;
 import com.xiesx.fastboot.base.result.R;
 import com.xiesx.fastboot.base.result.R;
 import org.springframework.beans.factory.annotation.Autowired;
 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.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.util.*;
+
 @RequestMapping("/site/ns_action_record")
 @RequestMapping("/site/ns_action_record")
 @RestController
 @RestController
 public class NsActionRecordController {
 public class NsActionRecordController {
 
 
     @Autowired
     @Autowired
-    private NsActionTreeService nsActionTreeService;
+    private NsActionRecordService nsActionRecordService;
+
+    @Autowired
+    private NsActionTreeService actionTreeService;
+    @Autowired
+    private LzTreeService lzTreeService;
 
 
     @RequestMapping("/list")
     @RequestMapping("/list")
-    public BaseResult list(){
+    public BaseResult list(@RequestBody CommonVo commonVo){
+        List<LzTree> treeList = lzTreeService.findListByAreaId(commonVo.getAreaId());
+        List<Integer> ids = new ArrayList<>(treeList.size());
+        treeList.stream().forEach(lzTree -> ids.add(lzTree.getId()));
+        List<NsActionTree> nsActionTrees = actionTreeService.findAll();
+        Map<Integer, NsActionTree>  integerNsActionTreeMap =  listToMap(nsActionTrees);
+        List<NsActionRecord> res = nsActionRecordService.findAllByTreeIds(ids, commonVo.getFinished());
+        res.stream().forEach(nsActionRecord -> {
+            NsActionTree actionTree = integerNsActionTreeMap.get(nsActionRecord.getActionId());
+            nsActionRecord.setActionName(actionTree.getName());
+            nsActionRecord.setTypeId(actionTree.getTypeId());
+        });
+        return R.succ(res);
+    }
+
+    public Map<Integer, NsActionTree> listToMap(List<NsActionTree> nsActionTrees){
+        Map<Integer, NsActionTree> map = new HashMap<>();
+        nsActionTrees.forEach(nsActionTree -> {
+            map.put(nsActionTree.getId(), nsActionTree);
+        });
+        return map;
+    }
+
 
 
+    @RequestMapping("/save")
+    public BaseResult save(@RequestBody ActionRecordVo actionRecordVo){
+        List<LzTree> treeList = lzTreeService.findListByCodes(actionRecordVo.getCodes());
+        Date now = new Date();
+        List<NsActionRecord> nsActionRecordList = new ArrayList<>();
+        treeList.stream().forEach(tree -> {
+            actionRecordVo.getActionIds().stream().forEach(actionId -> {
+                NsActionRecord nsActionRecord = new NsActionRecord();
+                nsActionRecord.setTreeId(tree.getId());
+                nsActionRecord.setActionId(actionId);
+                nsActionRecord.setFinished(actionRecordVo.getFinished());
+                nsActionRecord.setSource(actionRecordVo.getSource());
+                nsActionRecord.setCreateDate(now);
+                nsActionRecordList.add(nsActionRecord);
+            });
+        });
+        nsActionRecordService.saveAll(nsActionRecordList);
         return R.succ();
         return R.succ();
     }
     }
 }
 }

+ 6 - 0
src/main/java/com/sysu/admin/controller/lz/tree/LzTree.java

@@ -24,6 +24,12 @@ import java.util.List;
 @DynamicUpdate
 @DynamicUpdate
 public class LzTree {
 public class LzTree {
 
 
+    public LzTree(){}
+    public LzTree(Integer id, String code) {
+        this.id = id;
+        this.code = code;
+    }
+
     @Id
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Integer id;
     private Integer id;

+ 5 - 2
src/main/java/com/sysu/admin/controller/lz/tree/LzTreeRepository.java

@@ -15,7 +15,10 @@ public interface LzTreeRepository extends JpaPlusRepository<LzTree, Integer> {
      @Query(value = "SELECT * FROM lz_tree where St_within(point, ST_Buffer(st_geomfromtext(?1),?2, 'quad_segs=8')) limit 1", nativeQuery = true)
      @Query(value = "SELECT * FROM lz_tree where St_within(point, ST_Buffer(st_geomfromtext(?1),?2, 'quad_segs=8')) limit 1", nativeQuery = true)
      LzTree findByPoint(String wkt, Double m);
      LzTree findByPoint(String wkt, Double m);
 
 
-     @Query(value = "SELECT a, b, c FROM LzTree a JOIN FETCH a.lzEveryday b JOIN FETCH a.clazz c")
-     List<LzTree> findAll(Predicate predicate);
+     @Query(value = "SELECT new LzTree(t.id,t.code) FROM LzTree t where t.code in ?1")
+     List<LzTree> findAllByCodes(List<String> codes);
+
+     @Query(value = "SELECT new LzTree(t.id,t.code) FROM LzTree t where t.lzArea.id = ?1")
+     List<LzTree> findAllByAreaId(Integer areaId);
 
 
 }
 }

+ 8 - 0
src/main/java/com/sysu/admin/controller/lz/tree/LzTreeService.java

@@ -42,10 +42,18 @@ public class LzTreeService extends BaseService<LzTree, Integer> {
         return query.getResultList();
         return query.getResultList();
     }
     }
 
 
+    public List<LzTree> findListByAreaId(Integer areaId){
+        return lzTreeRepository.findAllByAreaId(areaId);
+    }
+
     public LzTree findByCode(String code){
     public LzTree findByCode(String code){
         return lzTreeRepository.findByCode(code);
         return lzTreeRepository.findByCode(code);
     }
     }
 
 
+    public List<LzTree> findListByCodes(List<String> codes){
+        return lzTreeRepository.findAllByCodes(codes);
+    }
+
     public LzTree findByPoint(Double[] point, Integer m){
     public LzTree findByPoint(Double[] point, Integer m){
         double degree = m / (2 * Math.PI * 6371004) * 360;
         double degree = m / (2 * Math.PI * 6371004) * 360;
         return lzTreeRepository.findByPoint("Point("+point[0]+" "+point[1]+")", degree);
         return lzTreeRepository.findByPoint("Point("+point[0]+" "+point[1]+")", degree);

+ 1 - 0
src/main/java/com/sysu/admin/site/CommonVo.java

@@ -20,6 +20,7 @@ public class CommonVo {
     private Boolean last;
     private Boolean last;
     private String wkt;
     private String wkt;
     private Integer typeId;
     private Integer typeId;
+    private Integer finished = 0;
 
 
     private Double x1;
     private Double x1;
     private Double y1;
     private Double y1;