摄像头区域接口

master
Coolkid 2024-01-24 17:43:51 +08:00
parent dcbc8ee72b
commit f1d4ba12de
7 changed files with 191 additions and 8 deletions

17
pom.xml
View File

@ -26,7 +26,22 @@
<artifactId>gunshi-modules-all</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>6.1.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>

View File

@ -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<StCameraAreaTreeVo> children;
}

View File

@ -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;
}

View File

@ -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<StCameraAreaB> {
int batchInsert(@Param("list") List<StCameraAreaB> list);
List<StCameraAreaVo> queryStCameraAreaBList(@Param("name") String name);
List<StCameraAreaTreeVo> queryStCameraAreaBTree();
}

View File

@ -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<StCameraAreaB> queryStCameraAreaBList() {
QueryWrapper<StCameraAreaB> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(StCameraAreaB.COL_STATUS, 1);
queryWrapper.orderByAsc(StCameraAreaB.COL_SORT_ON);
return stCameraAreaBMapper.selectList(queryWrapper);
public List<StCameraAreaTreeVo> queryStCameraAreaBTree() {
List<StCameraAreaTreeVo> list = stCameraAreaBMapper.queryStCameraAreaBTree();
return TreeUtil.list2ListTree(list, Long.valueOf(0L),
StCameraAreaTreeVo::getCamArId, StCameraAreaTreeVo::getPid,
StCameraAreaTreeVo::setChildren, null);
}
/**
*
* @return
*/
public List<StCameraAreaVo> queryStCameraAreaBList(String name) {
return stCameraAreaBMapper.queryStCameraAreaBList(name);
}
/**
@ -48,8 +81,8 @@ public class BaseDataService {
QueryWrapper<StCameraAreaB> 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 {
}
}
}

View File

@ -28,4 +28,23 @@
#{item.createTm,jdbcType=TIMESTAMP}, #{item.tm,jdbcType=TIMESTAMP})
</foreach>
</insert>
<select id="queryStCameraAreaBList" resultType="com.gunshi.project.xyt.entity.basedata.StCameraAreaVo">
select t1.CAM_AR_ID, t1.CAM_AR_NM, t1.PID, t1.SORT_ON, t1.[STATUS], t1.COMMENTS, t1.CREATE_TM, t1.TM,
t2.CAM_AR_NM PID_NAME
from ST_CAMERA_AREA_B t1
left join ST_CAMERA_AREA_B t2 on t1.pid=t2.CAM_AR_ID
<where>
<if test="name!=null and name!=''">
t1.CAM_AR_NM like CONCAT('%',#{name},'%')
</if>
and t1.STATUS=1
</where>
</select>
<select id="queryStCameraAreaBTree" resultType="com.gunshi.project.xyt.entity.basedata.StCameraAreaTreeVo">
select
<include refid="Base_Column_List" />
from ST_CAMERA_AREA_B where STATUS=1 order by SORT_ON
</select>
</mapper>

View File

@ -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<StCameraAreaVo> list1 = baseDataService.queryStCameraAreaBList("公路");
log.info("{}", list1);
List<StCameraAreaVo> 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<StCameraAreaTreeVo> list = baseDataService.queryStCameraAreaBTree();
log.info("{}", list);
}
}