优化博客

This commit is contained in:
limqhz
2022-05-10 02:21:30 +08:00
parent 1826e4bb9a
commit b0b9e80f8a
28 changed files with 339 additions and 227 deletions

View File

@@ -2,6 +2,9 @@ package com.quinn.service;
import com.quinn.pojo.Source;
import com.baomidou.mybatisplus.extension.service.IService;
import com.quinn.pojo.SourceWithStar;
import com.quinn.vo.MyPageParam;
import com.quinn.vo.QuerySource;
import com.quinn.vo.SourceUpdateForm;
import com.quinn.vo.SourceWriteForm;
import org.springframework.web.multipart.MultipartFile;
@@ -10,6 +13,7 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
/**
* <p>
@@ -57,4 +61,6 @@ public interface SourceService extends IService<Source> {
* @param sid
*/
void deleteSource(String sid);
List<SourceWithStar> listPageStar(QuerySource querySource, MyPageParam myPageParam);
}

View File

@@ -1,16 +0,0 @@
package com.quinn.service;
import com.quinn.pojo.UserRole;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author limqsh
* @since 2020-06-28
*/
public interface UserRoleService extends IService<UserRole> {
}

View File

@@ -7,11 +7,14 @@ import com.quinn.mapper.SourceCategoryMapper;
import com.quinn.pojo.Source;
import com.quinn.mapper.SourceMapper;
import com.quinn.pojo.SourceCategory;
import com.quinn.pojo.SourceWithStar;
import com.quinn.service.SourceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.quinn.utils.OSSClientUtil;
import com.quinn.utils.QuinnUtils;
import com.quinn.utils.RedisUtils;
import com.quinn.vo.MyPageParam;
import com.quinn.vo.QuerySource;
import com.quinn.vo.SourceUpdateForm;
import com.quinn.vo.SourceWriteForm;
import org.springframework.stereotype.Service;
@@ -25,6 +28,7 @@ import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.List;
/**
* <p>
@@ -43,6 +47,8 @@ public class SourceServiceImpl extends ServiceImpl<SourceMapper, Source> impleme
RedisUtils redisUtils;
@Resource
SourceCategoryMapper sourceCategoryMapper;
@Resource
SourceMapper sourceMapper;
@Override
public void downloadSource(HttpServletResponse response, Source source) throws IOException {
@@ -182,6 +188,27 @@ public class SourceServiceImpl extends ServiceImpl<SourceMapper, Source> impleme
removeById(before);
}
@Override
public List<SourceWithStar> listPageStar(QuerySource querySource, MyPageParam myPageParam) {
QueryWrapper<Source> sourceQuery = new QueryWrapper<>();
int allCount = count(sourceQuery);
myPageParam.setAllTotal(allCount);
addParam(sourceQuery,querySource.getName(),querySource.getCategory());
int count = count(sourceQuery);
myPageParam.setTotal(count);
return sourceMapper.listPageStar(querySource,myPageParam);
}
private void addParam(QueryWrapper<Source> sourceQuery, String name, int category) {
if (!StringUtils.isEmpty(name)){
sourceQuery.like("source_name",name);
}
if (category > 0){
sourceQuery.eq("category_id",category);
}
}
/**
* 更新页码
* @param source

View File

@@ -1,20 +0,0 @@
package com.quinn.service.impl;
import com.quinn.pojo.UserRole;
import com.quinn.mapper.UserRoleMapper;
import com.quinn.service.UserRoleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author limqsh
* @since 2020-06-28
*/
@Service
public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements UserRoleService {
}

View File

@@ -1,10 +1,10 @@
package com.quinn.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.quinn.common.QuinnConstant;
import com.quinn.common.RoleType;
import com.quinn.pojo.User;
import com.quinn.mapper.UserMapper;
import com.quinn.pojo.UserRole;
import com.quinn.service.UserRoleService;
import com.quinn.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +17,7 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Arrays;
import java.util.List;
/**
@@ -37,8 +37,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
@Autowired
UserService userService;
@Autowired
UserRoleService roleService;
@Autowired
HttpSession session;
// 用户登录逻辑和验证处理
@@ -47,9 +45,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
// 通过用户名查询用户
User user = userService.getOne(new QueryWrapper<User>().eq("username", s));
// 放入session
session.setAttribute("loginUser",user);
//创建一个新的UserDetails对象最后验证登陆的需要
UserDetails userDetails=null;
if(user!=null){
@@ -57,26 +52,23 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
//String BCryptPassword = new BCryptPasswordEncoder().encode(user.getPassword());
// 登录后会将登录密码进行加密,然后比对数据库中的密码,数据库密码需要加密存储!
String password = user.getPassword();
user.setPassword(QuinnConstant.GUN);
// 放入session
session.setAttribute("loginUser",user);
//创建一个集合来存放权限
Collection<GrantedAuthority> authorities = getAuthorities(user);
List<GrantedAuthority> authList = new ArrayList<GrantedAuthority>();
RoleType[] values = RoleType.values();
Arrays.stream(values).forEach(x->{
authList.add(new SimpleGrantedAuthority("ROLE_" + x.name()));
});
//实例化UserDetails对象
userDetails=new org.springframework.security.core.userdetails.User(s,password,
true,
true,
true,
true, authorities);
true, authList);
}
return userDetails;
}
// 获取角色信息
private Collection<GrantedAuthority> getAuthorities(User user){
List<GrantedAuthority> authList = new ArrayList<GrantedAuthority>();
UserRole role = roleService.getById(user.getRoleId());
//注意这里每个权限前面都要加ROLE_。否在最后验证不会通过
authList.add(new SimpleGrantedAuthority("ROLE_"+role.getName()));
return authList;
}
}