fix:只处理博客

上级 b4e7ee8d
...@@ -29,7 +29,7 @@ public class CsdnArticleServiceImpl implements CsdnArticleService { ...@@ -29,7 +29,7 @@ public class CsdnArticleServiceImpl implements CsdnArticleService {
.header("Cookie", csdnCookie) .header("Cookie", csdnCookie)
.form("page", 1) .form("page", 1)
.form("size", 5) .form("size", 5)
.form("businessType", "lately") .form("businessType", "blog")
.form("noMore", false) .form("noMore", false)
.form("username", username) .form("username", username)
.execute(); .execute();
......
package com.kwan.springbootkwan.service.impl; package com.kwan.springbootkwan.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
...@@ -25,7 +24,6 @@ import org.springframework.stereotype.Service; ...@@ -25,7 +24,6 @@ import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@Slf4j @Slf4j
@Service @Service
public class CsdnAutoReplyServiceImpl implements CsdnAutoReplyService { public class CsdnAutoReplyServiceImpl implements CsdnAutoReplyService {
...@@ -37,7 +35,6 @@ public class CsdnAutoReplyServiceImpl implements CsdnAutoReplyService { ...@@ -37,7 +35,6 @@ public class CsdnAutoReplyServiceImpl implements CsdnAutoReplyService {
private String selfUserName; private String selfUserName;
@Value("${csdn.url.is_comment_list_url}") @Value("${csdn.url.is_comment_list_url}")
private String commentListUrl; private String commentListUrl;
@Autowired @Autowired
private CsdnService csdnService; private CsdnService csdnService;
@Autowired @Autowired
...@@ -50,77 +47,76 @@ public class CsdnAutoReplyServiceImpl implements CsdnAutoReplyService { ...@@ -50,77 +47,76 @@ public class CsdnAutoReplyServiceImpl implements CsdnAutoReplyService {
@Override @Override
public void commentSelf() { public void commentSelf() {
List<BusinessInfoResponse.ArticleData.Article> list = csdnArticleService.getArticles(selfUserName); List<BusinessInfoResponse.ArticleData.Article> list = csdnArticleService.getArticles(selfUserName);
if (list == null) { if (CollectionUtil.isNotEmpty(list)) {
return; for (BusinessInfoResponse.ArticleData.Article article : list) {
} final String type = article.getType();
for (BusinessInfoResponse.ArticleData.Article article : list) { if (StringUtils.equals("blog", type)) {
final String type = article.getType(); final String urlInfo = article.getUrl();
if (StringUtils.equals("blog", type)) { String articleId = urlInfo.substring(urlInfo.lastIndexOf("/") + 1);
final String urlInfo = article.getUrl(); String url = commentListUrl + articleId;
String articleId = urlInfo.substring(urlInfo.lastIndexOf("/") + 1); HttpResponse response = HttpUtil.createPost(url)
String url = commentListUrl + articleId; .header("Cookie", csdnCookie)
HttpResponse response = HttpUtil.createPost(url) .form("page", 1)
.header("Cookie", csdnCookie) .form("size", 200)//获取当前文章的200条评论
.form("page", 1) .execute();
.form("size", 200)//获取当前文章的200条评论 final String body = response.body();
.execute(); ObjectMapper objectMapper = new ObjectMapper();
final String body = response.body(); CommentListResponse articleInfo;
ObjectMapper objectMapper = new ObjectMapper(); try {
CommentListResponse articleInfo; articleInfo = objectMapper.readValue(body, CommentListResponse.class);
try { final CommentListResponse.DataInfo data = articleInfo.getData();
articleInfo = objectMapper.readValue(body, CommentListResponse.class); final List<CommentListResponse.Comment> otherCommentList = data.getList();
final CommentListResponse.DataInfo data = articleInfo.getData(); if (CollectionUtil.isNotEmpty(otherCommentList)) {
final List<CommentListResponse.Comment> otherCommentList = data.getList(); for (CommentListResponse.Comment oneComment : otherCommentList) {
if (CollectionUtil.isNotEmpty(otherCommentList)) { final CommentListResponse.Info info = oneComment.getInfo();
for (CommentListResponse.Comment oneComment : otherCommentList) { final String userName = info.getUserName();
final CommentListResponse.Info info = oneComment.getInfo(); final String nickName = info.getNickName();
final String userName = info.getUserName(); final Integer commentId = info.getCommentId();
final String nickName = info.getNickName(); if (!StringUtils.equals(userName, selfUserName)) {
final Integer commentId = info.getCommentId(); final List<CommentListResponse.SubComment> sub = oneComment.getSub();
if (!StringUtils.equals(userName, selfUserName)) { boolean flag = false;
final List<CommentListResponse.SubComment> sub = oneComment.getSub(); if (CollectionUtil.isNotEmpty(sub)) {
boolean flag = false; for (CommentListResponse.SubComment subComment : sub) {
if (CollectionUtil.isNotEmpty(sub)) { //如果没有自己的评论,需要评论
for (CommentListResponse.SubComment subComment : sub) { final String subUserName = subComment.getUserName();
//如果没有自己的评论,需要评论 if (StringUtils.equals(subUserName, selfUserName)) {
final String subUserName = subComment.getUserName(); flag = true;
if (StringUtils.equals(subUserName, selfUserName)) { }
flag = true;
} }
} }
if (CollectionUtil.isEmpty(sub) || !flag) {
//需要评论
int start = -1;
int end = selfReply.length;
int temp_count = (int) (Math.floor(Math.random() * (start - end + 1)) + end);
CommentResponse reply = csdnCommentService.dealComment(articleId, selfReply[temp_count], commentId);
log.info(reply.toString());
}
//三连此评论人
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("is_delete", 0);
wrapper.eq("user_name", userName).last("limit 1");
CsdnUserInfo csdnUserInfo = csdnUserInfoService.getOne(wrapper);
if (Objects.isNull(csdnUserInfo)) {
//新增用户
csdnUserInfo = new CsdnUserInfo();
csdnUserInfo.setUserName(userName);
csdnUserInfo.setNickName(nickName);
csdnUserInfo.setLikeStatus(0);
csdnUserInfo.setCollectStatus(0);
csdnUserInfo.setCommentStatus(0);
csdnUserInfo.setUserWeight(7);
csdnUserInfoService.save(csdnUserInfo);
}
csdnService.singleArticle(csdnUserInfo);
} }
if (CollectionUtil.isEmpty(sub) || !flag) {
//需要评论
int start = -1;
int end = selfReply.length;
int temp_count = (int) (Math.floor(Math.random() * (start - end + 1)) + end);
CommentResponse reply = csdnCommentService.dealComment(articleId, selfReply[temp_count], commentId);
log.info(reply.toString());
}
//三连此评论人
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("is_delete", 0);
wrapper.eq("user_name", userName).last("limit 1");
CsdnUserInfo csdnUserInfo = csdnUserInfoService.getOne(wrapper);
if (Objects.isNull(csdnUserInfo)) {
//新增用户
csdnUserInfo = new CsdnUserInfo();
csdnUserInfo.setUserName(userName);
csdnUserInfo.setNickName(nickName);
csdnUserInfo.setLikeStatus(0);
csdnUserInfo.setCollectStatus(0);
csdnUserInfo.setCommentStatus(0);
csdnUserInfo.setUserWeight(7);
csdnUserInfoService.save(csdnUserInfo);
}
csdnService.singleArticle(csdnUserInfo);
} }
} }
} catch (JsonProcessingException e) {
e.printStackTrace();
} }
} catch (JsonProcessingException e) {
e.printStackTrace();
} }
} }
} }
} }
} }
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册