重构工具类

This commit is contained in:
禾几海
2021-10-01 15:57:46 +08:00
parent fa120a6da5
commit 366ce4b829
13 changed files with 75 additions and 82 deletions

View File

@@ -12,7 +12,7 @@ import cn.celess.common.service.ArticleService;
import cn.celess.common.service.UserService;
import cn.celess.common.util.ModalTrans;
import cn.celess.common.util.RegexUtil;
import cn.celess.common.util.StringFromHtmlUtil;
import cn.celess.common.util.StringUtil;
import cn.celess.user.util.RedisUserUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -99,7 +99,7 @@ public class ArticleServiceImpl implements ArticleService {
article.setUser(redisUserUtil.get());
//markdown->html->summary
String str = StringFromHtmlUtil.getString(MDTool.markdown2Html(article.getMdContent()));
String str = StringUtil.getString(MDTool.markdown2Html(article.getMdContent()));
//获取摘要 摘要长度为255个字符
String summary = str.length() > 240 ? str.substring(0, 240) + "......" : str;
article.setSummary(summary);
@@ -197,7 +197,7 @@ public class ArticleServiceImpl implements ArticleService {
//写入数据库的数据
article.setOpen(reqBody.getOpen() == null ? article.getOpen() : reqBody.getOpen());
String str = StringFromHtmlUtil.getString(MDTool.markdown2Html(article.getMdContent()));
String str = StringUtil.getString(MDTool.markdown2Html(article.getMdContent()));
article.setSummary(str.length() > 240 ? str.substring(0, 240) + "......" : str);
articleMapper.update(article);

View File

@@ -1,14 +0,0 @@
package cn.celess.common.util;
import org.springframework.util.DigestUtils;
/**
* @author : xiaohai
* @date : 2019/03/30 18:56
*/
public class MD5Util {
public static String getMD5(String str) {
String md5 = DigestUtils.md5DigestAsHex(str.getBytes());
return md5;
}
}

View File

@@ -1,17 +0,0 @@
package cn.celess.common.util;
import javax.servlet.http.HttpServletRequest;
/**
* @Author: 小海
* @Date: 2019/10/18 15:44
* @Description:
*/
public class RequestUtil {
public static String getCompleteUrlAndMethod(HttpServletRequest request) {
// like this : /articles?page=1&count=5:GET
return request.getRequestURI() +
(request.getQueryString() == null ? "" : "?" + request.getQueryString()) +
":" + request.getMethod();
}
}

View File

@@ -1,17 +0,0 @@
package cn.celess.common.util;
/**
* @author : xiaohai
* @date : 2019/03/28 17:21
*/
public class StringFromHtmlUtil {
public static String getString(String html) {
//从html中提取纯文本
//剔出<html>的标签
String txtcontent = html.replaceAll("</?[^>]+>", "");
//去除字符串中的空格,回车,换行符,制表符
txtcontent = txtcontent.replaceAll("<a>\\s*|\t|\r|\n</a>", "");
return txtcontent;
}
}

View File

@@ -0,0 +1,42 @@
package cn.celess.common.util;
import org.springframework.util.DigestUtils;
import javax.servlet.http.HttpServletRequest;
/**
* @author : xiaohai
* @date : 2019/03/28 17:21
*/
public class StringUtil {
/**
* 从html中提取纯文本
*
* @param html html string
* @return 纯文本
*/
public static String getString(String html) {
//剔出<html>的标签
String txtcontent = html.replaceAll("</?[^>]+>", "");
//去除字符串中的空格,回车,换行符,制表符
txtcontent = txtcontent.replaceAll("<a>\\s*|\t|\r|\n</a>", "");
return txtcontent;
}
/**
* 生成MD5
*
* @param str 源数据
* @return md5 内容
*/
public static String getMD5(String str) {
return DigestUtils.md5DigestAsHex(str.getBytes());
}
public static String getCompleteUrlAndMethod(HttpServletRequest request) {
// like this : GET:/articles?page=1&count=5
return request.getMethod() + ":" + request.getRequestURI() +
(request.getQueryString() == null ? "" : "?" + request.getQueryString());
}
}

View File

@@ -79,9 +79,8 @@ public class VeriCodeUtil {
*/
public static Color getRandomColor() {
Random ran = new Random();
Color color = new Color(ran.nextInt(256),
return new Color(ran.nextInt(256),
ran.nextInt(256), ran.nextInt(256));
return color;
}

View File

@@ -4,7 +4,7 @@ import cn.celess.common.CommonBaseTest;
import cn.celess.common.enmu.RoleEnum;
import cn.celess.common.enmu.UserAccountStatusEnum;
import cn.celess.common.entity.User;
import cn.celess.common.util.MD5Util;
import cn.celess.common.util.StringUtil;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -51,7 +51,7 @@ public class UserMapperTest extends CommonBaseTest {
@Test
public void updatePwd() {
User user = generateUser();
assertEquals(1, userMapper.updatePwd(user.getEmail(), MD5Util.getMD5("12345687654")));
assertEquals(1, userMapper.updatePwd(user.getEmail(), StringUtil.getMD5("12345687654")));
}
@Test
@@ -163,7 +163,7 @@ public class UserMapperTest extends CommonBaseTest {
user.setRole(RoleEnum.ADMIN_ROLE.getRoleName());
user.setAvatarImgUrl("https://celess.cn/examcple.jpg");
user.setEmail(randomStr(8) + "@celess.cn");
user.setPwd(MD5Util.getMD5("010100000100000"));
user.setPwd(StringUtil.getMD5("010100000100000"));
assertEquals(1, userMapper.update(user));
User byId = userMapper.findById(user.getId());
assertEquals(user.getDesc(), byId.getDesc());
@@ -176,7 +176,7 @@ public class UserMapperTest extends CommonBaseTest {
}
private User generateUser() {
User user = new User(randomStr(6) + "@celess.cn", MD5Util.getMD5("1234567890"));
User user = new User(randomStr(6) + "@celess.cn", StringUtil.getMD5("1234567890"));
userMapper.addUser(user);
User newUser = userMapper.findByEmail(user.getEmail());
assertEquals(user.getId(), newUser.getId());

View File

@@ -5,10 +5,10 @@ import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class MD5UtilTest extends CommonBaseTest {
public class StringUtilTest extends CommonBaseTest {
@Test
public void getMD5() {
assertEquals("25f9e794323b453885f5181f1b624d0b", MD5Util.getMD5("123456789"));
assertEquals("25f9e794323b453885f5181f1b624d0b", StringUtil.getMD5("123456789"));
}
}

View File

@@ -2,7 +2,7 @@ package cn.celess.configuration.filter;
import cn.celess.common.enmu.ResponseEnum;
import cn.celess.common.entity.Response;
import cn.celess.common.util.RequestUtil;
import cn.celess.common.util.StringUtil;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
@@ -24,7 +24,7 @@ public class MultipleSubmitFilter implements HandlerInterceptor {
if (lastSubmitTime == null || completeUrl == null) {
return true;
}
if (System.currentTimeMillis() - lastSubmitTime < WAIT_TIME && RequestUtil.getCompleteUrlAndMethod(request).equals(completeUrl)) {
if (System.currentTimeMillis() - lastSubmitTime < WAIT_TIME && StringUtil.getCompleteUrlAndMethod(request).equals(completeUrl)) {
// 请求参数和路径均相同 且请求时间间隔小于 WAIT_TIME
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
@@ -39,6 +39,6 @@ public class MultipleSubmitFilter implements HandlerInterceptor {
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
HttpSession session = request.getSession();
session.setAttribute("lastSubmitTime", System.currentTimeMillis());
session.setAttribute("completeUrl&method", RequestUtil.getCompleteUrlAndMethod(request));
session.setAttribute("completeUrl&method", StringUtil.getCompleteUrlAndMethod(request));
}
}

View File

@@ -1,6 +1,6 @@
package cn.celess.configuration.filter;
import cn.celess.common.util.RequestUtil;
import cn.celess.common.util.StringUtil;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;
@@ -27,11 +27,11 @@ public class VisitorRecord implements HandlerInterceptor {
return true;
}
// 获取访问次数
Integer count = visitDetail.get(RequestUtil.getCompleteUrlAndMethod(request));
Integer count = visitDetail.get(StringUtil.getCompleteUrlAndMethod(request));
// 自增
count = count == null ? 1 : ++count;
// 更新
visitDetail.put(RequestUtil.getCompleteUrlAndMethod(request), count);
visitDetail.put(StringUtil.getCompleteUrlAndMethod(request), count);
session.setAttribute("ip", request.getRemoteAddr());
return true;
}

View File

@@ -15,10 +15,10 @@ import cn.celess.common.mapper.UserMapper;
import cn.celess.common.service.MailService;
import cn.celess.common.service.QiniuService;
import cn.celess.common.service.UserService;
import cn.celess.common.util.MD5Util;
import cn.celess.common.util.ModalTrans;
import cn.celess.common.util.RedisUtil;
import cn.celess.common.util.RegexUtil;
import cn.celess.common.util.StringUtil;
import cn.celess.user.util.JwtUtil;
import cn.celess.user.util.RedisUserUtil;
import com.github.pagehelper.PageHelper;
@@ -79,7 +79,7 @@ public class UserServiceImpl implements UserService {
if (userMapper.existsByEmail(email)) {
throw new BlogResponseException(ResponseEnum.USERNAME_HAS_EXIST);
}
User user = new User(email, MD5Util.getMD5(password));
User user = new User(email, StringUtil.getMD5(password));
boolean b = userMapper.addUser(user) == 1;
if (b) {
String verifyId = UUID.randomUUID().toString().replaceAll("-", "");
@@ -125,7 +125,7 @@ public class UserServiceImpl implements UserService {
String token;
// 密码比对
if (user.getPwd().equals(MD5Util.getMD5(loginReq.getPassword()))) {
if (user.getPwd().equals(StringUtil.getMD5(loginReq.getPassword()))) {
logger.info("====> {} 进行权限认证 状态:登录成功 <====", loginReq.getEmail());
userMapper.updateLoginTime(loginReq.getEmail());
redisUtil.delete(loginReq.getEmail() + "-passwordWrongTime");
@@ -307,10 +307,10 @@ public class UserServiceImpl implements UserService {
throw new BlogResponseException(ResponseEnum.FAILURE.getCode(), "请先获取重置密码的邮件");
}
if (resetPwdIdFromCache.equals(verifyId)) {
if (MD5Util.getMD5(pwd).equals(user.getPwd())) {
if (StringUtil.getMD5(pwd).equals(user.getPwd())) {
throw new BlogResponseException(ResponseEnum.PWD_SAME);
}
userMapper.updatePwd(email, MD5Util.getMD5(pwd));
userMapper.updatePwd(email, StringUtil.getMD5(pwd));
redisUtil.delete(user.getEmail() + "-resetPwd");
return "验证成功";
} else {
@@ -380,7 +380,7 @@ public class UserServiceImpl implements UserService {
if (!RegexUtil.pwdMatch(userReq.getPwd())) {
throw new BlogResponseException(ResponseEnum.PARAMETERS_PWD_ERROR);
}
user.setPwd(MD5Util.getMD5(userReq.getPwd()));
user.setPwd(StringUtil.getMD5(userReq.getPwd()));
}
if (userReq.getRole() != null) {
if (RoleEnum.USER_ROLE.getRoleName().equals(userReq.getRole()) || RoleEnum.ADMIN_ROLE.getRoleName().equals(userReq.getRole())) {
@@ -416,13 +416,13 @@ public class UserServiceImpl implements UserService {
public UserModel setPwd(String pwd, String newPwd, String confirmPwd) {
User user = redisUserUtil.get();
String pwd1 = userMapper.getPwd(user.getEmail());
if (!MD5Util.getMD5(pwd).equals(pwd1)) {
if (!StringUtil.getMD5(pwd).equals(pwd1)) {
throw new BlogResponseException(ResponseEnum.PWD_WRONG);
}
if (!newPwd.equals(confirmPwd)) {
throw new BlogResponseException(ResponseEnum.PWD_NOT_SAME);
}
userMapper.updatePwd(user.getEmail(), MD5Util.getMD5(newPwd));
userMapper.updatePwd(user.getEmail(), StringUtil.getMD5(newPwd));
return ModalTrans.userFullInfo(userMapper.findByEmail(user.getEmail()));
}
}

View File

@@ -8,8 +8,8 @@ import cn.celess.common.entity.vo.PageData;
import cn.celess.common.entity.vo.UserModel;
import cn.celess.common.mapper.UserMapper;
import cn.celess.common.service.UserService;
import cn.celess.common.util.MD5Util;
import cn.celess.common.util.RedisUtil;
import cn.celess.common.util.StringUtil;
import cn.celess.user.UserBaseTest;
import com.fasterxml.jackson.core.type.TypeReference;
import org.junit.Test;
@@ -138,7 +138,7 @@ public class UserControllerTest extends UserBaseTest {
@Test
public void emailVerify() throws Exception {
String email = randomStr(4) + "@celess.cn";
String pwd = MD5Util.getMD5("123456789");
String pwd = StringUtil.getMD5("123456789");
userMapper.addUser(new User(email, pwd));
String verifyId = randomStr();
LoginReq req = new LoginReq(email, "123456789", true);
@@ -151,7 +151,7 @@ public class UserControllerTest extends UserBaseTest {
@Test
public void resetPwd() throws Exception {
String email = randomStr(4) + "@celess.cn";
String pwd = MD5Util.getMD5("1234567890");
String pwd = StringUtil.getMD5("1234567890");
userMapper.addUser(new User(email, pwd));
LoginReq req = new LoginReq(email, "1234567890", true);
String verifyId = randomStr();
@@ -172,7 +172,7 @@ public class UserControllerTest extends UserBaseTest {
for (int i = 0; i < 10; i++) {
String s = randomStr();
String email = s.substring(s.length() - 4) + "@celess.cn";
String pwd = MD5Util.getMD5("123456789");
String pwd = StringUtil.getMD5("123456789");
User user = new User(email, pwd);
int i1 = userMapper.addUser(user);
if (i1 == 0) {
@@ -206,7 +206,7 @@ public class UserControllerTest extends UserBaseTest {
public void updateInfoByAdmin() throws Exception {
UserReq userReq = new UserReq();
String email = randomStr(4) + "@celess.cn";
User user = new User(email, MD5Util.getMD5("123456789"));
User user = new User(email, StringUtil.getMD5("123456789"));
userMapper.addUser(user);
User userByDb = userMapper.findByEmail(email);
userReq.setId(userByDb.getId());
@@ -261,7 +261,7 @@ public class UserControllerTest extends UserBaseTest {
@Test
public void setPwd() throws Exception {
String email = randomStr(4) + "@celess.cn";
assertEquals(1, userMapper.addUser(new User(email, MD5Util.getMD5("1234567890"))));
assertEquals(1, userMapper.addUser(new User(email, StringUtil.getMD5("1234567890"))));
LoginReq req = new LoginReq(email, "1234567890", false);
String token = login(req);
assertNotNull(token);
@@ -271,7 +271,7 @@ public class UserControllerTest extends UserBaseTest {
param.add("confirmPwd", "aaabbbccc");
getMockData(post("/user/setPwd").params(param), token).andDo(result -> {
assertEquals(SUCCESS.getCode(), getResponse(result).getCode());
assertEquals(MD5Util.getMD5("aaabbbccc"), userMapper.getPwd(email));
assertEquals(StringUtil.getMD5("aaabbbccc"), userMapper.getPwd(email));
});
}
}

View File

@@ -9,7 +9,7 @@ import cn.celess.common.entity.vo.UserModel;
import cn.celess.common.exception.BlogResponseException;
import cn.celess.common.mapper.UserMapper;
import cn.celess.common.service.UserService;
import cn.celess.common.util.MD5Util;
import cn.celess.common.util.StringUtil;
import cn.celess.user.UserBaseTest;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,7 +41,7 @@ public class UserServiceTest extends UserBaseTest {
public void testLogin() {
// 测试账户 被锁 被删除 登录
String email = randomStr(5) + "@celess.cn";
String pwd = MD5Util.getMD5("123456789");
String pwd = StringUtil.getMD5("123456789");
User user = new User(email, pwd);
userMapper.addUser(user);
assertNotNull(user.getId());