diff --git a/pom.xml b/pom.xml
index f05decc..2d30e69 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,22 @@
gunshi-modules-all
1.0-SNAPSHOT
-
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.springframework.boot
+ spring-boot-test
+ test
+
+
+ org.springframework
+ spring-test
+ 6.1.1
+ test
+
diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaTreeVo.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaTreeVo.java
new file mode 100644
index 0000000..ff95a97
--- /dev/null
+++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaTreeVo.java
@@ -0,0 +1,24 @@
+package com.gunshi.project.xyt.entity.basedata;
+
+import com.gunshi.project.xyt.model.StCameraAreaB;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author Sun Lejun
+ * @version 1.0
+ * @date 2024/1/24
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class StCameraAreaTreeVo extends StCameraAreaB implements Serializable {
+ @Schema(description="子对象")
+ private List children;
+}
diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaVo.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaVo.java
new file mode 100644
index 0000000..1949196
--- /dev/null
+++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaVo.java
@@ -0,0 +1,23 @@
+package com.gunshi.project.xyt.entity.basedata;
+
+import com.gunshi.project.xyt.model.StCameraAreaB;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+import java.io.Serializable;
+
+/**
+ * @author Sun Lejun
+ * @version 1.0
+ * @date 2024/1/24
+ */
+
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Data
+public class StCameraAreaVo extends StCameraAreaB implements Serializable {
+ @Schema(description="上级区域名称")
+ private String pidName;
+}
diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StCameraAreaBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StCameraAreaBMapper.java
index 717d954..f2c0c3d 100644
--- a/src/main/java/com/gunshi/project/xyt/mapper/StCameraAreaBMapper.java
+++ b/src/main/java/com/gunshi/project/xyt/mapper/StCameraAreaBMapper.java
@@ -1,6 +1,8 @@
package com.gunshi.project.xyt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gunshi.project.xyt.entity.basedata.StCameraAreaTreeVo;
+import com.gunshi.project.xyt.entity.basedata.StCameraAreaVo;
import com.gunshi.project.xyt.model.StCameraAreaB;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
@@ -9,4 +11,8 @@ import org.apache.ibatis.annotations.Param;
@Mapper
public interface StCameraAreaBMapper extends BaseMapper {
int batchInsert(@Param("list") List list);
+
+ List queryStCameraAreaBList(@Param("name") String name);
+
+ List queryStCameraAreaBTree();
}
\ No newline at end of file
diff --git a/src/main/java/com/gunshi/project/xyt/service/BaseDataService.java b/src/main/java/com/gunshi/project/xyt/service/BaseDataService.java
index e820f16..6efdabf 100644
--- a/src/main/java/com/gunshi/project/xyt/service/BaseDataService.java
+++ b/src/main/java/com/gunshi/project/xyt/service/BaseDataService.java
@@ -5,16 +5,32 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.gunshi.core.result.BusinessResult;
import com.gunshi.core.result.exception.BusinessException;
+import com.gunshi.project.xyt.entity.basedata.StCameraAreaTreeVo;
+import com.gunshi.project.xyt.entity.basedata.StCameraAreaVo;
import com.gunshi.project.xyt.mapper.StCameraAreaBMapper;
import com.gunshi.project.xyt.model.StCameraAreaB;
+import com.gunshi.util.common.tree.TreeUtil;
+import jakarta.annotation.Nonnull;
+import jakarta.annotation.Nullable;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.MethodArgumentNotValidException;
+import java.io.Serializable;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* @author Sun Lejun
@@ -29,12 +45,29 @@ import java.util.Objects;
public class BaseDataService {
private final StCameraAreaBMapper stCameraAreaBMapper;
+ /**
+ * 根据视频区域ID查询视频区域
+ * @param camArId 视频区域ID
+ * @return 视频区域
+ */
+ public StCameraAreaB queryStCameraAreaBById(Long camArId) {
+ return stCameraAreaBMapper.selectById(camArId);
+ }
- public List queryStCameraAreaBList() {
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq(StCameraAreaB.COL_STATUS, 1);
- queryWrapper.orderByAsc(StCameraAreaB.COL_SORT_ON);
- return stCameraAreaBMapper.selectList(queryWrapper);
+ public List queryStCameraAreaBTree() {
+ List list = stCameraAreaBMapper.queryStCameraAreaBTree();
+ return TreeUtil.list2ListTree(list, Long.valueOf(0L),
+ StCameraAreaTreeVo::getCamArId, StCameraAreaTreeVo::getPid,
+ StCameraAreaTreeVo::setChildren, null);
+ }
+
+
+ /**
+ * 查询视频区域列表
+ * @return 视频区域列表
+ */
+ public List queryStCameraAreaBList(String name) {
+ return stCameraAreaBMapper.queryStCameraAreaBList(name);
}
/**
@@ -48,8 +81,8 @@ public class BaseDataService {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq(StCameraAreaB.COL_PID, stCameraAreaB.getPid());
queryWrapper.eq(StCameraAreaB.COL_STATUS, 1);
- queryWrapper.orderByAsc(StCameraAreaB.COL_SORT_ON);
- StCameraAreaB first = stCameraAreaBMapper.selectList(queryWrapper).getFirst();
+ queryWrapper.orderByDesc(StCameraAreaB.COL_SORT_ON);
+ StCameraAreaB first = stCameraAreaBMapper.selectOne(queryWrapper, false);
if (Objects.isNull(first)) {
stCameraAreaB.setSortOn(1);
} else {
@@ -108,4 +141,5 @@ public class BaseDataService {
}
}
+
}
diff --git a/src/main/resources/mapper/StCameraAreaBMapper.xml b/src/main/resources/mapper/StCameraAreaBMapper.xml
index 92e6518..4fbfa6d 100644
--- a/src/main/resources/mapper/StCameraAreaBMapper.xml
+++ b/src/main/resources/mapper/StCameraAreaBMapper.xml
@@ -28,4 +28,23 @@
#{item.createTm,jdbcType=TIMESTAMP}, #{item.tm,jdbcType=TIMESTAMP})
+
+
+
+
\ No newline at end of file
diff --git a/src/test/java/com/gunshi/project/xyt/service/BaseDataServiceTest.java b/src/test/java/com/gunshi/project/xyt/service/BaseDataServiceTest.java
new file mode 100644
index 0000000..ffc0309
--- /dev/null
+++ b/src/test/java/com/gunshi/project/xyt/service/BaseDataServiceTest.java
@@ -0,0 +1,62 @@
+package com.gunshi.project.xyt.service;
+
+import com.gunshi.project.xyt.Main;
+import com.gunshi.project.xyt.entity.basedata.StCameraAreaTreeVo;
+import com.gunshi.project.xyt.entity.basedata.StCameraAreaVo;
+import com.gunshi.project.xyt.model.StCameraAreaB;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ContextConfiguration;
+
+import java.util.List;
+
+@SpringBootTest
+@ContextConfiguration(classes = Main.class)
+@Slf4j
+class BaseDataServiceTest {
+ @Autowired
+ private BaseDataService baseDataService;
+
+ @Test
+ void queryStCameraAreaBList() {
+ List list1 = baseDataService.queryStCameraAreaBList("公路");
+ log.info("{}", list1);
+ List list2 = baseDataService.queryStCameraAreaBList("");
+ log.info("{}", list2);
+ }
+
+ @Test
+ void insertStCameraAreaB() {
+ StCameraAreaB stCameraAreaB = new StCameraAreaB();
+ stCameraAreaB.setCamArNm("公路2");
+ stCameraAreaB.setPid(0L);
+ stCameraAreaB.setStatus(1);
+ stCameraAreaB.setComments("备注2");
+ baseDataService.insertStCameraAreaB(stCameraAreaB);
+ }
+
+ @Test
+ void insertStCameraAreaB2() {
+ StCameraAreaB stCameraAreaB = new StCameraAreaB();
+ stCameraAreaB.setCamArNm("公路1-1");
+ stCameraAreaB.setPid(1750075892207497218L);
+ stCameraAreaB.setStatus(1);
+ stCameraAreaB.setComments("备注");
+ baseDataService.insertStCameraAreaB(stCameraAreaB);
+ }
+
+ @Test
+ void updateStCameraAreaB() {
+ StCameraAreaB stCameraAreaB = baseDataService.queryStCameraAreaBById(1750077729811742721L);
+ stCameraAreaB.setComments("1234557");
+ baseDataService.updateStCameraAreaB(stCameraAreaB);
+ }
+
+ @Test
+ void queryStCameraAreaBTree() {
+ List list = baseDataService.queryStCameraAreaBTree();
+ log.info("{}", list);
+ }
+}
\ No newline at end of file