From bdcf7fabceed05f8bf3aae4eca82202845337f98 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Mon, 23 Oct 2023 16:26:33 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E6=94=BF=E7=AD=96=E8=B5=84?= =?UTF-8?q?=E6=96=99=E4=B8=AD=E5=BF=83=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SarLawsInformationController.java | 72 ++++++++ .../dao/SarLawsInformationDao.java | 25 +++ .../entity/SarLawsInformation.java | 160 ++++++++++++++++++ .../service/SarLawsInformationService.java | 24 +++ .../impl/SarLawsInformationServiceImpl.java | 92 ++++++++++ ...arLawsInformationCenterTreeController.java | 56 ++++++ .../dao/SarLawsInformationCenterTreeDao.java | 18 ++ .../entity/SarLawsInformationCenterTree.java | 46 +++++ .../SarLawsInformationCenterTreeData.java | 40 +++++ .../SarLawsInformationCenterTreeService.java | 25 +++ ...rLawsInformationCenterTreeServiceImpl.java | 142 ++++++++++++++++ .../service/impl/SarLawsTopicServiceImpl.java | 2 - .../SarLawsInformationMapper.xml | 66 ++++++++ .../SarLawsInformationCenterTreeMapper.xml | 18 ++ 14 files changed, 784 insertions(+), 2 deletions(-) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/controller/SarLawsInformationController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/dao/SarLawsInformationDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformation.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/controller/SarLawsInformationCenterTreeController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/dao/SarLawsInformationCenterTreeDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/entity/SarLawsInformationCenterTree.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/entity/SarLawsInformationCenterTreeData.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/SarLawsInformationCenterTreeService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/impl/SarLawsInformationCenterTreeServiceImpl.java create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformation/SarLawsInformationMapper.xml create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformationCenterTree/SarLawsInformationCenterTreeMapper.xml diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/controller/SarLawsInformationController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/controller/SarLawsInformationController.java new file mode 100644 index 00000000..7ef30d82 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/controller/SarLawsInformationController.java @@ -0,0 +1,72 @@ +package com.adc.da.slrs.sarLawsInformation.controller; + +import com.adc.da.base.web.BaseController; +import com.adc.da.http.PageInfo; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformation; +import com.adc.da.slrs.sarLawsInformation.service.SarLawsInformationService; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author tjzdw + * @description + * @date 2023/10/23 + */ +@RestController +@RequestMapping("/${restPath}/lawss/sarLawsInformation") +public class SarLawsInformationController extends BaseController { + + @Resource + private SarLawsInformationService informationService; + + @ApiOperation(value = "根据政策资料ID查询资料信息") + @GetMapping("/getLawsInformationInfo") + public ResponseMessage getLawsInformationInfo(String id){ + if (StringUtils.isBlank(id)) { + return Result.error("会议ID为空!"); + } + SarLawsInformation sarLawsInformation = informationService.getLawsInformationInfo(id); + return Result.success(sarLawsInformation); + } + + @ApiOperation(value = "分页查询") + @GetMapping("/page") + public ResponseMessage> page(SarLawsInformation sarLawsInformation) { + List rows = informationService.queryByPage(sarLawsInformation); + return Result.success(getPageInfo(sarLawsInformation.getPager(), rows)); + } + + @ApiOperation(value = "新增政策资料") + @PostMapping(value = "/addLawsInformation", consumes = "application/json;charset=UTF-8") + public ResponseMessage create(@RequestBody SarLawsInformation sarLawsInformation) throws Exception { + informationService.addLawsInformation(sarLawsInformation); + return Result.success(); + } + + @ApiOperation("根据资料ID删除资料信息") + @DeleteMapping("/deleteLawsInformation") + public ResponseMessage deleteInformation(String id) { + if (StringUtils.isBlank(id)) { + return Result.error("删除失败,政策资料ID为空"); + } + informationService.deleteInformation(id); + return Result.success(); + } + + @ApiOperation("根据资料ID修改政策资料信息") + @PutMapping("/updateLawsInformationInfo") + public ResponseMessage updateLawsInformationInfo(@RequestBody SarLawsInformation lawsInformation) { + if (ObjectUtils.isEmpty(lawsInformation)) { + return Result.error("更新失败,政策资料信息不存在"); + } + Boolean updateResult = informationService.updateLawsInformationInfo(lawsInformation); + return updateResult ? Result.success() : Result.error("更新失败"); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/dao/SarLawsInformationDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/dao/SarLawsInformationDao.java new file mode 100644 index 00000000..337149b8 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/dao/SarLawsInformationDao.java @@ -0,0 +1,25 @@ +package com.adc.da.slrs.sarLawsInformation.dao; + +import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** +* @author tjzdw +* @description 针对表【sar_laws_information】的数据库操作Mapper +* @createDate 2023-10-23 09:41:56 +* @Entity com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformation +*/ +@Mapper +public interface SarLawsInformationDao extends BaseMapper { + + Integer queryByPageCount(SarLawsInformation page); + + List queryByPage(SarLawsInformation page); +} + + + + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformation.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformation.java new file mode 100644 index 00000000..8c21cbc3 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformation.java @@ -0,0 +1,160 @@ +package com.adc.da.slrs.sarLawsInformation.entity; + +import com.adc.da.base.page.BasePage; +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 lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * + * @TableName sar_laws_information + */ +@TableName(value ="sar_laws_information") +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@Data +public class SarLawsInformation extends BasePage implements Serializable { + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 一级资料类别 + */ + @TableField(value = "FIRST_TYPE") + private String firstType; + + /** + * 二级资料类别 + */ + @TableField(value = "SECOND_TYPE") + private String secondType; + + /** + * 三级资料类别 + */ + @TableField(value = "THIRD_TYPE") + private String thirdType; + + /** + * 四级资料类别 + */ + @TableField(value = "FOURTH_TYPE") + private String fourthType; + + /** + * 资料名称 + */ + @TableField(value = "NAME") + private String name; + + /** + * 资料归属部门 + */ + @TableField(value = "DEPARTMENT") + private String department; + + /** + * 作者 + */ + @TableField(value = "AUTHOR") + private String author; + + /** + * 上传时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @TableField(value = "UPLOAD_TIME") + private Date uploadTime; + + /** + * 资料说明 + */ + @TableField(value = "DESCRIPTION") + private String description; + + /** + * 资料文件 + */ + @TableField(value = "INFORMATION_FILE") + private String informationFile; + + /** + * 资料文件名称 + */ + @TableField(exist = false) + private String informationFileName; + + /** + * 可查看者,若设置为空则仅有上传人和审批人可以查看,若设置人员后,仅有可查看者可查看文件信息。 + */ + @TableField(value = "VIEWABLE_BY") + private String viewableBy; + + /** + * 可下载者,若设置为空则所有用户均可下载,若设置人员后,仅有可下载者可以下载文件信息。 + */ + @TableField(value = "DOWNLOADABLE_BY") + private String downloadableBy; + + /** + * 树节点ID + */ + private String treeNodeId; + + /** + * 树节点名称 + */ + @TableField(exist = false) + private String treeNodeName; + + /** + * 逻辑删除,0可用,1不可用 + */ + @TableField(value = "VALID_FLAG") + private Integer validFlag; + + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @TableField(value = "CREATE_TIME") + private Date createTime; + + /** + * 修改时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @TableField(value = "MODIFY_TIME") + private Date modifyTime; + + + /** + * 排序字段 + */ + @TableField(exist = false) + private String sortField = "ID"; + + /** + * 排序方式 + */ + @TableField(exist = false) + private String sortMode = "asc"; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationService.java new file mode 100644 index 00000000..e8797d2c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationService.java @@ -0,0 +1,24 @@ +package com.adc.da.slrs.sarLawsInformation.service; + +import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformation; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author tjzdw +* @description 针对表【sar_laws_information】的数据库操作Service +* @createDate 2023-10-23 09:41:56 +*/ +public interface SarLawsInformationService extends IService { + + SarLawsInformation getLawsInformationInfo(String id); + + List queryByPage(SarLawsInformation sarLawsInformation); + + Integer addLawsInformation(SarLawsInformation sarLawsInformation); + + Boolean deleteInformation(String id); + + Boolean updateLawsInformationInfo(SarLawsInformation lawsInformation); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationServiceImpl.java new file mode 100644 index 00000000..430dfb5f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationServiceImpl.java @@ -0,0 +1,92 @@ +package com.adc.da.slrs.sarLawsInformation.service.impl; + +import com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTree; +import com.adc.da.slrs.sarLawsInformationCenterTree.service.SarLawsInformationCenterTreeService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformation; +import com.adc.da.slrs.sarLawsInformation.service.SarLawsInformationService; +import com.adc.da.slrs.sarLawsInformation.dao.SarLawsInformationDao; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** +* @author tjzdw +* @description 针对表【sar_laws_information】的数据库操作Service实现 +* @createDate 2023-10-23 09:41:56 +*/ +@Service +public class SarLawsInformationServiceImpl extends ServiceImpl + implements SarLawsInformationService{ + + @Resource + private SarLawsInformationCenterTreeService treeService; + + @Override + public SarLawsInformation getLawsInformationInfo(String id) { + SarLawsInformation sarLawsInformation = this.baseMapper.selectById(id); + if (StringUtils.isNotBlank(sarLawsInformation.getTreeNodeId())) { + SarLawsInformationCenterTree treeNode = treeService.getById(sarLawsInformation.getTreeNodeId()); + sarLawsInformation.setTreeNodeName(treeNode.getName()); + } + return sarLawsInformation; + } + + @Override + public List queryByPage(SarLawsInformation page) { + // 设置排序字段 + if (StringUtils.isNotBlank(page.getSortField())) { + String sortField = StringUtils.join(StringUtils.splitByCharacterTypeCamelCase(page.getSortField()),"_").toUpperCase(); + page.setSortField(sortField); + } else { + page.setSortField("ID"); + page.setSortMode("asc"); + } + Integer rowCount = this.baseMapper.queryByPageCount(page); + page.getPager().setRowCount(rowCount); + return this.baseMapper.queryByPage(page); + } + + @Override + public Integer addLawsInformation(SarLawsInformation sarLawsInformation) { + sarLawsInformation.setCreateTime(new Date()); + sarLawsInformation.setModifyTime(new Date()); + sarLawsInformation.setValidFlag(0); + // 若体系类别不存在,则默认属于根节点 + if (StringUtils.isBlank(sarLawsInformation.getTreeNodeId())) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.isNull(SarLawsInformationCenterTree::getPId); + SarLawsInformationCenterTree one = treeService.getOne(wrapper); + sarLawsInformation.setTreeNodeId(one.getId()); + } + return this.baseMapper.insert(sarLawsInformation); + } + + @Override + public Boolean deleteInformation(String id) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(SarLawsInformation::getId, id); + wrapper.set(SarLawsInformation::getValidFlag,1); + wrapper.set(SarLawsInformation::getModifyTime,new Date()); + return update(wrapper); + } + + @Override + public Boolean updateLawsInformationInfo(SarLawsInformation lawsInformation) { + if (StringUtils.isBlank(lawsInformation.getId())) { + return false; + } + lawsInformation.setModifyTime(new Date()); + int update = this.baseMapper.updateById(lawsInformation); + return true; + } +} + + + + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/controller/SarLawsInformationCenterTreeController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/controller/SarLawsInformationCenterTreeController.java new file mode 100644 index 00000000..d6f62589 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/controller/SarLawsInformationCenterTreeController.java @@ -0,0 +1,56 @@ +package com.adc.da.slrs.sarLawsInformationCenterTree.controller; + +import com.adc.da.base.web.BaseController; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTree; +import com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTreeData; +import com.adc.da.slrs.sarLawsInformationCenterTree.service.SarLawsInformationCenterTreeService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author tjzdw + * @description + * @date 2023/10/23 + */ +@RestController +@RequestMapping("/${restPath}/lawss/sarLawsInformation/tree") +public class SarLawsInformationCenterTreeController extends BaseController { + + @Resource + private SarLawsInformationCenterTreeService informationCenterTreeService; + + @ApiOperation("新增资料中心左侧树节点") + @PostMapping("/addTreeNode") + public ResponseMessage addTreeNode(@RequestBody SarLawsInformationCenterTree informationCenterTree){ + informationCenterTreeService.addTreeNode(informationCenterTree); + return Result.success(); + } + + @ApiOperation("删除树节点") + @DeleteMapping("/deleteTreeNode") + public ResponseMessage deleteTreeNode(String id){ + Boolean aBoolean = informationCenterTreeService.deleteTreeNode(id); + return aBoolean ? Result.success("删除成功") : Result.error("节点下存在数据无法删除。"); + } + + + @ApiOperation("查询树结构") + @GetMapping("/getTree") + public ResponseMessage> getTree(){ + List informationCenterTreeList = informationCenterTreeService.getTree(); + return Result.success(informationCenterTreeList); + } + + @ApiOperation("修改树节点") + @PutMapping("/updateTreeNode") + public ResponseMessage updateTreeNode(@RequestBody SarLawsInformationCenterTree informationCenterTree){ + boolean b = informationCenterTreeService.updateTreeNode(informationCenterTree); + return Result.success("修改成功"); + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/dao/SarLawsInformationCenterTreeDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/dao/SarLawsInformationCenterTreeDao.java new file mode 100644 index 00000000..38aaf162 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/dao/SarLawsInformationCenterTreeDao.java @@ -0,0 +1,18 @@ +package com.adc.da.slrs.sarLawsInformationCenterTree.dao; + +import com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTree; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author tjzdw +* @description 针对表【sar_laws_information_center_tree】的数据库操作Mapper +* @createDate 2023-10-23 11:20:26 +* @Entity com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTree +*/ +public interface SarLawsInformationCenterTreeDao extends BaseMapper { + +} + + + + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/entity/SarLawsInformationCenterTree.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/entity/SarLawsInformationCenterTree.java new file mode 100644 index 00000000..e630d31b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/entity/SarLawsInformationCenterTree.java @@ -0,0 +1,46 @@ +package com.adc.da.slrs.sarLawsInformationCenterTree.entity; + +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 com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +/** + * + * @TableName sar_laws_information_center_tree + */ +@TableName(value ="sar_laws_information_center_tree") +@Data +public class SarLawsInformationCenterTree implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 父ID + */ + @JsonProperty("pId") + @TableField(value = "p_id") + private String pId; + + /** + * 节点名称 + */ + @TableField(value = "name") + private String name; + + /** + * 排序字段 + */ + @TableField(value = "sort") + private Integer sort; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/entity/SarLawsInformationCenterTreeData.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/entity/SarLawsInformationCenterTreeData.java new file mode 100644 index 00000000..2e417403 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/entity/SarLawsInformationCenterTreeData.java @@ -0,0 +1,40 @@ +package com.adc.da.slrs.sarLawsInformationCenterTree.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * + * @TableName sar_laws_information_center_tree + */ +@Data +public class SarLawsInformationCenterTreeData implements Serializable { + /** + * 主键 + */ + private String id; + + /** + * 父ID + */ + private String pId; + + /** + * 节点名称 + */ + private String name; + + /** + * 排序字段 + */ + private Integer sort; + + /** + * 子节点 + */ + private List children; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/SarLawsInformationCenterTreeService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/SarLawsInformationCenterTreeService.java new file mode 100644 index 00000000..a511b834 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/SarLawsInformationCenterTreeService.java @@ -0,0 +1,25 @@ +package com.adc.da.slrs.sarLawsInformationCenterTree.service; + +import com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTree; +import com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTreeData; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author tjzdw +* @description 针对表【sar_laws_information_center_tree】的数据库操作Service +* @createDate 2023-10-23 11:20:26 +*/ +public interface SarLawsInformationCenterTreeService extends IService { + + void setResource(SarLawsInformationCenterTree informationCenterTree); + + void addTreeNode(SarLawsInformationCenterTree informationCenterTree); + + Boolean deleteTreeNode(String id); + + List getTree(); + + boolean updateTreeNode(SarLawsInformationCenterTree informationCenterTree); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/impl/SarLawsInformationCenterTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/impl/SarLawsInformationCenterTreeServiceImpl.java new file mode 100644 index 00000000..2a63a530 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/impl/SarLawsInformationCenterTreeServiceImpl.java @@ -0,0 +1,142 @@ +package com.adc.da.slrs.sarLawsInformationCenterTree.service.impl; + +import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformation; +import com.adc.da.slrs.sarLawsInformation.service.SarLawsInformationService; +import com.adc.da.slrs.sarLawsInformationCenterTree.dao.SarLawsInformationCenterTreeDao; +import com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTreeData; +import com.adc.da.slrs.sarRole.dao.TsRoleDao; +import com.adc.da.slrs.sarUser.service.ITsUserService; +import com.adc.da.slrs.tsRoleMeunData.dao.TsRoleMenuDataDao; +import com.adc.da.util.LoginUserUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTree; +import com.adc.da.slrs.sarLawsInformationCenterTree.service.SarLawsInformationCenterTreeService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** +* @author tjzdw +* @description 针对表【sar_laws_information_center_tree】的数据库操作Service实现 +* @createDate 2023-10-23 11:20:26 +*/ +@Service +public class SarLawsInformationCenterTreeServiceImpl extends ServiceImpl + implements SarLawsInformationCenterTreeService{ + + @Resource + private TsRoleDao tsRoleDao; + @Resource + private TsRoleMenuDataDao tsRoleMenuDataDao; + @Resource + private ITsUserService tsUserService; + @Resource + private SarLawsInformationService sarLawsInformationService; + + @Transactional + @Override + public void addTreeNode(SarLawsInformationCenterTree informationCenterTree) { + int save = this.baseMapper.insert(informationCenterTree); + //新增后给所有角色配置权限 + setResource(informationCenterTree); + } + + @Override + public Boolean deleteTreeNode(String id) { + List idList = Arrays.asList(id.split(",")); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SarLawsInformation::getTreeNodeId,idList); + int count = sarLawsInformationService.count(wrapper); + if (count > 0) { + return false; + } + int deleted = this.baseMapper.deleteBatchIds(idList); + return true; + } + + @Override + public List getTree() { + // 获取当前登录人 + String loginUserId = LoginUserUtil.getUserId(); + // 查询当前登录人的权限菜单 + List resourceIdList = tsUserService.getResourceUserId(loginUserId); + + List resList = new ArrayList<>(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SarLawsInformationCenterTree::getId, resourceIdList); + wrapper.orderByAsc(SarLawsInformationCenterTree::getSort); + List list = this.list(wrapper); + List treeData = new ArrayList<>(); + //代码遍历生成树 + for (SarLawsInformationCenterTree informationCenterTree : list) { + if (StringUtils.isNotBlank(informationCenterTree.getPId())) { + SarLawsInformationCenterTreeData informationCenterTreeData = new SarLawsInformationCenterTreeData(); + BeanUtils.copyProperties(informationCenterTree, informationCenterTreeData); + treeData.add(informationCenterTreeData); + }else { + SarLawsInformationCenterTreeData res = new SarLawsInformationCenterTreeData(); + BeanUtils.copyProperties(informationCenterTree, res); + resList.add(res); + } + } + List treeData1 = new ArrayList<>(); + //递归生成树 + for (SarLawsInformationCenterTreeData data : resList) { + digui(data,treeData); + treeData1.add(data); + } + return treeData1; + } + + @Override + public boolean updateTreeNode(SarLawsInformationCenterTree informationCenterTree) { + int updated = this.baseMapper.updateById(informationCenterTree); + return updated > 0; + } + + @Transactional + @Override + public void setResource(SarLawsInformationCenterTree informationCenterTree) { + //获取pid + String pId = informationCenterTree.getPId(); + List roleIds = tsRoleDao.getResourceId(pId); + for (String roleId : roleIds){ + tsRoleDao.addResource(roleId,informationCenterTree.getId()); + tsRoleMenuDataDao.save(roleId,informationCenterTree.getId()); + } + } + + private void digui(SarLawsInformationCenterTreeData res,List treeData){ + for (SarLawsInformationCenterTreeData data : treeData) { + if (null==res.getChildren()) { + List data1=new ArrayList<>(); + res.setChildren(data1); + } + if (res.getId().equals(data.getPId())){ + if (null!=res.getChildren()){ + res.getChildren().add(data); + }else { + List data1 = new ArrayList<>(); + data1.add(data); + res.setChildren(data1); + } + } + } + if (null!=res.getChildren()){ + for (SarLawsInformationCenterTreeData treeData1:res.getChildren()) { + digui(treeData1,treeData); + } + } + } +} + + + + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/service/impl/SarLawsTopicServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/service/impl/SarLawsTopicServiceImpl.java index b83ad93f..de7c04ed 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/service/impl/SarLawsTopicServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/service/impl/SarLawsTopicServiceImpl.java @@ -144,8 +144,6 @@ public class SarLawsTopicServiceImpl extends ServiceImpl topicWrapper = new LambdaQueryWrapper<>(); topicWrapper.eq(SarLawsTopicMeeting::getLawsTopicId,lawsTopic.getId()); diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformation/SarLawsInformationMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformation/SarLawsInformationMapper.xml new file mode 100644 index 00000000..de045ca7 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformation/SarLawsInformationMapper.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID,FIRST_TYPE,SECOND_TYPE, + THIRD_TYPE,FOURTH_TYPE,`NAME`, + DEPARTMENT,AUTHOR,UPLOAD_TIME, + `DESCRIPTION`,INFORMATION_FILE,VIEWABLE_BY, + DOWNLOADABLE_BY,VALID_FLAG,CREATE_TIME, + MODIFY_TIME + + + + and FIRST_TYPE = #{firstType} + + + and SECOND_TYPE = #{secondType} + + + and `NAME` like concat('%',#{name},'%') + + + and UPLOAD_TIME = #{uploadTime} + + + and TREE_NODE_ID = #{treeNodeId} + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformationCenterTree/SarLawsInformationCenterTreeMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformationCenterTree/SarLawsInformationCenterTreeMapper.xml new file mode 100644 index 00000000..0b709092 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformationCenterTree/SarLawsInformationCenterTreeMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + id,p_id,`name`, + sort + +