From b6def717f4cb38d494cc46c28fdf0619f6999469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Wed, 21 Feb 2018 12:57:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BF=AE=E6=94=B9=E9=A1=B5=E9=9D=A2session=E4=BC=A0?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fjy/spring/controller/DataController.java | 18 +++ .../spring/controller/UpLoadController.java | 27 +++- .../java/com/fjy/spring/domain/TbFile.java | 21 +++ .../java/com/fjy/spring/domain/VUserfile.java | 126 ++++++++++++++++++ .../fjy/spring/interceptor/WebAppConfig.java | 2 +- .../spring/repository/TbFileRepository.java | 2 + .../repository/TbStudentRepository.java | 4 +- .../repository/VUserfileRepository.java | 12 ++ .../com/fjy/spring/service/FileService.java | 4 + .../fjy/spring/service/StudentService.java | 16 +++ .../com/fjy/spring/service/UserService.java | 1 + .../fjy/spring/service/VUserfileService.java | 18 +++ src/main/resources/static/js/homePage.js | 21 +++ src/main/resources/static/js/homework.js | 23 +++- src/main/resources/static/js/user.js | 65 +++++++-- src/main/resources/templates/home/home.html | 4 +- .../resources/templates/home/homework.html | 68 +++++++--- src/main/resources/templates/home/user.html | 75 +++-------- 18 files changed, 407 insertions(+), 100 deletions(-) create mode 100644 src/main/java/com/fjy/spring/domain/VUserfile.java create mode 100644 src/main/java/com/fjy/spring/repository/VUserfileRepository.java create mode 100644 src/main/java/com/fjy/spring/service/StudentService.java create mode 100644 src/main/java/com/fjy/spring/service/VUserfileService.java diff --git a/src/main/java/com/fjy/spring/controller/DataController.java b/src/main/java/com/fjy/spring/controller/DataController.java index cadd76d..3b675e7 100644 --- a/src/main/java/com/fjy/spring/controller/DataController.java +++ b/src/main/java/com/fjy/spring/controller/DataController.java @@ -6,6 +6,7 @@ import com.fjy.spring.exception.UserException; import com.fjy.spring.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -31,6 +32,12 @@ public class DataController { @Autowired private HomeworkService homeworkService; + @Autowired + private FileService fileService; + + @Autowired + private VUserfileService vUserfileService; + @GetMapping("/home/findAllHomework") public List findAllHomework(){ List homeworks = workDetailService.findAll(); @@ -90,4 +97,15 @@ public class DataController { new UserException(ResultEnum.EMPTY_DATA); return null; } + + @GetMapping("/home/findStudentInCourseFile") + public List findStudentInCourseFile( + @RequestParam(value = "Folder") String Folder,@RequestParam(value = "CourseName") String CourseName){ + List files = vUserfileService.findByWorkFolderAndCourseName(Folder,CourseName); + if (files!=null){ + return files; + } + new UserException(ResultEnum.EMPTY_DATA); + return null; + } } diff --git a/src/main/java/com/fjy/spring/controller/UpLoadController.java b/src/main/java/com/fjy/spring/controller/UpLoadController.java index 4bc0dde..9c36838 100644 --- a/src/main/java/com/fjy/spring/controller/UpLoadController.java +++ b/src/main/java/com/fjy/spring/controller/UpLoadController.java @@ -2,9 +2,11 @@ package com.fjy.spring.controller; import com.fjy.spring.constant.GlobalConstant; import com.fjy.spring.domain.TbFile; +import com.fjy.spring.domain.TbLog; import com.fjy.spring.domain.TbUser; import com.fjy.spring.properties.ServerProperties; import com.fjy.spring.service.FileService; +import com.fjy.spring.service.LogService; import com.fjy.spring.untils.FormatFileSizeUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; @@ -30,6 +33,12 @@ public class UpLoadController { @Autowired private FileService fileService;//文件相关数据库操作 + @Autowired + private LogService logService; + + @Resource + HttpServletRequest httpServletRequest; + @GetMapping("/toOneUpload") public String toOneUpload() { return "oneUpload"; @@ -145,7 +154,9 @@ public class UpLoadController { for (MultipartFile file : files.values()) { String filename = file.getOriginalFilename(); - File targetFile = new File(uploadUrl + filename); + String suffix = "."+filename.substring(filename.lastIndexOf(".") + 1);//获取文件后缀 + + File targetFile = new File(uploadUrl + user.getColstudentno()+user.getColrealname()+suffix); System.out.println("文件上传到: " + uploadUrl + filename); System.out.println("文件大小: " + new FormatFileSizeUtil().GetFileSize(file.getSize())); @@ -153,11 +164,21 @@ public class UpLoadController { TbFile tbFile = new TbFile(); tbFile.setColfilesize(new FormatFileSizeUtil().GetFileSize(file.getSize())); - tbFile.setColfilename(filename); + tbFile.setColfilename(user.getColstudentno()+user.getColrealname()+suffix); tbFile.setColtime(dateNowStr); - tbFile.setColfilepath(uploadUrl + filename); + tbFile.setColrealname(filename); + tbFile.setColfilepath(uploadUrl + user.getColstudentno()+user.getColrealname()+suffix);//文件自动学号+姓名命名 tbFile.setColip(request.getRemoteAddr()); tbFile.setColuserid(user.getColuserid()); + tbFile.setCourseName(courseName); + tbFile.setWorkFolder(folder); + + TbLog log = new TbLog(); + log.setUserid(user.getColuserid()); + log.setColtime(dateNowStr); + log.setColip(httpServletRequest.getRemoteAddr()); + log.setColheader(user.getColname()+"上传了"+filename+"文件"); + logService.addLogRec(log); if (fileService.addFile(tbFile)) System.out.println("记录写入数据库成功"); diff --git a/src/main/java/com/fjy/spring/domain/TbFile.java b/src/main/java/com/fjy/spring/domain/TbFile.java index c77d68b..03931ad 100644 --- a/src/main/java/com/fjy/spring/domain/TbFile.java +++ b/src/main/java/com/fjy/spring/domain/TbFile.java @@ -1,5 +1,6 @@ package com.fjy.spring.domain; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @@ -23,6 +24,10 @@ public class TbFile { private String colfilesize; private String colfilepath; + @Column(name = "coursename") + private String courseName; + @Column(name = "workfolder") + private String workFolder; @Override public String toString() { @@ -35,6 +40,22 @@ public class TbFile { '}'; } + public String getCourseName() { + return courseName; + } + + public void setCourseName(String courseName) { + this.courseName = courseName; + } + + public String getWorkFolder() { + return workFolder; + } + + public void setWorkFolder(String workFolder) { + this.workFolder = workFolder; + } + public String getColtime() { return coltime; } diff --git a/src/main/java/com/fjy/spring/domain/VUserfile.java b/src/main/java/com/fjy/spring/domain/VUserfile.java new file mode 100644 index 0000000..79e006a --- /dev/null +++ b/src/main/java/com/fjy/spring/domain/VUserfile.java @@ -0,0 +1,126 @@ +package com.fjy.spring.domain; + +import org.hibernate.annotations.Immutable; +import org.hibernate.annotations.Subselect; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +@Immutable +@Subselect("SELECT * FROM v_userfile") +public class VUserfile { + @Id + private int colfileid; + + private String colstudentno; + + private String coltime; + + private String colip; + + private String colrealname; + + private String colfilename; + + private String colfilesize; + + private String colfilepath; + @Column(name = "coursename") + private String courseName; + @Column(name = "workfolder") + private String workFolder; + + + @Override + public String toString() { + return "TbFile{" + + "colip='" + colip + '\'' + + ", colrealname='" + colrealname + '\'' + + ", colfilename='" + colfilename + '\'' + + ", colfilesize='" + colfilesize + '\'' + + ", colfilepath='" + colfilepath + '\'' + + '}'; + } + + public String getCourseName() { + return courseName; + } + + public void setCourseName(String courseName) { + this.courseName = courseName; + } + + public String getWorkFolder() { + return workFolder; + } + + public void setWorkFolder(String workFolder) { + this.workFolder = workFolder; + } + + public String getColtime() { + return coltime; + } + + public void setColtime(String coltime) { + this.coltime = coltime; + } + + public int getColfileid() { + return colfileid; + } + + public void setColfileid(int colfileid) { + this.colfileid = colfileid; + } + + public String getColstudentno() { + return colstudentno; + } + + public void setColstudentno(String colstudentno) { + this.colstudentno = colstudentno; + } + + public String getColip() { + return colip; + } + + public void setColip(String colip) { + this.colip = colip; + } + + public String getColrealname() { + return colrealname; + } + + public void setColrealname(String colrealname) { + this.colrealname = colrealname; + } + + public String getColfilename() { + return colfilename; + } + + public void setColfilename(String colfilename) { + this.colfilename = colfilename; + } + + public String getColfilesize() { + return colfilesize; + } + + public void setColfilesize(String colfilesize) { + this.colfilesize = colfilesize; + } + + public String getColfilepath() { + return colfilepath; + } + + public void setColfilepath(String colfilepath) { + this.colfilepath = colfilepath; + } +} diff --git a/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java b/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java index bd31d1c..f3f3ad8 100644 --- a/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java +++ b/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java @@ -6,7 +6,7 @@ import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -/*@Configuration*/ +@Configuration public class WebAppConfig implements WebMvcConfigurer { /** diff --git a/src/main/java/com/fjy/spring/repository/TbFileRepository.java b/src/main/java/com/fjy/spring/repository/TbFileRepository.java index 35cf52d..a6c53e3 100644 --- a/src/main/java/com/fjy/spring/repository/TbFileRepository.java +++ b/src/main/java/com/fjy/spring/repository/TbFileRepository.java @@ -8,4 +8,6 @@ import java.util.Optional; public interface TbFileRepository extends JpaRepository{ public List findByColfilename(String name); + + public List findByWorkFolderAndCourseName(String workFolder,String courseName); } diff --git a/src/main/java/com/fjy/spring/repository/TbStudentRepository.java b/src/main/java/com/fjy/spring/repository/TbStudentRepository.java index 8fd02a3..b7b665c 100644 --- a/src/main/java/com/fjy/spring/repository/TbStudentRepository.java +++ b/src/main/java/com/fjy/spring/repository/TbStudentRepository.java @@ -1,8 +1,10 @@ package com.fjy.spring.repository; import com.fjy.spring.domain.TbStudent; +import com.fjy.spring.domain.VUserfile; import org.springframework.data.jpa.repository.JpaRepository; -public interface TbStudentRepository extends JpaRepository { +import java.util.List; +public interface TbStudentRepository extends JpaRepository { } diff --git a/src/main/java/com/fjy/spring/repository/VUserfileRepository.java b/src/main/java/com/fjy/spring/repository/VUserfileRepository.java new file mode 100644 index 0000000..b745ff5 --- /dev/null +++ b/src/main/java/com/fjy/spring/repository/VUserfileRepository.java @@ -0,0 +1,12 @@ +package com.fjy.spring.repository; + + +import com.fjy.spring.domain.VUserfile; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface VUserfileRepository extends JpaRepository { + + public List findByWorkFolderAndCourseName(String workFolder,String courseName); +} diff --git a/src/main/java/com/fjy/spring/service/FileService.java b/src/main/java/com/fjy/spring/service/FileService.java index e78b941..696778f 100644 --- a/src/main/java/com/fjy/spring/service/FileService.java +++ b/src/main/java/com/fjy/spring/service/FileService.java @@ -43,4 +43,8 @@ public class FileService { tbFileRepository.deleteById(file.getColfileid()); } + public List findByWorkFolderAndCourseName(String workFolder,String courseName){ + return tbFileRepository.findByWorkFolderAndCourseName(workFolder,courseName); + } + } diff --git a/src/main/java/com/fjy/spring/service/StudentService.java b/src/main/java/com/fjy/spring/service/StudentService.java new file mode 100644 index 0000000..b4f22b4 --- /dev/null +++ b/src/main/java/com/fjy/spring/service/StudentService.java @@ -0,0 +1,16 @@ +package com.fjy.spring.service; + +import com.fjy.spring.domain.TbStudent; +import com.fjy.spring.domain.TbUser; +import com.fjy.spring.repository.TbStudentRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class StudentService { + @Autowired + private TbStudentRepository tbStudentRepository; + +} diff --git a/src/main/java/com/fjy/spring/service/UserService.java b/src/main/java/com/fjy/spring/service/UserService.java index b644a23..0a72e93 100644 --- a/src/main/java/com/fjy/spring/service/UserService.java +++ b/src/main/java/com/fjy/spring/service/UserService.java @@ -43,4 +43,5 @@ public class UserService { public List findAllUser(){ return tbUserRepository.findAll(); } + } diff --git a/src/main/java/com/fjy/spring/service/VUserfileService.java b/src/main/java/com/fjy/spring/service/VUserfileService.java new file mode 100644 index 0000000..c458d02 --- /dev/null +++ b/src/main/java/com/fjy/spring/service/VUserfileService.java @@ -0,0 +1,18 @@ +package com.fjy.spring.service; + +import com.fjy.spring.domain.VUserfile; +import com.fjy.spring.repository.VUserfileRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class VUserfileService { + @Autowired + private VUserfileRepository vUserfileRepository; + + public List findByWorkFolderAndCourseName(String workFolder, String courseName) { + return vUserfileRepository.findByWorkFolderAndCourseName(workFolder, courseName); + } +} \ No newline at end of file diff --git a/src/main/resources/static/js/homePage.js b/src/main/resources/static/js/homePage.js index b70559d..58114df 100644 --- a/src/main/resources/static/js/homePage.js +++ b/src/main/resources/static/js/homePage.js @@ -228,6 +228,27 @@ var Main = { /*var url = window.location.protocol+"://"+window.location.host+":"+window.location.port+"/"*/ window.open("http://localhost:8080/cms/download/dodownload?fileId=" + row.colfileid); }, + handleDelete(row) { + axios({ + url: 'http://localhost:8080/cms/home/filedelete', + method: 'post', + data: { + fileid: row.colfileid + }, + transformRequest: [function (data) { + // Do whatever you want to transform the data + let ret = '' + for (let it in data) { + ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' + } + return ret + }], + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + this.openNotiSuccess("成功","删除成功!"); + }, handlePreview(file) { console.log(file); }, diff --git a/src/main/resources/static/js/homework.js b/src/main/resources/static/js/homework.js index 449f485..08100ea 100644 --- a/src/main/resources/static/js/homework.js +++ b/src/main/resources/static/js/homework.js @@ -3,8 +3,10 @@ var Main = { return { activeIndex: '1', formInline: { - user: '', - region: '' + name:'', + name2:'', + content: '', + folder: '' }, homeworkData: [ { @@ -17,6 +19,15 @@ var Main = { folder: "第一次作业" } ], + homeworkFormData:[ + { + courseNo: 1, + courseName: "信息安全", + courseTime: "2018-02-06 20:42:28.0", + teacherusername: "FJY", + teacherrealname: "root" + } + ], multipleSelection: [] } }, @@ -31,6 +42,14 @@ var Main = { .catch(function (error) { console.log(error); }); + axios.get('http://localhost:8080/cms/home/findallvhomework') + .then(function (response) { + console.log(response.data); + that.homeworkData = response.data; + }) + .catch(function (error) { + console.log(error); + }); }) }, methods: { diff --git a/src/main/resources/static/js/user.js b/src/main/resources/static/js/user.js index b975e57..2fea6a3 100644 --- a/src/main/resources/static/js/user.js +++ b/src/main/resources/static/js/user.js @@ -1,3 +1,17 @@ +var dt = new Date(); +var month = dt.getMonth()+1; +var day = dt.getDate(); +var year = dt.getFullYear(); +var cur = year + '-' + month + '-' + day; +function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2002-12-18格式 + var aDate, oDate1, oDate2, iDays + aDate = sDate1.split("-") + oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为12-18-2002格式 + aDate = sDate2.split("-") + oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) + iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) //把相差的毫秒数转换为天数 + return iDays +} var Main = { data() { var checkName = (rule, value, callback) => { @@ -37,19 +51,15 @@ var Main = { return { activeIndex: '1', ruleForm2: { - colname: '', colpassword: '', - checkPass:'', - colstudentno: '', - colrealname: '', - colemail: '' + checkPass: '', }, rules2: { colpassword: [ - {required: true,validator: validatePass, trigger: 'blur'} + {required: true, validator: validatePass, trigger: 'blur'} ], checkPass: [ - {required: true,validator: validatePass2, trigger: 'blur'} + {required: true, validator: validatePass2, trigger: 'blur'} ], colstudentno: [ { @@ -66,7 +76,7 @@ var Main = { } ], colname: [ - {required: true,validator: checkName, trigger: 'blur'} + {required: true, validator: checkName, trigger: 'blur'} ], }, tableHomeworkData: [ @@ -94,10 +104,41 @@ var Main = { } }, methods: { - submitForm(formName) { + openNotiSuccess(title, content) { + this.$notify({ + title: title, + message: content, + type: 'success' + }); + }, + limitTime(row){ + return DateDiff(row.worktime.replace(/([^\s]+)\s.*/, "$1"), cur); + }, + submitForm(formName, url) { this.$refs[formName].validate((valid) => { if (valid) { - alert('submit!'); + axios({ + url: 'http://localhost:8080/cms/' + url, + method: 'post', + data: { + content: this.$refs.content.value + }, + transformRequest: [function (data) { + // Do whatever you want to transform the data + let ret = '' + for (let it in data) { + ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' + } + return ret + }], + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }) + console.log(this.$refs.content.value) + this.openNotiSuccess("成功", "修改成功!") + //this.$options.methods.openNotiSuccess.bind(this)(); + //alert('submit!'); } else { console.log('error submit!!'); return false; @@ -110,8 +151,8 @@ var Main = { handleClick(tab, event) { console.log(tab, event); }, - ClickToJump(targe){ - window.location.href="http://localhost:8080/cms/" + targe; + ClickToJump(targe) { + window.location.href = "http://localhost:8080/cms/" + targe; }, handleSelect(key, keyPath) { console.log(key, keyPath); diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html index 9890d14..9b02b64 100644 --- a/src/main/resources/templates/home/home.html +++ b/src/main/resources/templates/home/home.html @@ -240,11 +240,11 @@ diff --git a/src/main/resources/templates/home/homework.html b/src/main/resources/templates/home/homework.html index bef2a0f..0dcb8fe 100644 --- a/src/main/resources/templates/home/homework.html +++ b/src/main/resources/templates/home/homework.html @@ -1,19 +1,50 @@ - - - + + + + + 作业管理 + + + -
+ + + + +
- + + + 首页 + + + 选项1 + 选项2 + 选项3 + + 关于 + 意见反馈 + 登出 + + - - + +
+ 用户名
+ 学号 +
+
+ 首页
+ 个人中心
+ 关于
+ 意见反馈 +
+
@@ -43,29 +74,28 @@ - +

添加作业

- + - + - - - - + + + - + - + 添加 @@ -84,7 +114,7 @@
- - + + diff --git a/src/main/resources/templates/home/user.html b/src/main/resources/templates/home/user.html index b25fc92..b9ce7b9 100644 --- a/src/main/resources/templates/home/user.html +++ b/src/main/resources/templates/home/user.html @@ -1,58 +1,17 @@ - - - - - 个人中心 - - - - + + + - - - - - - +
- - - 首页 - - - 选项1 - 选项2 - 选项3 - - 关于 - 意见反馈 - 登出 - - + - - -
- 用户名
- 学号 -
-
- 首页 -
- 个人中心 -
- 关于 -
- 意见反馈 -
-
-
+
@@ -65,7 +24,7 @@ + th:value="${#httpServletRequest.getSession().getAttribute('USER_SESSION').colname}" name="colname"> @@ -82,21 +41,21 @@ { required: true, message: '请输入邮箱地址', trigger: 'blur' }, { type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur,change' } ]"> - + + th:value="${#httpServletRequest.getSession().getAttribute('USER_SESSION').colstudentno}" name="colstudentno"> + th:value="${#httpServletRequest.getSession().getAttribute('USER_SESSION').colrealname}" name="colrealname"> 提交 + @click="submitForm('feedbackForm','register/doregister')">提交 重置 @@ -140,15 +99,11 @@
- - - +
- - + +