commit
65567e5e91
@ -7,6 +7,7 @@ import com.alibaba.fastjson2.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.qiwenshare.common.util.DateUtil;
|
||||
import com.qiwenshare.common.util.MusicUtils;
|
||||
import com.qiwenshare.common.util.security.SessionUtil;
|
||||
import com.qiwenshare.file.api.IShareFileService;
|
||||
import com.qiwenshare.file.api.IShareService;
|
||||
import com.qiwenshare.file.api.IUserService;
|
||||
@ -404,6 +405,8 @@ public class FileDealComp {
|
||||
fileMapper.insert(fileBean);
|
||||
userFile.setFileId(fileBean.getFileId());
|
||||
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||
userFile.setModifyTime(DateUtil.getCurrentTime());
|
||||
userFile.setModifyUserId(SessionUtil.getUserId());
|
||||
userFileMapper.updateById(userFile);
|
||||
return fileUrl;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.qiwenshare.file.config.security.filter;
|
||||
|
||||
import com.qiwenshare.common.exception.NotLoginException;
|
||||
import com.qiwenshare.common.exception.QiwenException;
|
||||
import com.qiwenshare.file.service.SysParamService;
|
||||
import com.qiwenshare.file.service.UserService;
|
||||
@ -19,13 +20,29 @@ import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Jwt过滤器(第一个过滤器):获取用户token,查询用户信息拼装到security中,以便后续filter使用
|
||||
*/
|
||||
@Component
|
||||
public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
|
||||
|
||||
private String[] ignoreUri = {"/user/register",
|
||||
"/user/login",
|
||||
"/user/checkuserlogininfo",
|
||||
"/filetransfer/downloadfile",
|
||||
"/filetransfer/preview",
|
||||
"/share/sharefileList",
|
||||
"/share/sharetype",
|
||||
"/share/checkextractioncode",
|
||||
"/share/checkendtime",
|
||||
"/notice/list",
|
||||
"/notice/detail",
|
||||
"/param/grouplist",
|
||||
"/error/**",
|
||||
"/swagger-ui.html",
|
||||
};
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@Resource
|
||||
@ -42,13 +59,21 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
|
||||
throw new QiwenException(999999, "脚本未初始化,请在数据库执行数据初始化脚本,存放路径: '/resources/import.sql'!");
|
||||
}
|
||||
|
||||
List<String> ignoreUriList = Arrays.asList(ignoreUri);
|
||||
if (ignoreUriList.contains(request.getRequestURI())) {
|
||||
chain.doFilter(request, response);
|
||||
return;
|
||||
}
|
||||
String token = request.getHeader("token");
|
||||
if (StringUtils.isNotBlank(token) && !"undefined".equals(token)) {
|
||||
|
||||
if (StringUtils.isEmpty(token)) {
|
||||
throw new NotLoginException("用户未登录");
|
||||
} else {
|
||||
String userId = userService.getUserIdByToken(token);
|
||||
|
||||
if (userId == null) {
|
||||
throw new NotLoginException("用户未登录");
|
||||
}
|
||||
// 验证
|
||||
if (userId != null && SecurityContextHolder.getContext().getAuthentication() == null) {
|
||||
if (SecurityContextHolder.getContext().getAuthentication() == null) {
|
||||
UserDetails userDetails = userService.loadUserByUsername(String.valueOf(userId));
|
||||
if (userDetails.isEnabled()) {
|
||||
UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken = new UsernamePasswordAuthenticationToken(
|
||||
|
@ -132,7 +132,8 @@ public class FileController {
|
||||
userFile.setExtendName(extendName);
|
||||
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||
userFile.setFileId(fileBean.getFileId());
|
||||
|
||||
userFile.setCreateTime(DateUtil.getCurrentTime());
|
||||
userFile.setCreateUserId(SessionUtil.getUserId());
|
||||
userFileService.save(userFile);
|
||||
}
|
||||
return RestResult.success().message("文件创建成功");
|
||||
|
@ -100,20 +100,20 @@ public class UserController {
|
||||
@Operation(summary = "检查用户登录信息", description = "验证token的有效性", tags = {"user"})
|
||||
@GetMapping("/checkuserlogininfo")
|
||||
@ResponseBody
|
||||
public RestResult<UserLoginVo> checkUserLoginInfo() {
|
||||
public RestResult<UserLoginVo> checkUserLoginInfo(@RequestHeader("token") String token) {
|
||||
UserLoginVo userLoginVo = new UserLoginVo();
|
||||
JwtUser sessionUserBean = SessionUtil.getSession();
|
||||
String userId = userService.getUserIdByToken(token);
|
||||
|
||||
if (sessionUserBean != null && !"anonymousUser".equals(sessionUserBean.getUsername())) {
|
||||
if (StringUtils.isNotEmpty(userId)) {
|
||||
LambdaQueryWrapper<UserLoginInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(UserLoginInfo::getUserId, sessionUserBean.getUserId());
|
||||
lambdaQueryWrapper.eq(UserLoginInfo::getUserId, userId);
|
||||
lambdaQueryWrapper.likeRight(UserLoginInfo::getUserloginDate, DateUtil.getCurrentTime().substring(0, 10));
|
||||
userLoginInfoService.remove(lambdaQueryWrapper);
|
||||
UserLoginInfo userLoginInfo = new UserLoginInfo();
|
||||
userLoginInfo.setUserId(sessionUserBean.getUserId());
|
||||
userLoginInfo.setUserId(userId);
|
||||
userLoginInfo.setUserloginDate(DateUtil.getCurrentTime());
|
||||
userLoginInfoService.save(userLoginInfo);
|
||||
UserBean user = userService.getById(sessionUserBean.getUserId());
|
||||
UserBean user = userService.getById(userId);
|
||||
BeanUtil.copyProperties(user, userLoginVo);
|
||||
if (StringUtils.isEmpty(user.getWxOpenId())) {
|
||||
userLoginVo.setHasWxAuth(false);
|
||||
|
@ -54,6 +54,14 @@ public class UserFile {
|
||||
|
||||
@Column(columnDefinition = "varchar(50) comment '删除批次号'")
|
||||
private String deleteBatchNum;
|
||||
@Column(columnDefinition="varchar(30) comment '创建时间'")
|
||||
private String createTime;
|
||||
@Column(columnDefinition="varchar(20) comment '创建用户id'")
|
||||
private String createUserId;
|
||||
@Column(columnDefinition="varchar(30) comment '修改时间'")
|
||||
private String modifyTime;
|
||||
@Column(columnDefinition="varchar(20) comment '修改用户id'")
|
||||
private String modifyUserId;
|
||||
|
||||
public UserFile() {};
|
||||
public UserFile(QiwenFile qiwenFile, String userId, String fileId) {
|
||||
@ -64,7 +72,10 @@ public class UserFile {
|
||||
this.fileName = qiwenFile.getNameNotExtend();
|
||||
this.extendName = qiwenFile.getExtendName();
|
||||
this.isDir = qiwenFile.isDirectory() ? 1 : 0;
|
||||
this.uploadTime = DateUtil.getCurrentTime();
|
||||
String currentTime = DateUtil.getCurrentTime();
|
||||
this.setUploadTime(currentTime);
|
||||
this.setCreateUserId(userId);
|
||||
this.setCreateTime(currentTime);
|
||||
this.deleteFlag = 0;
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,7 @@ import lombok.Data;
|
||||
@Data
|
||||
public class EditOfficeFileDTO {
|
||||
private String userFileId;
|
||||
private String previewUrl;
|
||||
// private String previewUrl;
|
||||
// private String filePath;
|
||||
// private String fileName;
|
||||
// private String extendName;
|
||||
|
@ -134,6 +134,8 @@ public class FileService extends ServiceImpl<FileMapper, FileBean> implements IF
|
||||
fileBean.setFileId(userFile.getFileId());
|
||||
fileMapper.updateById(fileBean);
|
||||
userFile.setUploadTime(currentTime);
|
||||
userFile.setModifyTime(currentTime);
|
||||
userFile.setModifyUserId(SessionUtil.getUserId());
|
||||
userFileMapper.updateById(userFile);
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,7 @@ package com.qiwenshare.file.util;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.qiwenshare.common.util.DateUtil;
|
||||
import com.qiwenshare.common.util.security.SessionUtil;
|
||||
import com.qiwenshare.file.domain.UserFile;
|
||||
import com.qiwenshare.file.io.QiwenFile;
|
||||
|
||||
@ -18,6 +19,8 @@ public class QiwenFileUtil {
|
||||
userFile.setExtendName(null);
|
||||
userFile.setIsDir(1);
|
||||
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||
userFile.setCreateUserId(SessionUtil.getUserId());
|
||||
userFile.setCreateTime(DateUtil.getCurrentTime());
|
||||
userFile.setDeleteFlag(0);
|
||||
userFile.setDeleteBatchNum(null);
|
||||
return userFile;
|
||||
@ -33,6 +36,8 @@ public class QiwenFileUtil {
|
||||
userFile.setExtendName(extendName);
|
||||
userFile.setIsDir(0);
|
||||
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||
userFile.setCreateTime(DateUtil.getCurrentTime());
|
||||
userFile.setCreateUserId(SessionUtil.getUserId());
|
||||
userFile.setDeleteFlag(0);
|
||||
userFile.setDeleteBatchNum(null);
|
||||
return userFile;
|
||||
|
Loading…
Reference in New Issue
Block a user