parent
c9a8884386
commit
a2458e3871
@ -0,0 +1,93 @@ |
|||||||
|
package com.bupt.note.Controller; |
||||||
|
|
||||||
|
import com.bupt.note.Repository.FileRepository; |
||||||
|
import com.bupt.note.ResponseData.ResponseData; |
||||||
|
import com.bupt.note.ResponseData.ResponseDataUtil; |
||||||
|
import com.bupt.note.dto.FileForm; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.beans.factory.annotation.Value; |
||||||
|
import org.springframework.http.MediaType; |
||||||
|
import org.springframework.util.ResourceUtils; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
|
||||||
|
import java.io.File; |
||||||
|
import java.io.IOException; |
||||||
|
import java.net.URLDecoder; |
||||||
|
import java.nio.charset.StandardCharsets; |
||||||
|
import java.util.Optional; |
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
/** |
||||||
|
* 论文文本管理接口 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping(value = "/v1/api/file") |
||||||
|
public class FileController { |
||||||
|
|
||||||
|
@Value("${spring.resources.static-locations}") |
||||||
|
private String txtPath; |
||||||
|
|
||||||
|
private static Logger logger = LoggerFactory.getLogger(FileController.class); |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private FileRepository fileRepository; |
||||||
|
|
||||||
|
//上传论文文本
|
||||||
|
@PostMapping("upload") |
||||||
|
public ResponseData upload(FileForm fileForm){ |
||||||
|
MultipartFile file=fileForm.getFile(); |
||||||
|
if(file!=null&& MediaType.TEXT_PLAIN_VALUE.equals(file.getContentType())){ |
||||||
|
|
||||||
|
File txtFile; |
||||||
|
File txtDir; |
||||||
|
try { |
||||||
|
txtDir=new File(URLDecoder.decode(ResourceUtils.getURL("classpath:").getPath(), StandardCharsets.UTF_8) + txtPath.replace("classpath:/", "")); |
||||||
|
|
||||||
|
if(!txtDir.exists()&&txtDir.mkdirs()){ |
||||||
|
logger.info("成功初始化上传论文目录:"+txtDir.getAbsolutePath()); |
||||||
|
} |
||||||
|
txtFile=new File(txtDir, UUID.randomUUID()+".txt"); |
||||||
|
logger.debug("论文保存到"+txtFile.getAbsolutePath()); |
||||||
|
file.transferTo(txtFile); |
||||||
|
com.bupt.note.Model.File f=new com.bupt.note.Model.File(); |
||||||
|
f.setFilePath(txtFile.getAbsolutePath()); |
||||||
|
fileRepository.save(f); |
||||||
|
return ResponseDataUtil.buildSuccess(f.getId()); |
||||||
|
} catch (IOException e) { |
||||||
|
logger.error(String.valueOf(e)); |
||||||
|
e.printStackTrace(); |
||||||
|
return ResponseDataUtil.buildError(); |
||||||
|
} |
||||||
|
}else{ |
||||||
|
return ResponseDataUtil.buildError(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除论文文本文件 |
||||||
|
* @param id 文件id |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@DeleteMapping("remove/{id}") |
||||||
|
public ResponseData remove(@PathVariable Long id){ |
||||||
|
if(fileRepository.existsById(id)){ |
||||||
|
Optional<com.bupt.note.Model.File> f=fileRepository.findById(id); |
||||||
|
if(f.isPresent()){ |
||||||
|
File txtFile=new File(f.get().getFilePath()); |
||||||
|
if(txtFile.exists()&&txtFile.delete()) { |
||||||
|
fileRepository.deleteById(id); |
||||||
|
return ResponseDataUtil.buildSuccess(); |
||||||
|
}else{ |
||||||
|
return ResponseDataUtil.buildError(); |
||||||
|
} |
||||||
|
}else { |
||||||
|
return ResponseDataUtil.buildError(); |
||||||
|
} |
||||||
|
}else{ |
||||||
|
return ResponseDataUtil.buildError(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,40 @@ |
|||||||
|
package com.bupt.note.Controller; |
||||||
|
|
||||||
|
import com.bupt.note.Model.Paper; |
||||||
|
import com.bupt.note.Repository.PapaerRepository; |
||||||
|
import com.bupt.note.ResponseData.ResponseData; |
||||||
|
import com.bupt.note.ResponseData.ResponseDataUtil; |
||||||
|
import com.bupt.note.dto.UploadPaper; |
||||||
|
import org.apache.commons.lang3.StringUtils; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* 论文管理接口 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping(value = "/v1/api/paper") |
||||||
|
public class PaperController { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private PapaerRepository papaerRepository; |
||||||
|
|
||||||
|
@PostMapping("upload") |
||||||
|
public ResponseData upload(@RequestBody UploadPaper uploadPaper, @CookieValue("user") String username) { |
||||||
|
if (uploadPaper.getFileId() != null && uploadPaper.getYear() != null && StringUtils.isNoneEmpty(uploadPaper.getType(), |
||||||
|
uploadPaper.getAuthor(), uploadPaper.getProfession(), uploadPaper.getSchool(), uploadPaper.getSummary(),uploadPaper.getTag())){ |
||||||
|
Paper paper = uploadPaper.toPaper(); |
||||||
|
paper.setUserName(username); |
||||||
|
papaerRepository.save(paper); |
||||||
|
if(papaerRepository.existsById(paper.getId())){ |
||||||
|
return ResponseDataUtil.buildSuccess(); |
||||||
|
}else{ |
||||||
|
return ResponseDataUtil.buildError(); |
||||||
|
} |
||||||
|
}else{ |
||||||
|
return ResponseDataUtil.buildError(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -1,32 +0,0 @@ |
|||||||
package com.bupt.note.Controller; |
|
||||||
|
|
||||||
import com.bupt.note.Model.User; |
|
||||||
import com.bupt.note.Repository.UserRepository; |
|
||||||
import com.bupt.note.ResponseData.ResponseData; |
|
||||||
import com.bupt.note.ResponseData.ResponseDataUtil; |
|
||||||
import com.bupt.note.ResponseData.ResultEnums; |
|
||||||
import com.bupt.note.dto.UserForm; |
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.web.bind.annotation.RequestBody; |
|
||||||
import org.springframework.web.bind.annotation.RequestMapping; |
|
||||||
import org.springframework.web.bind.annotation.RestController; |
|
||||||
|
|
||||||
@RestController |
|
||||||
@RequestMapping(value = "/v1/api") |
|
||||||
public class SignUpController { |
|
||||||
|
|
||||||
@Autowired |
|
||||||
UserRepository userRepository; |
|
||||||
|
|
||||||
@RequestMapping("/sign_up") |
|
||||||
public ResponseData signUp(@RequestBody UserForm user) { |
|
||||||
// 用来创建User(即注册)
|
|
||||||
User exist = userRepository.findByUserName(user.getUserName()); |
|
||||||
if (exist == null) { |
|
||||||
userRepository.save(user.getUser()); |
|
||||||
User u = userRepository.findByUserName(user.getUserName()); |
|
||||||
return ResponseDataUtil.buildSuccess(u); |
|
||||||
} |
|
||||||
return ResponseDataUtil.buildError(ResultEnums.ErrUserNameConflict); |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,114 @@ |
|||||||
|
package com.bupt.note.Model; |
||||||
|
|
||||||
|
import javax.persistence.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* 论文实体 |
||||||
|
*/ |
||||||
|
@Entity |
||||||
|
@Table(name = "sys_paper") |
||||||
|
public class Paper { |
||||||
|
|
||||||
|
private Long id; |
||||||
|
private String type; |
||||||
|
private String author; |
||||||
|
private String profession; |
||||||
|
private String school; |
||||||
|
private Integer year; |
||||||
|
private String summary; |
||||||
|
private String tag; |
||||||
|
private Long fileId; |
||||||
|
private String userName; |
||||||
|
|
||||||
|
@Id |
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||||
|
public Long getId() { |
||||||
|
return id; |
||||||
|
} |
||||||
|
|
||||||
|
public void setId(Long id) { |
||||||
|
this.id = id; |
||||||
|
} |
||||||
|
|
||||||
|
@Column(nullable = false) |
||||||
|
public String getType() { |
||||||
|
return type; |
||||||
|
} |
||||||
|
|
||||||
|
public void setType(String type) { |
||||||
|
this.type = type; |
||||||
|
} |
||||||
|
|
||||||
|
@Column(nullable = false) |
||||||
|
public String getAuthor() { |
||||||
|
return author; |
||||||
|
} |
||||||
|
|
||||||
|
public void setAuthor(String author) { |
||||||
|
this.author = author; |
||||||
|
} |
||||||
|
|
||||||
|
@Column(nullable = false) |
||||||
|
public String getProfession() { |
||||||
|
return profession; |
||||||
|
} |
||||||
|
|
||||||
|
public void setProfession(String profession) { |
||||||
|
this.profession = profession; |
||||||
|
} |
||||||
|
|
||||||
|
@Column(nullable = false) |
||||||
|
public String getSchool() { |
||||||
|
return school; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSchool(String school) { |
||||||
|
this.school = school; |
||||||
|
} |
||||||
|
|
||||||
|
@Column(nullable = false) |
||||||
|
public Integer getYear() { |
||||||
|
return year; |
||||||
|
} |
||||||
|
|
||||||
|
public void setYear(Integer year) { |
||||||
|
this.year = year; |
||||||
|
} |
||||||
|
|
||||||
|
@Column(nullable = false) |
||||||
|
public String getSummary() { |
||||||
|
return summary; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSummary(String summary) { |
||||||
|
this.summary = summary; |
||||||
|
} |
||||||
|
|
||||||
|
@Column(nullable = false) |
||||||
|
public String getTag() { |
||||||
|
return tag; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTag(String tag) { |
||||||
|
this.tag = tag; |
||||||
|
} |
||||||
|
|
||||||
|
@Column(nullable = false) |
||||||
|
public Long getFileId() { |
||||||
|
return fileId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setFileId(Long fileId) { |
||||||
|
this.fileId = fileId; |
||||||
|
} |
||||||
|
|
||||||
|
@Column(nullable = false) |
||||||
|
public String getUserName() { |
||||||
|
return userName; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserName(String userName) { |
||||||
|
this.userName = userName; |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,7 @@ |
|||||||
|
package com.bupt.note.Repository; |
||||||
|
|
||||||
|
import com.bupt.note.Model.Paper; |
||||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||||
|
|
||||||
|
public interface PapaerRepository extends JpaRepository<Paper, Long> { |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package com.bupt.note.dto; |
||||||
|
|
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
|
||||||
|
public class FileForm { |
||||||
|
|
||||||
|
|
||||||
|
private MultipartFile file; |
||||||
|
|
||||||
|
public MultipartFile getFile() { |
||||||
|
return file; |
||||||
|
} |
||||||
|
|
||||||
|
public void setFile(MultipartFile file) { |
||||||
|
this.file = file; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,91 @@ |
|||||||
|
package com.bupt.note.dto; |
||||||
|
|
||||||
|
import com.bupt.note.Model.Paper; |
||||||
|
|
||||||
|
public class UploadPaper { |
||||||
|
private String type; |
||||||
|
private String author; |
||||||
|
private String profession; |
||||||
|
private String school; |
||||||
|
private Integer year; |
||||||
|
private String summary; |
||||||
|
private String tag; |
||||||
|
private Long fileId; |
||||||
|
|
||||||
|
public String getType() { |
||||||
|
return type; |
||||||
|
} |
||||||
|
|
||||||
|
public void setType(String type) { |
||||||
|
this.type = type; |
||||||
|
} |
||||||
|
|
||||||
|
public String getAuthor() { |
||||||
|
return author; |
||||||
|
} |
||||||
|
|
||||||
|
public void setAuthor(String author) { |
||||||
|
this.author = author; |
||||||
|
} |
||||||
|
|
||||||
|
public String getProfession() { |
||||||
|
return profession; |
||||||
|
} |
||||||
|
|
||||||
|
public void setProfession(String profession) { |
||||||
|
this.profession = profession; |
||||||
|
} |
||||||
|
|
||||||
|
public String getSchool() { |
||||||
|
return school; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSchool(String school) { |
||||||
|
this.school = school; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getYear() { |
||||||
|
return year; |
||||||
|
} |
||||||
|
|
||||||
|
public void setYear(Integer year) { |
||||||
|
this.year = year; |
||||||
|
} |
||||||
|
|
||||||
|
public String getSummary() { |
||||||
|
return summary; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSummary(String summary) { |
||||||
|
this.summary = summary; |
||||||
|
} |
||||||
|
|
||||||
|
public String getTag() { |
||||||
|
return tag; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTag(String tag) { |
||||||
|
this.tag = tag; |
||||||
|
} |
||||||
|
|
||||||
|
public Long getFileId() { |
||||||
|
return fileId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setFileId(Long fileId) { |
||||||
|
this.fileId = fileId; |
||||||
|
} |
||||||
|
|
||||||
|
public Paper toPaper(){ |
||||||
|
Paper paper=new Paper(); |
||||||
|
paper.setType(this.type); |
||||||
|
paper.setAuthor(this.author); |
||||||
|
paper.setProfession(this.profession); |
||||||
|
paper.setSchool(this.school); |
||||||
|
paper.setYear(this.year); |
||||||
|
paper.setSummary(this.summary); |
||||||
|
paper.setTag(this.tag); |
||||||
|
paper.setFileId(this.fileId); |
||||||
|
return paper; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue