lawsDocumentSplitList = lawsDocumentSplitMapper.selectList(queryWrapper1);
- lawsDocumentSplitList.forEach(lawsDocumentSplit -> {
- String itemContent = lawsDocumentSplit.getItemContent();
- // 使用 jsoup 解析 HTML
- Document doc = Jsoup.parse(itemContent);
-
- // 选择所有的 元素
- Elements paragraphs = doc.select("p");
-
- // 存储提取的文本内容
- List textContents = new java.util.ArrayList<>();
-
- for (Element paragraph : paragraphs) {
- // 获取每个 元素的文本内容并添加到集合中
- String textContent = paragraph.text();
- textContents.add(textContent);
- }
-
- //List sarFileSplitItemsValEOList = new ArrayList<>();
- for (int i = 0; i < textContents.size(); i++) {
- SarFileSplitItemsValEO sarFileSplitItemsValEO = new SarFileSplitItemsValEO();
- sarFileSplitItemsValEO.setId(UUIDUtils.randomUUID20());
- sarFileSplitItemsValEO.setType("TEXT");
- sarFileSplitItemsValEO.setItemId(lawsDocumentSplit.getId());
- sarFileSplitItemsValEO.setItemContent(textContents.get(i));
- sarFileSplitItemsValEO.setDisplaySeq(i+1);
- sarFileSplitItemsValEO.setValidFlag(0);
- //sarFileSplitItemsValEOList.add(sarFileSplitItemsValEO);
- sarFileSplitItemsValEOService.insertSelective(sarFileSplitItemsValEO);
- }
- //sarFileSplitItemsValEOService.insertForeach(sarFileSplitItemsValEOList);
- });
- });
- // 状态设置为已同步
- lawsAsmsOpenApi.setStatus("1");
- log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), sarFileSplitInfoEOList.size());
- }
- });
- // 同步接口的状态
- updateBatchById(lawsAsmsOpenApiList);
- }
-
- @Transactional
- public void upload(String url, String fileName, String fileType, String id, String code) {
- InputStream inputStream = asmsPostUtil.getFileByteArray(url);
- try {
- MinioUtil.upload(inputStream, filePath + url);
- } catch (Exception e) {
- e.printStackTrace();
- throw new JeroBootException("文件上传错误");
- }
- OSSFile ossFile = new OSSFile();
- ossFile.setFileName(fileName + "." + fileType);
- ossFile.setUrl(filePath + url);
- ossFile.setStandardId(id);
- ossFile.setStandardNo(code);
- ossFile.setStandardFileType("publish_of_original");
- ossFileService.save(ossFile);
- log.info("存储文件:{},url:{}", fileName, url);
- }
-
- private Date getSimpleDate(String dateStr) {
- if (StringUtils.isBlank(dateStr)) return null;
- try {
- return simpleDateFormat.parse(dateStr);
- } catch (ParseException e) {
- e.printStackTrace();
- throw new JeroBootException("时间格式转换错误");
- }
- }
-
- private Date getSimpleDate2(String dateStr) {
- if (StringUtils.isBlank(dateStr)) return null;
- try {
- return dateFormat.parse(dateStr);
- } catch (ParseException e) {
- e.printStackTrace();
- throw new JeroBootException("时间格式转换错误");
- }
- }
-
- /**
- * @Author: liao
- * @Date: 2023/10/23 15:57
- * @Description: 获取多日期字符串
- **/
- private String getManyDateString(String oldManyDateString) {
- if (StringUtils.isBlank(oldManyDateString)) return "";
- List oldValueList = Arrays.asList(oldManyDateString.split("、"));
- // 使用正则表达式提取日期部分
- Pattern pattern = Pattern.compile("\\d{4}年\\d{2}月\\d{2}日");
-
- List valueList = new java.util.ArrayList<>();
- oldValueList.forEach(value -> {
- Matcher matcher = pattern.matcher(value);
- String dateStr;
- if (matcher.find()) {
- dateStr = matcher.group(0);
- } else {
- return;
- }
- try {
- Date parse = oldDateFormat.parse(dateStr);
- String format = simpleDateFormat.format(parse);
- valueList.add(format);
- } catch (ParseException e) {
- e.printStackTrace();
- throw new JeroBootException("时间格式转换错误");
- }
- });
- if (valueList.size() == 1) {
- // 如果只有一个日期值,则复制成两个,用于查询和排序
- return valueList.get(0) + "," + valueList.get(0);
- }
- List dateList = valueList.stream()
- .map(LocalDate::parse) // 解析日期字符串为 LocalDate 对象
- .sorted() // 按照日期大小进行排序
- .collect(Collectors.toList());
-
- // 将排序后的 LocalDate 对象转换为字符串
- List sortedDateStrList = dateList.stream()
- .map(LocalDate::toString)
- .collect(Collectors.toList());
-
- return String.join(",", sortedDateStrList);
- }
-
- /**
- * @Author: liao
- * @Date: 2023/10/23 15:09
- * @Description: 获取字典值
- **/
- private String getItemValues(String itemTexts, String dictId, List sysDictItemList) {
- if (StringUtils.isBlank(itemTexts)) return "";
- List itemTextList = Arrays.asList(itemTexts.split(";"));
- List itemValues = sysDictItemList.stream()
- .filter(sysDictItem -> itemTextList.contains(sysDictItem.getItemText()) && dictId.equals(sysDictItem.getDictId()))
- .map(SysDictItem::getItemValue).collect(Collectors.toList());
- return StringUtils.join(itemValues, ",");
- }
-
- /**
- * @Author: liao
- * @Date: 2023/10/18 16:20
- * @Description: 批量删除原字典配置项
- **/
- @Override
- public void removeDictItemBatch(List idList) {
- List lawsAsmsOpenApiList = listByIds(idList);
- lawsAsmsOpenApiList = lawsAsmsOpenApiList.stream()
- .filter(e -> StringUtils.isNotBlank(e.getDictId())).collect(Collectors.toList());
- if (CollectionUtils.isNotEmpty(lawsAsmsOpenApiList)) {
- List dictIdList = lawsAsmsOpenApiList.stream()
- .map(LawsAsmsOpenApi::getDictId).collect(Collectors.toList());
- // 状态转为未同步
- lawsAsmsOpenApiList.forEach(e -> e.setStatus("0"));
- updateBatchById(lawsAsmsOpenApiList);
- // 物理删除字典配置项
- lawsAsmsOpenApiMapper.removeDictItemBatch(dictIdList);
- }
- }
-}
diff --git a/byd-structuredplugins-serve/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/SynchronizationAsmsService.java b/byd-structuredplugins-serve/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/SynchronizationAsmsService.java
deleted file mode 100644
index 76f19a9..0000000
--- a/byd-structuredplugins-serve/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/SynchronizationAsmsService.java
+++ /dev/null
@@ -1,634 +0,0 @@
-package com.jero.modules.docking.asms.service.impl;
-
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.jero.common.exception.JeroBootException;
-import com.jero.common.util.MinioUtil;
-import com.jero.common.util.UUIDUtils;
-import com.jero.modules.docking.asms.entity.LawsAsmsDomestic;
-import com.jero.modules.docking.asms.mapper.LawsAsmsOpenApiMapper;
-import com.jero.modules.docking.asms.service.ILawsAsmsDomesticService;
-import com.jero.modules.docking.asms.util.AlphanumericComparator;
-import com.jero.modules.docking.asms.util.AsmsPostUtil;
-import com.jero.modules.laws.common.util.DateUtil;
-import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
-import com.jero.modules.laws.documenttool.mapper.LawsDocumentSplitMapper;
-import com.jero.modules.laws.documenttool.service.IDocumentSplitService;
-import com.jero.modules.laws.home.common.LawsHomeSearchCommon;
-import com.jero.modules.laws.home.service.ILawsHomeSearchService;
-import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
-import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
-import com.jero.modules.laws.standard.service.ILawsReplacedStandardService;
-import com.jero.modules.laws.standardization.entity.LawsStandardization;
-import com.jero.modules.laws.standardization.service.ILawsStandardizationService;
-import com.jero.modules.oss.entity.OSSFile;
-import com.jero.modules.oss.service.IOSSFileService;
-import com.jero.modules.split.entity.SarFileSplitInfoEO;
-import com.jero.modules.split.entity.SarFileSplitItemsValEO;
-import com.jero.modules.split.entity.SarFileSplitMenuEO;
-import com.jero.modules.split.mapper.SarFileSplitMenuEOMapper;
-import com.jero.modules.split.service.ISarFileSplitInfoService;
-import com.jero.modules.split.service.ISarFileSplitItemsValEOService;
-import com.jero.modules.split.service.ISarFileSplitMenuEOService;
-import com.jero.modules.system.entity.SysDictItem;
-import com.jero.modules.system.service.ISysDictItemService;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.jsoup.Jsoup;
-import org.jsoup.nodes.Document;
-import org.jsoup.nodes.Element;
-import org.jsoup.select.Elements;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.io.InputStream;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-/**
- * @Author: liao
- * @Date: 2023/11/3 13:46
- * @Description: 定时同步asms
- */
-@Component
-@Slf4j
-public class SynchronizationAsmsService {
-
- @Autowired
- private AsmsPostUtil asmsPostUtil;
- @Autowired
- private ISysDictItemService sysDictItemService;
- @Autowired
- private ILawsAsmsDomesticService lawsAsmsDomesticService;
- @Autowired
- private LawsAsmsOpenApiMapper lawsAsmsOpenApiMapper;
- @Autowired
- private ILawsStandardizationService lawsStandardizationService;
- @Autowired
- private ILawsDomesticStandardService lawsDomesticStandardService;
- @Autowired
- private ISarFileSplitInfoService sarFileSplitInfoService;
- @Autowired
- private LawsDocumentSplitMapper lawsDocumentSplitMapper;
- @Autowired
- private ISarFileSplitMenuEOService sarFileSplitMenuEOService;
- @Autowired
- private SarFileSplitMenuEOMapper sarFileSplitMenuEOMapper;
- @Autowired
- private ISarFileSplitItemsValEOService sarFileSplitItemsValEOService;
- @Autowired
- private ILawsReplacedStandardService lawsReplacedStandardService;
- @Resource
- private ILawsHomeSearchService lawsHomeSearchService;
- @Autowired
- private IOSSFileService ossFileService;
- @Autowired
- private IDocumentSplitService documentSplitService;
-
- private final static String filePath = "asms/";
- private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
- private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- private static SimpleDateFormat oldDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
-
- /**
- * @Author: liao
- * @Date: 2023/11/3 13:48
- * @Description: 定时同步国内法规
- **/
- @Transactional
- public void syncDomestic() {
- log.info("=====================定时同步国内法规=====================");
- long start = System.currentTimeMillis();
-
- // 法规列表
- String url = "xiaobodata/openApi/domesticLaws/list";
- Map paramMap = new HashMap<>();
- paramMap.put("pageNo", "1");
- paramMap.put("pageSize", "2");
- Map totalMap = asmsPostUtil.sendGetReq2(url, paramMap);
- Integer total = (Integer) totalMap.get("total");
- paramMap.put("pageSize", total.toString());
-
- List