diff --git a/src/demo/src/main/java/com/example/demo/common/UploadFileTool.java b/src/demo/src/main/java/com/example/demo/common/UploadFileTool.java new file mode 100644 index 0000000..1669fba --- /dev/null +++ b/src/demo/src/main/java/com/example/demo/common/UploadFileTool.java @@ -0,0 +1,4 @@ +package com.example.demo.common; + +public class UploadFileTool { +} diff --git a/src/demo/src/main/java/com/example/demo/controller/Demmo.java b/src/demo/src/main/java/com/example/demo/controller/Demmo.java index f881a7f..0592173 100644 --- a/src/demo/src/main/java/com/example/demo/controller/Demmo.java +++ b/src/demo/src/main/java/com/example/demo/controller/Demmo.java @@ -94,12 +94,12 @@ public class Demmo { @RequestParam(value = "name",required = true) String name, @RequestParam(value = "skey",required = true) String skey) { - QueryWrapper queryWrapper=new QueryWrapper<>(); - queryWrapper.like("skey",skey); - User user = this.userMapper.selectOne(queryWrapper); - user.setStudent_Number(studentnumber); - user.setName(name); - this.userMapper.updateById(user); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like("skey", skey); + User user = this.userMapper.selectOne(queryWrapper); + user.setStudentNumber(studentnumber); + user.setName(name); + this.userMapper.updateById(user); System.out.println(user); } diff --git a/src/demo/src/main/java/com/example/demo/controller/TaskuploadController.java b/src/demo/src/main/java/com/example/demo/controller/TaskuploadController.java new file mode 100644 index 0000000..fc1ac78 --- /dev/null +++ b/src/demo/src/main/java/com/example/demo/controller/TaskuploadController.java @@ -0,0 +1,99 @@ +package com.example.demo.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.example.demo.domain.Taskson; +import com.example.demo.domain.User; +import com.example.demo.mapper.TasksonMapper; +import com.example.demo.mapper.UserMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.http.impl.bootstrap.HttpServer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpRequest; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import javax.servlet.http.HttpServletRequest; +import java.io.*; + +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; + +@Tag(name = "任务上传", description = " ") +@RestController +public class TaskuploadController { + @Autowired + private TasksonMapper tasksonMapper; + @Autowired + private UserMapper userMapper; + + @RequestMapping(value = "/taskupload", method = RequestMethod.POST) + @Operation(summary = "任务上传接口") + public String taskupload(HttpServletRequest request, + @RequestParam(name = "skey", required = true) String skey) { + //skey 查表 + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like("skey", skey); + User user = this.userMapper.selectOne(queryWrapper); + System.out.println(user); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.like("studentnumber", user.getStudentNumber()); + queryWrapper1.like("Task_id", 1); //任务表(需修改) + Taskson taskson = this.tasksonMapper.selectOne(queryWrapper1); + if (taskson == null) { + taskson = new Taskson(); + taskson.setTaskid(1);//任务id(需修改) + taskson.setStudentnumber(user.getStudentNumber()); + this.tasksonMapper.insert(taskson); + } + //文件接收 + taskson = this.tasksonMapper.selectOne(queryWrapper1); + List files = ((MultipartHttpServletRequest) request).getFiles("file"); + String type = files.get(0).getOriginalFilename().split("\\.")[1]; + MultipartFile file = null; + FileOutputStream stream = null; + Path fapath = Paths.get("E:\\git\\project\\src\\demo\\target" + "\\" + taskson.getTaskid()); + try { + Files.createDirectories(fapath); + } catch (IOException e) { + e.printStackTrace(); + } + String path = "E:\\git\\project\\src\\demo\\target" + "\\" + taskson.getTaskid() + "\\" + taskson.getStudentnumber() + "." + type; + + + try { + stream = new FileOutputStream(path); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + for (int i = 0; i < files.size(); ++i) { + file = files.get(i); + if (!file.isEmpty()) { + try { + byte[] bytes = file.getBytes(); + + stream.write(bytes); + stream.close(); + } catch (Exception e) { + stream = null; + return "You failed to upload " + i + " => " + + e.getMessage(); + } + } else { + return "You failed to upload " + i + + " because the file was empty."; + } + } + System.out.println("upload success"); + taskson.setFilepath(path); + this.tasksonMapper.updateById(taskson); + return "upload successful"; + + } + + +} diff --git a/src/demo/src/main/java/com/example/demo/domain/Taskson.java b/src/demo/src/main/java/com/example/demo/domain/Taskson.java new file mode 100644 index 0000000..34bcdd3 --- /dev/null +++ b/src/demo/src/main/java/com/example/demo/domain/Taskson.java @@ -0,0 +1,82 @@ +package com.example.demo.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@TableName("taskson") +public class Taskson extends Wrapper { + /** + * id + */ + @TableField("id") + private int id; + /** + * Task_id + */ + @TableField("Task_id") + private int Taskid; + /** + * studentnumber + */ + @TableField("studentnumber") + private String studentnumber; + /** + * finishtime + */ + @TableField("finishtime") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date finishtime; + /** + * filepath + */ + @TableField("filepath") + private String filepath; + + /** + * 实体对象(子类实现) + * + * @return 泛型 T + */ + @Override + public Taskson getEntity() { + return null; + } + + /** + * 获取 MergeSegments + */ + @Override + public MergeSegments getExpression() { + return null; + } + + /** + * 获取自定义SQL 简化自定义XML复杂情况 + *

使用方法

+ *

`自定义sql` + ${ew.customSqlSegment}

+ *

1.逻辑删除需要自己拼接条件 (之前自定义也同样)

+ *

2.不支持wrapper中附带实体的情况 (wrapper自带实体会更麻烦)

+ *

3.用法 ${ew.customSqlSegment} (不需要where标签包裹,切记!)

+ *

4.ew是wrapper定义别名,可自行替换

+ */ + @Override + public String getCustomSqlSegment() { + return null; + } + + /** + * SQL 片段 + */ + @Override + public String getSqlSegment() { + return null; + } +} diff --git a/src/demo/src/main/java/com/example/demo/domain/User.java b/src/demo/src/main/java/com/example/demo/domain/User.java index 83e565e..2b623bc 100644 --- a/src/demo/src/main/java/com/example/demo/domain/User.java +++ b/src/demo/src/main/java/com/example/demo/domain/User.java @@ -86,9 +86,9 @@ public class User extends Wrapper { * 学号 */ @TableField("Student_Number") - private String Student_Number; + private String StudentNumber; /** - * 权限 + * 权限 */ @TableField("power") private int power; diff --git a/src/demo/src/main/java/com/example/demo/mapper/TasksonMapper.java b/src/demo/src/main/java/com/example/demo/mapper/TasksonMapper.java new file mode 100644 index 0000000..22ab3a0 --- /dev/null +++ b/src/demo/src/main/java/com/example/demo/mapper/TasksonMapper.java @@ -0,0 +1,10 @@ +package com.example.demo.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.example.demo.domain.Taskson; +import org.apache.ibatis.annotations.Mapper; + + +@Mapper +public interface TasksonMapper extends BaseMapper { +}