Browse Source

feat:获取图层目录新增分页查询

master_tdsql
caoqi 1 year ago
parent
commit
e61aeda89b
  1. 39
      shuili-system/src/main/java/com/kms/yg/znjg/controller/SyDirController.java
  2. 11
      shuili-system/src/main/java/com/kms/yg/znjg/controller/SySceneController.java
  3. 5
      shuili-system/src/main/java/com/kms/yg/znjg/domain/SyDir.java
  4. 26
      shuili-system/src/main/java/com/kms/yg/znjg/domain/SySceneDirRelation.java
  5. 6
      shuili-system/src/main/java/com/kms/yg/znjg/mapper/SyDirMapper.java
  6. 4
      shuili-system/src/main/java/com/kms/yg/znjg/mapper/SySceneDirRelationMapper.java
  7. 28
      shuili-system/src/main/java/com/kms/yg/znjg/service/SyDirService.java
  8. 7
      shuili-system/src/main/java/com/kms/yg/znjg/service/SySceneDirRelationService.java
  9. 30
      shuili-system/src/main/resources/mapper/yg/znjg/SyDirMapper.xml
  10. 20
      shuili-system/src/main/resources/mapper/yg/znjg/SySceneDirRelationMapper.xml
  11. 20
      shuili-system/src/main/resources/mapper/yg/znjg/SySceneLayerRelationMapper.xml

39
shuili-system/src/main/java/com/kms/yg/znjg/controller/SyDirLayerController.java → shuili-system/src/main/java/com/kms/yg/znjg/controller/SyDirController.java

@ -1,6 +1,9 @@
package com.kms.yg.znjg.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.znjg.domain.SyDir;
import com.kms.yg.znjg.domain.SyDirLayer;
import com.kms.yg.znjg.domain.SyLayer;
@ -11,6 +14,7 @@ import com.kms.yg.znjg.service.SyDirService;
import com.kms.yg.znjg.service.SyLayerService;
import com.kms.yg.znjg.vo.SyDirVo;
import com.kms.yxgh.base.Response;
import com.shuili.common.core.domain.SearchParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -19,7 +23,6 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
@ -28,7 +31,7 @@ import java.util.List;
@RestController
@RequestMapping("/map/layerDir")
@Api(tags = "图层目录管理")
public class SyDirLayerController {
public class SyDirController {
@Autowired
private SyLayerService syLayerService;
@ -47,27 +50,29 @@ public class SyDirLayerController {
/**
* 查询图层目录树信息
*
* @param parentId 父节点id可以为空不是空的时候查询该父节点id的所有子目录否则展示所有目录
* @param spDir
* @return
*/
@GetMapping(value = "/getAllTreeDir")
@ApiOperation("查询图层目录树信息")
public Response getAllTreeDir(String parentId) {
public Response getAllTreeDir(@RequestBody SearchParam<SyDir> spDir) {
Response response = new Response();
try {
List<SyDirVo> list = syDirService.findAllDir(parentId);
List<SyDirVo> rootList = new ArrayList<>();
rootList.add(new SyDirVo() {{
setId("root");
setName("全部");
setParentId("");
setXpath("/目录管理");
setDirSeq("root");
setOrderNm(1);
setChildren(list);
response.setCode("200");
}});
response.setData(rootList);
Page<SyDirVo> list = syDirService.findAllDir("root", spDir);
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", "root");
jsonObject.put("name", "全部");
jsonObject.put("parentId", "");
jsonObject.put("xpath", "/目录管理");
jsonObject.put("dirSeq", "root");
jsonObject.put("orderNm", 1);
jsonObject.put("children", list.getRecords());
jsonObject.put("total", list.getTotal());
jsonObject.put("size", list.getSize());
jsonObject.put("current", list.getCurrent());
jsonObject.put("pages", list.getPages());
response.setCode("200");
response.setData(jsonObject);
} catch (Exception e) {
e.printStackTrace();
response.setCode("500");

11
shuili-system/src/main/java/com/kms/yg/znjg/controller/SySceneController.java

@ -5,12 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.common.utils.UserUtils;
import com.kms.yg.znjg.domain.SyDirLayer;
import com.kms.yg.znjg.domain.SyScene;
import com.kms.yg.znjg.domain.SySceneConfigRelation;
import com.kms.yg.znjg.domain.SySceneLayerRelation;
import com.kms.yg.znjg.domain.SySceneDirRelation;
import com.kms.yg.znjg.mapper.SySceneConfigRelationMapper;
import com.kms.yg.znjg.mapper.SySceneLayerRelationMapper;
import com.kms.yg.znjg.mapper.SySceneDirRelationMapper;
import com.kms.yg.znjg.mapper.SySceneMapper;
import com.kms.yg.znjg.service.SySceneService;
import com.kms.yxgh.base.Response;
@ -38,7 +37,7 @@ public class SySceneController {
private SySceneMapper sySceneMapper;
@Autowired
private SySceneLayerRelationMapper sySceneLayerRelationMapper;
private SySceneDirRelationMapper sySceneDirRelationMapper;
@Autowired
private SySceneConfigRelationMapper sySceneConfigRelationMapper;
@ -110,9 +109,9 @@ public class SySceneController {
updateSceneWrapper.eq("id", id).set("is_valid", 0);
sySceneService.update(null, updateSceneWrapper);
//删除场景对应的地图信息
UpdateWrapper<SySceneLayerRelation> sySceneLayerRelationUpdateWrapper = new UpdateWrapper<>();
UpdateWrapper<SySceneDirRelation> sySceneLayerRelationUpdateWrapper = new UpdateWrapper<>();
sySceneLayerRelationUpdateWrapper.eq("scene_id", id).set("is_valid", 0);
sySceneLayerRelationMapper.update(null, sySceneLayerRelationUpdateWrapper);
sySceneDirRelationMapper.update(null, sySceneLayerRelationUpdateWrapper);
//删除场景对应的地图图层信息
UpdateWrapper<SySceneConfigRelation> sySceneConfigRelationUpdateWrapper = new UpdateWrapper<>();
sySceneConfigRelationUpdateWrapper.eq("scene_id", id).set("is_valid", 0);

5
shuili-system/src/main/java/com/kms/yg/znjg/domain/SyDir.java

@ -64,6 +64,11 @@ public class SyDir implements Serializable {
*/
private Integer relationSceneCount;
/**
* 图层目录描述
*/
private String directoryDescription;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

26
shuili-system/src/main/java/com/kms/yg/znjg/domain/SySceneLayerRelation.java → shuili-system/src/main/java/com/kms/yg/znjg/domain/SySceneDirRelation.java

@ -1,19 +1,22 @@
package com.kms.yg.znjg.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
/**
*
* @TableName bs_sgc_qqjd_scene_layer_relation
* @TableName bs_sgc_qqjd_scene_dir_relation
*/
@TableName(value ="bs_sgc_qqjd_scene_layer_relation")
@TableName(value = "bs_sgc_qqjd_scene_dir_relation")
@Data
public class SySceneLayerRelation implements Serializable {
public class SySceneDirRelation implements Serializable {
/**
* 主键
*/
@ -29,17 +32,12 @@ public class SySceneLayerRelation implements Serializable {
* 目录id和sy_dir的主键进行关联
*/
private String dirId;
/**
* 图层id和sy_layer的主键进行关联
* 发布日期
*/
private String layerId;
/**
* 排序序号值
*/
private Integer orderNm;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date relateDate;
/**
* 数据是否有效用来标识逻辑删除1可用0已被逻辑删除
*/

6
shuili-system/src/main/java/com/kms/yg/znjg/mapper/SyDirMapper.java

@ -1,7 +1,10 @@
package com.kms.yg.znjg.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.znjg.domain.SyDir;
import com.kms.yg.znjg.domain.SyLayer;
import com.kms.yg.znjg.vo.SyDirVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -14,6 +17,8 @@ import java.util.Set;
public interface SyDirMapper extends BaseMapper<SyDir> {
List<SyDir> findAll();
Page<SyDirVo> findAllByQueryParams(@Param("page") Page<SyDir> page, @Param("syDir") SyDir syDir, @Param("orderBy") String orderBy, @Param("sortBy") String sortBy);
SyDir findById(@Param("id") String id);
void updateOrderNmByParentId(@Param("orderNm") Integer orderNm, @Param("parentId") String parentId);
@ -31,4 +36,5 @@ public interface SyDirMapper extends BaseMapper<SyDir> {
Set<String> selectDirSeq();
List<SyDir> findByIds(@Param("ids") String[] ids);
}

4
shuili-system/src/main/java/com/kms/yg/znjg/mapper/SySceneLayerRelationMapper.java → shuili-system/src/main/java/com/kms/yg/znjg/mapper/SySceneDirRelationMapper.java

@ -1,6 +1,6 @@
package com.kms.yg.znjg.mapper;
import com.kms.yg.znjg.domain.SySceneLayerRelation;
import com.kms.yg.znjg.domain.SySceneDirRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@ -13,7 +13,7 @@ import org.springframework.stereotype.Repository;
*/
@Repository
@Mapper
public interface SySceneLayerRelationMapper extends BaseMapper<SySceneLayerRelation> {
public interface SySceneDirRelationMapper extends BaseMapper<SySceneDirRelation> {
}

28
shuili-system/src/main/java/com/kms/yg/znjg/service/SyDirService.java

@ -2,12 +2,15 @@ package com.kms.yg.znjg.service;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kms.common.utils.UserUtils;
import com.kms.yg.znjg.domain.SyDir;
import com.kms.yg.znjg.domain.SyLayer;
import com.kms.yg.znjg.mapper.SyDirMapper;
import com.kms.yg.znjg.vo.SyDirVo;
import com.kms.yxgh.base.Response;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@ -24,9 +27,26 @@ public class SyDirService extends ServiceImpl<SyDirMapper, SyDir> {
private SyDirMapper syDirMapper;
public List<SyDirVo> findAllDir(String parentId) {
List<SyDir> allDir = syDirMapper.findAll();
return getListFormDirs(allDir, parentId);
public Page<SyDirVo> findAllDir(String parentId, SearchParam<SyDir> spDir) {
SyDir syDirInfo = spDir.getData();
Page<SyDir> page = new Page<>(spDir.getPageNum(), spDir.getPageSize());
Map<String, Object> params = spDir.getParams();
String orderBy = "";
String sortBy = "";
if (params != null) {
if (params.get("orderBy") != null) {
orderBy = (String) params.get("orderBy");
}
if (params.get("sortBy") != null) {
sortBy = (String) params.get("sortBy");
}
}
// 按照查询条件查询所有的目录
Page<SyDirVo> pageDir = syDirMapper.findAllByQueryParams(page, syDirInfo, orderBy, sortBy);
// 组织父子级目录关系
List<SyDirVo> listFormDirs = getListFormDirs(pageDir.getRecords(), parentId);
pageDir.setRecords(listFormDirs);
return pageDir;
}
@ -157,7 +177,7 @@ public class SyDirService extends ServiceImpl<SyDirMapper, SyDir> {
}
}
public List<SyDirVo> getListFormDirs(List<SyDir> dirList, String topId) {
public List<SyDirVo> getListFormDirs(List<SyDirVo> dirList, String topId) {
if (StringUtils.isBlank(topId)) {
topId = "root";
}

7
shuili-system/src/main/java/com/kms/yg/znjg/service/SySceneLayerRelationService.java → shuili-system/src/main/java/com/kms/yg/znjg/service/SySceneDirRelationService.java

@ -1,9 +1,8 @@
package com.kms.yg.znjg.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kms.yg.znjg.domain.SySceneLayerRelation;
import com.kms.yg.znjg.mapper.SySceneLayerRelationMapper;
import com.kms.yg.znjg.domain.SySceneDirRelation;
import com.kms.yg.znjg.mapper.SySceneDirRelationMapper;
import org.springframework.stereotype.Service;
/**
@ -12,6 +11,6 @@ import org.springframework.stereotype.Service;
* @createDate 2024-03-08 15:21:13
*/
@Service
public class SySceneLayerRelationService extends ServiceImpl<SySceneLayerRelationMapper, SySceneLayerRelation> {
public class SySceneDirRelationService extends ServiceImpl<SySceneDirRelationMapper, SySceneDirRelation> {
}

30
shuili-system/src/main/resources/mapper/yg/znjg/SyDirMapper.xml

@ -14,13 +14,14 @@
<result property="pubDate" column="pub_date" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="relationSceneCount" column="relation_scene_count" jdbcType="INTEGER"/>
<result property="directoryDescription" column="directory_description" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id
,name,parent_id,
xpath,dir_seq,order_nm,pub_date,
create_user,relation_scene_count
create_user,relation_scene_count,directory_description
</sql>
<!--获取指定场景指定类型所有的目录-->
@ -32,6 +33,27 @@
ORDER BY order_nm
</select>
<select id="findAllByQueryParams" resultType="com.kms.yg.znjg.vo.SyDirVo">
SELECT
<include refid="Base_Column_List"/>
FROM bs_sgc_qqjd_dir
where is_valid = 1
<if test="syDir.name != null and syDir.name != ''">
AND name LIKE CONCAT(CONCAT('%', TRIM(#{syDir.name,jdbcType=VARCHAR})), '%')
</if>
order by
<if test="orderBy !=null and orderBy != '' ">
<choose>
<when test="orderBy =='name'">
CONVERT(a.service_name USING gb2312) ${sortBy}
</when>
<otherwise>
${orderBy} ${sortBy}
</otherwise>
</choose>
</if>
</select>
<!-- 根据id获取目录-->
<select id="findById" resultMap="BaseResultMap">
select
@ -55,10 +77,10 @@
<!--新增实体对象-->
<insert id="insertAll">
insert into bs_sgc_qqjd_dir
(id, name, parent_id, xpath, dir_seq, order_nm, pub_date, create_user, relation_scene_count, is_valid)
(id, name, parent_id, xpath, dir_seq, order_nm, pub_date, create_user, relation_scene_count, directory_description, is_valid)
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{parentId,jdbcType=VARCHAR},
#{xpath,jdbcType=VARCHAR}, #{dirSeq,jdbcType=VARCHAR}, #{orderNm,jdbcType=NUMERIC}, #{pubDate},
#{createUser,jdbcType=VARCHAR}, #{relationSceneCount,jdbcType=INTEGER}, 1)
#{createUser,jdbcType=VARCHAR}, #{relationSceneCount,jdbcType=INTEGER}, #{directoryDescription,jdbcType=VARCHAR}, 1)
</insert>
<!--更新实体对象-->
@ -73,6 +95,7 @@
<if test="pubDate != null">pub_date=#{pubDate},</if>
<if test="createUser != null">create_user=#{createUser,jdbcType=VARCHAR},</if>
<if test="relationSceneCount != null">#{relationSceneCount,jdbcType=INTEGER},</if>
<if test="directoryDescription != null">directory_description=#{directoryDescription,jdbcType=VARCHAR},</if>
</set>
where is_valid = 1
and
@ -137,4 +160,5 @@
</foreach>
ORDER BY order_nm
</select>
</mapper>

20
shuili-system/src/main/resources/mapper/yg/znjg/SySceneDirRelationMapper.xml

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kms.yg.znjg.mapper.SySceneDirRelationMapper">
<resultMap id="BaseResultMap" type="com.kms.yg.znjg.domain.SySceneDirRelation">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="sceneId" column="scene_id" jdbcType="VARCHAR"/>
<result property="dirId" column="dir_id" jdbcType="VARCHAR"/>
<result property="relateDate" column="relate_date" jdbcType="TIMESTAMP"/>
<result property="isValid" column="is_valid" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
id
,scene_id,dir_id,
layer_id,order_nm,is_valid
</sql>
</mapper>

20
shuili-system/src/main/resources/mapper/yg/znjg/SySceneLayerRelationMapper.xml

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kms.yg.znjg.mapper.SySceneLayerRelationMapper">
<resultMap id="BaseResultMap" type="com.kms.yg.znjg.domain.SySceneLayerRelation">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="sceneId" column="scene_id" jdbcType="VARCHAR"/>
<result property="dirId" column="dir_id" jdbcType="VARCHAR"/>
<result property="layerId" column="layer_id" jdbcType="VARCHAR"/>
<result property="orderNm" column="order_nm" jdbcType="DECIMAL"/>
<result property="isValid" column="is_valid" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
id,scene_id,dir_id,
layer_id,order_nm,is_valid
</sql>
</mapper>
Loading…
Cancel
Save