diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java index cd63bfc6..d22fad02 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java @@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo; -import com.jero.modules.laws.documenttool.entity.SarFileSplitItemsVal; -import com.jero.modules.laws.documenttool.entity.SarFileSplitMenu; -import com.jero.modules.laws.documenttool.entity.SplitFileInfo; +import com.jero.modules.laws.documenttool.entity.*; import com.jero.modules.split.entity.SarFileSplitInfoEO; +import com.jero.modules.split.entity.SarFileSplitItemsEO; import com.jero.modules.split.entity.SarFileSplitItemsValEO; import org.apache.ibatis.annotations.Param; @@ -193,4 +191,16 @@ public interface DocumentSplitMapper { * @return */ IPage querySplitFileInfoByPage(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, IPage page); + + /** + * 条文表-根据id集合查询 + * @param listMapIdList + */ + List querySarFileSplitItemsByIds(@Param("idList") List listMapIdList); + + /** + * 文档拆分详情通过idList范围查询 + * @param idList + */ + List queryLawsDocumentSplitInIds(List idList); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml index c09b1195..284db577 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml @@ -227,6 +227,36 @@ ${ew.customSqlSegment} + + + + + UPDATE laws_document_split SET ${updateSet} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java index 376c6906..1b1a3832 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java @@ -482,6 +482,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { @Override public void editDocumentSplitDetail(Map parameter) { + // 水平越权 + isHorizontalOverstep(INFO_ID); // 处理map参数null值转为“” mapValueNullToString(parameter); // 查询全部字段列表 @@ -621,6 +623,10 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { @Override public void editBatchDocumentSplitDetail(Map parameter) { + // 水平越权 + List lawsDocumentSplitList = documentSplitMapper.queryLawsDocumentSplitInIds(Arrays.asList(((String) parameter.get("ids")).split(","))); + isHorizontalOverstep(lawsDocumentSplitList.get(0).getInfoId()); + mapValueNullToString(parameter); // 查询全部字段列表 List fieldList = lawsCommonMapper.getFieldList(TableNameEnum.DOCUMENT_SPLIT.getTableName()); @@ -688,9 +694,12 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { StringBuilder strSelectCondition = new StringBuilder(selectCondition); // 查询数据 List> listMap = documentSplitMapper.queryDocumentSplitDetail(selectColumn, strSelectCondition.toString()); + // 水平越权 - String infoIds = listMap.stream().map(v -> v.get(INFO_ID).toString()).collect(Collectors.joining(",")); - isHorizontalOverstep(infoIds); + List listMapIdList = listMap.stream().map(v -> v.get(ID).toString()).collect(Collectors.toList()); + List lawsDocumentSplitList = documentSplitMapper.queryLawsDocumentSplitInIds(listMapIdList); + isHorizontalOverstep(lawsDocumentSplitList.get(0).getInfoId()); + // 排序(根据条文号) listMap.sort(new DirectoryComparator()); // 第一条数据 @@ -951,6 +960,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { public LawsDocumentSplitView queryView(Map parameter) { LawsDocumentSplitView lawsDocumentSplitView = new LawsDocumentSplitView(); String id = (String) parameter.get(ID); + // 水平越权 + isHorizontalOverstep(id); // 文档拆分信息 DocumentSplitInfo documentSplitInfo = new DocumentSplitInfo(); documentSplitInfo.setId(id); diff --git a/laws-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java b/laws-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java index 3fce5c36..a1893b8e 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java +++ b/laws-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java @@ -135,6 +135,8 @@ public class FileSplitItemsEOController extends JeroController parameterMap = JSONObject.parseObject(parameter); fileSplitItemsEOService.exportSplitInfo(cut, idList, parameterMap, exportName, response, request); + }catch (JeroBootException e){ + throw new JeroBootException(e.getMessage()); }catch (Exception e){ throw new JeroBootException(MessageUtils.getMessage(ResultCommon.ERROR)); } diff --git a/laws-modules/src/main/java/com/jero/modules/split/mapper/SarFileSplitMenuEOMapper.java b/laws-modules/src/main/java/com/jero/modules/split/mapper/SarFileSplitMenuEOMapper.java index 62d96908..0e49c932 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/mapper/SarFileSplitMenuEOMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/split/mapper/SarFileSplitMenuEOMapper.java @@ -70,4 +70,5 @@ public interface SarFileSplitMenuEOMapper extends BaseMapper List selectBatchIds(@Param("idList") List idList); + SarFileSplitMenuEO findById(String id); } diff --git a/laws-modules/src/main/java/com/jero/modules/split/mapper/xml/SarFileSplitMenuEOMapper.xml b/laws-modules/src/main/java/com/jero/modules/split/mapper/xml/SarFileSplitMenuEOMapper.xml index ba957e12..fa171aa4 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/mapper/xml/SarFileSplitMenuEOMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/split/mapper/xml/SarFileSplitMenuEOMapper.xml @@ -355,4 +355,9 @@ where info_id = #{infoId} and parent_id is null + + diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index e9baba02..8ec2f942 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -1522,6 +1522,9 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl importSplitItems(MultipartFile file, String cut, String menuId, String infoId) throws IOException { + // 水平越权 + documentSplitService.isHorizontalOverstep(infoId); + //验证文件名是否合格 /* 截取后缀名 */ int pos = file.getOriginalFilename().lastIndexOf("."); @@ -3454,6 +3457,9 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl parameter,String exportName, HttpServletResponse response, HttpServletRequest request) { + // 水平越权 + documentSplitService.isHorizontalOverstep(request.getParameter("infoId")); + OutputStream os = null; OutputStream excelOS = null; HSSFWorkbook workbook = new HSSFWorkbook(); diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java index 50e995da..c2acc21f 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.vo.Result; +import com.jero.modules.laws.documenttool.service.IDocumentSplitService; import com.jero.modules.split.entity.SarFileSplitMenuEO; import com.jero.modules.split.mapper.SarFileSplitItemsValEOMapper; import com.jero.modules.split.mapper.SarFileSplitMenuEOMapper; @@ -46,12 +47,17 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl menuIds = new ArrayList<>(); SarFileSplitMenuEO sarMenuEO = new SarFileSplitMenuEO(); sarMenuEO.setId(id); @@ -154,6 +164,8 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl