瀏覽代碼

ShowList管理优化-图片上传阿里云

zhangqiang 8 月之前
父節點
當前提交
f1db76f569

+ 52 - 9
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/okki/showlist/service/impl/OkkiShowlistServiceImpl.java

@@ -31,6 +31,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import java.io.Serializable;
 import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @Description: showlist
@@ -236,13 +238,18 @@ public class OkkiShowlistServiceImpl extends ServiceImpl<OkkiShowlistMapper, Okk
 			System.out.println(imageBaseUrl);
 //			 将内容图片和其他图片地址通过接口上传到小满
 			if (okkiOverviews.size()>0) {
-				for (OkkiOverview okkiOverview : okkiOverviews) {
-					if (!"".equals(okkiOverview.getPic()) && okkiOverview.getPic() != null) {
-						String imgUrl = uploadService.uploadImage(imageBaseUrl + okkiOverview.getPic(), String.valueOf(okkiShowlist.getSiteId()));
-						System.out.println(imgUrl);
-						okkiOverview.setPic(imgUrl);
+				if (!"".equals(okkiOverviews.get(0).getPic()) && okkiOverviews.get(0).getPic() != null) {
+					String imgUrl = uploadService.uploadImage(imageBaseUrl + okkiOverviews.get(0).getPic(), String.valueOf(okkiShowlist.getSiteId()));
+					System.out.println(imgUrl);
+					okkiOverviews.get(0).setPic(imgUrl);
+				}
+				// 将内容中图片地址获取到
+				final ArrayList<String> imgTags = findImgTags(okkiOverviews.get(0).getContent());
+				if (imgTags.size()>0) {
+					for (String imgTag : imgTags) {
+						String imgUrl = uploadService.uploadImage(imgTag, String.valueOf(okkiShowlist.getSiteId()));
+						okkiOverviews.get(0).setContent(okkiOverviews.get(0).getContent().replace(imgTag,imgUrl));
 					}
-					// 将内容中图片地址获取到
 				}
 			}
 			// 请求okki平台接口
@@ -273,6 +280,9 @@ public class OkkiShowlistServiceImpl extends ServiceImpl<OkkiShowlistMapper, Okk
 			}
 			pushShowlistParam.setProduct_list(productListParam);
 			// advantage
+			ArrayList<BlockParam> blockParams = new ArrayList<>();
+			ArrayList<AdvantageParam> advantageParams = new ArrayList<>();
+			AdvantageParam advantageParam = new AdvantageParam();
 			if (okkiAdvantages.size()>0) {
 				for (OkkiAdvantage okkiAdvantage : okkiAdvantages) {
 					if (!"".equals(okkiAdvantage.getBlockPic()) && okkiAdvantage.getBlockPic() != null) {
@@ -280,12 +290,28 @@ public class OkkiShowlistServiceImpl extends ServiceImpl<OkkiShowlistMapper, Okk
 						System.out.println(imgUrl);
 						okkiAdvantage.setBlockPic(imgUrl);
 					}
+					BlockParam blockParam = new BlockParam();
+					blockParam.setTitle(okkiAdvantage.getBlockTitle());
+					blockParam.setContent(okkiAdvantage.getBlockContent());
+					blockParam.setPic(okkiAdvantage.getBlockPic());
+					blockParams.add(blockParam);
 				}
 			}
-			ArrayList<AdvantageParam> advantageParams = new ArrayList<>();
-			AdvantageParam advantageParam = new AdvantageParam();
 			advantageParam.setTitle(okkiShowlist.getAdvantageTitle());
+			// 处理优势内容图片
+			// 将内容中图片地址获取到
+			if (okkiShowlist.getAdvantageContent() != null) {
+				final ArrayList<String> imgTags = findImgTags(okkiShowlist.getAdvantageContent());
+				if (imgTags.size()>0) {
+					for (String imgTag : imgTags) {
+						String imgUrl = uploadService.uploadImage(imgTag, String.valueOf(okkiShowlist.getSiteId()));
+						okkiShowlist.setAdvantageContent(okkiShowlist.getAdvantageContent().replace(imgTag,imgUrl));
+					}
+				}
+			}
 			advantageParam.setContent(okkiShowlist.getAdvantageContent());
+			advantageParam.setBlock(blockParams);
+			advantageParams.add(advantageParam);
 			pushShowlistParam.setAdvantage(advantageParams);
 			// keywords
 			KeywordsParam keywordsParam = new KeywordsParam();
@@ -315,7 +341,7 @@ public class OkkiShowlistServiceImpl extends ServiceImpl<OkkiShowlistMapper, Okk
 			// tdk
 			TdkParam tdkParam = new TdkParam();
 			tdkParam.setTitle(okkiOverviews.get(0).getTitle());
-			tdkParam.setDescription(okkiOverviews.get(0).getContent());
+			tdkParam.setDescription(okkiOverviews.get(0).getTitle());
 			tdkParam.setKeywords(okkiShowlist.getKeywordsTitle());
 			pushShowlistParam.setTdk(tdkParam);
 			// 组装完成
@@ -370,4 +396,21 @@ public class OkkiShowlistServiceImpl extends ServiceImpl<OkkiShowlistMapper, Okk
 		}
 		return productListVO;
 	}
+
+	private static ArrayList<String> findImgTags(String html) {
+		final ArrayList<String> strings = new ArrayList<>();
+		// 定义正则表达式
+//		String regex = "<img\\s+src=\"([^\"]+)\"\\s*/>";
+		String regex = "<img src=\"([^\"]+)\"";
+		Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
+		Matcher matcher = pattern.matcher(html);
+
+		// 查找所有匹配项
+		while (matcher.find()) {
+			// 打印图片的src属性值
+			strings.add(matcher.group(1));
+			System.out.println(matcher.group(1));
+		}
+		return strings;
+	}
 }