From 6b785c397766ccc6038b922533b799c8be04290e Mon Sep 17 00:00:00 2001
From: MAC <1162714483@qq.com>
Date: Sun, 12 Dec 2021 00:28:08 +0800
Subject: [PATCH 1/2] =?UTF-8?q?feat(=E6=96=87=E4=BB=B6=E9=A2=84=E8=A7=88):?=
=?UTF-8?q?=20=E8=A7=A3=E5=86=B3=E4=B8=83=E7=89=9B=E4=BA=91=E9=A2=84?=
=?UTF-8?q?=E8=A7=88=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 2 +-
.../file/api/IUserLoginInfoService.java | 12 +++++
.../controller/FiletransferController.java | 4 +-
.../file/controller/OfficeController.java | 6 ++-
.../file/controller/UserController.java | 14 +++++
.../com/qiwenshare/file/domain/FileBean.java | 3 ++
.../file/domain/OperationLogBean.java | 2 +
.../qiwenshare/file/domain/Permission.java | 52 ++++++++-----------
.../java/com/qiwenshare/file/domain/Role.java | 24 +++++----
.../qiwenshare/file/domain/StorageBean.java | 5 ++
.../com/qiwenshare/file/domain/UserBean.java | 10 +++-
.../qiwenshare/file/domain/UserLoginInfo.java | 27 ++++++++++
.../file/mapper/UserLoginInfoMapper.java | 15 ++++++
.../file/service/UserLoginInfoService.java | 23 ++++++++
.../qiwenshare/file/service/UserService.java | 5 ++
.../java/com/qiwenshare/file/test/test.java | 15 ------
src/main/resources/database/data.sql | 6 ++-
17 files changed, 161 insertions(+), 64 deletions(-)
create mode 100644 src/main/java/com/qiwenshare/file/api/IUserLoginInfoService.java
create mode 100644 src/main/java/com/qiwenshare/file/domain/UserLoginInfo.java
create mode 100644 src/main/java/com/qiwenshare/file/mapper/UserLoginInfoMapper.java
create mode 100644 src/main/java/com/qiwenshare/file/service/UserLoginInfoService.java
delete mode 100644 src/main/java/com/qiwenshare/file/test/test.java
diff --git a/pom.xml b/pom.xml
index 4d4228c..676302b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.qiwenshare
qiwenshare
- 1.1.0
+ 1.1.1
qiwen-file
diff --git a/src/main/java/com/qiwenshare/file/api/IUserLoginInfoService.java b/src/main/java/com/qiwenshare/file/api/IUserLoginInfoService.java
new file mode 100644
index 0000000..9cb6bc4
--- /dev/null
+++ b/src/main/java/com/qiwenshare/file/api/IUserLoginInfoService.java
@@ -0,0 +1,12 @@
+package com.qiwenshare.file.api;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qiwenshare.file.domain.ShareFile;
+import com.qiwenshare.file.domain.UserLoginInfo;
+import com.qiwenshare.file.vo.share.ShareFileListVO;
+
+import java.util.List;
+
+public interface IUserLoginInfoService extends IService {
+
+}
diff --git a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java
index 44b43d9..c0d027e 100644
--- a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java
+++ b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java
@@ -227,8 +227,8 @@ public class FiletransferController {
/********************************** 图片预览适配 **************************************/
LambdaQueryWrapper imageLambdaQueryWrapper = new LambdaQueryWrapper<>();
imageLambdaQueryWrapper.eq(Image::getFileId, fileBean.getFileId());
- Image result = imageMapper.selectOne(imageLambdaQueryWrapper);
- if (result == null) {
+ List result = imageMapper.selectList(imageLambdaQueryWrapper);
+ if (result == null || result.isEmpty()) {
if (UFOPUtils.isImageFile(userFile.getExtendName())) {
Downloader downloader = ufopFactory.getDownloader(fileBean.getStorageType());
DownloadFile downloadFile = new DownloadFile();
diff --git a/src/main/java/com/qiwenshare/file/controller/OfficeController.java b/src/main/java/com/qiwenshare/file/controller/OfficeController.java
index c245d7d..8cfba4e 100644
--- a/src/main/java/com/qiwenshare/file/controller/OfficeController.java
+++ b/src/main/java/com/qiwenshare/file/controller/OfficeController.java
@@ -53,6 +53,8 @@ public class OfficeController {
@Value("${deployment.host}")
private String deploymentHost;
+ @Value("${server.port}")
+ private String port;
@Value("${ufop.storage-type}")
private Integer storageType;
@@ -142,7 +144,7 @@ public class OfficeController {
}
UserFile userFile = userFileService.getById(previewOfficeFileDTO.getUserFileId());
- String baseUrl = request.getScheme()+"://"+ deploymentHost + request.getContextPath();
+ String baseUrl = request.getScheme()+"://"+ deploymentHost + ":" + port + request.getContextPath();
FileModel file = new FileModel(userFile.getFileName() + "." + userFile.getExtendName(),
previewOfficeFileDTO.getPreviewUrl(),
@@ -181,7 +183,7 @@ public class OfficeController {
}
UserFile userFile = userFileService.getById(editOfficeFileDTO.getUserFileId());
- String baseUrl = request.getScheme()+"://"+ deploymentHost + request.getContextPath();
+ String baseUrl = request.getScheme()+"://"+ deploymentHost + ":" + port + request.getContextPath();
log.info("回调地址baseUrl:" + baseUrl);
diff --git a/src/main/java/com/qiwenshare/file/controller/UserController.java b/src/main/java/com/qiwenshare/file/controller/UserController.java
index bfee0d4..4a5bfcb 100644
--- a/src/main/java/com/qiwenshare/file/controller/UserController.java
+++ b/src/main/java/com/qiwenshare/file/controller/UserController.java
@@ -2,11 +2,16 @@ package com.qiwenshare.file.controller;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.qiwenshare.common.anno.MyLog;
import com.qiwenshare.common.result.RestResult;
+import com.qiwenshare.common.util.DateUtil;
import com.qiwenshare.common.util.JjwtUtil;
+import com.qiwenshare.file.api.IUserLoginInfoService;
import com.qiwenshare.file.api.IUserService;
import com.qiwenshare.file.domain.UserBean;
+import com.qiwenshare.file.domain.UserLoginInfo;
import com.qiwenshare.file.dto.user.RegisterDTO;
import com.qiwenshare.file.vo.user.UserLoginVo;
import io.swagger.v3.oas.annotations.Operation;
@@ -31,6 +36,8 @@ public class UserController {
@Resource
IUserService userService;
+ @Resource
+ IUserLoginInfoService userLoginInfoService;
@@ -100,6 +107,13 @@ public class UserController {
}
UserBean sessionUserBean = userService.getUserBeanByToken(token);
if (sessionUserBean != null) {
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.likeRight(UserLoginInfo::getUserloginDate, DateUtil.getCurrentTime().substring(0, 10));
+ userLoginInfoService.remove(lambdaQueryWrapper);
+ UserLoginInfo userLoginInfo = new UserLoginInfo();
+ userLoginInfo.setUserId(sessionUserBean.getUserId());
+ userLoginInfo.setUserloginDate(DateUtil.getCurrentTime());
+ userLoginInfoService.save(userLoginInfo);
return RestResult.success().data(sessionUserBean);
} else {
diff --git a/src/main/java/com/qiwenshare/file/domain/FileBean.java b/src/main/java/com/qiwenshare/file/domain/FileBean.java
index 66e1558..b5bbd8c 100644
--- a/src/main/java/com/qiwenshare/file/domain/FileBean.java
+++ b/src/main/java/com/qiwenshare/file/domain/FileBean.java
@@ -30,6 +30,9 @@ public class FileBean {
@Column(columnDefinition="bigint(10)")
private Long fileSize;
+ @Column(columnDefinition="int(1)")
+ private Integer fileStatus;
+
@Column(columnDefinition="int(1)")
private Integer storageType;
diff --git a/src/main/java/com/qiwenshare/file/domain/OperationLogBean.java b/src/main/java/com/qiwenshare/file/domain/OperationLogBean.java
index eb560f6..74d620b 100644
--- a/src/main/java/com/qiwenshare/file/domain/OperationLogBean.java
+++ b/src/main/java/com/qiwenshare/file/domain/OperationLogBean.java
@@ -70,4 +70,6 @@ public class OperationLogBean {
*/
private String logLevel;
+ private Integer platform;
+
}
diff --git a/src/main/java/com/qiwenshare/file/domain/Permission.java b/src/main/java/com/qiwenshare/file/domain/Permission.java
index 6dcb2df..64ada25 100644
--- a/src/main/java/com/qiwenshare/file/domain/Permission.java
+++ b/src/main/java/com/qiwenshare/file/domain/Permission.java
@@ -23,29 +23,7 @@ public class Permission {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@TableId(type = IdType.AUTO)
- private Long permissionId;//主键.
- /**
- * 权限名称
- */
- @Column
- private String name;//名称.
-
- /**
- * 资源类型
- */
- @Column
- private String resourceType;//资源类型,[menu|button]
-
- /**
- * 资源路径
- */
- @Column
- private String url;//资源路径.
- /**
- * 权限字符串,menu例子:role:*,button例子:role:create,role:update,role:delete,role:view
- */
- @Column
- private String permission;
+ private Long permissionId;//主键
/**
* 父编号
@@ -54,22 +32,34 @@ public class Permission {
private Long parentId;
/**
- * 父编号列表
+ * 权限名称
*/
@Column
- private String parentIds;
+ private String permissionName;//名称.
/**
- * 是否生效
+ * 资源类型
*/
@Column
- private Boolean available = Boolean.FALSE;
+ private Integer resourceType;//资源类型
/**
- * 角色列表
+ * 权限字符串
*/
- @Transient
- @TableField(exist = false)
- private List roles;
+ @Column
+ private String permissionCode;
+
+ @Column
+ private Integer orderNum;
+
+
+ private String createTime;
+
+ private Long createUserId;
+
+ private String modifyTime;
+
+ private Long modifyUserId;
+
}
\ No newline at end of file
diff --git a/src/main/java/com/qiwenshare/file/domain/Role.java b/src/main/java/com/qiwenshare/file/domain/Role.java
index aa513f9..bdb9b94 100644
--- a/src/main/java/com/qiwenshare/file/domain/Role.java
+++ b/src/main/java/com/qiwenshare/file/domain/Role.java
@@ -1,6 +1,7 @@
package com.qiwenshare.file.domain;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -27,7 +28,7 @@ public class Role {
/**
* 角色名
*/
- private String role; // 角色标识程序中判断使用,如"admin",这个是唯一的:
+ private String roleName; // 角色标识程序中判断使用,如"admin",这个是唯一的:
/**
* 角色描述
@@ -37,21 +38,24 @@ public class Role {
/**
* 是否可用
*/
- private Boolean available = Boolean.FALSE; // 是否可用,如果不可用将不会添加给用户
+ private Integer available; // 是否可用,如果不可用将不会添加给用户
+
+ private String createTime;
+
+ private Long createUserId;
+
+ private String modifyTime;
+
+ private Long modifyUserId;
/**
* 权限列表
*/
@ManyToMany(fetch = FetchType.EAGER)//立即从数据库中进行加载数据
@JoinTable(name = "role_permission",
- joinColumns = {@JoinColumn(name = "roleId")},
- inverseJoinColumns = {@JoinColumn(name = "permissionId")})
+ joinColumns = {@JoinColumn(name = "roleid")},
+ inverseJoinColumns = {@JoinColumn(name = "permissionid")})
+ @TableField(exist = false)
private List permissions;
-// @ManyToMany
-// @JoinTable(name = "role_permission",
-// joinColumns = {@JoinColumn(name="roleId")},
-// inverseJoinColumns = {@JoinColumn(name="permissionId")})
-// private List userList;// 一个角色对应多个用户
-
}
\ No newline at end of file
diff --git a/src/main/java/com/qiwenshare/file/domain/StorageBean.java b/src/main/java/com/qiwenshare/file/domain/StorageBean.java
index bbc7fc9..9a002c4 100644
--- a/src/main/java/com/qiwenshare/file/domain/StorageBean.java
+++ b/src/main/java/com/qiwenshare/file/domain/StorageBean.java
@@ -31,6 +31,11 @@ public class StorageBean {
@Column(columnDefinition="bigint(20)")
private Long totalStorageSize;
+ @Column(columnDefinition="varchar(25) comment '修改时间'")
+ private String modifyTime;
+ @Column(columnDefinition="bigint(20) comment '修改用户id'")
+ private Long modifyUserId;
+
public StorageBean() {
}
diff --git a/src/main/java/com/qiwenshare/file/domain/UserBean.java b/src/main/java/com/qiwenshare/file/domain/UserBean.java
index 2c15833..0394720 100644
--- a/src/main/java/com/qiwenshare/file/domain/UserBean.java
+++ b/src/main/java/com/qiwenshare/file/domain/UserBean.java
@@ -85,6 +85,14 @@ public class UserBean {
@Column(columnDefinition = "varchar(30)")
private String registerTime;
+ private String lastLoginTime;
+
+ private Integer available;
+
+ private String modifyTime;
+
+ private Long modifyUserId;
+
/**
* 验证码
*/
@@ -104,6 +112,6 @@ public class UserBean {
joinColumns = {@JoinColumn(name = "userId")},
inverseJoinColumns = {@JoinColumn(name = "roleid")})
@TableField(exist = false)
- private List roleList;// 一个用户具有多个角色
+ private List roles;
}
diff --git a/src/main/java/com/qiwenshare/file/domain/UserLoginInfo.java b/src/main/java/com/qiwenshare/file/domain/UserLoginInfo.java
new file mode 100644
index 0000000..8876f58
--- /dev/null
+++ b/src/main/java/com/qiwenshare/file/domain/UserLoginInfo.java
@@ -0,0 +1,27 @@
+package com.qiwenshare.file.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import javax.persistence.*;
+
+/**
+ * @author MAC
+ * @version 1.0
+ * @description: TODO
+ * @date 2021/11/18 22:36
+ */
+@Data
+@Table(name = "userlogininfo")
+@Entity
+@TableName("userlogininfo")
+public class UserLoginInfo {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @TableId(type = IdType.AUTO)
+ private Long userLoginId;
+ private String userloginDate;
+ private Long userId;
+}
diff --git a/src/main/java/com/qiwenshare/file/mapper/UserLoginInfoMapper.java b/src/main/java/com/qiwenshare/file/mapper/UserLoginInfoMapper.java
new file mode 100644
index 0000000..82e4a97
--- /dev/null
+++ b/src/main/java/com/qiwenshare/file/mapper/UserLoginInfoMapper.java
@@ -0,0 +1,15 @@
+package com.qiwenshare.file.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qiwenshare.file.domain.UserLoginInfo;
+
+/**
+ * @author MAC
+ * @version 1.0
+ * @description: TODO
+ * @date 2021/11/18 22:38
+ */
+public interface UserLoginInfoMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/qiwenshare/file/service/UserLoginInfoService.java b/src/main/java/com/qiwenshare/file/service/UserLoginInfoService.java
new file mode 100644
index 0000000..cec51b3
--- /dev/null
+++ b/src/main/java/com/qiwenshare/file/service/UserLoginInfoService.java
@@ -0,0 +1,23 @@
+package com.qiwenshare.file.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qiwenshare.file.api.IShareService;
+import com.qiwenshare.file.api.IUserLoginInfoService;
+import com.qiwenshare.file.domain.Share;
+import com.qiwenshare.file.domain.UserLoginInfo;
+import com.qiwenshare.file.dto.sharefile.ShareListDTO;
+import com.qiwenshare.file.mapper.ShareMapper;
+import com.qiwenshare.file.mapper.UserLoginInfoMapper;
+import com.qiwenshare.file.vo.share.ShareListVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+
+@Slf4j
+@Service
+@Transactional(rollbackFor=Exception.class)
+public class UserLoginInfoService extends ServiceImpl implements IUserLoginInfoService {
+
+
+}
diff --git a/src/main/java/com/qiwenshare/file/service/UserService.java b/src/main/java/com/qiwenshare/file/service/UserService.java
index c67a05a..5933dc9 100644
--- a/src/main/java/com/qiwenshare/file/service/UserService.java
+++ b/src/main/java/com/qiwenshare/file/service/UserService.java
@@ -12,6 +12,8 @@ import com.qiwenshare.file.api.IUserService;
import com.qiwenshare.file.component.UserDealComp;
import com.qiwenshare.file.controller.UserController;
import com.qiwenshare.file.domain.UserBean;
+import com.qiwenshare.file.domain.UserLoginInfo;
+import com.qiwenshare.file.mapper.UserLoginInfoMapper;
import com.qiwenshare.file.mapper.UserMapper;
import io.jsonwebtoken.Claims;
import lombok.extern.slf4j.Slf4j;
@@ -33,6 +35,8 @@ public class UserService extends ServiceImpl implements IU
UserMapper userMapper;
@Resource
UserDealComp userDealComp;
+ @Resource
+ UserLoginInfoMapper userLoginInfoMapper;
@Override
public UserBean getUserBeanByToken(String token){
@@ -81,6 +85,7 @@ public class UserService extends ServiceImpl implements IU
}
if (tokenPassword.equals(savePassword)) {
+
return saveUserBean;
} else {
return null;
diff --git a/src/main/java/com/qiwenshare/file/test/test.java b/src/main/java/com/qiwenshare/file/test/test.java
deleted file mode 100644
index 7dab338..0000000
--- a/src/main/java/com/qiwenshare/file/test/test.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.qiwenshare.file.test;
-
-import com.alibaba.fastjson.JSON;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class test {
- public static void main(String[] args) {
- List list = new ArrayList<>();
- list.add(1);
- list.add(2);
- System.out.println(JSON.toJSONString(list));
- }
-}
diff --git a/src/main/resources/database/data.sql b/src/main/resources/database/data.sql
index 777714a..ec12448 100644
--- a/src/main/resources/database/data.sql
+++ b/src/main/resources/database/data.sql
@@ -1,4 +1,6 @@
-insert ignore into role (roleId, role, description) values (1, 'admin', '管理员'),(2, 'user', '普通用户');
-insert ignore into permission (permissionId, permission) values (1, 'admin'),(2, 'user');
+insert ignore into user (userId, username, telephone, salt, password, available) values (1, 'admin', 'admin', 'admin', 'df655ad8d3229f3269fad2a8bab59b6c', 1);
+
+INSERT ignore INTO `role` (`roleid`, `available`, `description`, `roleName`, `createTime`, `createUserId`, `modifyTime`, `modifyUserId`) VALUES (1, 1, '超级管理员', '超级管理员', NULL, NULL, '2021-11-10 20:46:06', NULL);
+INSERT ignore INTO `role` (`roleid`, `available`, `description`, `roleName`, `createTime`, `createUserId`, `modifyTime`, `modifyUserId`) VALUES (2, 1, '普通用户', '普通用户', NULL, NULL, NULL, NULL);
insert ignore into sysparam (sysParamId, sysParamKey, sysParamValue, sysParamDesc) values (1, 'totalStorageSize', '1024', '总存储大小(单位M)');
\ No newline at end of file
From 37d699e39012c86f008b9fd530f4cb91c7a4f8a1 Mon Sep 17 00:00:00 2001
From: MAC <1162714483@qq.com>
Date: Sun, 12 Dec 2021 00:44:57 +0800
Subject: [PATCH 2/2] =?UTF-8?q?feat(=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6):?=
=?UTF-8?q?=20=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/resources/config/application.properties | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/src/main/resources/config/application.properties b/src/main/resources/config/application.properties
index 40653ab..2bcaf54 100644
--- a/src/main/resources/config/application.properties
+++ b/src/main/resources/config/application.properties
@@ -14,13 +14,6 @@ spring.application.name=qiwen-file
logging.file.name=/qiwenshare/qiwen-file/log/web.log
logging.level.root=info
-#mybatis配置
-mybatis.type-aliases-package=com.qiwenshare.file.domain
-mybatis.config-locations=classpath:mybatis-config.xml
-mybatis.mapper-locations=classpath:mapper/*.xml
-#mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
-
-
#数据库初始化
spring.datasource.data=classpath:database/data.sql
spring.datasource.sql-script-encoding=utf-8
@@ -43,8 +36,9 @@ spring.servlet.multipart.enabled=true
spring.main.allow-bean-definition-overriding=true
-mybatis-plus.type-aliases-package=com.qiwenshare.file.domain
+mybatis-plus.config-locations=classpath:mybatis-config.xml
mybatis-plus.mapper-locations=classpath:mapper/*.xml
+mybatis-plus.type-aliases-package=com.qiwenshare.file.domain
mybatis-plus.configuration.map-underscore-to-camel-case=false
mybatis-plus.global-config.banner=false
@@ -106,6 +100,6 @@ spring.elasticsearch.rest.password=
# 当前部署外网IP,用于office预览
-deployment.host=192.168.31.158:${server.port}
+deployment.host=192.168.31.158