fix:优化代码

上级 cf38da15
## 一.说明
主要是SpringBoot学习
主要是SpringBoot学习,一键部署
### 二.主要集成
......
package com.kwan.springbootkwan.constant;
/**
* csdn常量管理
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/10/29 10:12
*/
public class CsdnConstant {
/**
* 文章类型
*/
public static final String ARTICLE_TYPE = "blog";
}
......@@ -142,15 +142,12 @@ public class CsdnArticleInfoController {
final CsdnArticleInfo one = this.csdnArticleInfoService.getOne(wrapper);
if (one != null) {
final String userName = one.getUserName();
QueryWrapper<CsdnUserInfo> wrapperUser = new QueryWrapper<>();
wrapperUser.eq("user_name", userName);
wrapperUser.eq("is_delete", 0);
final CsdnUserInfo userInfo = this.csdnUserInfoService.getOne(wrapperUser);
CsdnUserInfo csdnUserInfo=csdnUserInfoService.getUserByUserName(userName);
BusinessInfoResponse.ArticleData.Article article = new BusinessInfoResponse.ArticleData.Article();
article.setDescription(one.getArticleDescription());
article.setTitle(one.getArticleTitle());
article.setUrl(one.getArticleUrl());
csdnService.tripletByArticle(userInfo, article, one);
csdnService.tripletByArticle(csdnUserInfo, article, one);
}
return Result.ok("单篇文章三连完成");
}
......
package com.kwan.springbootkwan.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.kwan.springbootkwan.entity.CsdnUserInfo;
import com.kwan.springbootkwan.entity.Result;
import com.kwan.springbootkwan.service.CsdnAutoReplyService;
......@@ -33,10 +32,7 @@ public class CsdnController {
@ApiOperation(value = "单人三连", nickname = "单人三连")
@GetMapping("/singleTriplet")
public Result singleTriplet(@Param("username") String username) {
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("is_delete", 0);
wrapper.eq("user_name", username).last("limit 1");
final CsdnUserInfo csdnUserInfo = csdnUserInfoService.getOne(wrapper);
CsdnUserInfo csdnUserInfo = csdnUserInfoService.getUserByUserName(username);
if (Objects.nonNull(csdnUserInfo)) {
csdnService.singleArticle(csdnUserInfo);
}
......@@ -67,10 +63,7 @@ public class CsdnController {
@ApiOperation(value = "重置指定人员新博客状态", nickname = "重置指定人员新博客状态")
@GetMapping("/resetCsdnUserInfo")
public Result resetCsdnUserInfo(@Param("username") String username) {
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("is_delete", 0);
wrapper.eq("user_name", username).last("limit 1");
final CsdnUserInfo csdnUserInfo = csdnUserInfoService.getOne(wrapper);
CsdnUserInfo csdnUserInfo = csdnUserInfoService.getUserByUserName(username);
if (Objects.nonNull(csdnUserInfo)) {
csdnUserInfoService.resetCsdnUserInfo(csdnUserInfo);
}
......
......@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.kwan.springbootkwan.entity.CsdnUserInfo;
import com.kwan.springbootkwan.entity.query.CsdnUserInfoQuery;
import java.util.List;
/**
* csdn用户信息(CsdnUserInfo)表服务接口
*
......@@ -11,6 +13,23 @@ import com.kwan.springbootkwan.entity.query.CsdnUserInfoQuery;
* @since 2023-10-23 16:03:14
*/
public interface CsdnUserInfoService extends IService<CsdnUserInfo> {
/**
* 通过用户名获取user信息
*
* @return
*/
CsdnUserInfo getUserByUserName(String username);
/**
* 通过用户名获取user信息
*
* @return
*/
List<CsdnUserInfo> getAllUser();
/**
* 重置新文章的状态
*/
......@@ -20,6 +39,7 @@ public interface CsdnUserInfoService extends IService<CsdnUserInfo> {
* 重置新一天的状态
*/
void resetUserDayStatus();
/**
* 重置某个人某一天的状态
*
......@@ -29,6 +49,7 @@ public interface CsdnUserInfoService extends IService<CsdnUserInfo> {
/**
* 新增用户
*
* @param addInfo
*/
void add(CsdnUserInfoQuery addInfo);
......
......@@ -3,7 +3,6 @@ package com.kwan.springbootkwan.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.kwan.springbootkwan.entity.CsdnUserInfo;
......@@ -93,10 +92,7 @@ public class CsdnAutoReplyServiceImpl implements CsdnAutoReplyService {
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);
CsdnUserInfo csdnUserInfo=csdnUserInfoService.getUserByUserName(userName);
if (Objects.isNull(csdnUserInfo)) {
//新增用户
csdnUserInfo = new CsdnUserInfo();
......
......@@ -135,12 +135,9 @@ public class CsdnServiceImpl implements CsdnService {
@Override
public void multiTriplet() {
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("is_delete", 0);
wrapper.orderByDesc("user_weight");
final List<CsdnUserInfo> list = csdnUserInfoService.list(wrapper);
if (CollectionUtil.isNotEmpty(list)) {
for (CsdnUserInfo csdnUserInfo : list) {
final List<CsdnUserInfo> allUser = csdnUserInfoService.getAllUser();
if (CollectionUtil.isNotEmpty(allUser)) {
for (CsdnUserInfo csdnUserInfo : allUser) {
singleArticle(csdnUserInfo);
}
}
......
......@@ -3,6 +3,7 @@ package com.kwan.springbootkwan.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kwan.springbootkwan.constant.CsdnConstant;
import com.kwan.springbootkwan.entity.CsdnUserInfo;
import com.kwan.springbootkwan.entity.query.CsdnUserInfoQuery;
import com.kwan.springbootkwan.entity.resp.BusinessInfoResponse;
......@@ -28,20 +29,33 @@ import java.util.List;
*/
@Service("csdnUserInfoService")
public class CsdnUserInfoServiceImpl extends ServiceImpl<CsdnUserInfoMapper, CsdnUserInfo> implements CsdnUserInfoService {
@Autowired
private CsdnCollectService csdnCollectService;
@Autowired
private CsdnArticleInfoService csdnArticleInfoService;
@Override
public void resetAllCurrentStatus() {
public CsdnUserInfo getUserByUserName(String username) {
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("is_delete", 0);
wrapper.eq("user_name", username)
.last("limit 1");
return this.getOne(wrapper);
}
@Override
public List<CsdnUserInfo> getAllUser() {
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("is_delete", 0);
final List<CsdnUserInfo> list = this.list(wrapper);
if (CollectionUtil.isNotEmpty(list)) {
for (CsdnUserInfo csdnUserInfo : list) {
wrapper.orderByAsc("rand()");
return this.list(wrapper);
}
@Override
public void resetAllCurrentStatus() {
final List<CsdnUserInfo> allUser = this.getAllUser();
if (CollectionUtil.isNotEmpty(allUser)) {
for (CsdnUserInfo csdnUserInfo : allUser) {
this.resetCsdnUserInfo(csdnUserInfo);
}
}
......@@ -49,16 +63,15 @@ public class CsdnUserInfoServiceImpl extends ServiceImpl<CsdnUserInfoMapper, Csd
@Override
public void resetCsdnUserInfo(CsdnUserInfo csdnUserInfo) {
final String userName = csdnUserInfo.getUserName();
final Integer commentStatus = csdnUserInfo.getCommentStatus();
final String userName = csdnUserInfo.getUserName();
final String articleType = csdnUserInfo.getArticleType();
final List<BusinessInfoResponse.ArticleData.Article> articles = csdnArticleInfoService.getArticles(userName);
if (CollectionUtil.isNotEmpty(articles)) {
final BusinessInfoResponse.ArticleData.Article article = articles.get(0);
final String type = article.getType();
if (StringUtils.equals(type, "blog")) {
final String urlInfo = article.getUrl();
String articleId = urlInfo.substring(urlInfo.lastIndexOf("/") + 1);
if (StringUtils.equals(type, CsdnConstant.ARTICLE_TYPE)) {
final String articleId = article.getArticleId().toString();
final Boolean collect = csdnCollectService.isCollect(articleId, csdnUserInfo);
if (!collect || CommentStatus.COMMENT_TOO_FAST.getCode().equals(commentStatus) || !StringUtils.equals(articleType, type)) {
csdnUserInfo.setLikeStatus(LikeStatus.UN_PROCESSED.getCode());
......@@ -88,44 +101,35 @@ public class CsdnUserInfoServiceImpl extends ServiceImpl<CsdnUserInfoMapper, Csd
for (String str : split) {
str = str.trim();
if (StringUtils.isNotEmpty(str)) {
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("user_name", str);
wrapper.eq("is_delete", 0);
CsdnUserInfo one = this.getOne(wrapper);
if (one == null) {
one = new CsdnUserInfo();
BeanUtils.copyProperties(addInfo, one);
one.setUserName(str);
one.setUserHomeUrl("https://blog.csdn.net/" + str);
this.save(one);
CsdnUserInfo csdnUserInfo = this.getUserByUserName(str);
if (csdnUserInfo == null) {
csdnUserInfo = new CsdnUserInfo();
BeanUtils.copyProperties(addInfo, csdnUserInfo);
csdnUserInfo.setUserName(str);
csdnUserInfo.setUserHomeUrl("https://blog.csdn.net/" + str);
this.save(csdnUserInfo);
}
addInfo.setNickName(one.getNickName());
addInfo.setNickName(csdnUserInfo.getNickName());
}
}
} else {
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("user_name", userName);
wrapper.eq("is_delete", 0);
CsdnUserInfo one = this.getOne(wrapper);
if (one == null) {
one = new CsdnUserInfo();
BeanUtils.copyProperties(addInfo, one);
one.setUserHomeUrl("https://blog.csdn.net/" + userName);
this.save(one);
CsdnUserInfo csdnUserInfo = this.getUserByUserName(userName);
if (csdnUserInfo == null) {
csdnUserInfo = new CsdnUserInfo();
BeanUtils.copyProperties(addInfo, csdnUserInfo);
csdnUserInfo.setUserHomeUrl("https://blog.csdn.net/" + userName);
this.save(csdnUserInfo);
}
addInfo.setNickName(one.getNickName());
addInfo.setNickName(csdnUserInfo.getNickName());
}
}
}
@Override
public void resetUserDayStatus() {
QueryWrapper<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("is_delete", 0);
final List<CsdnUserInfo> list = this.list(wrapper);
if (CollectionUtil.isNotEmpty(list)) {
for (CsdnUserInfo csdnUserInfo : list) {
final List<CsdnUserInfo> allUser = this.getAllUser();
if (CollectionUtil.isNotEmpty(allUser)) {
for (CsdnUserInfo csdnUserInfo : allUser) {
final String userName = csdnUserInfo.getUserName();
final List<BusinessInfoResponse.ArticleData.Article> articles = csdnArticleInfoService.getArticles(userName);
if (CollectionUtil.isNotEmpty(articles)) {
......@@ -151,6 +155,4 @@ public class CsdnUserInfoServiceImpl extends ServiceImpl<CsdnUserInfoMapper, Csd
}
}
}
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册