日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

silence丶你的名字

發布時間:2023/12/10 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 silence丶你的名字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** 自媒體文章自動審核服務** @author silence丶你的名字* createTime 2021-08-22-17:57*/ @Service @Log4j2 public class WemediaNewsAutoScanServiceImpl implements WemediaNewsAutoScanService {/*** fastServer 地址*/@Value("${fdfs.url}")private String fileServerUrl;/*** 自媒體微服務遠程調用接口*/@Autowiredprivate WemediaFeign wemediaFeign;/*** 自維護敏感詞*/@Autowiredprivate AdSensitiveService adSensitiveService;/*** 文章信息表,存儲已發布的文章(遠程 接口)*/@Autowiredprivate ArticleFeign articleFeign;/*** 文章頻道*/@Autowiredprivate AdChannelMapper adChannelMapper;/*** 自媒體文章審核** @param id 自媒體文章id*/@Overridepublic void autoScanByMediaNewsId(Integer id) {if (ObjectUtil.isEmpty(id)) {log.error("當前審核的id為空");return;}//自媒體圖文內容信息表WmNews wmNews = wemediaFeign.findById(id);if (Objects.isNull(wmNews)) {log.error("審核的自媒體文章不存在,自媒體的id:{}", id);return;}//2.文章狀態為4(人工審核通過)直接保存數據和創建索引if (WmNewsStatus.ADMIN_SUCCESS.getCode().equals(wmNews.getStatus())) {saveAppArticle(wmNews);return;}//3.文章狀態為8 8 審核通過(待發布) 發布時間小于等于當前時間 直接保存數據 保存數據if (WmNewsStatus.SUCCESS.getCode().equals(wmNews.getStatus()) &&wmNews.getPublishTime().getTime() <= System.currentTimeMillis()) {saveAppArticle(wmNews);return;}//4.文章狀態為1:待審核if (WmNewsStatus.SUBMIT.getCode().equals(wmNews.getStatus())) {//4.1 文本審核 通過為trueif (!handleTextScan(wmNews)) {updateWmNews(wmNews);return;}//圖片審核 通過為trueif (!handleImagesScan(wmNews)) {updateWmNews(wmNews);return;}//自管理 敏感詞審核 通過為trueif (!handleSensitive(wmNews)) {updateWmNews(wmNews);return;}// 發布時間大于當前時間, 8 審核通過(待發布) 9 已發布int status = wmNews.getPublishTime().getTime() > System.currentTimeMillis() ?WmNewsStatus.SUCCESS.getCode() : WmNewsStatus.PUBLISHED.getCode();//修改當前文章狀態if (WmNewsStatus.SUCCESS.getCode().equals(wmNews.getStatus())) {wmNews.setStatus(status);wmNews.setReason("審核通過,待發布");updateWmNews(wmNews);return;}//5.審核通過,修改自媒體文章狀態為9 保存app端相關文章信息saveAppArticle(wmNews);}}/*** 保存app端相關文章信息** @param wmNews 自媒體圖文內容信息表*/private void saveAppArticle(WmNews wmNews) {//保存app文章 文章信息表,存儲已發布的文章ApArticle apArticle = saveArticle(wmNews);// ApArticleConfig 初始化一個對象 保存app文章配置ApArticleConfig apArticleConfig = ApArticleConfig.init(apArticle.getId());articleFeign.saveArticleConfig(apArticleConfig);//保存app文章內容saveArticleContent(apArticle, wmNews);//修改自媒體文章的狀態為9 發布狀態wmNews.setStatus(WmNewsStatus.PUBLISHED.getCode());wmNews.setReason("審核通過");updateWmNews(wmNews);//TODO es索引創建}/*** 創建app端文章內容信息** @param apArticle 文章信息表,存儲已發布的文章* @param wmNews 自媒體圖文內容信息表*/private void saveArticleContent(ApArticle apArticle, WmNews wmNews) {ApArticleContent apArticleContent = new ApArticleContent();apArticleContent.setArticleId(apArticle.getId());apArticleContent.setContent(wmNews.getContent());articleFeign.saveArticleContent(apArticleContent);}/*** 創建app端文章內容信息** @param wmNews 自媒體圖文內容信息表* @return 文章信息表,存儲已發布的文章*/private ApArticle saveArticle(WmNews wmNews) {ApArticle apArticle = new ApArticle();apArticle.setTitle(wmNews.getTitle());apArticle.setLayout(wmNews.getType());apArticle.setImages(wmNews.getImages());//獲取作者相關信息WmUser wmUser = wemediaFeign.findWmUserById(wmNews.getUserId());if (Objects.nonNull(wmUser)) {//查詢作者信息ApAuthor apAuthor = articleFeign.selectAuthorByName(wmUser.getName());if (Objects.nonNull(apAuthor)) {apArticle.setAuthorId(apAuthor.getId().longValue());apArticle.setAuthorName(apAuthor.getName());}}//獲取頻道相關信息AdChannel channel = adChannelMapper.selectById(wmNews.getChannelId());if (Objects.nonNull(channel)) {apArticle.setChannelId(channel.getId());apArticle.setChannelName(channel.getName());}return articleFeign.saveArticle(apArticle);}/*** 自管理 敏感詞審核** @param wmNews 自媒體圖文內容信息表* @return boolean true:成功 false:失敗*/private boolean handleSensitive(WmNews wmNews) {try {String contentText = wmNews.getContentText();if (ObjectUtil.isEmpty(contentText)) {return false;}//查詢 所有敏感詞 并初始化SensitiveUtil.init(adSensitiveService.findSensitives());List<String> result = SensitiveUtil.getFindedAllSensitive(contentText);if (CollUtil.isEmpty(result)) {return true;}String join = CollUtil.join(result, ",");log.error("敏感詞過濾沒有通過,包含了敏感詞:{}", join);//找到了敏感詞,審核不通過wmNews.setStatus(WmNewsStatus.FAIL.getCode());wmNews.setReason("文章中包含了敏感詞:" + join);} catch (Exception e) {e.printStackTrace();}return false;}/*** 圖片審核* true:成功 false:失敗** @param wmNews 自媒體圖文內容信息表* @return boolean true:成功 false:失敗*/private boolean handleImagesScan(WmNews wmNews) {try {//抽取文章的圖片wmNews.getImagesUrls(fileServerUrl);//抽取封面圖片wmNews.splitMainImages(fileServerUrl);//TODO 需要阿里云 或騰訊云審核 返回結果。 參考文本審核return true;} catch (Exception e) {e.printStackTrace();}return false;}/*** 阿里云文本審核* true:成功 false:失敗** @param wmNews 自媒體圖文內容信息表* @return boolean true:成功 false:失敗*/private boolean handleTextScan(WmNews wmNews) {try {//阿里云審核 并獲取結果Map<String, String> map = TextReviews.senText(wmNews.getContentText());//審核通過if ("Pass".equals(map.get("suggestion"))) {return true;}//修改失敗狀態 "Block":不通過 "Review":建議人工審核wmNews.setStatus(WmNewsStatus.FAIL.getCode());wmNews.setReason(map.get("suggestion") + " : " + map.get("evilType"));} catch (Exception e) {e.printStackTrace();}return false;}/*** 修改自媒體文章** @param wmNews 自媒體圖文內容信息表*/private void updateWmNews(WmNews wmNews) {wemediaFeign.updateWmNews(wmNews);}}

?

總結

以上是生活随笔為你收集整理的silence丶你的名字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。