Commit c42bc764691326b01606ab66b6bd5f47fde0f7da
1 parent
a04b7462
2022年10月2日22:39:29 避开中文文件夹名称, 修改打印日志, 增加手动处理设置封面图程序
Showing
4 changed files
with
43 additions
and
11 deletions
fw-dalaran-server/src/main/java/cn/fw/dalaran/server/controller/common/DataExchangeController.java
... | ... | @@ -126,8 +126,8 @@ public class DataExchangeController { |
126 | 126 | * @throws Exception |
127 | 127 | */ |
128 | 128 | @GetMapping("/calcSimilarity") |
129 | - public Message<BigDecimal> calcSimilarity(/*String theme,*/ Long themeId, String fid, String coverUrl, String account, String itemId, Integer type) throws Exception { | |
130 | - return success(commonBizService.validCover(/*theme,*/ themeId, fid, coverUrl, account, itemId, type)); | |
129 | + public Message<BigDecimal> calcSimilarity(String theme, Long themeId, String fid, String coverUrl, String account, String itemId, Integer type) throws Exception { | |
130 | + return success(commonBizService.validCover(theme, themeId, fid, coverUrl, account, itemId, type)); | |
131 | 131 | } |
132 | 132 | |
133 | 133 | /** | ... | ... |
fw-dalaran-service/src/main/java/cn/fw/dalaran/service/biz/CommonBizService.java
... | ... | @@ -214,7 +214,7 @@ public class CommonBizService { |
214 | 214 | .list(); |
215 | 215 | for (ThemeFile themeFile : list) { |
216 | 216 | try { |
217 | - final BigDecimal coverSimilarity = this.validCover(/*activityTheme.getTheme(),*/ themeFile.getThemeId(), themeFile.getFileId(), videoCover, accountNo, videoId, 1); | |
217 | + final BigDecimal coverSimilarity = this.validCover(activityTheme.getTheme(), themeFile.getThemeId(), themeFile.getFileId(), videoCover, accountNo, videoId, 1); | |
218 | 218 | if (validCover = coverSimilarity.compareTo(rate) >= 0) |
219 | 219 | break; |
220 | 220 | } catch (Exception e) { |
... | ... | @@ -491,7 +491,7 @@ public class CommonBizService { |
491 | 491 | .list(); |
492 | 492 | for (ThemeFile themeFile : list) { |
493 | 493 | try { |
494 | - final BigDecimal coverSimilarity = this.validCover(/*activityTheme.getTheme(),*/ activityTheme.getId(), themeFile.getFileId(), liveCover, accountNo, roomNo, 2); | |
494 | + final BigDecimal coverSimilarity = this.validCover(activityTheme.getTheme(), activityTheme.getId(), themeFile.getFileId(), liveCover, accountNo, roomNo, 2); | |
495 | 495 | if (validCover = coverSimilarity.compareTo(rate) >= 0) |
496 | 496 | break; |
497 | 497 | } catch (Exception e) { |
... | ... | @@ -968,7 +968,7 @@ public class CommonBizService { |
968 | 968 | * @return 封面图匹配度 |
969 | 969 | * @throws Exception |
970 | 970 | */ |
971 | - public BigDecimal validCover(/*String theme,*/ Long themeId, String fileId, String coverUrl, String account, String itemId, Integer type) throws Exception { | |
971 | + public BigDecimal validCover(String theme, Long themeId, String fileId, String coverUrl, String account, String itemId, Integer type) throws Exception { | |
972 | 972 | int[][] imagePixArr1;// 图片1的像素数组 |
973 | 973 | int[][] imagePixArr2;// 图片2的像素数组 |
974 | 974 | File imageFile1 = this.findLocalCacheImageTheme(/*theme,*/ themeId, fileId); |
... | ... | @@ -989,7 +989,7 @@ public class CommonBizService { |
989 | 989 | } |
990 | 990 | } |
991 | 991 | imagePixArr2 = ImageUtils.readImagePixel(imageFile2); |
992 | - String msg = String.format("\n 主题: %s\n 设置封面文件id: %s\n 账户号: %s\n %s%s\n", /*theme,*/ fileId, account, Objects.equals(type, 1) ? "短视频id: " : "直播间号: ", itemId); | |
992 | + String msg = String.format("\n 主题id: %s \n 主题名: %s\n 设置封面文件id: %s\n 账户号: %s\n %s%s\n", themeId, theme, fileId, account, Objects.equals(type, 1) ? "短视频id: " : "直播间号: ", itemId); | |
993 | 993 | return BigDecimal.valueOf(ImageUtils.calcSimilarity(ImageUtils.getFingerprint(imagePixArr1), ImageUtils.getFingerprint(imagePixArr2), msg)); |
994 | 994 | } |
995 | 995 | |
... | ... | @@ -1004,7 +1004,7 @@ public class CommonBizService { |
1004 | 1004 | */ |
1005 | 1005 | private File findLocalCacheImageUser(/*String theme,*/ Long themeId, String account, String itemId, Integer type) { |
1006 | 1006 | String tempDir = common.getActivityThemeCoverDir(); |
1007 | - File file = new File(tempDir + File.separator + "activityTheme" + File.separator + themeId /*+ "#" + theme*/ + File.separator + account + File.separator + (Objects.equals(type, 1) ? "video" : "live")); | |
1007 | + File file = new File(tempDir + File.separator + "activityTheme" + File.separator + themeId /*+ "#" + theme*/ + File.separator + account + File.separator + (Objects.equals(type, 1) ? "video" : "live")); | |
1008 | 1008 | if (!file.exists()) { |
1009 | 1009 | boolean mkdirs = file.mkdirs(); |
1010 | 1010 | if (mkdirs) |
... | ... | @@ -1021,7 +1021,7 @@ public class CommonBizService { |
1021 | 1021 | } |
1022 | 1022 | |
1023 | 1023 | /** |
1024 | - * 获取本地已下载的主题背景图 | |
1024 | + * 获取本地已下载的主题背景图(主题预设封面图) | |
1025 | 1025 | * |
1026 | 1026 | * @param theme 主题名 |
1027 | 1027 | * @param themeId 主题id |
... | ... | @@ -1029,7 +1029,7 @@ public class CommonBizService { |
1029 | 1029 | */ |
1030 | 1030 | private File findLocalCacheImageTheme(/*String theme,*/ Long themeId, String fileId) { |
1031 | 1031 | String tempDir = common.getActivityThemeCoverDir(); |
1032 | - File file = new File(tempDir + "activityTheme" + File.separator + themeId /*+ "#" + theme*/ + File.separator + "settingCover"); | |
1032 | + File file = new File(tempDir + "activityTheme" + File.separator + themeId /*+ "#" + theme*/ + File.separator + "settingCover"); | |
1033 | 1033 | if (!file.exists()) { |
1034 | 1034 | boolean mkdirs = file.mkdirs(); |
1035 | 1035 | if (mkdirs) | ... | ... |
fw-dalaran-service/src/main/java/cn/fw/dalaran/service/data/impl/ActivityThemeServiceImpl.java
... | ... | @@ -376,6 +376,38 @@ public class ActivityThemeServiceImpl extends ServiceImpl<ActivityThemeDao, Acti |
376 | 376 | } |
377 | 377 | |
378 | 378 | /** |
379 | + * 活动主题数据封面图处理 | |
380 | + */ | |
381 | + public static void main(String[] args) { | |
382 | + int themeId = 76; | |
383 | + String tempDir = System.getProperty("java.io.tmpdir");// 获取当前环境临时文件夹路径 | |
384 | + Arrays.asList("1076f977869a4874bbe046627e24653a", | |
385 | + "409e23a6e5b04fe8999b3fd5e4897b59", | |
386 | + "4346c78272a5430494b034279ac51777", | |
387 | + "4e515025cea04d518f3c97707ae53d15", | |
388 | + "54081e10b2ad4323970f0ecce4874781", | |
389 | + "564efb8b46c641628035d6b77d85e40a", | |
390 | + "6ed3e5f2cb2246148f4231ea12a84c0b", | |
391 | + "79be977223f345f3b98523b84852ff3f", | |
392 | + "821294cc1fd8468aaf3b9f3dd7e00775", | |
393 | + "82b8f8f1ba6e45f0aaac47e69131e950", | |
394 | + "a948a03cc2c4431ea9ac4c60fd39c6be", | |
395 | + "e10bf422633c47c4a4061eaa0afe3ff2") | |
396 | + .forEach(item -> { | |
397 | + try { | |
398 | + File downloadFile = ImageUtils.convertFileByUrl("https://gate.feewee.cn/file/show?fid=" + item, item); | |
399 | + ImageUtils.modifyResolution(downloadFile.getPath(), | |
400 | + tempDir + "activityTheme" + File.separator + themeId /*+ "#" + activityTheme.getTheme()*/ + File.separator + "settingCover", | |
401 | + "fw_theme_cover_" + item, | |
402 | + 512, 512); | |
403 | + boolean result = downloadFile.delete(); | |
404 | + } catch (Exception e) { | |
405 | + log.error("下载转换封面图失败", e); | |
406 | + } | |
407 | + }); | |
408 | + } | |
409 | + | |
410 | + /** | |
379 | 411 | * 监听器, 收到消息后执行更新主题信息 |
380 | 412 | * |
381 | 413 | * @param msg 消息 | ... | ... |
fw-dalaran-service/src/main/test/example/ImageListener.java
... | ... | @@ -19,8 +19,8 @@ public class ImageListener implements ActionListener { |
19 | 19 | } |
20 | 20 | |
21 | 21 | public ImageListener() throws Exception { |
22 | - File imageFile1 = ImageUtils.convertFileByUrl("https://gate.feewee.cn/file/show?fid=e1d71b45dd0e4d73bde25afc3e260de5"); | |
23 | - File imageFile2 = ImageUtils.convertFileByUrl("https://gate.feewee.cn/file/show?fid=7dfedbed8996443584b6b2221b79235e"); | |
22 | + File imageFile1 = ImageUtils.convertFileByUrl("https://gate.feewee.cn/file/show?fid=0684ce9b0d384ff1a1070c61b7ed376c"); | |
23 | + File imageFile2 = ImageUtils.convertFileByUrl("https://gate.feewee.cn/file/show?fid=0aff5b6acf6040459b6d5e69f1290c3b"); | |
24 | 24 | //File imageFile2 = ImageUtils.convertFileByUrl("https://p2.a.yximgs.com/upic/2022/01/20/20/BMjAyMjAxMjAyMDEyMTZfNDcwOTM0NDgyXzY1MzMwMDA5Mjk0XzJfMw==_B0296c8ed5afa94b9b7a06dd1612c3ecb.jpg?tag=1-1642748356-nil-0-ndrgo4aid6-21e0d82706b2e935&clientCacheKey=3x4xb3uvxtpibvc.jpg&di=abd4f314&bp=10000"); |
25 | 25 | /*File imageFile1 = new File("C:\\Users\\wmy3969\\Desktop\\2.png"); |
26 | 26 | File imageFile2 = new File("C:\\Users\\wmy3969\\Desktop\\2022.4.23-4.30短视频背景封面jpg\\春风十里焕新鲸喜\\1.png");*/ | ... | ... |