From 77191b4d3aa2cefdf79fc7823539e1a2aacefa16 Mon Sep 17 00:00:00 2001 From: callmeyan Date: Tue, 24 May 2022 10:39:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E5=88=86=E4=BA=AB=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../driver/controller/ShareController.java | 16 +++- .../xyz/longicorn/driver/pojo/FileInfo.java | 5 +- .../xyz/longicorn/driver/pojo/ShareInfo.java | 5 +- .../driver/service/ShareService.java | 2 +- driver/src/main/resources/application.yml | 2 +- driver/src/main/resources/db.sql | 20 ++--- web/src/pages/All.vue | 89 +++++++++++++------ web/src/service/api.js | 14 +-- web/src/service/type.d.ts | 10 ++- 9 files changed, 115 insertions(+), 48 deletions(-) diff --git a/driver/src/main/java/xyz/longicorn/driver/controller/ShareController.java b/driver/src/main/java/xyz/longicorn/driver/controller/ShareController.java index 98a42c0..6df2967 100644 --- a/driver/src/main/java/xyz/longicorn/driver/controller/ShareController.java +++ b/driver/src/main/java/xyz/longicorn/driver/controller/ShareController.java @@ -1,5 +1,8 @@ package xyz.longicorn.driver.controller; +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.captcha.generator.RandomGenerator; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import xyz.longicorn.driver.dto.ApiResult; @@ -18,7 +21,18 @@ public class ShareController { * @return */ @RequestMapping("/create") - public ApiResult create(ShareInfo info){ + public ApiResult create(@RequestBody ShareInfo info){ + String id = StpUtil.getLoginId().toString(); + // 设置分享者 + info.setUid(Integer.parseInt(id)); + // 设置密码 + if("yes".equalsIgnoreCase(info.getPassword())){ + RandomGenerator generator = new RandomGenerator("0123456789abcdefg", 4); + info.setPassword(generator.generate()); + }else{ + info.setPassword(null); // 不需要密码 + } + info.setId((new RandomGenerator(10)).generate()); return ApiResult.success(shareService.create(info)); } @RequestMapping("/info") diff --git a/driver/src/main/java/xyz/longicorn/driver/pojo/FileInfo.java b/driver/src/main/java/xyz/longicorn/driver/pojo/FileInfo.java index c071ed0..8fa8312 100644 --- a/driver/src/main/java/xyz/longicorn/driver/pojo/FileInfo.java +++ b/driver/src/main/java/xyz/longicorn/driver/pojo/FileInfo.java @@ -1,5 +1,8 @@ package xyz.longicorn.driver.pojo; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -17,7 +20,7 @@ import java.util.Date; @Accessors(chain = true) public class FileInfo implements Serializable { - + @TableId(type = IdType.AUTO) private Long id; private Integer uid; private String name; diff --git a/driver/src/main/java/xyz/longicorn/driver/pojo/ShareInfo.java b/driver/src/main/java/xyz/longicorn/driver/pojo/ShareInfo.java index d2231bb..7807278 100644 --- a/driver/src/main/java/xyz/longicorn/driver/pojo/ShareInfo.java +++ b/driver/src/main/java/xyz/longicorn/driver/pojo/ShareInfo.java @@ -1,6 +1,7 @@ package xyz.longicorn.driver.pojo; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import lombok.AllArgsConstructor; import lombok.Data; @@ -16,7 +17,9 @@ import java.util.Date; @NoArgsConstructor @Accessors(chain = true) public class ShareInfo { - @TableId + + @TableId(type= IdType.AUTO) + private Integer no; private String id; private String title; private Integer uid; diff --git a/driver/src/main/java/xyz/longicorn/driver/service/ShareService.java b/driver/src/main/java/xyz/longicorn/driver/service/ShareService.java index dbfc73a..a12147b 100644 --- a/driver/src/main/java/xyz/longicorn/driver/service/ShareService.java +++ b/driver/src/main/java/xyz/longicorn/driver/service/ShareService.java @@ -9,6 +9,6 @@ import xyz.longicorn.driver.pojo.ShareInfo; public class ShareService extends ServiceImpl { public ShareInfo create(ShareInfo info) { this.save(info); - return null; + return info; } } diff --git a/driver/src/main/resources/application.yml b/driver/src/main/resources/application.yml index 5a901e4..1a02c6b 100644 --- a/driver/src/main/resources/application.yml +++ b/driver/src/main/resources/application.yml @@ -62,7 +62,7 @@ spring: redis: database: 1 rabbitmq: - host: 127.0.0.1 + host: mq.1688cd.cn port: 5672 username: client password: 123123 diff --git a/driver/src/main/resources/db.sql b/driver/src/main/resources/db.sql index caa8b6d..0d40a2c 100644 --- a/driver/src/main/resources/db.sql +++ b/driver/src/main/resources/db.sql @@ -33,16 +33,16 @@ create table file_info -- 编号、分享名称、用户编号、分享的数据编号、分类类型(file|folder)、提取码、分享有效期、状态 create table share_info ( - id varchar(20) not null primary key, - title varchar(20) not null, - uid int(10) not null, - file_id bigint(20) not null, - type tinyint(1) default 1 comment '分类类型 1:文件 2:文件夹', - password varchar(20) null, - live int default 0 comment '有效期', - create_time datetime default current_timestamp, - update_time datetime on update current_timestamp, - status tinyint(1) default 1, + id varchar(20) not null primary key, + title varchar(20) not null, + uid int(10) not null, + file_id bigint not null comment '要分享文件的真是数据编号', + type tinyint(1) default 1 null comment '分类类型 1:文件 2:文件夹', + password varchar(20) null comment '分享密码', + live int default -1 null comment '有效期 时长-单位是秒,-1表示长期有效', + create_time datetime default CURRENT_TIMESTAMP null, + update_time datetime null on update CURRENT_TIMESTAMP, + status tinyint(1) default 1 null, index ix_file_name (title) ); CREATE TABLE user_info diff --git a/web/src/pages/All.vue b/web/src/pages/All.vue index a130b60..05fe5f5 100644 --- a/web/src/pages/All.vue +++ b/web/src/pages/All.vue @@ -65,7 +65,7 @@ @@ -99,31 +99,39 @@