14 changed files with 797 additions and 0 deletions
@ -0,0 +1,118 @@ |
|||
package com.kms.yg.znjg.controller; |
|||
|
|||
import com.kms.yg.znjg.domain.SyDir; |
|||
import com.kms.yg.znjg.service.SyDirLayerService; |
|||
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 org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
import org.springframework.transaction.interceptor.TransactionAspectSupport; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 图层目录管理 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/map/layerDir") |
|||
public class SyDirLayerController { |
|||
@Autowired |
|||
private SyLayerService syLayerService; |
|||
|
|||
@Autowired |
|||
private SyDirService syDirService; |
|||
|
|||
@Autowired |
|||
private SyDirLayerService syDirLayerService; |
|||
|
|||
/** |
|||
* 查询图层目录树信息 |
|||
* |
|||
* @param parentId 父节点id,可以为空,不是空的时候查询该父节点id的所有子目录,否则展示所有目录 |
|||
* @return |
|||
*/ |
|||
@GetMapping(value = "/getAllTreeDir") |
|||
public Response getAllTreeDir(String parentId) { |
|||
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); |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
response.setCode("500"); |
|||
response.setMsg(e.getMessage()); |
|||
} |
|||
return response; |
|||
} |
|||
|
|||
/** |
|||
* 保存图层目录信息 |
|||
* |
|||
* @param syDir 目录实体对象 |
|||
* @return |
|||
* @throws Exception |
|||
*/ |
|||
@PostMapping(value = "/saveDir") |
|||
public Response saveDir(SyDir syDir) throws Exception { |
|||
try { |
|||
return syDirService.saveSyDir(syDir); |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
return new Response() {{ |
|||
setCode("500"); |
|||
setMsg(e.getMessage()); |
|||
}}; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 删除图层目录 |
|||
* |
|||
* @param dirId 目录id,不能为空 |
|||
* @return |
|||
* @throws Exception |
|||
*/ |
|||
@Transactional(rollbackFor = Exception.class) |
|||
@DeleteMapping(value = "/deleteDir") |
|||
public Response removeDirAndSonById(String dirId) throws Exception { |
|||
Response response = new Response(); |
|||
try { |
|||
//删除目录
|
|||
int deleteCount = syDirService.removeDirAndSonById(dirId); |
|||
if (deleteCount == 0) { |
|||
throw new Exception("未找到需要删除的目录"); |
|||
} |
|||
//删除图层数据
|
|||
syLayerService.removeByMap(new HashMap<String, Object>() {{ |
|||
put("dir_ids", dirId); |
|||
}}); |
|||
//删除图层和目录关联的数据
|
|||
syDirLayerService.removeByMap(new HashMap<String, Object>() {{ |
|||
put("dir_id", dirId); |
|||
}}); |
|||
response.setCode("200"); |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
response.setCode("500"); |
|||
response.setMsg(e.getMessage()); |
|||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
|||
} |
|||
return response; |
|||
} |
|||
} |
@ -0,0 +1,49 @@ |
|||
package com.kms.yg.znjg.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @TableName sy_dir |
|||
*/ |
|||
@TableName(value = "sy_dir") |
|||
@Data |
|||
public class SyDir implements Serializable { |
|||
/** |
|||
* 主键 |
|||
*/ |
|||
@TableId |
|||
private String id; |
|||
|
|||
/** |
|||
* 目录名称 |
|||
*/ |
|||
private String name; |
|||
|
|||
/** |
|||
* 父节点ID |
|||
*/ |
|||
private String parentId; |
|||
|
|||
/** |
|||
* 节点路径 |
|||
*/ |
|||
private String xpath; |
|||
|
|||
/** |
|||
* 目录序列 |
|||
*/ |
|||
private String dirSeq; |
|||
|
|||
/** |
|||
* 排序 |
|||
*/ |
|||
private Integer orderNm; |
|||
|
|||
@TableField(exist = false) |
|||
private static final long serialVersionUID = 1L; |
|||
} |
@ -0,0 +1,40 @@ |
|||
package com.kms.yg.znjg.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* |
|||
* @TableName sy_dir_layer |
|||
*/ |
|||
@TableName(value ="sy_dir_layer") |
|||
@Data |
|||
public class SyDirLayer implements Serializable { |
|||
/** |
|||
* 主键 |
|||
*/ |
|||
@TableId |
|||
private String id; |
|||
|
|||
/** |
|||
* 目录id,和sy_dir的主键进行关联 |
|||
*/ |
|||
private String dirId; |
|||
|
|||
/** |
|||
* 图层id,和sy_layer的主键进行关联 |
|||
*/ |
|||
private String layerId; |
|||
|
|||
/** |
|||
* 排序序号值 |
|||
*/ |
|||
private Integer orderNm; |
|||
|
|||
@TableField(exist = false) |
|||
private static final long serialVersionUID = 1L; |
|||
} |
@ -0,0 +1,157 @@ |
|||
package com.kms.yg.znjg.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonInclude; |
|||
import lombok.Data; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.ArrayList; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @TableName sy_layer |
|||
*/ |
|||
@TableName(value = "sy_layer") |
|||
@Data |
|||
@JsonInclude(JsonInclude.Include.NON_EMPTY) |
|||
public class SyLayer implements Serializable { |
|||
/** |
|||
* 主键 |
|||
*/ |
|||
@TableId |
|||
private String id; |
|||
|
|||
/** |
|||
* 图层名称 |
|||
*/ |
|||
private String serviceName; |
|||
|
|||
/** |
|||
* 图层别名 |
|||
*/ |
|||
private String serviceNameAlias; |
|||
|
|||
/** |
|||
* 图层服务URL |
|||
*/ |
|||
private String serviceUrl; |
|||
|
|||
|
|||
/** |
|||
* 图层服务注记URL(底图) |
|||
*/ |
|||
private String annotationUrl; |
|||
|
|||
/** |
|||
* 图层服务token(底图) |
|||
*/ |
|||
private String serviceToken; |
|||
|
|||
/** |
|||
* 图层服务类型 |
|||
*/ |
|||
private String serviceType; |
|||
|
|||
/** |
|||
* 是否为图层组(配置geoserver图层组时需要判断,如果为图层组,则不加载图层组默认的样式) |
|||
*/ |
|||
private Boolean isLayerGroup; |
|||
|
|||
/** |
|||
* 图层索引,对于易智瑞发布的图层,就是0,1,2这些数字,对于geoserver发布的服务,索引值为`工作空间:图层名称` |
|||
*/ |
|||
private String serviceIndex; |
|||
|
|||
/** |
|||
* 注记图层服务索引(底图) |
|||
*/ |
|||
private String annotationServiceIndex; |
|||
|
|||
/** |
|||
* 发布日期 |
|||
*/ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
|||
private Date pubDate; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createUser; |
|||
|
|||
/** |
|||
* 3d图层类型 白膜/BIM/倾斜摄影/点云/人工建模 |
|||
*/ |
|||
@TableField(value = "layer_3d_type") |
|||
private String layer3dType; |
|||
|
|||
|
|||
/** |
|||
* 瓦片大小,wmts服务需要填写 |
|||
*/ |
|||
private Integer tileSize; |
|||
|
|||
/** |
|||
* 矩阵集,wmts服务需要填写 |
|||
*/ |
|||
private String tileMatrixSet; |
|||
|
|||
/** |
|||
* 所属目录id,以逗号分隔 |
|||
*/ |
|||
private String dirIds; |
|||
|
|||
/** |
|||
* 所属目录名称,以逗号分隔 |
|||
*/ |
|||
private String dirNames; |
|||
|
|||
/** |
|||
* 所属目录名称,以逗号分隔 |
|||
*/ |
|||
private String remark; |
|||
|
|||
/** |
|||
* 后缀名,wmts服务需要填写 |
|||
*/ |
|||
private String format; |
|||
|
|||
/** |
|||
* 图层表扩展字段集合的json |
|||
*/ |
|||
private String data; |
|||
|
|||
/** |
|||
* 3D tiles性能调试参数 |
|||
*/ |
|||
@TableField(value = "tileset_option") |
|||
private String tileSetOption; |
|||
|
|||
@TableField(exist = false) |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 关联服务id |
|||
*/ |
|||
private String relationServiceId; |
|||
|
|||
/** |
|||
* 关联服务名称 |
|||
*/ |
|||
private String relationServiceName; |
|||
|
|||
/** |
|||
* 关联图层样式id |
|||
*/ |
|||
private String relationStyleId; |
|||
|
|||
/** |
|||
* 关联图层样式名称 |
|||
*/ |
|||
private String relationStyleName; |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.kms.yg.znjg.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.kms.yg.znjg.domain.SyDirLayer; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
/** |
|||
* @author lenovo |
|||
* @description 针对表【sy_dir_layer】的数据库操作Mapper |
|||
* @createDate 2023-03-09 17:04:18 |
|||
* @Entity com.sy.servicemanager.domain.SyDirLayer |
|||
*/ |
|||
@Mapper |
|||
@Repository |
|||
public interface SyDirLayerMapper extends BaseMapper<SyDirLayer> { |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,34 @@ |
|||
package com.kms.yg.znjg.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.kms.yg.znjg.domain.SyDir; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
import java.util.List; |
|||
import java.util.Set; |
|||
|
|||
@Repository |
|||
@Mapper |
|||
public interface SyDirMapper extends BaseMapper<SyDir> { |
|||
List<SyDir> findAll(); |
|||
|
|||
SyDir findById(@Param("id") String id); |
|||
|
|||
void updateOrderNmByParentId(@Param("orderNm") Integer orderNm, @Param("parentId") String parentId); |
|||
|
|||
void insertAll(SyDir syDir); |
|||
|
|||
void updateSelective(SyDir syDir); |
|||
|
|||
List<SyDir> getChildrenByParentId(@Param("parentId") String parentId); |
|||
|
|||
int deleteByDirIdInSeq(@Param("dirId") String dirId); |
|||
|
|||
List<SyDir> findSecond(); |
|||
|
|||
Set<String> selectDirSeq(); |
|||
|
|||
List<SyDir> findByIds(@Param("ids") String[] ids); |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.kms.yg.znjg.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.kms.yg.znjg.domain.SyLayer; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
@Repository |
|||
@Mapper |
|||
public interface SyLayerMapper extends BaseMapper<SyLayer> { |
|||
|
|||
} |
@ -0,0 +1,9 @@ |
|||
package com.kms.yg.znjg.service; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.kms.yg.znjg.domain.SyDirLayer; |
|||
import com.kms.yg.znjg.mapper.SyDirLayerMapper; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
@Service |
|||
public class SyDirLayerService extends ServiceImpl<SyDirLayerMapper, SyDirLayer> { |
|||
} |
@ -0,0 +1,157 @@ |
|||
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.service.impl.ServiceImpl; |
|||
import com.kms.yg.znjg.domain.SyDir; |
|||
import com.kms.yg.znjg.mapper.SyDirMapper; |
|||
import com.kms.yg.znjg.vo.SyDirVo; |
|||
import com.kms.yxgh.base.Response; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.*; |
|||
import java.util.function.Function; |
|||
import java.util.stream.Collectors; |
|||
|
|||
@Service |
|||
public class SyDirService extends ServiceImpl<SyDirMapper, SyDir> { |
|||
@Autowired |
|||
private SyDirMapper syDirMapper; |
|||
|
|||
|
|||
public List<SyDirVo> findAllDir(String parentId) { |
|||
List<SyDir> allDir = syDirMapper.findAll(); |
|||
return getListFormDirs(allDir, parentId); |
|||
} |
|||
|
|||
|
|||
public Response saveSyDir(SyDir syDir) throws Exception { |
|||
String rootStr = "root"; |
|||
boolean insert = false; |
|||
if (StringUtils.isBlank(syDir.getName())) { |
|||
return new Response() {{ |
|||
setCode("500"); |
|||
setMsg("名称不能为空"); |
|||
}}; |
|||
} |
|||
if (StringUtils.isBlank(syDir.getParentId())) { |
|||
syDir.setParentId(rootStr); |
|||
} |
|||
if (checkRepeatName(syDir.getParentId(), syDir.getName(), syDir.getId())) { |
|||
return new Response() {{ |
|||
setCode("500"); |
|||
setMsg("名称不能重复"); |
|||
}}; |
|||
} |
|||
if (StringUtils.isBlank(syDir.getId())) { |
|||
syDir.setId(UUID.randomUUID().toString()); |
|||
insert = true; |
|||
} |
|||
if (rootStr.equals(syDir.getParentId())) { |
|||
syDir.setXpath("/目录管理/" + syDir.getName()); |
|||
syDir.setDirSeq(syDir.getId() + "," + rootStr); |
|||
} else { |
|||
SyDir parent = syDirMapper.findById(syDir.getParentId()); |
|||
syDir.setXpath(parent.getXpath() + "/" + syDir.getName()); |
|||
syDir.setDirSeq(syDir.getId() + "," + parent.getDirSeq()); |
|||
} |
|||
Boolean b = StringUtils.isNotBlank(syDir.getParentId()) && (syDir.getOrderNm() > 0 || syDir.getOrderNm() < 0); |
|||
if (b) { |
|||
SyDir searchSyDir = new SyDir(); |
|||
searchSyDir.setParentId(syDir.getParentId()); |
|||
if (syDir.getOrderNm() > 0) { |
|||
searchSyDir.setOrderNm(syDir.getOrderNm()); |
|||
} |
|||
LambdaQueryWrapper<SyDir> queryWrapper = new LambdaQueryWrapper<>(); |
|||
queryWrapper |
|||
.eq(StringUtils.isNotBlank(searchSyDir.getParentId()), SyDir::getParentId, searchSyDir.getParentId()) |
|||
.eq(ObjectUtil.isNotNull(searchSyDir.getOrderNm()), SyDir::getOrderNm, searchSyDir.getOrderNm()); |
|||
List<SyDir> syDirs = syDirMapper.selectList(queryWrapper); |
|||
int orderNm = syDir.getOrderNm(); |
|||
// 更新目录排序信息
|
|||
for (SyDir vo : syDirs) { |
|||
if (syDir.getOrderNm() > 0 && !vo.getId().equals(syDir.getId())) { |
|||
syDirMapper.updateOrderNmByParentId(syDir.getOrderNm(), syDir.getParentId()); |
|||
break; |
|||
} |
|||
if (syDir.getOrderNm() < 0 && orderNm <= vo.getOrderNm()) { |
|||
orderNm = vo.getOrderNm(); |
|||
} |
|||
} |
|||
if (syDir.getOrderNm() < 0) { |
|||
syDir.setOrderNm(orderNm < 0 ? 1 : orderNm + 1); |
|||
} |
|||
} |
|||
if (insert) { |
|||
syDirMapper.insertAll(syDir); |
|||
} else { |
|||
syDirMapper.updateSelective(syDir); |
|||
} |
|||
updateChildrenDirSeq(syDir); |
|||
return new Response() {{ |
|||
setCode("200"); |
|||
setData(syDirMapper.findById(syDir.getId())); |
|||
}}; |
|||
} |
|||
|
|||
|
|||
public int removeDirAndSonById(String dirId) { |
|||
try { |
|||
return syDirMapper.deleteByDirIdInSeq(dirId); |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
throw e; |
|||
} |
|||
} |
|||
|
|||
public boolean checkRepeatName(String parentId, String Name, String id) throws Exception { |
|||
List<SyDir> children = syDirMapper.getChildrenByParentId(parentId); |
|||
List<SyDir> matchItems = children.stream().filter(o -> o.getName().equals(Name) && !o.getId().equals(id)).collect(Collectors.toList()); |
|||
return matchItems.size() > 0; |
|||
} |
|||
|
|||
private void updateChildrenDirSeq(SyDir parentSyDir) throws Exception { |
|||
List<SyDir> childrenList = syDirMapper.getChildrenByParentId(parentSyDir.getId()); |
|||
if (childrenList == null || childrenList.size() == 0) { |
|||
return; |
|||
} |
|||
for (SyDir children : childrenList) { |
|||
children.setXpath(parentSyDir.getXpath() + "/" + children.getName()); |
|||
children.setDirSeq(children.getId() + "," + parentSyDir.getDirSeq()); |
|||
syDirMapper.updateSelective(children); |
|||
updateChildrenDirSeq(children); |
|||
} |
|||
} |
|||
|
|||
public List<SyDirVo> getListFormDirs(List<SyDir> dirList, String topId) { |
|||
if (StringUtils.isBlank(topId)) { |
|||
topId = "root"; |
|||
} |
|||
List<SyDirVo> list = dirList.stream().map(x -> { |
|||
SyDirVo vo = new SyDirVo(); |
|||
BeanUtils.copyProperties(x, vo); |
|||
return vo; |
|||
}).collect(Collectors.toList()); |
|||
Map<String, SyDirVo> idMap = list.stream().collect(Collectors.toMap(x -> x.getId(), Function.identity())); |
|||
Iterator<SyDirVo> it = list.iterator(); |
|||
while (it.hasNext()) { |
|||
SyDirVo item = it.next(); |
|||
if (item.getParentId() != null && item.getParentId().equals(topId)) { |
|||
//
|
|||
} else { |
|||
SyDirVo parent = idMap.get(item.getParentId()); |
|||
if (parent != null) { |
|||
if (parent.getChildren() == null) { |
|||
parent.setChildren(new ArrayList<>()); |
|||
} |
|||
parent.getChildren().add(item); |
|||
} |
|||
it.remove(); |
|||
} |
|||
} |
|||
return list; |
|||
} |
|||
} |
@ -0,0 +1,9 @@ |
|||
package com.kms.yg.znjg.service; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.kms.yg.znjg.domain.SyLayer; |
|||
import com.kms.yg.znjg.mapper.SyLayerMapper; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
@Service |
|||
public class SyLayerService extends ServiceImpl<SyLayerMapper, SyLayer> { |
|||
} |
@ -0,0 +1,11 @@ |
|||
package com.kms.yg.znjg.vo; |
|||
|
|||
import com.kms.yg.znjg.domain.SyDir; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class SyDirVo extends SyDir { |
|||
private List<SyDirVo> children; |
|||
} |
@ -0,0 +1,13 @@ |
|||
<?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.SyDirLayerMapper"> |
|||
<resultMap id="BaseResultMap" type="com.kms.yg.znjg.domain.SyDirLayer"> |
|||
<id property="id" column="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> |
|||
</mapper> |
@ -0,0 +1,132 @@ |
|||
<?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.SyDirMapper"> |
|||
|
|||
<resultMap id="BaseResultMap" type="com.kms.yg.znjg.domain.SyDir"> |
|||
<id property="id" column="id" jdbcType="VARCHAR"/> |
|||
<result property="name" column="name" jdbcType="VARCHAR"/> |
|||
<result property="parentId" column="parent_id" jdbcType="VARCHAR"/> |
|||
<result property="xpath" column="xpath" jdbcType="VARCHAR"/> |
|||
<result property="dirSeq" column="dir_seq" jdbcType="VARCHAR"/> |
|||
<result property="orderNm" column="order_nm" jdbcType="DECIMAL"/> |
|||
</resultMap> |
|||
|
|||
<sql id="Base_Column_List"> |
|||
id |
|||
,name,parent_id, |
|||
xpath,dir_seq,order_nm |
|||
</sql> |
|||
|
|||
<!--获取指定场景指定类型所有的目录--> |
|||
<select id="findAll" resultMap="BaseResultMap"> |
|||
SELECT |
|||
<include refid="Base_Column_List"/> |
|||
FROM sy_dir |
|||
where is_valid = 1 |
|||
ORDER BY order_nm |
|||
</select> |
|||
|
|||
<!-- 根据id获取目录--> |
|||
<select id="findById" resultMap="BaseResultMap"> |
|||
select |
|||
<include refid="Base_Column_List"/> |
|||
from sy_dir |
|||
where is_valid = 1 |
|||
and |
|||
id = #{id,jdbcType=VARCHAR} |
|||
</select> |
|||
|
|||
<!--根据父id更新排序号--> |
|||
<update id="updateOrderNmByParentId"> |
|||
update sy_dir |
|||
set order_nm =order_nm + 1 |
|||
where is_valid = 1 |
|||
AND parent_id = #{parentId,jdbcType=VARCHAR} |
|||
AND <![CDATA[ order_nm >= #{orderNm} |
|||
]]> |
|||
</update> |
|||
|
|||
<!--新增实体对象--> |
|||
<insert id="insertAll"> |
|||
insert into sy_dir |
|||
(id, name, parent_id, xpath, dir_seq, order_nm, is_valid) |
|||
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{parentId,jdbcType=VARCHAR}, |
|||
#{xpath,jdbcType=VARCHAR}, #{dirSeq,jdbcType=VARCHAR}, #{orderNm,jdbcType=NUMERIC}, 1) |
|||
</insert> |
|||
|
|||
<!--更新实体对象--> |
|||
<update id="updateSelective"> |
|||
update sy_dir |
|||
<set> |
|||
<if test="name != null">name=#{name,jdbcType=VARCHAR},</if> |
|||
<if test="parentId != null">parent_id=#{parentId,jdbcType=VARCHAR},</if> |
|||
<if test="xpath != null">xpath=#{xpath,jdbcType=VARCHAR},</if> |
|||
<if test="dirSeq != null">dir_seq=#{dirSeq,jdbcType=VARCHAR},</if> |
|||
<if test="orderNm != null">order_nm=#{orderNm,jdbcType=NUMERIC},</if> |
|||
</set> |
|||
where is_valid = 1 |
|||
and |
|||
id = #{id,jdbcType=VARCHAR} |
|||
</update> |
|||
|
|||
<!--根据父id获取子节点数据--> |
|||
<select id="getChildrenByParentId" resultMap="BaseResultMap"> |
|||
select |
|||
<include refid="Base_Column_List"/> |
|||
from sy_dir |
|||
where is_valid = 1 |
|||
and |
|||
parent_id = #{parentId,jdbcType=VARCHAR} |
|||
ORDER BY order_nm |
|||
</select> |
|||
|
|||
<!--根据目录id删除目录--> |
|||
<delete id="deleteByDirIdInSeq"> |
|||
update sy_dir |
|||
<set> |
|||
is_valid=0, |
|||
</set> |
|||
where is_valid = 1 and dir_seq LIKE CONCAT('%', CONCAT(#{dirId}, '%')) |
|||
</delete> |
|||
|
|||
<!--查找所有二级目录--> |
|||
<select id="findSecond" resultMap="BaseResultMap"> |
|||
SELECT |
|||
<include refid="Base_Column_List"/> |
|||
FROM |
|||
sy_dir t1 |
|||
WHERE t1.is_valid = 1 |
|||
and |
|||
t1.PARENT_ID |
|||
IN ("root") |
|||
ORDER BY t1.order_nm |
|||
</select> |
|||
|
|||
<select id="selectDirSeq" resultType="java.lang.String"> |
|||
SELECT sy.dir_seq |
|||
FROM sy_dir sy, |
|||
sy_dir_layer s, |
|||
sy_layer l |
|||
WHERE sy.id = s.dir_id |
|||
AND s.layer_id = l.id |
|||
AND sy.is_valid = 1 |
|||
AND l.is_valid = 1 |
|||
AND s.is_valid = 1 |
|||
</select> |
|||
|
|||
|
|||
<!--按id集合查找--> |
|||
<select id="findByIds" resultMap="BaseResultMap"> |
|||
SELECT |
|||
<include refid="Base_Column_List"/> |
|||
FROM sy_dir |
|||
WHERE is_valid = 1 |
|||
AND id IN |
|||
<foreach collection="ids" item="item" separator="," open="(" close=")"> |
|||
#{item} |
|||
</foreach> |
|||
ORDER BY order_nm |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,35 @@ |
|||
<?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.SyLayerMapper"> |
|||
|
|||
<resultMap id="BaseResultMap" type="com.kms.yg.znjg.domain.SyLayer"> |
|||
<id property="id" column="id" jdbcType="VARCHAR"/> |
|||
<result property="serviceName" column="service_name" jdbcType="VARCHAR"/> |
|||
<result property="serviceNameAlias" column="service_name_alias" jdbcType="VARCHAR"/> |
|||
<result property="serviceUrl" column="service_url" jdbcType="VARCHAR"/> |
|||
<result property="annotationUrl" column="annotation_url" jdbcType="VARCHAR"/> |
|||
<result property="serviceToken" column="service_token" jdbcType="VARCHAR"/> |
|||
<result property="serviceType" column="service_type" jdbcType="VARCHAR"/> |
|||
<result property="serviceIndex" column="service_index" jdbcType="VARCHAR"/> |
|||
<result property="annotationServiceIndex" column="annotation_service_index" jdbcType="VARCHAR"/> |
|||
<result property="pubDate" column="pub_date" jdbcType="TIMESTAMP"/> |
|||
<result property="createUser" column="create_user" jdbcType="VARCHAR"/> |
|||
<result property="layer3dType" column="layer_3d_type" jdbcType="VARCHAR"/> |
|||
<result property="tileSize" column="tile_size" jdbcType="INTEGER"/> |
|||
<result property="tileMatrixSet" column="tile_matrix_set" jdbcType="VARCHAR"/> |
|||
<result property="dirIds" column="dir_ids" jdbcType="VARCHAR"/> |
|||
<result property="dirNames" column="dir_names" jdbcType="VARCHAR"/> |
|||
<result property="remark" column="remark" jdbcType="VARCHAR"/> |
|||
<result property="format" column="format" jdbcType="VARCHAR"/> |
|||
<result property="data" column="data" jdbcType="VARCHAR"/> |
|||
<result property="tileSetOption" column="tileset_option" jdbcType="VARCHAR"/> |
|||
<result property="isLayerGroup" column="is_layer_group" jdbcType="BOOLEAN"/> |
|||
<result property="relationServiceId" column="relation_service_id" jdbcType="VARCHAR"/> |
|||
<result property="relationServiceName" column="relation_service_name" jdbcType="VARCHAR"/> |
|||
<result property="relationStyleId" column="relation_style_id" jdbcType="VARCHAR"/> |
|||
<result property="relationStyleName" column="relation_style_name" jdbcType="VARCHAR"/> |
|||
<result property="isValid" column="is_valid" jdbcType="INTEGER"/> |
|||
</resultMap> |
|||
</mapper> |
Loading…
Reference in new issue