Merge remote-tracking branch 'origin/fourthStage' into fourthStage
This commit is contained in:
+6
-1
@@ -4,6 +4,8 @@ import com.jero.modules.docking.asms.entity.LawsAsmsOpenApi;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,7 +83,10 @@ public interface ILawsAsmsOpenApiService extends IService<LawsAsmsOpenApi> {
|
|||||||
**/
|
**/
|
||||||
void syncBatch(List<String> idList);
|
void syncBatch(List<String> idList);
|
||||||
|
|
||||||
/**
|
@NotNull
|
||||||
|
String disposeImg(String articleContent);
|
||||||
|
|
||||||
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
* @Date: 2023/10/18 16:20
|
* @Date: 2023/10/18 16:20
|
||||||
* @Description: 批量删除原字典配置项
|
* @Description: 批量删除原字典配置项
|
||||||
|
|||||||
+31
-20
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.docking.asms.service.impl;
|
package com.jero.modules.docking.asms.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.http.HtmlUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
@@ -839,7 +840,8 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private String disposeImg(String articleContent) {
|
@Override
|
||||||
|
public String disposeImg(String articleContent) {
|
||||||
if (articleContent.contains("<img src=")){
|
if (articleContent.contains("<img src=")){
|
||||||
log.info("-------" + articleContent);
|
log.info("-------" + articleContent);
|
||||||
// base64
|
// base64
|
||||||
@@ -848,26 +850,35 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl<LawsAsmsOpenApiMappe
|
|||||||
stringBuilder.append("<p>").append(articleContent).append("</p>");
|
stringBuilder.append("<p>").append(articleContent).append("</p>");
|
||||||
articleContent = stringBuilder.toString();
|
articleContent = stringBuilder.toString();
|
||||||
}else {
|
}else {
|
||||||
String urlSuffix = articleContent.substring(articleContent.indexOf("getImg"),
|
// 定义正则表达式匹配 img 标签及其属性值
|
||||||
articleContent.indexOf("\" alt"));
|
Pattern pattern = Pattern.compile("(<\\s*img[^>]*>)");
|
||||||
String url = asmsPostUtil.getHost() + urlSuffix;
|
Matcher matcher = pattern.matcher(articleContent);
|
||||||
String fileName = url.substring(url.lastIndexOf("/") + 1);
|
|
||||||
// 获取图片
|
while (matcher.find()) {
|
||||||
HttpHeaders headers = new HttpHeaders();
|
String imageUrl = matcher.group(1);
|
||||||
headers.set(HttpHeaders.USER_AGENT, "Mozilla/5.0");
|
String urlSuffix = imageUrl.substring(imageUrl.indexOf("getImg"),
|
||||||
headers.set(HttpHeaders.ACCEPT, MediaType.ALL_VALUE);
|
imageUrl.indexOf("\" alt"));
|
||||||
HttpEntity<String> entity = new HttpEntity<>(headers);
|
String url = asmsPostUtil.getHost() + urlSuffix;
|
||||||
ResponseEntity<byte[]> responseEntity = restTemplate.exchange(url, HttpMethod.GET, entity, byte[].class);
|
String fileName = url.substring(url.lastIndexOf("/") + 1);
|
||||||
if (HttpStatus.OK == responseEntity.getStatusCode()) {
|
// 获取图片
|
||||||
byte[] imageBytes = responseEntity.getBody();
|
HttpHeaders headers = new HttpHeaders();
|
||||||
MultipartFile file = new MockMultipartFile(fileName, fileName,"application/octet-stream" ,imageBytes);
|
headers.set(HttpHeaders.USER_AGENT, "Mozilla/5.0");
|
||||||
// 上传图片
|
headers.set(HttpHeaders.ACCEPT, MediaType.ALL_VALUE);
|
||||||
OSSFile oSSFile = ossFileService.uploadLocalForSplit(file, "", "", "");
|
HttpEntity<String> entity = new HttpEntity<>(headers);
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
ResponseEntity<byte[]> responseEntity = restTemplate.exchange(url, HttpMethod.GET, entity, byte[].class);
|
||||||
stringBuilder.append("<p>").append("<img class=\"wordImg\" style=\"width:100%;height:100%\" src=\"")
|
if (HttpStatus.OK == responseEntity.getStatusCode()) {
|
||||||
.append(oSSFile.getUrl()).append("\">").append("</p>");
|
byte[] imageBytes = responseEntity.getBody();
|
||||||
articleContent = stringBuilder.toString();
|
MultipartFile file = new MockMultipartFile(fileName, fileName,"application/octet-stream" ,imageBytes);
|
||||||
|
// 上传图片
|
||||||
|
OSSFile oSSFile = ossFileService.uploadLocalForSplit(file, "", "", "");
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
stringBuilder.append("<img class=\"wordImg\" style=\"width:100%;height:100%\" src=\"")
|
||||||
|
.append(oSSFile.getUrl()).append("\">");
|
||||||
|
// 在此处进行替换操作,将图片链接替换为新的地址或者删除该图片标签等
|
||||||
|
articleContent = articleContent.replaceAll(imageUrl,stringBuilder.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return articleContent;
|
return articleContent;
|
||||||
|
|||||||
+7
-1
@@ -9,6 +9,7 @@ import com.jero.common.util.UUIDUtils;
|
|||||||
import com.jero.modules.docking.asms.entity.LawsAsmsDomestic;
|
import com.jero.modules.docking.asms.entity.LawsAsmsDomestic;
|
||||||
import com.jero.modules.docking.asms.mapper.LawsAsmsOpenApiMapper;
|
import com.jero.modules.docking.asms.mapper.LawsAsmsOpenApiMapper;
|
||||||
import com.jero.modules.docking.asms.service.ILawsAsmsDomesticService;
|
import com.jero.modules.docking.asms.service.ILawsAsmsDomesticService;
|
||||||
|
import com.jero.modules.docking.asms.service.ILawsAsmsOpenApiService;
|
||||||
import com.jero.modules.docking.asms.util.AlphanumericComparator;
|
import com.jero.modules.docking.asms.util.AlphanumericComparator;
|
||||||
import com.jero.modules.docking.asms.util.AsmsPostUtil;
|
import com.jero.modules.docking.asms.util.AsmsPostUtil;
|
||||||
import com.jero.modules.laws.common.util.DateUtil;
|
import com.jero.modules.laws.common.util.DateUtil;
|
||||||
@@ -100,6 +101,8 @@ public class SynchronizationAsmsService {
|
|||||||
private IDocumentSplitService documentSplitService;
|
private IDocumentSplitService documentSplitService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RestTemplate restTemplate;
|
private RestTemplate restTemplate;
|
||||||
|
@Resource
|
||||||
|
private ILawsAsmsOpenApiService lawsAsmsOpenApiService;
|
||||||
|
|
||||||
private final static String filePath = "asms/";
|
private final static String filePath = "asms/";
|
||||||
private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
@@ -716,7 +719,10 @@ public class SynchronizationAsmsService {
|
|||||||
lawsDocumentSplit.setInfoId(sarFileSplitInfoEO.getId());
|
lawsDocumentSplit.setInfoId(sarFileSplitInfoEO.getId());
|
||||||
lawsDocumentSplit.setItemNum(eMap.get("termsNum"));
|
lawsDocumentSplit.setItemNum(eMap.get("termsNum"));
|
||||||
lawsDocumentSplit.setItemTitle(eMap.get("termsName"));
|
lawsDocumentSplit.setItemTitle(eMap.get("termsName"));
|
||||||
lawsDocumentSplit.setItemContent(eMap.get("articleContent"));
|
String articleContent = eMap.get("articleContent");
|
||||||
|
String disposeImg = lawsAsmsOpenApiService.disposeImg(articleContent);
|
||||||
|
|
||||||
|
lawsDocumentSplit.setItemContent(disposeImg);
|
||||||
lawsDocumentSplit.setCreateTime(getSimpleDate2(eMap.get("createTime")));
|
lawsDocumentSplit.setCreateTime(getSimpleDate2(eMap.get("createTime")));
|
||||||
lawsDocumentSplit.setUpdateTime(getSimpleDate2(eMap.get("updateTime")));
|
lawsDocumentSplit.setUpdateTime(getSimpleDate2(eMap.get("updateTime")));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user