From a93f63280b1fe7c518a4d0eab3468aad7a42df31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Tue, 27 Feb 2018 09:23:38 +0800 Subject: [PATCH 01/33] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E3=80=81=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=E5=92=8C=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E6=8F=90=E7=A4=BA=E6=94=B9=E4=B8=BA=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E5=9B=9E=E8=B0=83=E4=BF=A1=E6=81=AF=EF=BC=8C=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E6=97=A0=E7=94=A8=E6=96=87=E4=BB=B6=EF=BC=8C=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E7=89=88=E6=9C=AC=E4=BF=A1=E6=81=AF=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E7=94=B1=E6=9C=8D=E5=8A=A1=E5=99=A8=E8=8E=B7=E5=8F=96=EF=BC=8C?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=8F=AF=E6=89=B9=E9=87=8F=E6=8F=92=E5=85=A5?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 1 + .../fjy/spring/controller/DataController.java | 26 +- .../spring/controller/DeleteController.java | 11 +- .../spring/controller/FeedBackController.java | 4 +- .../fjy/spring/controller/NavController.java | 18 +- .../spring/controller/UpLoadController.java | 10 - .../java/com/fjy/spring/domain/TbVersion.java | 27 ++ .../fjy/spring/interceptor/WebAppConfig.java | 2 +- .../repository/TbVersionRepository.java | 8 + .../fjy/spring/service/VersionService.java | 27 ++ src/main/resources/application-dev.yml | 6 + src/main/resources/application-prod.yml | 33 +++ src/main/resources/application.yml | 2 +- src/main/resources/logback-spring.xml | 6 +- .../static/js/{homePage.js => homepage.js} | 255 ++++-------------- .../js/{LoginStyle.js => loginstyle.js} | 0 src/main/resources/templates/home/about.html | 2 +- .../resources/templates/home/feedback.html | 2 +- src/main/resources/templates/home/home.html | 2 +- src/main/resources/templates/home/home2.html | 2 +- src/main/resources/templates/login.html | 6 + src/main/resources/templates/moreUpload.html | 18 +- .../resources/templates/moreUploadResult.jsp | 28 -- src/main/resources/templates/oneUpload.html | 31 --- src/test/java/com/fjy/spring/LoggerTest.java | 2 + .../spring/controller/DataControllerTest.java | 21 +- .../controller/LoginControllerTest.java | 3 +- .../controller/RegisterControllerTest.java | 3 +- .../spring/controller/TestControllerTest.java | 3 +- 29 files changed, 230 insertions(+), 329 deletions(-) create mode 100644 src/main/java/com/fjy/spring/domain/TbVersion.java create mode 100644 src/main/java/com/fjy/spring/repository/TbVersionRepository.java create mode 100644 src/main/java/com/fjy/spring/service/VersionService.java rename src/main/resources/static/js/{homePage.js => homepage.js} (59%) rename src/main/resources/static/js/{LoginStyle.js => loginstyle.js} (100%) delete mode 100644 src/main/resources/templates/moreUploadResult.jsp delete mode 100644 src/main/resources/templates/oneUpload.html diff --git a/pom.xml b/pom.xml index ca95f9c..2eff17b 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,7 @@ org.apache.ant ant + 1.10.2 diff --git a/src/main/java/com/fjy/spring/controller/DataController.java b/src/main/java/com/fjy/spring/controller/DataController.java index 6282973..a49d5c2 100644 --- a/src/main/java/com/fjy/spring/controller/DataController.java +++ b/src/main/java/com/fjy/spring/controller/DataController.java @@ -7,14 +7,13 @@ import com.fjy.spring.service.*; import com.fjy.spring.untils.CodingUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -51,6 +50,9 @@ public class DataController { @Autowired private NoticeService noticeService; + @Autowired + private VersionService versionService; + @Resource private HttpServletRequest httpServletRequest; @@ -180,4 +182,20 @@ public class DataController { public List findAllNotice(){ return noticeService.findAll(); } + + @PostMapping("/home/admin/addoneversion") + public boolean addOneVersion(TbVersion version){ + log.info(version.toString()); + return versionService.addOneVersion(version)!=null; + } + + @PostMapping("/home/admin/addversion") + public boolean addVersion(@RequestBody List versions){ + return versionService.addAllVersion(versions)!=null; + } + + @GetMapping("/home/findallversion") + public List findAllVersion(){ + return versionService.findAll(); + } } diff --git a/src/main/java/com/fjy/spring/controller/DeleteController.java b/src/main/java/com/fjy/spring/controller/DeleteController.java index 5bc5930..4f68c80 100644 --- a/src/main/java/com/fjy/spring/controller/DeleteController.java +++ b/src/main/java/com/fjy/spring/controller/DeleteController.java @@ -33,20 +33,25 @@ public class DeleteController { */ @RequestMapping("/home/filedelete") @ResponseBody - public void delete(@RequestParam(value = "fileid") Integer fileid)throws Exception { + public boolean delete(@RequestParam(value = "fileid") Integer fileid)throws Exception { TbFile tbFile = new TbFile(); tbFile.setColfileid(fileid); TbFile resfile = fileService.findFileById(tbFile); File filepath = new File(resfile.getColfilepath()); if (!filepath.exists()) { log.error("删除文件失败:" + resfile.getColfilename() + "不存在!"); + return false; } else { if (filepath.isFile()){ deleteFile(resfile.getColfilepath(),resfile.getColfileid()); - new UserException(ResultEnum.SUCCESS); + return true; } - else + else{ deleteDirectory(resfile.getColfilepath()); + return true; + } + + } } diff --git a/src/main/java/com/fjy/spring/controller/FeedBackController.java b/src/main/java/com/fjy/spring/controller/FeedBackController.java index 7852056..1944674 100644 --- a/src/main/java/com/fjy/spring/controller/FeedBackController.java +++ b/src/main/java/com/fjy/spring/controller/FeedBackController.java @@ -33,7 +33,7 @@ public class FeedBackController { HttpServletRequest request; @PostMapping("/home/dofeedback") - public void doFeedBack(@RequestParam(value = "content") String content){ + public boolean doFeedBack(@RequestParam(value = "content") String content){ Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateNowStr = sdf.format(date); @@ -45,7 +45,9 @@ public class FeedBackController { RedirectUtil red = new RedirectUtil(); if (feedBackService.addContent(feedBack)){ log.info("反馈信息写入数据库成功"); + return true; } + return false; } } diff --git a/src/main/java/com/fjy/spring/controller/NavController.java b/src/main/java/com/fjy/spring/controller/NavController.java index 3dec5cc..8ffd43a 100644 --- a/src/main/java/com/fjy/spring/controller/NavController.java +++ b/src/main/java/com/fjy/spring/controller/NavController.java @@ -29,7 +29,7 @@ public class NavController { @GetMapping(value = {"/home"}) public String toHomePage(){ - return "/home/home"; + return "home/home"; } @GetMapping(value = {"/logout"}) @@ -41,41 +41,41 @@ public class NavController { @GetMapping(value = {"/home/feedback"}) public String toFeedbackPage(){ - return "/home/feedback"; + return "home/feedback"; } @GetMapping(value = {"/home/about"}) public String toAboutPage(){ - return "/home/about"; + return "home/about"; } @GetMapping(value = {"/home/admin"}) public String toAdminPage(){ - return "/home/admin"; + return "home/admin"; } @GetMapping(value = {"/home/managecourse"}) public String toManageCoursePage(){ - return "/home/managecourse"; + return "home/managecourse"; } @GetMapping(value = {"/home/manageuser"}) public String toManageUserPage(){ - return "/home/manageuser"; + return "home/manageuser"; } @GetMapping(value = {"/home/homework"}) public String toHomeworkPage(){ - return "/home/homework"; + return "home/homework"; } @GetMapping(value = {"/home/user"}) public String toUserPage(){ - return "/home/user"; + return "home/user"; } @GetMapping(value = {"/error"}) public String toErrorPage(){ - return "/error"; + return "error"; } } diff --git a/src/main/java/com/fjy/spring/controller/UpLoadController.java b/src/main/java/com/fjy/spring/controller/UpLoadController.java index c05801e..9077153 100644 --- a/src/main/java/com/fjy/spring/controller/UpLoadController.java +++ b/src/main/java/com/fjy/spring/controller/UpLoadController.java @@ -42,16 +42,6 @@ public class UpLoadController { @Resource HttpServletRequest httpServletRequest; - @GetMapping("/toOneUpload") - public String toOneUpload() { - return "oneUpload"; - } - - @GetMapping("/toMoreUpload") - public String toMoreUpload() { - return "moreUpload"; - } - /** * 测试文件上传路径地址 * diff --git a/src/main/java/com/fjy/spring/domain/TbVersion.java b/src/main/java/com/fjy/spring/domain/TbVersion.java new file mode 100644 index 0000000..d90d3b3 --- /dev/null +++ b/src/main/java/com/fjy/spring/domain/TbVersion.java @@ -0,0 +1,27 @@ +package com.fjy.spring.domain; + +import lombok.Data; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +@Entity +@Data +public class TbVersion { + @Id + @GeneratedValue + private Integer versionid; + + private String date; + + private String content; + + private String version; + + private String user; + + public TbVersion() { + super(); + } +} diff --git a/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java b/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java index 5c000e8..5d20a5e 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/TbVersionRepository.java b/src/main/java/com/fjy/spring/repository/TbVersionRepository.java new file mode 100644 index 0000000..e475f25 --- /dev/null +++ b/src/main/java/com/fjy/spring/repository/TbVersionRepository.java @@ -0,0 +1,8 @@ +package com.fjy.spring.repository; + +import com.fjy.spring.domain.TbVersion; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface TbVersionRepository extends JpaRepository { + +} diff --git a/src/main/java/com/fjy/spring/service/VersionService.java b/src/main/java/com/fjy/spring/service/VersionService.java new file mode 100644 index 0000000..0289882 --- /dev/null +++ b/src/main/java/com/fjy/spring/service/VersionService.java @@ -0,0 +1,27 @@ +package com.fjy.spring.service; + +import com.fjy.spring.domain.TbVersion; +import com.fjy.spring.repository.TbVersionRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class VersionService { + + @Autowired + private TbVersionRepository versionRepository; + + public TbVersion addOneVersion(TbVersion tbVersion){ + return versionRepository.save(tbVersion); + } + + public List addAllVersion(List versions){ + return versionRepository.saveAll(versions); + } + + public List findAll(){ + return versionRepository.findAll(); + } +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 5f4f096..e4cc4bb 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -22,6 +22,12 @@ spring: hibernate: ddl-auto: update show-sql: true + servlet: + multipart: + max-file-size: 100Mb + max-request-size: 100Mb + + #resources: # static-locations: classpath:/templates/ debug: true diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index e69de29..49bdd44 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,33 @@ +#运行环境配置文件 +server: + servlet: + context-path: /cms + port: 8081 +serverproperties: + port_num: 8081 + filePath: /www/cmsfile/ +spring: + thymeleaf: + prefix: classpath:/templates/ + cache: false + check-template: true + + datasource: + driver-class-name: com.mysql.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/db_imis2?useUnicode=true&characterEncoding=utf-8&useSSL=true + username: imis2 + password: 2015imis2 + + servlet: + multipart: + max-file-size: 100Mb + max-request-size: 100Mb + + jpa: + hibernate: + ddl-auto: update + show-sql: false + #resources: + # static-locations: classpath:/templates/ +debug: false + diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 9efaa1c..7ef289a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ #控制配置文件调用 spring: profiles: - active: dev \ No newline at end of file + active: prod \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 81d90ce..272ad8e 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -25,7 +25,8 @@ - F:\JAVA Workspace\Temp\log\info.%d.log + + /www/cmsfile/%d/info.%d.log @@ -43,7 +44,8 @@ - F:\JAVA Workspace\Temp\log\error.%d.log + + /www/cmsfile/%d/error.%d.log diff --git a/src/main/resources/static/js/homePage.js b/src/main/resources/static/js/homepage.js similarity index 59% rename from src/main/resources/static/js/homePage.js rename to src/main/resources/static/js/homepage.js index a988c7f..f0672b2 100644 --- a/src/main/resources/static/js/homePage.js +++ b/src/main/resources/static/js/homepage.js @@ -108,210 +108,6 @@ var Main = { } ], VersionList:[ - { - date:'2018-02-24', - content:'实现对重复文件自动重命名', - version:'V1.11', - user:'F嘉阳' - }, - { - date:'2018-02-24', - content:'实现对文件是否重命名的控制,目前设定为管理员上传的文件不会重命名,完善日志输出存储', - version:'V1.10', - user:'F嘉阳' - }, - { - date:'2018-02-24', - content:'添加运行日志处理,频率为每天对error和info级别的日志进行文件保存,实现判断注册用户名是否已存在', - version:'V1.9.1', - user:'F嘉阳' - }, - { - date:'2018-02-24', - content:'实现前端对学号和用户名的异步判断,核心技术为axios', - version:'V1.9', - user:'F嘉阳' - }, - { - date:'2018-02-24', - content:'修复注册表单输入正确不会显示反馈图标的问题', - version:'V1.8.2', - user:'F嘉阳' - }, - { - date:'2018-02-24', - content:'修复文件批量下载的错误,为压缩文件进行统一管理,批量下载不支持多线程', - version:'V1.8.1', - user:'F嘉阳' - }, - { - date:'2018-02-24', - content:'实现文件批量下载', - version:'V1.8', - user:'F嘉阳' - }, - { - date:'2018-02-23', - content:'实现对未交作业人员的查询和展示', - version:'V1.7', - user:'F嘉阳' - }, - { - date:'2018-02-23', - content:'去除js对绝对地址的依赖,为日志添加排序选项', - version:'V1.6.1', - user:'F嘉阳' - }, - { - date:'2018-02-23', - content:'实现用户仅能查看自己提交的文件', - version:'V1.6', - user:'F嘉阳' - }, - { - date:'2018-02-23', - content:'修复用户信息修改页面数据绑定方式,改为使用axios进行数据获取和绑定', - version:'V1.5', - user:'F嘉阳' - }, - { - date:'2018-02-22', - content:'实现后台对未交作业人员的查询', - version:'V1.4', - user:'F嘉阳' - }, - { - date:'2018-02-22', - content:'实现用户信息修改', - version:'V1.3.1', - user:'F嘉阳' - }, - { - date:'2018-02-21', - content:'实现用户信息修改页面session传值', - version:'V1.3', - user:'F嘉阳' - }, - { - date:'2018-02-09', - content:'实现用户管理和作业管理数据读取', - version:'V1.2.1', - user:'F嘉阳' - }, - { - date:'2018-02-09', - content:'实现单文件删除', - version:'V1.2', - user:'F嘉阳' - }, - { - date:'2018-02-08', - content:'完成课程管理数据读取,修复页面加载css,js错误', - version:'V1.1.2', - user:'F嘉阳' - }, - { - date:'2018-02-08', - content:'完成管理员主页的数据读取', - version:'V1.1.1', - user:'F嘉阳' - }, - { - date:'2018-02-08', - content:'完成前端界面设计', - version:'V1.0', - user:'F嘉阳' - }, - { - date:'2018-02-08', - content:'实现表单异步提交并显示消息', - version:'V0.15', - user:'F嘉阳' - }, - { - date:'2018-02-07', - content:'实现作业上传自动创建文件夹', - version:'V0.14', - user:'F嘉阳' - }, - { - date:'2018-02-07', - content:'实现作业获取和展示', - version:'V0.13', - user:'F嘉阳' - }, - { - date:'2018-02-06', - content:'完成前端上传页面设计', - version:'V0.12', - user:'F嘉阳' - }, - { - date:'2018-02-06', - content:'实现登录日志记录', - version:'V0.11', - user:'F嘉阳' - }, - { - date:'2018-02-05', - content:'提高加密安全性', - version:'V0.10.1', - user:'F嘉阳' - }, - { - date:'2018-02-05', - content:'实现用户密码SHA加密', - version:'V0.10', - user:'F嘉阳' - }, - { - date:'2018-02-05', - content:'实现登录拦截器', - version:'V0.9', - user:'F嘉阳' - }, - { - date:'2018-02-05', - content:'实现注册功能', - version:'V0.8', - user:'F嘉阳' - }, - { - date:'2018-02-05', - content:'实现json数据绑定', - version:'V0.7', - user:'F嘉阳' - }, - { - date:'2018-02-04', - content:'实现多文件上传,按钮vue传值(vue2.1特性)', - version:'V0.6', - user:'F嘉阳' - }, - { - date:'2018-02-04', - content:'实现Element组件+单文件上传', - version:'V0.5', - user:'F嘉阳' - }, - { - date:'2018-02-04', - content:'使用thymeleaf模板引擎,引入frame框架和公用css和js文件', - version:'V0.4', - user:'F嘉阳' - }, - { - date:'2018-02-03', - content:'实现文件上传和数据库记录、Element+vue登录注册UI', - version:'V0.3', - user:'F嘉阳' - }, - { - date:'2018-01-30', - content:'实现登录,编写错误码,实现错误码返回json', - version:'V0.2', - user:'F嘉阳' - }, { date:'2018-01-30', content:'实现数据库查询用户,获取密码,编写了单元测试类', @@ -394,6 +190,15 @@ var Main = { .catch(function (error) { console.log(error); }); + axios.get(getRootPath_web()+'/home/findallversion') + .then(function (response) { + console.log(response.data); + that.VersionList = response.data; + //that.limitTime = response.data; + }) + .catch(function (error) { + console.log(error); + }); }) }, methods: { @@ -404,6 +209,12 @@ var Main = { type: 'success' }); }, + openNotiError(title, content) { + this.$notify.error({ + title: title, + message: content + }); + }, openSuccess(content) { this.$message({ message: content, @@ -418,6 +229,7 @@ var Main = { }, submitForm(formName, url) { this.$refs[formName].validate((valid) => { + let that = this; if (valid) { axios({ url: getRootPath_web()+'/' + url, @@ -436,9 +248,22 @@ var Main = { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } - }) - console.log(this.$refs.content.value) - this.openNotiSuccess("成功", "反馈成功!") + }).then(function (response) { + console.log(response.data); + if (response.data===true){ + //that.$refs[formName].submit; + //return true; + that.openNotiSuccess("成功", "反馈成功!") + }else if (response.data===false){ + that.openNotiError("失败", "反馈失败!"); + }else { + that.openNotiError("错误", response.data.message); + } + }).catch(function (error) { + console.log(error); + that.openNotiError("错误", "服务器错误!"); + }); + //console.log(this.$refs.content.value) //this.$options.methods.openNotiSuccess.bind(this)(); //alert('submit!'); } else { @@ -467,6 +292,7 @@ var Main = { window.open(getRootPath_web()+"/download/dodownload?fileId=" + row.colfileid); }, handleDelete(row) { + let that = this; axios({ url: getRootPath_web()+'/home/filedelete', method: 'post', @@ -484,8 +310,21 @@ var Main = { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }).then(function (response) { + console.log(response.data); + if (response.data===true){ + //that.$refs[formName].submit; + //return true; + that.openNotiSuccess("成功", "删除成功!") + }else if (response.data===false){ + that.openNotiError("失败", "删除失败!"); + }else { + that.openNotiError("错误", response.data.message); + } + }).catch(function (error) { + console.log(error); + that.openNotiError("错误", "服务器错误!"); }); - this.openNotiSuccess("成功", "删除成功!"); }, handlePreview(file) { console.log(file); diff --git a/src/main/resources/static/js/LoginStyle.js b/src/main/resources/static/js/loginstyle.js similarity index 100% rename from src/main/resources/static/js/LoginStyle.js rename to src/main/resources/static/js/loginstyle.js diff --git a/src/main/resources/templates/home/about.html b/src/main/resources/templates/home/about.html index 2ccf26b..8f670b4 100644 --- a/src/main/resources/templates/home/about.html +++ b/src/main/resources/templates/home/about.html @@ -64,6 +64,6 @@ - + \ No newline at end of file diff --git a/src/main/resources/templates/home/feedback.html b/src/main/resources/templates/home/feedback.html index 163d39d..682da98 100644 --- a/src/main/resources/templates/home/feedback.html +++ b/src/main/resources/templates/home/feedback.html @@ -37,6 +37,6 @@ - + \ No newline at end of file diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html index ab91731..300cf12 100644 --- a/src/main/resources/templates/home/home.html +++ b/src/main/resources/templates/home/home.html @@ -280,6 +280,6 @@ - + \ No newline at end of file diff --git a/src/main/resources/templates/home/home2.html b/src/main/resources/templates/home/home2.html index e7a19a2..373667a 100644 --- a/src/main/resources/templates/home/home2.html +++ b/src/main/resources/templates/home/home2.html @@ -317,7 +317,7 @@ - + diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 3ff077a..413a4a9 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -61,6 +61,9 @@ label="密码" prop="colpassword"> + + 密码安全性? + + + 问题和答案安全性? + diff --git a/src/main/resources/templates/moreUpload.html b/src/main/resources/templates/moreUpload.html index 93e25b4..566549b 100644 --- a/src/main/resources/templates/moreUpload.html +++ b/src/main/resources/templates/moreUpload.html @@ -2,25 +2,9 @@ - 多文件 上传 + Title -
-
-

- 文件1: - -

-

- 文件2: - -

-

- -

-
- -
\ No newline at end of file diff --git a/src/main/resources/templates/moreUploadResult.jsp b/src/main/resources/templates/moreUploadResult.jsp deleted file mode 100644 index 5449f87..0000000 --- a/src/main/resources/templates/moreUploadResult.jsp +++ /dev/null @@ -1,28 +0,0 @@ -<%@page import="java.util.List"%> -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - - - -多文件 上传结果 - - - -
- - <% - List fileList = (List)request.getAttribute("files"); - for(String url : fileList){ - %> - - - - <% - } - %> - -
- - - \ No newline at end of file diff --git a/src/main/resources/templates/oneUpload.html b/src/main/resources/templates/oneUpload.html deleted file mode 100644 index 3500a23..0000000 --- a/src/main/resources/templates/oneUpload.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - 单文件 上传 - - -
-
-

- 文件路径测试: - -

-

- -

-
- -
-

- 文件: - -

-

- -

-
- -
- - \ No newline at end of file diff --git a/src/test/java/com/fjy/spring/LoggerTest.java b/src/test/java/com/fjy/spring/LoggerTest.java index 6423435..d52cf31 100644 --- a/src/test/java/com/fjy/spring/LoggerTest.java +++ b/src/test/java/com/fjy/spring/LoggerTest.java @@ -6,6 +6,7 @@ import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; +/* @RunWith(SpringRunner.class) @SpringBootTest @Slf4j @@ -21,3 +22,4 @@ public class LoggerTest { log.error("error..."); } } +*/ diff --git a/src/test/java/com/fjy/spring/controller/DataControllerTest.java b/src/test/java/com/fjy/spring/controller/DataControllerTest.java index 9c41a1f..a0e4531 100644 --- a/src/test/java/com/fjy/spring/controller/DataControllerTest.java +++ b/src/test/java/com/fjy/spring/controller/DataControllerTest.java @@ -12,6 +12,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import javax.transaction.Transactional; +/* @RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc @@ -20,10 +21,12 @@ public class DataControllerTest { @Autowired private MockMvc mvc; - /** + */ +/** * 使用此单元测试前要注销拦截器,否则测试不通过 * @throws Exception - */ + *//* + @Test @Transactional public void adduserque() throws Exception{ @@ -34,10 +37,12 @@ public class DataControllerTest { .andExpect(MockMvcResultMatchers.content().string("true")); } - /** + */ +/** *测试找回密码 * @throws Exception - */ + *//* + @Test public void findUserQue() throws Exception{ //测试问题和答案均正确 @@ -77,10 +82,12 @@ public class DataControllerTest { "}")); } - /** + */ +/** * 测试忘记密码操作 * @throws Exception - */ + *//* + @Test @Transactional public void resetPass() throws Exception{ @@ -91,4 +98,4 @@ public class DataControllerTest { .param("password","admin")) .andExpect(MockMvcResultMatchers.content().string("true")); } -} \ No newline at end of file +}*/ diff --git a/src/test/java/com/fjy/spring/controller/LoginControllerTest.java b/src/test/java/com/fjy/spring/controller/LoginControllerTest.java index d87ed22..6524c66 100644 --- a/src/test/java/com/fjy/spring/controller/LoginControllerTest.java +++ b/src/test/java/com/fjy/spring/controller/LoginControllerTest.java @@ -12,6 +12,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import static org.junit.Assert.*; +/* @RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc @@ -39,4 +40,4 @@ public class LoginControllerTest { " \"data\": null\n" + "}")); } -} \ No newline at end of file +}*/ diff --git a/src/test/java/com/fjy/spring/controller/RegisterControllerTest.java b/src/test/java/com/fjy/spring/controller/RegisterControllerTest.java index a9d5986..617b4f4 100644 --- a/src/test/java/com/fjy/spring/controller/RegisterControllerTest.java +++ b/src/test/java/com/fjy/spring/controller/RegisterControllerTest.java @@ -12,6 +12,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import static org.junit.Assert.*; +/* @RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc @@ -73,4 +74,4 @@ public class RegisterControllerTest { .param("name","root1")) .andExpect(MockMvcResultMatchers.content().string("true")); } -} \ No newline at end of file +}*/ diff --git a/src/test/java/com/fjy/spring/controller/TestControllerTest.java b/src/test/java/com/fjy/spring/controller/TestControllerTest.java index f07853d..a9639ef 100644 --- a/src/test/java/com/fjy/spring/controller/TestControllerTest.java +++ b/src/test/java/com/fjy/spring/controller/TestControllerTest.java @@ -11,6 +11,7 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import static org.junit.Assert.*; +/* @RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc @@ -38,4 +39,4 @@ public class TestControllerTest { mvc.perform(MockMvcRequestBuilders.get("/test/id/1")) .andExpect(MockMvcResultMatchers.status().isOk()); } -} \ No newline at end of file +}*/ From 90c9b2e3329fa0e5091b6d16002096cddd882020 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Tue, 27 Feb 2018 10:36:54 +0800 Subject: [PATCH 02/33] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=92=8C=E5=88=A0=E9=99=A4=E5=90=8E=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=9B=B4=E6=96=B0=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-prod.yml | 2 +- src/main/resources/application.yml | 2 +- src/main/resources/logback-spring.xml | 16 +++++------ src/main/resources/static/js/homepage.js | 32 ++++++++++++++------- src/main/resources/templates/home/home.html | 4 +++ 5 files changed, 36 insertions(+), 20 deletions(-) diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 49bdd44..abf1b06 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -9,7 +9,7 @@ serverproperties: spring: thymeleaf: prefix: classpath:/templates/ - cache: false + cache: true check-template: true datasource: diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7ef289a..9efaa1c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ #控制配置文件调用 spring: profiles: - active: prod \ No newline at end of file + active: dev \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 272ad8e..e80b7f5 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -25,13 +25,13 @@ - - /www/cmsfile/%d/info.%d.log - - + F:\JAVA Workspace\Temp\log\%d\info.%d.log + + + - - + + ERROR @@ -44,8 +44,8 @@ - - /www/cmsfile/%d/error.%d.log + F:\JAVA Workspace\Temp\log\error.%d.log + diff --git a/src/main/resources/static/js/homepage.js b/src/main/resources/static/js/homepage.js index f0672b2..3d5271a 100644 --- a/src/main/resources/static/js/homepage.js +++ b/src/main/resources/static/js/homepage.js @@ -163,15 +163,11 @@ var Main = { }, mounted() { this.$nextTick(() => { - var that = this; - axios.get(getRootPath_web()+'/download/findone') - .then(function (response) { - console.log(response.data); - that.DownloadList = response.data; - }) - .catch(function (error) { - console.log(error); - }); + let that = this; + /*setInterval(function(){ + that.getFileList(); + },1000);*/ + this.getFileList(); axios.get(getRootPath_web()+'/home/findAllHomework') .then(function (response) { console.log(response.data); @@ -202,6 +198,18 @@ var Main = { }) }, methods: { + getFileList(){ + let that = this; + axios.get(getRootPath_web()+'/download/findone') + .then(function (response) { + //console.log(response.data); + that.DownloadList = response.data; + }) + .catch(function (error) { + console.log(error); + that.openNotiError("失败", "获取文件列表失败!"); + }); + }, openNotiSuccess(title, content) { this.$notify({ title: title, @@ -279,7 +287,10 @@ var Main = { console.log(row.colfileid); }, submitUpload() { + let that = this; this.$refs.upload.submit(); + this.openNotiSuccess("成功", "文件上传成功!"); + setTimeout(function () {that.getFileList();},1000); }, handleRemove(file, fileList) { console.log(file, fileList); @@ -315,7 +326,8 @@ var Main = { if (response.data===true){ //that.$refs[formName].submit; //return true; - that.openNotiSuccess("成功", "删除成功!") + that.openNotiSuccess("成功", "删除成功!"); + that.getFileList(); }else if (response.data===false){ that.openNotiError("失败", "删除失败!"); }else { diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html index 300cf12..9e56a5c 100644 --- a/src/main/resources/templates/home/home.html +++ b/src/main/resources/templates/home/home.html @@ -237,6 +237,10 @@ + + + + - + - + - + +
上传文件大小不能超过100Mb
diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html index 0e5ca05..d1d1f1c 100644 --- a/src/main/resources/templates/home/home.html +++ b/src/main/resources/templates/home/home.html @@ -135,7 +135,7 @@ @click="submitUpload"> 上传到服务器 - +
上传文件大小不能超过100Mb
diff --git a/src/main/resources/templates/moreUpload.html b/src/main/resources/templates/home/moreUpload.html similarity index 100% rename from src/main/resources/templates/moreUpload.html rename to src/main/resources/templates/home/moreUpload.html From 564b3ce9e33500dacce6cee757cc2096c0fb558d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Wed, 14 Mar 2018 13:00:53 +0800 Subject: [PATCH 18/33] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E7=AB=AF=E6=97=A0=E6=B3=95=E5=93=8D=E5=BA=94=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 - .../resources/templates/dist/axiosTest.html | 23 ++++ .../templates/dist/thymeleaf/common_foot.html | 6 + .../templates/dist/thymeleaf/common_head.html | 20 +++ .../templates/dist/thymeleaf/footer.html | 9 ++ .../templates/dist/thymeleaf/layout.html | 115 ++++++++++++++++++ .../templates/dist/thymeleafTest.html | 18 +++ 7 files changed, 191 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/templates/dist/axiosTest.html create mode 100644 src/main/resources/templates/dist/thymeleaf/common_foot.html create mode 100644 src/main/resources/templates/dist/thymeleaf/common_head.html create mode 100644 src/main/resources/templates/dist/thymeleaf/footer.html create mode 100644 src/main/resources/templates/dist/thymeleaf/layout.html create mode 100644 src/main/resources/templates/dist/thymeleafTest.html diff --git a/.gitignore b/.gitignore index 2af7cef..8c02b8f 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,5 @@ target/ nbproject/private/ build/ nbbuild/ -dist/ nbdist/ .nb-gradle/ \ No newline at end of file diff --git a/src/main/resources/templates/dist/axiosTest.html b/src/main/resources/templates/dist/axiosTest.html new file mode 100644 index 0000000..baad7fd --- /dev/null +++ b/src/main/resources/templates/dist/axiosTest.html @@ -0,0 +1,23 @@ + + + + + axios + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/dist/thymeleaf/common_foot.html b/src/main/resources/templates/dist/thymeleaf/common_foot.html new file mode 100644 index 0000000..77cbbc9 --- /dev/null +++ b/src/main/resources/templates/dist/thymeleaf/common_foot.html @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/dist/thymeleaf/common_head.html b/src/main/resources/templates/dist/thymeleaf/common_head.html new file mode 100644 index 0000000..76892a2 --- /dev/null +++ b/src/main/resources/templates/dist/thymeleaf/common_head.html @@ -0,0 +1,20 @@ + + + + + + + + + + +
+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/dist/thymeleaf/footer.html b/src/main/resources/templates/dist/thymeleaf/footer.html new file mode 100644 index 0000000..a62d5f1 --- /dev/null +++ b/src/main/resources/templates/dist/thymeleaf/footer.html @@ -0,0 +1,9 @@ + + + +
+ © 2016 xxx +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/dist/thymeleaf/layout.html b/src/main/resources/templates/dist/thymeleaf/layout.html new file mode 100644 index 0000000..cd3ca6c --- /dev/null +++ b/src/main/resources/templates/dist/thymeleaf/layout.html @@ -0,0 +1,115 @@ + + + + + + 首页 + 个人中心 + 关于 + 意见反馈 + 登出 + + + + + + +
默认颜色
+ + + + + + 选项1 + 选项2 + + + 选项3 + + + + 选项1 + + + + + 导航二 + + + + 导航三 + + +
+
+
+ + +
+ + 用户名
+ +
+
+ 首页
+ 个人中心
+ 关于
+ 意见反馈 +
+
+ + +
+ 管理员
+ 管理员号 +
+
+ 后台主页 +
+ 课程管理 +
+ 作业管理 +
+ 用户管理 +
+
+ + +
+ 作业提交倒计时 + 功能未完成 +
+
+ + + + + + + +
+
+ + +
+ 公告 +
+
+ {{notice.noticeContent + notice.issueTime}} +
+
+ + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/dist/thymeleafTest.html b/src/main/resources/templates/dist/thymeleafTest.html new file mode 100644 index 0000000..5f36c72 --- /dev/null +++ b/src/main/resources/templates/dist/thymeleafTest.html @@ -0,0 +1,18 @@ + + + + + +
+
+ +
+
+
+
+ + + + + \ No newline at end of file From 82893a995905bf89ee0f37fc94e49b9a07c19bba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Wed, 14 Mar 2018 13:26:46 +0800 Subject: [PATCH 19/33] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E4=B8=8D=E4=BF=AE=E6=94=B9=E7=9C=9F=E5=AE=9E?= =?UTF-8?q?=E5=A7=93=E5=90=8D=E5=88=99=E6=97=A0=E6=B3=95=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/resources/application-prod.yml | 4 +- src/main/resources/static/js/user.js | 71 +++++++++++++------------ 3 files changed, 40 insertions(+), 37 deletions(-) diff --git a/pom.xml b/pom.xml index 1923ef1..6456dac 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.fjy spring - V2.5.1 + V2.6.1 jar spring diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index b5e8e1a..2d0daef 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -4,9 +4,9 @@ server: context-path: /cms session: timeout: 1440s - port: 8081 + port: 8085 serverproperties: - port_num: 8081 + port_num: 8085 filePath: /www/cmsfile/ spring: thymeleaf: diff --git a/src/main/resources/static/js/user.js b/src/main/resources/static/js/user.js index bb200a5..385d20f 100644 --- a/src/main/resources/static/js/user.js +++ b/src/main/resources/static/js/user.js @@ -1,40 +1,42 @@ var dt = new Date(); let th = this; /*let username = this.ruleForm2.colname.value;*/ -var month = dt.getMonth()+1; +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 + +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 checkQuestion = (rule, value, callback) => { if (!value) { return callback(new Error('问题不能为空')); - }else { + } else { callback() } }; var checkAnswer = (rule, value, callback) => { if (!value) { return callback(new Error('答案不能为空')); - }else { + } else { callback() } }; var checkName = (rule, value, callback) => { - let that= this; + let that = this; if (!value) { return callback(new Error('用户名不能为空')); - }else { + } else { //判断用户名是否已存在 axios.get(getRootPath_web() + '/CheckUserName', { params: { @@ -45,9 +47,9 @@ var Main = { console.log(response.data); if (response.data === true) { callback(); - } else if(value!==that.ruleForm2.colname){ + } else if (value !== that.ruleForm2.colname) { return callback(new Error('用户名已存在')); - }else { + } else { callback(); } }) @@ -82,6 +84,7 @@ var Main = { } }; var checkRealName = (rule, value, callback) => { + let that = this; if (!value) { return callback(new Error('真实姓名不能为空')); } else { @@ -94,7 +97,7 @@ var Main = { }) .then(function (response) { console.log(response.data); - if (response.data === false) { + if (response.data === false && value !== that.ruleForm2.colrealname) { return callback(new Error('姓名与学号不匹配或该用户已注册')); } else { callback() @@ -128,7 +131,7 @@ var Main = { return { activeIndex: '2', ruleForm2: { - coluserid:'', + coluserid: '', colname: '', colstudentno: '', colrealname: '', @@ -137,24 +140,24 @@ var Main = { checkPass: '', }, ruleForm3: { - coluserid:'', + coluserid: '', question: '', answer: '' }, rules3: { question: [ - {required: true,validator: checkQuestion, trigger: 'blur'} + {required: true, validator: checkQuestion, trigger: 'blur'} ], answer: [ - {required: true,validator: checkAnswer, trigger: 'blur'} + {required: true, validator: checkAnswer, trigger: 'blur'} ] }, 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: [ { @@ -171,7 +174,7 @@ var Main = { } ], colname: [ - {required: true,validator: checkName, trigger: 'blur'} + {required: true, validator: checkName, trigger: 'blur'} ], }, tableHomeworkData: [ @@ -196,7 +199,7 @@ var Main = { workfolder: "第一次作业" } ], - NoticeList:[ + NoticeList: [ { noticeid: 1, adminid: 1, @@ -232,15 +235,15 @@ var Main = { message: content }); }, - limitTime(row){ - return DateDiff(row.worktime.replace(/([^\s]+)\s.*/, "$1"), cur); + limitTime(row) { + return DateDiff(row.worktime.replace(/([^\s]+)\s.*/, "$1"), cur); }, submitForm(formName, url) { this.$refs[formName].validate((valid) => { var that = this; if (valid) { axios({ - url: getRootPath_web()+'/home/userUpdate', + url: getRootPath_web() + '/home/userUpdate', method: 'post', data: that.ruleForm2 , @@ -257,11 +260,11 @@ var Main = { } }).then(function (response) { console.log(response.data); - if (response.data===true){ + if (response.data === true) { that.openNotiSuccess("成功", "修改成功,刷新页面即可查看新信息!"); - }else if (response.data===false){ + } else if (response.data === false) { that.openNotiError("失败", "修改失败!"); - }else { + } else { that.openNotiError("错误", response.data.message); } }).catch(function (error) { @@ -334,7 +337,7 @@ var Main = { console.log(tab, event); }, ClickToJump(targe) { - window.location.href = getRootPath_web()+"/" + targe; + window.location.href = getRootPath_web() + "/" + targe; }, handleSelect(key, keyPath) { console.log(key, keyPath); @@ -346,7 +349,7 @@ var Main = { mounted() { this.$nextTick(() => { var that = this; - axios.get(getRootPath_web()+'/home/userinfo') + axios.get(getRootPath_web() + '/home/userinfo') .then(function (response) { //console.log(response.data); that.ruleForm2 = response.data; @@ -355,7 +358,7 @@ var Main = { //console.log(error); that.openNotiError("错误", response.data.message); }); - axios.get(getRootPath_web()+'/home/findAllHomework') + axios.get(getRootPath_web() + '/home/findAllHomework') .then(function (response) { console.log(response.data); that.tableHomeworkData = response.data; @@ -365,7 +368,7 @@ var Main = { //console.log(error); that.openNotiError("错误", response.data.message); }); - axios.get(getRootPath_web()+'/home/findAllNotice') + axios.get(getRootPath_web() + '/home/findAllNotice') .then(function (response) { console.log(response.data); that.NoticeList = response.data; From 73bb17700fc5daf3ee490d2bc5196841e0675fd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Thu, 15 Mar 2018 19:58:20 +0800 Subject: [PATCH 20/33] =?UTF-8?q?=E4=BD=BF=E7=94=A8nginx=E5=81=9A=E5=8F=8D?= =?UTF-8?q?=E5=90=91=E4=BB=A3=E7=90=86=E5=92=8C=E8=B4=9F=E8=BD=BD=E5=9D=87?= =?UTF-8?q?=E8=A1=A1=E3=80=81=E5=8A=A0=E5=85=A5SSL=E8=AF=81=E4=B9=A6?= =?UTF-8?q?=EF=BC=8C=E5=90=AF=E5=8A=A8https=E3=80=81=E5=8A=A0=E5=85=A5ICP?= =?UTF-8?q?=E5=A4=87=E6=A1=88=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/resources/application-prod.yml | 7 ++++++- src/main/resources/application.yml | 2 +- src/main/resources/logback-spring.xml | 8 ++++---- src/main/resources/static/css/style.css | 4 ++++ src/main/resources/templates/dist/thymeleaf/layout.html | 2 ++ src/main/resources/templates/login.html | 3 +++ 7 files changed, 21 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 6456dac..b839ac1 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.fjy spring - V2.6.1 + V2.6.2 jar spring diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 2d0daef..6fc34e7 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -5,6 +5,11 @@ server: session: timeout: 1440s port: 8085 + tomcat: + remote-ip-header: x-forwarded-for + protocol-header: x-forwarded-proto + port-header: X-Forwarded-Port + use-forward-headers: true serverproperties: port_num: 8085 filePath: /www/cmsfile/ @@ -31,4 +36,4 @@ spring: show-sql: false #resources: # static-locations: classpath:/templates/ -debug: false +debug: false \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 9efaa1c..7ef289a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ #控制配置文件调用 spring: profiles: - active: dev \ No newline at end of file + active: prod \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 71c159c..83a471d 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -25,8 +25,8 @@ - F:\JAVA Workspace\Temp\log\%d\info.%d.log - + + /www/cmsfile/%d/info.%d.log @@ -44,8 +44,8 @@ - F:\JAVA Workspace\Temp\log\error.%d.log - + + /www/cmsfile/%d/error.%d.log diff --git a/src/main/resources/static/css/style.css b/src/main/resources/static/css/style.css index bc079a1..d47b051 100644 --- a/src/main/resources/static/css/style.css +++ b/src/main/resources/static/css/style.css @@ -55,6 +55,10 @@ a{ width: 50%; } .footer{ + width:100%; + font-size:14px; + position:fixed; + bottom:20px; text-align: center; } diff --git a/src/main/resources/templates/dist/thymeleaf/layout.html b/src/main/resources/templates/dist/thymeleaf/layout.html index cd3ca6c..8b77ddb 100644 --- a/src/main/resources/templates/dist/thymeleaf/layout.html +++ b/src/main/resources/templates/dist/thymeleaf/layout.html @@ -109,6 +109,8 @@ diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 413a4a9..09774fa 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -151,6 +151,9 @@ + + + - + diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html index d1d1f1c..99235a7 100644 --- a/src/main/resources/templates/home/home.html +++ b/src/main/resources/templates/home/home.html @@ -125,27 +125,42 @@ - - 选取文件 - - 上传到服务器 - -
上传文件大小不能超过100Mb
-
+ +
+ + 选取文件 + + + 上传到服务器 + +
上传文件大小不能超过100Mb +
+
+
+ + +
+
- + - + + Date: Thu, 5 Apr 2018 16:55:20 +0800 Subject: [PATCH 24/33] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=AD=BB=E5=BE=AA=E7=8E=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/resources/static/js/common.js | 1 + src/main/resources/static/js/homepage.js | 64 ++++++++++++++------- src/main/resources/templates/home/home.html | 6 +- 4 files changed, 47 insertions(+), 26 deletions(-) diff --git a/pom.xml b/pom.xml index 22ce38f..357ec3c 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.fjy spring - V2.6.7 + V2.6.8 jar spring diff --git a/src/main/resources/static/js/common.js b/src/main/resources/static/js/common.js index 1b15f85..d966012 100644 --- a/src/main/resources/static/js/common.js +++ b/src/main/resources/static/js/common.js @@ -28,4 +28,5 @@ function compareTime(startTime,endTime) { } else { return '异常'; } + } diff --git a/src/main/resources/static/js/homepage.js b/src/main/resources/static/js/homepage.js index c5abbd8..1e171b4 100644 --- a/src/main/resources/static/js/homepage.js +++ b/src/main/resources/static/js/homepage.js @@ -66,7 +66,7 @@ var Main = { colrealname: '', colemail: '' }, - isShow:true, + iShow:true, rules2: { colpassword: [ {required: true, validator: validatePass, trigger: 'blur'} @@ -232,27 +232,8 @@ var Main = { }); }, uploadURL(row) { - let that = this; - console.log(row.worktime+"||"+row.workid); - if (compareTime(cur,row.worktime)){ - that.isShow = true; - console.log("Show"+that.isShow); - //提交时间合法 - //document.getElementById("btn-group").style.display=""; - //displayStyle("btn-show"+row.workid,"none"); - //displayStyle("btn-group"+row.workid,""); return getRootPath_web()+"/home/moreUpload?courseName=" + row.coursename + "&folder=" + row.workfolder+"&rename=true"; - }else{ - that.isShow = false; - console.log("EShow"+that.isShow); - //提交时间不合法 - //displayStyle("btn-show"+row.workid,""); - //displayStyle("btn-group"+row.workid,"none"); - //displayStyle("btn-show"); - //document.getElementById("btn-show").style.display=""; - return 0; - } }, limitTime(row) { return DateDiff(row.worktime.replace(/([^\s]+)\s.*/, "$1"), cur); @@ -360,8 +341,47 @@ var Main = { that.openNotiError("错误", "服务器错误!"); }); }, - handlePreview(file) { - console.log(file); + isShow(row){ + let that = this; + console.log(row.worktime+"||"+row.workid); + if (compareTime(cur,row.worktime)){ + console.log("true"); + return true; + //提交时间合法 + //document.getElementById("btn-group").style.display=""; + //displayStyle("btn-show"+row.workid,"none"); + //displayStyle("btn-group"+row.workid,""); + }else { + console.log("false"); + return false; + //提交时间不合法 + //displayStyle("btn-show"+row.workid,""); + //displayStyle("btn-group"+row.workid,"none"); + //displayStyle("btn-show"); + //document.getElementById("btn-show").style.display=""; + } + }, + handlePreview(row) { + console.log(row); + /* let that = this; + console.log(row.worktime+"||"+row.workid); + if (compareTime(cur,row.worktime)){ + that.isShow = true; + console.log("Show"+that.isShow); + //提交时间合法 + //document.getElementById("btn-group").style.display=""; + //displayStyle("btn-show"+row.workid,"none"); + //displayStyle("btn-group"+row.workid,""); + } + if (!compareTime(cur,row.worktime)){ + that.isShow = false; + console.log("EShow"+that.isShow); + //提交时间不合法 + //displayStyle("btn-show"+row.workid,""); + //displayStyle("btn-group"+row.workid,"none"); + //displayStyle("btn-show"); + //document.getElementById("btn-show").style.display=""; + }*/ }, handleExceed(files, fileList) { this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html index 99235a7..3d8b735 100644 --- a/src/main/resources/templates/home/home.html +++ b/src/main/resources/templates/home/home.html @@ -127,11 +127,11 @@ -
+
选取文件 @@ -143,7 +143,7 @@
上传文件大小不能超过100Mb
-
+
Date: Wed, 25 Apr 2018 21:09:10 +0800 Subject: [PATCH 25/33] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=89=8D=E7=BC=80=E5=92=8C=E5=90=8E=E7=BC=80=E7=9A=84=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E4=BF=AE=E7=BC=AE=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../fjy/spring/controller/DataController.java | 89 +++++++-------- .../spring/controller/DownLoadController.java | 30 +++-- .../spring/controller/RegisterController.java | 9 +- .../spring/controller/UpLoadController.java | 75 ++++++++----- .../java/com/fjy/spring/domain/Homework.java | 6 + .../spring/interceptor/AdminInterceptor.java | 6 +- .../com/fjy/spring/service/FileService.java | 6 +- .../fjy/spring/service/HomeworkService.java | 10 +- .../com/fjy/spring/service/UserService.java | 3 +- src/main/resources/application.yml | 2 +- src/main/resources/logback-spring.xml | 8 +- src/main/resources/static/js/homepage.js | 103 +++++++++--------- src/test/java/com/fjy/spring/LoggerTest.java | 4 +- .../spring/controller/DataControllerTest.java | 70 ++++++------ .../controller/LoginControllerTest.java | 4 +- .../controller/RegisterControllerTest.java | 4 +- .../spring/controller/TestControllerTest.java | 4 +- 18 files changed, 251 insertions(+), 184 deletions(-) diff --git a/pom.xml b/pom.xml index 357ec3c..6ce8b4d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.fjy spring - V2.6.8 + V2.7 jar spring diff --git a/src/main/java/com/fjy/spring/controller/DataController.java b/src/main/java/com/fjy/spring/controller/DataController.java index 0acfd1b..8c947b2 100644 --- a/src/main/java/com/fjy/spring/controller/DataController.java +++ b/src/main/java/com/fjy/spring/controller/DataController.java @@ -56,82 +56,83 @@ public class DataController { private HttpServletRequest httpServletRequest; @GetMapping("/home/findAllHomework") - public List findAllHomework(){ + public List findAllHomework() { List homeworks = workDetailService.findAll(); - if (homeworks!=null){ + if (homeworks != null) { return homeworks; } throw new UserException(ResultEnum.EMPTY_DATA); } @GetMapping("/home/findvlog") - public List findlog(){ + public List findlog() { List vlogs = logService.findvlog(); - if (vlogs!=null){ + if (vlogs != null) { return vlogs; } throw new UserException(ResultEnum.EMPTY_DATA); } @GetMapping("/home/admin/findvfeedback") - public List findAllVFeedback(){ + public List findAllVFeedback() { List feedBacks = feedBackService.findAllVFeedback(); - if (feedBacks!=null){ + if (feedBacks != null) { return feedBacks; } throw new UserException(ResultEnum.EMPTY_DATA); } @GetMapping("/home/findvcourse") - public List findVCourse(){ + public List findVCourse() { List vCourses = courseService.findAllVCourse(); - if (vCourses!=null){ + if (vCourses != null) { return vCourses; } throw new UserException(ResultEnum.EMPTY_DATA); } @GetMapping("/home/admin/findalluser") - public List findAllUser(){ + public List findAllUser() { List users = userService.findAllUser(); - if (users!=null){ + if (users != null) { return users; } throw new UserException(ResultEnum.EMPTY_DATA); } @GetMapping("/home/findallvhomework") - public List findAllVHomework(){ + public List findAllVHomework() { List vHomeworks = homeworkService.findAllVHomework(); - if (vHomeworks!=null){ + if (vHomeworks != null) { return vHomeworks; } throw new UserException(ResultEnum.EMPTY_DATA); } @GetMapping("/home/admin/findStudentInCourseFile") - public List findStudentInCourseFile( - @RequestParam(value = "Folder") String Folder,@RequestParam(value = "CourseName") String CourseName){ - List files = vUserfileService.findStudentNoByWorkFolderAndCourseName(Folder,CourseName); - if (files!=null){ + public List findStudentInCourseFile( + @RequestParam(value = "Folder") String Folder, @RequestParam(value = "CourseName") String CourseName) { + List files = vUserfileService.findStudentNoByWorkFolderAndCourseName(Folder, CourseName); + if (files != null) { return files; } throw new UserException(ResultEnum.EMPTY_DATA); } @GetMapping("/home/userinfo") - public VUserinfo findUserInfo(){ - TbUser user= (TbUser)httpServletRequest.getSession().getAttribute(USER_SESSION_KEY); + public VUserinfo findUserInfo() { + TbUser user = (TbUser) httpServletRequest.getSession().getAttribute(USER_SESSION_KEY); return userService.findUserInfo(user.getColuserid()); } /** * 存储密保问题 + * * @param userque * @return */ @PostMapping("/home/adduserque") - public boolean adduserque(TbUserque userque)throws Exception{ + public boolean adduserque(TbUserque userque) throws Exception { //对密保问题加密存储 userque.setAnswer(new BigInteger(CodingUtil.encryptSHA(userque.getAnswer().getBytes())).toString(32)); return userService.addUserQue(userque); @@ -139,6 +140,7 @@ public class DataController { /** * 判断密保问题是否正确,正确返回true,错误返回false,其余反馈异常对象 + * * @param name * @param question * @param answer @@ -146,18 +148,19 @@ public class DataController { * @throws Exception */ @GetMapping("/finduserque") - public boolean findUserQue(@RequestParam(value = "name")String name - ,@RequestParam(value = "question")String question - ,@RequestParam(value = "answer")String answer)throws Exception{ + public boolean findUserQue(@RequestParam(value = "name") String name + , @RequestParam(value = "question") String question + , @RequestParam(value = "answer") String answer) throws Exception { Optional userque = userService.findUserQueByName(name); - if (!userque.isPresent()){ + if (!userque.isPresent()) { throw new UserException(ResultEnum.EMPTY_QUESTION); - }else if(question.equals(userque.get().getQuestion())){ - if(new BigInteger(CodingUtil.encryptSHA(answer.getBytes())).toString(32).equals(userque.get().getAnswer())) + } else if (question.equals(userque.get().getQuestion())) { + if (new BigInteger(CodingUtil.encryptSHA(answer.getBytes())).toString(32).equals(userque.get().getAnswer())) { return true; - else + } else { return false; - }else{ + } + } else { throw new UserException(ResultEnum.QUESTION_ERROR); } } @@ -165,53 +168,53 @@ public class DataController { @PostMapping("/resetPass") public boolean resetPass(@RequestParam(value = "name") String name , @RequestParam(value = "password") String password, - @RequestParam(value = "question") String question + @RequestParam(value = "question") String question , @RequestParam(value = "answer") String answer) throws Exception { //log.info("name:{}, password:{}, question:{}, answer:{}",name,password,question,answer); - if (findUserQue(name,question,answer)){ + if (findUserQue(name, question, answer)) { //service方法内含有对密码加密的操作 - return userService.updateColpasswordByColname(password,name); - }else { + return userService.updateColpasswordByColname(password, name); + } else { throw new UserException(ResultEnum.ILLEGAL_ACCESS); } } @GetMapping("/home/findAllNotice") - public List findAllNotice(){ + public List findAllNotice() { return noticeService.findAll(); } @PostMapping("/home/admin/addNotice") - public boolean addNotice(String content){ - TbUser user= (TbUser)httpServletRequest.getSession().getAttribute(USER_SESSION_KEY); + public boolean addNotice(String content) { + TbUser user = (TbUser) httpServletRequest.getSession().getAttribute(USER_SESSION_KEY); TbNotice notice = new TbNotice(); Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateNowStr = sdf.format(date); Optional vAdmin = adminService.findAdminByUserId(user.getColuserid()); - if (vAdmin.isPresent()){ + if (vAdmin.isPresent()) { VAdmin admin = vAdmin.get(); notice.setAdminid(admin.getAdminid()); notice.setIssueTime(dateNowStr); notice.setNoticeContent(content); - return noticeService.addOne(notice)!=null; - }else + return noticeService.addOne(notice) != null; + } else { return false; - + } } @PostMapping("/home/admin/addoneversion") - public boolean addOneVersion(TbVersion version){ - return versionService.addOneVersion(version)!=null; + public boolean addOneVersion(TbVersion version) { + return versionService.addOneVersion(version) != null; } @PostMapping("/home/admin/addversion") - public boolean addVersion(@RequestBody List versions){ - return versionService.addAllVersion(versions)!=null; + public boolean addVersion(@RequestBody List versions) { + return versionService.addAllVersion(versions) != null; } @GetMapping("/home/findallversion") - public List findAllVersion(){ + public List findAllVersion() { return versionService.findAll(); } } diff --git a/src/main/java/com/fjy/spring/controller/DownLoadController.java b/src/main/java/com/fjy/spring/controller/DownLoadController.java index 1602549..2c68fb3 100644 --- a/src/main/java/com/fjy/spring/controller/DownLoadController.java +++ b/src/main/java/com/fjy/spring/controller/DownLoadController.java @@ -46,8 +46,9 @@ public class DownLoadController { @ResponseBody public List toDownloadAll() { List files = fileService.findAllFile();//此处做空指针判断并抛出错误 - if (files != null) + if (files != null) { return files; + } new UserException(ResultEnum.EMPTY_DATA); return null; } @@ -59,8 +60,9 @@ public class DownLoadController { //log.info(user.toString()); List files = fileService.findByColuserid(user.getColuserid()); //此处做空指针判断并抛出错误 - if (files != null) + if (files != null) { return files; + } new UserException(ResultEnum.EMPTY_DATA); return null; } @@ -103,20 +105,22 @@ public class DownLoadController { } catch (Exception e) { e.printStackTrace(); } finally { - if (bis != null) + if (bis != null) { try { bis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } - if (bos != null) + } + if (bos != null) { try { bos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } + } } return null; @@ -184,9 +188,15 @@ public class DownLoadController { } finally { //关闭流 try { - if (null != bufferStream) bufferStream.close(); - if (null != zipStream) zipStream.close(); - if (null != zipSource) zipSource.close(); + if (null != bufferStream) { + bufferStream.close(); + } + if (null != zipStream) { + zipStream.close(); + } + if (null != zipSource) { + zipSource.close(); + } } catch (IOException e) { e.printStackTrace(); } @@ -209,20 +219,22 @@ public class DownLoadController { } catch (Exception e) { e.printStackTrace(); } finally { - if (bis != null) + if (bis != null) { try { bis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } - if (bos != null) + } + if (bos != null) { try { bos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } + } } } diff --git a/src/main/java/com/fjy/spring/controller/RegisterController.java b/src/main/java/com/fjy/spring/controller/RegisterController.java index aaab1eb..33cb1c0 100644 --- a/src/main/java/com/fjy/spring/controller/RegisterController.java +++ b/src/main/java/com/fjy/spring/controller/RegisterController.java @@ -63,8 +63,9 @@ public class RegisterController { @ResponseBody public boolean doCheckStudentNo(@RequestParam(value = "studentno") String studentno){ TbStudentlist studentlist = studentService.findStudentByNo(studentno); - if (studentlist!=null) + if (studentlist!=null) { return true; + } return false; } @@ -73,8 +74,9 @@ public class RegisterController { public boolean doCheckStudent(@RequestParam(value = "studentno") String studentno, @RequestParam(value = "realname") String realname){ TbStudentlist studentlist = studentService.findByColstudentnoAndColrealname(studentno,realname); - if (studentlist!=null&&studentlist.getRegistered()!= RegisteredEnum.REGISTERED.getCode()) + if (studentlist!=null&&studentlist.getRegistered()!= RegisteredEnum.REGISTERED.getCode()) { return true; + } return false; } @@ -87,8 +89,9 @@ public class RegisterController { @ResponseBody public boolean doUserName(@RequestParam(value = "name") String name){ Optional user = userService.findByColname(name); - if (user.isPresent()) + if (user.isPresent()) { return false; + } return true; } diff --git a/src/main/java/com/fjy/spring/controller/UpLoadController.java b/src/main/java/com/fjy/spring/controller/UpLoadController.java index bc83b1b..7dac428 100644 --- a/src/main/java/com/fjy/spring/controller/UpLoadController.java +++ b/src/main/java/com/fjy/spring/controller/UpLoadController.java @@ -1,11 +1,13 @@ package com.fjy.spring.controller; import com.fjy.spring.constant.GlobalConstant; +import com.fjy.spring.domain.Homework; 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.HomeworkService; import com.fjy.spring.service.LogService; import com.fjy.spring.untils.FormatFileSizeUtil; import com.fjy.spring.untils.GetIPAddrUtil; @@ -31,11 +33,20 @@ import java.util.Map; @Slf4j public class UpLoadController { + /** + * 服务器配置信息 + */ @Autowired - private ServerProperties serverProperties;//服务器配置信息 + private ServerProperties serverProperties; + + /** + * 文件相关数据库操作 + */ + @Autowired + private FileService fileService; @Autowired - private FileService fileService;//文件相关数据库操作 + private HomeworkService homeworkService; @Autowired private LogService logService; @@ -79,20 +90,22 @@ public class UpLoadController { * 存储文件信息 */ TbFile file = new TbFile(); - file.setColfilesize(new FormatFileSizeUtil().GetFileSize(imageFile.getSize())); + file.setColfilesize(FormatFileSizeUtil.GetFileSize(imageFile.getSize())); file.setColfilename(filename); file.setColfilepath(uploadUrl + filename); file.setColip(request.getRemoteAddr()); file.setColuserid(user.getColuserid()); - if (fileService.addFile(file)) + if (fileService.addFile(file)) { log.info("记录写入数据库成功"); - //System.out.println("记录写入数据库成功"); - else + } + //System.out.println("记录写入数据库成功"); + else { log.error("记录写入数据库失败"); + } //System.out.println("记录写入数据库失败"); log.info("文件上传到: " + uploadUrl + filename); - log.info("文件大小: " + new FormatFileSizeUtil().GetFileSize(imageFile.getSize())); + log.info("文件大小: " + FormatFileSizeUtil.GetFileSize(imageFile.getSize())); log.info("文件名: " + filename); File targetFile = new File(uploadUrl + filename); @@ -130,6 +143,7 @@ public class UpLoadController { public void moreUpload(HttpServletRequest request, @RequestParam(value = "courseName", required = false) String courseName, @RequestParam(value = "folder", required = false) String folder, + @RequestParam(value = "workid") Integer workId, @RequestParam(value = "rename", required = true) boolean rename) { MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request; @@ -158,13 +172,21 @@ public class UpLoadController { List fileList = new ArrayList(); for (MultipartFile file : files.values()) { + Homework homework = homeworkService.findById(workId); + String filePrefix = homework.getFilePrefix(); + String fileSuffix = homework.getFileSuffix(); String filename = file.getOriginalFilename(); - String suffix = "." + filename.substring(filename.lastIndexOf(".") + 1);//获取文件后缀 + + //获取文件后缀 + String suffix = "." + filename.substring(filename.lastIndexOf(".") + 1); TbFile tbFile = new TbFile(); String pathname; + + + //文件重命名 if (rename) { - pathname = uploadUrl + user.getColstudentno() + user.getColrealname() + suffix; - tbFile.setColfilename(user.getColstudentno() + user.getColrealname() + suffix); + pathname = uploadUrl + filePrefix + user.getColstudentno() + user.getColrealname() + fileSuffix + suffix; + tbFile.setColfilename(filePrefix + user.getColstudentno() + user.getColrealname() + fileSuffix + suffix); } else { pathname = uploadUrl + filename; tbFile.setColfilename(filename); @@ -172,39 +194,41 @@ public class UpLoadController { File targetFile = new File(pathname); //若文件已存在则自动重命名 - if (targetFile.exists()){ + if (targetFile.exists()) { String bakpathname; if (rename) { - bakpathname = uploadUrl + "bak/" +user.getColstudentno() + user.getColrealname() + suffix; + bakpathname = uploadUrl + "bak/" + user.getColstudentno() + user.getColrealname() + suffix; } else { - bakpathname = uploadUrl +"bak/"+ filename; + bakpathname = uploadUrl + "bak/" + filename; } - log.info("源文件路径:"+pathname); + log.info("源文件路径:" + pathname); TbFile file1 = fileService.findByFilepath(pathname); - file1.setColfilepath(bakpathname+"."+dateNowStr2+".bak"); - file1.setColfilename(file1.getColfilename()+"."+dateNowStr2+".bak"); - if (fileService.addFile(file1)) + file1.setColfilepath(bakpathname + "." + dateNowStr2 + ".bak"); + file1.setColfilename(file1.getColfilename() + "." + dateNowStr2 + ".bak"); + if (fileService.addFile(file1)) { log.info("重命名文件数据库更新成功"); - else + } else { log.error("重命名文件数据库更新失败"); - File mvfile = new File(bakpathname+"."+dateNowStr2+".bak"); + } + File mvfile = new File(bakpathname + "." + dateNowStr2 + ".bak"); try { FileUtils.moveFile(targetFile, mvfile); - log.info("源文件:"+targetFile.getName()+"已重命名为:"+ mvfile.getName()); + log.info("源文件:" + targetFile.getName() + "已重命名为:" + mvfile.getName()); } catch (IOException e) { e.printStackTrace(); } } log.info("文件上传到: " + uploadUrl + filename); - log.info("文件大小: " + new FormatFileSizeUtil().GetFileSize(file.getSize())); + log.info("文件大小: " + FormatFileSizeUtil.GetFileSize(file.getSize())); log.info("文件名: " + filename); - tbFile.setColfilesize(new FormatFileSizeUtil().GetFileSize(file.getSize())); + tbFile.setColfilesize(FormatFileSizeUtil.GetFileSize(file.getSize())); tbFile.setColtime(dateNowStr); tbFile.setColrealname(filename); - tbFile.setColfilepath(pathname);//文件自动学号+姓名命名 + //文件自动学号+姓名命名 + tbFile.setColfilepath(pathname); tbFile.setColip(request.getRemoteAddr()); tbFile.setColuserid(user.getColuserid()); tbFile.setCourseName(courseName); @@ -217,10 +241,11 @@ public class UpLoadController { logs.setColheader(user.getColname() + "上传了'" + filename + "'文件"); logService.addLogRec(logs); - if (fileService.addFile(tbFile)) + if (fileService.addFile(tbFile)) { log.info("记录写入数据库成功"); - else + } else { log.error("记录写入数据库失败"); + } if (!targetFile.exists()) { try { diff --git a/src/main/java/com/fjy/spring/domain/Homework.java b/src/main/java/com/fjy/spring/domain/Homework.java index 74aa8bc..1b17d61 100644 --- a/src/main/java/com/fjy/spring/domain/Homework.java +++ b/src/main/java/com/fjy/spring/domain/Homework.java @@ -30,4 +30,10 @@ public class Homework { @Column(name = "workremark") private String Remark; + + @Column(name = "pre") + private String filePrefix; + + @Column(name = "suf") + private String fileSuffix; } diff --git a/src/main/java/com/fjy/spring/interceptor/AdminInterceptor.java b/src/main/java/com/fjy/spring/interceptor/AdminInterceptor.java index 17ffbda..ac5b24b 100644 --- a/src/main/java/com/fjy/spring/interceptor/AdminInterceptor.java +++ b/src/main/java/com/fjy/spring/interceptor/AdminInterceptor.java @@ -24,7 +24,8 @@ public class AdminInterceptor implements HandlerInterceptor { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { TbUser user = (TbUser)request.getSession().getAttribute(GlobalConstant.USER_SESSION_KEY); //log.info(user.getColuserid()+""); - if (adminService == null) {//解决service为null无法注入问题 + //解决service为null无法注入问题 + if (adminService == null) { BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext()); adminService = (AdminService) factory.getBean("adminService"); } @@ -33,8 +34,9 @@ public class AdminInterceptor implements HandlerInterceptor { if (!admin.isPresent()){ response.sendRedirect("/cms/home"); return false; - }else + }else { return true; + } } } diff --git a/src/main/java/com/fjy/spring/service/FileService.java b/src/main/java/com/fjy/spring/service/FileService.java index fa7e489..fe30f59 100644 --- a/src/main/java/com/fjy/spring/service/FileService.java +++ b/src/main/java/com/fjy/spring/service/FileService.java @@ -15,15 +15,17 @@ public class FileService { public boolean addFile(TbFile tbFile) { TbFile file = tbFileRepository.save(tbFile); - if (file != null) + if (file != null) { return true; + } return false; } public List findFile(TbFile tbFile){ List files = tbFileRepository.findByColfilename(tbFile.getColfilename()); - if (files!=null) + if (files!=null) { return files; + } return null; } diff --git a/src/main/java/com/fjy/spring/service/HomeworkService.java b/src/main/java/com/fjy/spring/service/HomeworkService.java index 5ac3f42..af4a678 100644 --- a/src/main/java/com/fjy/spring/service/HomeworkService.java +++ b/src/main/java/com/fjy/spring/service/HomeworkService.java @@ -2,13 +2,13 @@ package com.fjy.spring.service; import com.fjy.spring.domain.Homework; import com.fjy.spring.domain.VHomework; -import com.fjy.spring.domain.VWorkDetail; import com.fjy.spring.repository.HomeworkRepository; import com.fjy.spring.repository.VHomeworkRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Optional; @Service public class HomeworkService { @@ -25,4 +25,12 @@ public class HomeworkService { public List findAllVHomework(){ return vHomeworkRepository.findAll(); } + + public Homework findById(Integer id){ + Optional homework = homeworkRepository.findById(id); + if (homework.isPresent()){ + return (Homework)homework.get(); + } + return null; + } } diff --git a/src/main/java/com/fjy/spring/service/UserService.java b/src/main/java/com/fjy/spring/service/UserService.java index 7114ab8..b4960b2 100644 --- a/src/main/java/com/fjy/spring/service/UserService.java +++ b/src/main/java/com/fjy/spring/service/UserService.java @@ -81,8 +81,9 @@ public class UserService { public boolean addUserQue(TbUserque userque) { TbUserque tbUserque = userqueRepository.save(userque); - if (tbUserque != null) + if (tbUserque != null) { return true; + } return false; } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7ef289a..9efaa1c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ #控制配置文件调用 spring: profiles: - active: prod \ No newline at end of file + active: dev \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 83a471d..02d1ae7 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -25,8 +25,8 @@ - - /www/cmsfile/%d/info.%d.log + F:\JAVA Workspace\Temp\log\%d\info.%d.log + @@ -44,8 +44,8 @@ - - /www/cmsfile/%d/error.%d.log + F:\JAVA Workspace\Temp\log\error.%d.log + diff --git a/src/main/resources/static/js/homepage.js b/src/main/resources/static/js/homepage.js index 1e171b4..d1ef130 100644 --- a/src/main/resources/static/js/homepage.js +++ b/src/main/resources/static/js/homepage.js @@ -3,6 +3,7 @@ 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("-") @@ -12,9 +13,11 @@ function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式 iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数 return iDays } -function displayStyle(id,type) { - document.getElementById(id).style.display=type; + +function displayStyle(id, type) { + document.getElementById(id).style.display = type; } + var Main = { data() { var checkName = (rule, value, callback) => { @@ -66,7 +69,7 @@ var Main = { colrealname: '', colemail: '' }, - iShow:true, + iShow: true, rules2: { colpassword: [ {required: true, validator: validatePass, trigger: 'blur'} @@ -95,7 +98,7 @@ var Main = { activeName: 'login', fileList: [], DownloadList: [], - NoticeList:[ + NoticeList: [ { noticeid: 1, adminid: 1, @@ -109,12 +112,12 @@ var Main = { issueTime: "2018-2-26 11:13" } ], - VersionList:[ + VersionList: [ { - date:'2018-01-30', - content:'实现数据库查询用户,获取密码,编写了单元测试类', - version:'V0.1', - user:'F嘉阳' + date: '2018-01-30', + content: '实现数据库查询用户,获取密码,编写了单元测试类', + version: 'V0.1', + user: 'F嘉阳' } ], tableHomeworkData: [ @@ -170,7 +173,7 @@ var Main = { that.getFileList(); },1000);*/ this.getFileList(); - axios.get(getRootPath_web()+'/home/findAllHomework') + axios.get(getRootPath_web() + '/home/findAllHomework') .then(function (response) { console.log(response.data); that.tableHomeworkData = response.data; @@ -179,7 +182,7 @@ var Main = { .catch(function (error) { console.log(error); }); - axios.get(getRootPath_web()+'/home/findAllNotice') + axios.get(getRootPath_web() + '/home/findAllNotice') .then(function (response) { console.log(response.data); that.NoticeList = response.data; @@ -188,7 +191,7 @@ var Main = { .catch(function (error) { console.log(error); }); - axios.get(getRootPath_web()+'/home/findallversion') + axios.get(getRootPath_web() + '/home/findallversion') .then(function (response) { console.log(response.data); that.VersionList = response.data; @@ -200,9 +203,9 @@ var Main = { }) }, methods: { - getFileList(){ + getFileList() { let that = this; - axios.get(getRootPath_web()+'/home/download/findone') + axios.get(getRootPath_web() + '/home/download/findone') .then(function (response) { //console.log(response.data); that.DownloadList = response.data; @@ -232,7 +235,7 @@ var Main = { }); }, uploadURL(row) { - return getRootPath_web()+"/home/moreUpload?courseName=" + row.coursename + "&folder=" + row.workfolder+"&rename=true"; + return getRootPath_web() + "/home/moreUpload?courseName=" + row.coursename + "&folder=" + row.workfolder + "&workid=" + row.workid + "&rename=true"; }, limitTime(row) { @@ -243,7 +246,7 @@ var Main = { let that = this; if (valid) { axios({ - url: getRootPath_web()+'/' + url, + url: getRootPath_web() + '/' + url, method: 'post', data: { content: this.$refs.content.value @@ -261,13 +264,13 @@ var Main = { } }).then(function (response) { console.log(response.data); - if (response.data===true){ + if (response.data === true) { //that.$refs[formName].submit; //return true; that.openNotiSuccess("成功", "反馈成功!") - }else if (response.data===false){ + } else if (response.data === false) { that.openNotiError("失败", "反馈失败!"); - }else { + } else { that.openNotiError("错误", response.data.message); } }).catch(function (error) { @@ -293,22 +296,24 @@ var Main = { let that = this; this.$refs.upload.submit(); this.openNotiSuccess("成功", "文件上传成功!"); - setTimeout(function () {that.getFileList();},1000); + setTimeout(function () { + that.getFileList(); + }, 1000); }, handleRemove(file, fileList) { console.log(file, fileList); }, ClickToJump(targe) { - window.location.href = getRootPath_web()+"/" + targe; + window.location.href = getRootPath_web() + "/" + targe; }, handleDownload(row) { /*var url = window.location.protocol+"://"+window.location.host+":"+window.location.port+"/"*/ - window.open(getRootPath_web()+"/home/download/dodownload?fileId=" + row.colfileid); + window.open(getRootPath_web() + "/home/download/dodownload?fileId=" + row.colfileid); }, handleDelete(row) { let that = this; axios({ - url: getRootPath_web()+'/home/filedelete', + url: getRootPath_web() + '/home/filedelete', method: 'post', data: { fileid: row.colfileid @@ -326,14 +331,14 @@ var Main = { } }).then(function (response) { console.log(response.data); - if (response.data===true){ + if (response.data === true) { //that.$refs[formName].submit; //return true; that.openNotiSuccess("成功", "删除成功!"); that.getFileList(); - }else if (response.data===false){ + } else if (response.data === false) { that.openNotiError("失败", "删除失败!"); - }else { + } else { that.openNotiError("错误", response.data.message); } }).catch(function (error) { @@ -341,17 +346,17 @@ var Main = { that.openNotiError("错误", "服务器错误!"); }); }, - isShow(row){ + isShow(row) { let that = this; - console.log(row.worktime+"||"+row.workid); - if (compareTime(cur,row.worktime)){ + console.log(row.worktime + "||" + row.workid); + if (compareTime(cur, row.worktime)) { console.log("true"); return true; //提交时间合法 //document.getElementById("btn-group").style.display=""; //displayStyle("btn-show"+row.workid,"none"); //displayStyle("btn-group"+row.workid,""); - }else { + } else { console.log("false"); return false; //提交时间不合法 @@ -363,25 +368,25 @@ var Main = { }, handlePreview(row) { console.log(row); - /* let that = this; - console.log(row.worktime+"||"+row.workid); - if (compareTime(cur,row.worktime)){ - that.isShow = true; - console.log("Show"+that.isShow); - //提交时间合法 - //document.getElementById("btn-group").style.display=""; - //displayStyle("btn-show"+row.workid,"none"); - //displayStyle("btn-group"+row.workid,""); - } - if (!compareTime(cur,row.worktime)){ - that.isShow = false; - console.log("EShow"+that.isShow); - //提交时间不合法 - //displayStyle("btn-show"+row.workid,""); - //displayStyle("btn-group"+row.workid,"none"); - //displayStyle("btn-show"); - //document.getElementById("btn-show").style.display=""; - }*/ + /* let that = this; + console.log(row.worktime+"||"+row.workid); + if (compareTime(cur,row.worktime)){ + that.isShow = true; + console.log("Show"+that.isShow); + //提交时间合法 + //document.getElementById("btn-group").style.display=""; + //displayStyle("btn-show"+row.workid,"none"); + //displayStyle("btn-group"+row.workid,""); + } + if (!compareTime(cur,row.worktime)){ + that.isShow = false; + console.log("EShow"+that.isShow); + //提交时间不合法 + //displayStyle("btn-show"+row.workid,""); + //displayStyle("btn-group"+row.workid,"none"); + //displayStyle("btn-show"); + //document.getElementById("btn-show").style.display=""; + }*/ }, handleExceed(files, fileList) { this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); diff --git a/src/test/java/com/fjy/spring/LoggerTest.java b/src/test/java/com/fjy/spring/LoggerTest.java index d52cf31..8fd76df 100644 --- a/src/test/java/com/fjy/spring/LoggerTest.java +++ b/src/test/java/com/fjy/spring/LoggerTest.java @@ -6,7 +6,7 @@ import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; -/* + @RunWith(SpringRunner.class) @SpringBootTest @Slf4j @@ -22,4 +22,4 @@ public class LoggerTest { log.error("error..."); } } -*/ + diff --git a/src/test/java/com/fjy/spring/controller/DataControllerTest.java b/src/test/java/com/fjy/spring/controller/DataControllerTest.java index a0e4531..c13cd56 100644 --- a/src/test/java/com/fjy/spring/controller/DataControllerTest.java +++ b/src/test/java/com/fjy/spring/controller/DataControllerTest.java @@ -12,7 +12,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import javax.transaction.Transactional; -/* + @RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc @@ -21,42 +21,42 @@ public class DataControllerTest { @Autowired private MockMvc mvc; - */ -/** + + /** * 使用此单元测试前要注销拦截器,否则测试不通过 * @throws Exception - *//* + */ @Test @Transactional - public void adduserque() throws Exception{ + public void adduserque() throws Exception { mvc.perform(MockMvcRequestBuilders.post("/home/adduserque") - .param("coluserid","53") - .param("question","您母亲的姓名是?") - .param("answer","YHM")) + .param("coluserid", "53") + .param("question", "您母亲的姓名是?") + .param("answer", "YHM")) .andExpect(MockMvcResultMatchers.content().string("true")); } - */ -/** - *测试找回密码 + + /** + * 测试找回密码 * @throws Exception - *//* + */ @Test - public void findUserQue() throws Exception{ + public void findUserQue() throws Exception { //测试问题和答案均正确 mvc.perform(MockMvcRequestBuilders.get("/finduserque") - .param("name","root") - .param("question","您配偶的姓名是?") - .param("answer","abc")) + .param("name", "root") + .param("question", "您配偶的姓名是?") + .param("answer", "abc")) .andExpect(MockMvcResultMatchers.content().string("true")); //测试问题错误 mvc.perform(MockMvcRequestBuilders.get("/finduserque") - .param("name","root") - .param("question","您配偶的姓名是") - .param("answer","abc")) + .param("name", "root") + .param("question", "您配偶的姓名是") + .param("answer", "abc")) .andExpect(MockMvcResultMatchers.content().json("{\n" + " \"code\": 611,\n" + " \"message\": \"问题与答案不匹配\",\n" + @@ -65,16 +65,16 @@ public class DataControllerTest { //测试问题正确,答案错误 mvc.perform(MockMvcRequestBuilders.get("/finduserque") - .param("name","root") - .param("question","您配偶的姓名是?") - .param("answer","a")) + .param("name", "root") + .param("question", "您配偶的姓名是?") + .param("answer", "a")) .andExpect(MockMvcResultMatchers.content().string("false")); //未设置问题 mvc.perform(MockMvcRequestBuilders.get("/finduserque") - .param("name","roo") - .param("question","您配偶的姓名是?") - .param("answer","a")) + .param("name", "roo") + .param("question", "您配偶的姓名是?") + .param("answer", "a")) .andExpect(MockMvcResultMatchers.content().json("{\n" + " \"code\": 610,\n" + " \"message\": \"该用户未设置密保问题\",\n" + @@ -82,20 +82,20 @@ public class DataControllerTest { "}")); } - */ -/** - * 测试忘记密码操作 + + + /* * 测试忘记密码操作 * @throws Exception - *//* + */ @Test @Transactional - public void resetPass() throws Exception{ + public void resetPass() throws Exception { mvc.perform(MockMvcRequestBuilders.post("/resetPass") - .param("name","root") - .param("question","您配偶的姓名是?") - .param("answer","abc") - .param("password","admin")) + .param("name", "root") + .param("question", "您配偶的姓名是?") + .param("answer", "abc") + .param("password", "admin")) .andExpect(MockMvcResultMatchers.content().string("true")); } -}*/ +} diff --git a/src/test/java/com/fjy/spring/controller/LoginControllerTest.java b/src/test/java/com/fjy/spring/controller/LoginControllerTest.java index 6524c66..89e62e3 100644 --- a/src/test/java/com/fjy/spring/controller/LoginControllerTest.java +++ b/src/test/java/com/fjy/spring/controller/LoginControllerTest.java @@ -12,7 +12,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import static org.junit.Assert.*; -/* + @RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc @@ -40,4 +40,4 @@ public class LoginControllerTest { " \"data\": null\n" + "}")); } -}*/ +} diff --git a/src/test/java/com/fjy/spring/controller/RegisterControllerTest.java b/src/test/java/com/fjy/spring/controller/RegisterControllerTest.java index 617b4f4..88f0e8b 100644 --- a/src/test/java/com/fjy/spring/controller/RegisterControllerTest.java +++ b/src/test/java/com/fjy/spring/controller/RegisterControllerTest.java @@ -12,7 +12,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import static org.junit.Assert.*; -/* + @RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc @@ -74,4 +74,4 @@ public class RegisterControllerTest { .param("name","root1")) .andExpect(MockMvcResultMatchers.content().string("true")); } -}*/ +} diff --git a/src/test/java/com/fjy/spring/controller/TestControllerTest.java b/src/test/java/com/fjy/spring/controller/TestControllerTest.java index a9639ef..cd7ddb9 100644 --- a/src/test/java/com/fjy/spring/controller/TestControllerTest.java +++ b/src/test/java/com/fjy/spring/controller/TestControllerTest.java @@ -11,7 +11,7 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import static org.junit.Assert.*; -/* + @RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc @@ -39,4 +39,4 @@ public class TestControllerTest { mvc.perform(MockMvcRequestBuilders.get("/test/id/1")) .andExpect(MockMvcResultMatchers.status().isOk()); } -}*/ +} From 681bcdbc6ea52f4a724fdda4044e5562df1c0407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Wed, 25 Apr 2018 21:43:08 +0800 Subject: [PATCH 26/33] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E4=B8=A4=E6=AC=A1=E5=BC=B9?= =?UTF-8?q?=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/controller/LoginController.java | 10 ++++++++ .../spring/controller/UpLoadController.java | 3 ++- src/main/resources/static/js/homepage.js | 2 +- src/main/resources/templates/home/home.html | 23 ++++++++++--------- 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/fjy/spring/controller/LoginController.java b/src/main/java/com/fjy/spring/controller/LoginController.java index 9bb869f..3f6bfbc 100644 --- a/src/main/java/com/fjy/spring/controller/LoginController.java +++ b/src/main/java/com/fjy/spring/controller/LoginController.java @@ -53,11 +53,21 @@ public class LoginController { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateNowStr = sdf.format(date); + //System.out.println("当前时间:"+dateNowStr); TbLog log = new TbLog(); log.setUserid(user.getColuserid()); log.setColtime(dateNowStr); log.setColheader(request.getHeader("user-agent")); + + System.out.println("【request】"+request.getRequestURI()); + System.out.println("【request】"+request.getContextPath()); + System.out.println("【request】"+request.getPathInfo()); + System.out.println("【request】"+request.getAuthType()); + System.out.println("【request】"+request.getRequestURL()); + System.out.println("【request】"+request.getPathTranslated()); + System.out.println("【request】"+request.getQueryString()); + //解决nginx代理后IP地址获取问题 //log.setColip(request.getRemoteAddr()); log.setColip(GetIPAddrUtil.getIpAddr(request)); diff --git a/src/main/java/com/fjy/spring/controller/UpLoadController.java b/src/main/java/com/fjy/spring/controller/UpLoadController.java index 7dac428..4a90ba7 100644 --- a/src/main/java/com/fjy/spring/controller/UpLoadController.java +++ b/src/main/java/com/fjy/spring/controller/UpLoadController.java @@ -83,7 +83,8 @@ public class UpLoadController { String uploadUrl = serverProperties.getFilePath() + "upload/"; String filename = imageFile.getOriginalFilename(); File dir = new File(uploadUrl); - if (!dir.exists()) {//判断目录是否存在,否则自动创建 + //判断目录是否存在,否则自动创建 + if (!dir.exists()) { dir.mkdirs(); } /** diff --git a/src/main/resources/static/js/homepage.js b/src/main/resources/static/js/homepage.js index d1ef130..086f38d 100644 --- a/src/main/resources/static/js/homepage.js +++ b/src/main/resources/static/js/homepage.js @@ -348,7 +348,7 @@ var Main = { }, isShow(row) { let that = this; - console.log(row.worktime + "||" + row.workid); + // console.log(row.worktime + "||" + row.workid); if (compareTime(cur, row.worktime)) { console.log("true"); return true; diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html index 3d8b735..0d62eb0 100644 --- a/src/main/resources/templates/home/home.html +++ b/src/main/resources/templates/home/home.html @@ -130,28 +130,29 @@ :on-preview="handlePreview(props.row)" :on-remove="handleRemove" :file-list="fileList" :auto-upload="false" + v-show="isShow(props.row)" name="imageFile"> -
+ 选取文件 + @click="submitUpload" > 上传到服务器
上传文件大小不能超过100Mb
-
-
- - -
+ +
+ + +
From 827dcfd2b5b8166d130f3f802be635aa8289ab1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Wed, 25 Apr 2018 22:02:00 +0800 Subject: [PATCH 27/33] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E7=BD=91=E5=9D=80=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../java/com/fjy/spring/controller/LoginController.java | 9 +-------- src/main/java/com/fjy/spring/domain/TbLog.java | 3 +++ 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 6ce8b4d..3ace0a9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.fjy spring - V2.7 + V2.8.1 jar spring diff --git a/src/main/java/com/fjy/spring/controller/LoginController.java b/src/main/java/com/fjy/spring/controller/LoginController.java index 3f6bfbc..7bcbc61 100644 --- a/src/main/java/com/fjy/spring/controller/LoginController.java +++ b/src/main/java/com/fjy/spring/controller/LoginController.java @@ -59,14 +59,7 @@ public class LoginController { log.setUserid(user.getColuserid()); log.setColtime(dateNowStr); log.setColheader(request.getHeader("user-agent")); - - System.out.println("【request】"+request.getRequestURI()); - System.out.println("【request】"+request.getContextPath()); - System.out.println("【request】"+request.getPathInfo()); - System.out.println("【request】"+request.getAuthType()); - System.out.println("【request】"+request.getRequestURL()); - System.out.println("【request】"+request.getPathTranslated()); - System.out.println("【request】"+request.getQueryString()); + log.setRequestURL(request.getRequestURL().toString()); //解决nginx代理后IP地址获取问题 //log.setColip(request.getRemoteAddr()); diff --git a/src/main/java/com/fjy/spring/domain/TbLog.java b/src/main/java/com/fjy/spring/domain/TbLog.java index da6e50d..5f7598f 100644 --- a/src/main/java/com/fjy/spring/domain/TbLog.java +++ b/src/main/java/com/fjy/spring/domain/TbLog.java @@ -20,4 +20,7 @@ public class TbLog { private String colheader; + @Column(name = "requesturl") + private String requestURL; + } From 9ef0093b502af64e197cc19fd2bc2e694218e4d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Wed, 25 Apr 2018 22:48:10 +0800 Subject: [PATCH 28/33] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E6=97=A0=E6=B3=95=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../com/fjy/spring/controller/UpLoadController.java | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 3ace0a9..01ff629 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.fjy spring - V2.8.1 + V2.8.3 jar spring diff --git a/src/main/java/com/fjy/spring/controller/UpLoadController.java b/src/main/java/com/fjy/spring/controller/UpLoadController.java index 4a90ba7..c34e406 100644 --- a/src/main/java/com/fjy/spring/controller/UpLoadController.java +++ b/src/main/java/com/fjy/spring/controller/UpLoadController.java @@ -144,7 +144,7 @@ public class UpLoadController { public void moreUpload(HttpServletRequest request, @RequestParam(value = "courseName", required = false) String courseName, @RequestParam(value = "folder", required = false) String folder, - @RequestParam(value = "workid") Integer workId, + @RequestParam(value = "workid", required = false) Integer workId, @RequestParam(value = "rename", required = true) boolean rename) { MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request; @@ -173,7 +173,11 @@ public class UpLoadController { List fileList = new ArrayList(); for (MultipartFile file : files.values()) { - Homework homework = homeworkService.findById(workId); + Homework homework = new Homework(); + //管理员上传不需要传workId + if (workId != null) { + homework = homeworkService.findById(workId); + } String filePrefix = homework.getFilePrefix(); String fileSuffix = homework.getFileSuffix(); String filename = file.getOriginalFilename(); @@ -185,7 +189,7 @@ public class UpLoadController { //文件重命名 - if (rename) { + if (rename && workId != null) { pathname = uploadUrl + filePrefix + user.getColstudentno() + user.getColrealname() + fileSuffix + suffix; tbFile.setColfilename(filePrefix + user.getColstudentno() + user.getColrealname() + fileSuffix + suffix); } else { From 8011ce135e1d3bb7b0c0ad80c0e0aea65399c956 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Thu, 26 Apr 2018 13:04:58 +0800 Subject: [PATCH 29/33] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=A7=E9=87=8F?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fjy/spring/controller/DataController.java | 3 -- .../spring/controller/DeleteController.java | 37 ++++++++++++++- .../spring/controller/DownLoadController.java | 40 +++++++++++++--- .../fjy/spring/controller/NavController.java | 46 +++++++++++++++++++ .../spring/controller/UpLoadController.java | 26 +++++++++-- .../spring/controller/UpdateController.java | 16 ++++++- .../java/com/fjy/spring/untils/LogUtil.java | 41 +++++++++++++++++ .../templates/dist/thymeleaf/common_head.html | 1 + .../templates/dist/thymeleaf/layout.html | 1 + src/main/resources/templates/home/admin.html | 2 +- src/main/resources/templates/home/home.html | 3 +- .../resources/templates/home/manageuser.html | 2 +- 12 files changed, 199 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/fjy/spring/untils/LogUtil.java diff --git a/src/main/java/com/fjy/spring/controller/DataController.java b/src/main/java/com/fjy/spring/controller/DataController.java index 8c947b2..d5615e5 100644 --- a/src/main/java/com/fjy/spring/controller/DataController.java +++ b/src/main/java/com/fjy/spring/controller/DataController.java @@ -37,9 +37,6 @@ public class DataController { @Autowired private HomeworkService homeworkService; - @Autowired - private FileService fileService; - @Autowired private VUserfileService vUserfileService; diff --git a/src/main/java/com/fjy/spring/controller/DeleteController.java b/src/main/java/com/fjy/spring/controller/DeleteController.java index 4f68c80..bd77173 100644 --- a/src/main/java/com/fjy/spring/controller/DeleteController.java +++ b/src/main/java/com/fjy/spring/controller/DeleteController.java @@ -1,9 +1,13 @@ package com.fjy.spring.controller; import com.fjy.spring.domain.TbFile; +import com.fjy.spring.domain.TbLog; +import com.fjy.spring.domain.TbUser; import com.fjy.spring.enums.ResultEnum; import com.fjy.spring.exception.UserException; import com.fjy.spring.service.FileService; +import com.fjy.spring.service.LogService; +import com.fjy.spring.untils.GetIPAddrUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -12,13 +16,28 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Date; + +import static com.fjy.spring.constant.GlobalConstant.USER_SESSION_KEY; @Controller @Slf4j public class DeleteController { + /** + * 文件相关数据库操作 + */ @Autowired - private FileService fileService;//文件相关数据库操作 + private FileService fileService; + + @Autowired + private LogService logService; + + @Resource + HttpServletRequest request; @GetMapping("/home/findfile") @ResponseBody @@ -68,6 +87,22 @@ public class DeleteController { if (file.delete()) { fileService.deleteFileById(tbFile); log.info("删除单个文件" + fileName + "成功!"); + + TbUser user =(TbUser)request.getSession().getAttribute(USER_SESSION_KEY); + //写入日志信息 + Date date = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dateNowStr = sdf.format(date); + TbLog log = new TbLog(); + log.setUserid(user.getColuserid()); + log.setColtime(dateNowStr); + log.setColheader("删除单个文件" + fileName + "成功!"); + log.setRequestURL(request.getRequestURL().toString()); + + //解决nginx代理后IP地址获取问题 + log.setColip(GetIPAddrUtil.getIpAddr(request)); + logService.addLogRec(log); + return true; } else { log.info("删除单个文件" + fileName + "失败!"); diff --git a/src/main/java/com/fjy/spring/controller/DownLoadController.java b/src/main/java/com/fjy/spring/controller/DownLoadController.java index 2c68fb3..3a142eb 100644 --- a/src/main/java/com/fjy/spring/controller/DownLoadController.java +++ b/src/main/java/com/fjy/spring/controller/DownLoadController.java @@ -1,11 +1,14 @@ package com.fjy.spring.controller; import com.fjy.spring.domain.TbFile; +import com.fjy.spring.domain.TbLog; import com.fjy.spring.domain.TbUser; import com.fjy.spring.enums.ResultEnum; import com.fjy.spring.exception.UserException; import com.fjy.spring.properties.ServerProperties; import com.fjy.spring.service.FileService; +import com.fjy.spring.service.LogService; +import com.fjy.spring.untils.LogUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -28,12 +31,18 @@ import static com.fjy.spring.constant.GlobalConstant.USER_SESSION_KEY; @Controller public class DownLoadController { + /** + * 服务器配置信息 + */ @Autowired - private ServerProperties serverProperties;//服务器配置信息 + private ServerProperties serverProperties; @Autowired private FileService fileService; + @Autowired + private LogService logService; + @Resource HttpServletRequest request; @@ -45,12 +54,12 @@ public class DownLoadController { @GetMapping("/home/admin/download/findall") @ResponseBody public List toDownloadAll() { - List files = fileService.findAllFile();//此处做空指针判断并抛出错误 + //此处做空指针判断并抛出错误 + List files = fileService.findAllFile(); if (files != null) { return files; } - new UserException(ResultEnum.EMPTY_DATA); - return null; + throw new UserException(ResultEnum.EMPTY_DATA); } @GetMapping("/home/download/findone") @@ -63,8 +72,7 @@ public class DownLoadController { if (files != null) { return files; } - new UserException(ResultEnum.EMPTY_DATA); - return null; + throw new UserException(ResultEnum.EMPTY_DATA); } @RequestMapping("/home/download/dodownload") @@ -102,6 +110,10 @@ public class DownLoadController { while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } + //记录下载日志 + addVisitLog("下载文件"+tbFile.getColrealname()+" "+tbFile.getColfilename()); + + } catch (Exception e) { e.printStackTrace(); } finally { @@ -164,7 +176,7 @@ public class DownLoadController { for (int i = 0; i < path.length; i++) { File file = new File(path[i]); //将需要压缩的文件格式化为输入流 - if (!file.isDirectory()){ + if (!file.isDirectory()) { zipSource = new FileInputStream(file); //压缩条目不是具体独立的文件,而是压缩包文件列表中的列表项,称为条目,就像索引一样 ZipEntry zipEntry = new ZipEntry(file.getName()); @@ -183,6 +195,9 @@ public class DownLoadController { } } + //记录下载日志 + addVisitLog("下载压缩文件"+zipFile.getName()); + } catch (Exception e) { e.printStackTrace(); } finally { @@ -281,4 +296,15 @@ public class DownLoadController { System.out.println(it1.next()); } }*/ + + /** + * 登陆后的访问日志记录 + * + * @param content + */ + private void addVisitLog(String content) { + TbUser user = (TbUser) request.getSession().getAttribute(USER_SESSION_KEY); + TbLog log = LogUtil.addLog(user, content, request); + logService.addLogRec(log); + } } diff --git a/src/main/java/com/fjy/spring/controller/NavController.java b/src/main/java/com/fjy/spring/controller/NavController.java index 0578097..d50a79a 100644 --- a/src/main/java/com/fjy/spring/controller/NavController.java +++ b/src/main/java/com/fjy/spring/controller/NavController.java @@ -1,6 +1,11 @@ package com.fjy.spring.controller; +import com.fjy.spring.domain.TbLog; import com.fjy.spring.domain.TbUser; +import com.fjy.spring.service.LogService; +import com.fjy.spring.untils.GetIPAddrUtil; +import com.fjy.spring.untils.LogUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; @@ -10,6 +15,9 @@ import org.springframework.web.bind.support.SessionStatus; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.text.SimpleDateFormat; +import java.util.Date; + import static com.fjy.spring.constant.GlobalConstant.USER_SESSION_KEY; @Controller @@ -18,70 +26,108 @@ public class NavController { @Resource HttpServletRequest request; + @Autowired + private LogService logService; + @GetMapping(value = {"index",""}) public String toLoginPage(){ + //获取访问头信息 + addIndexLog(request.getHeader("user-agent")); return "login"; } @GetMapping(value = {"testthymeleaf"}) public String toTestPage(){ + addVisitLog("测试页面 testthymeleaf"); return "/dist/thymeleafTest"; } @GetMapping(value = {"axiosTest"}) public String toTestAxiosPage(){ + addVisitLog("测试页面 axiosTest"); return "/dist/axiosTest"; } @GetMapping(value = {"/home"}) public String toHomePage(){ + addVisitLog("首页 home"); return "home/home"; } @GetMapping(value = {"/logout"}) public String toLogOut(SessionStatus status){ //request.getSession().getAttribute(USER_SESSION_KEY).invalidate(); + addVisitLog("登出 logout"); status.setComplete(); return "login"; } @GetMapping(value = {"/home/feedback"}) public String toFeedbackPage(){ + addVisitLog("反馈页面 /home/feedback"); return "home/feedback"; } @GetMapping(value = {"/home/about"}) public String toAboutPage(){ + addVisitLog("关于页面 /home/about"); return "home/about"; } @GetMapping(value = {"/home/admin"}) public String toAdminPage(){ + addVisitLog("管理员页面 /home/admin"); return "home/admin"; } @GetMapping(value = {"/home/admin/managecourse"}) public String toManageCoursePage(){ + addVisitLog("课程管理页面 /home/admin/managecourse"); return "home/managecourse"; } @GetMapping(value = {"/home/admin/manageuser"}) public String toManageUserPage(){ + addVisitLog("用户管理页面 /home/admin/manageuser"); return "home/manageuser"; } @GetMapping(value = {"/home/admin/homework"}) public String toHomeworkPage(){ + addVisitLog("作业管理页面 /home/admin/homework"); return "home/homework"; } @GetMapping(value = {"/home/user"}) public String toUserPage(){ + addVisitLog("个人中心页面 /home/user"); return "home/user"; } @GetMapping(value = {"/error"}) public String toErrorPage(){ + addVisitLog("404页面 error"); return "error"; } + + /** + * 首页的访问日志记录 + * @param content + */ + private void addIndexLog(String content){ + TbUser user = new TbUser(); + user.setColname("访客"); + TbLog log = LogUtil.addLog(user,content,request); + logService.addLogRec(log); + } + + /** + * 登陆后的访问日志记录 + * @param content + */ + private void addVisitLog(String content){ + TbUser user =(TbUser)request.getSession().getAttribute(USER_SESSION_KEY); + TbLog log = LogUtil.addLog(user,content,request); + logService.addLogRec(log); + } } diff --git a/src/main/java/com/fjy/spring/controller/UpLoadController.java b/src/main/java/com/fjy/spring/controller/UpLoadController.java index c34e406..c8fb9b4 100644 --- a/src/main/java/com/fjy/spring/controller/UpLoadController.java +++ b/src/main/java/com/fjy/spring/controller/UpLoadController.java @@ -11,6 +11,7 @@ import com.fjy.spring.service.HomeworkService; import com.fjy.spring.service.LogService; import com.fjy.spring.untils.FormatFileSizeUtil; import com.fjy.spring.untils.GetIPAddrUtil; +import com.fjy.spring.untils.LogUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +30,8 @@ import java.util.Date; import java.util.List; import java.util.Map; +import static com.fjy.spring.constant.GlobalConstant.USER_SESSION_KEY; + @Controller @Slf4j public class UpLoadController { @@ -98,6 +101,10 @@ public class UpLoadController { file.setColuserid(user.getColuserid()); if (fileService.addFile(file)) { log.info("记录写入数据库成功"); + + // 记录上传日志 + addVisitLog("上传文件" + file.getColrealname() + " " + file.getColfilename()); + } //System.out.println("记录写入数据库成功"); else { @@ -248,6 +255,9 @@ public class UpLoadController { if (fileService.addFile(tbFile)) { log.info("记录写入数据库成功"); + + // 记录上传日志 + addVisitLog("上传文件" + tbFile.getColrealname() + " " + tbFile.getColfilename()); } else { log.error("记录写入数据库失败"); } @@ -265,13 +275,21 @@ public class UpLoadController { request.getScheme() + "://" + request.getServerName() + ":" + serverProperties.getPortNum() + request.getContextPath() + "/upload/" + file.getOriginalFilename()); - } catch (IllegalStateException e) { - e.printStackTrace(); - } catch (IOException e) { + } catch (Exception e) { e.printStackTrace(); } - } } } + + /** + * 登陆后的访问日志记录 + * + * @param content + */ + private void addVisitLog(String content) { + TbUser user = (TbUser) httpServletRequest.getSession().getAttribute(USER_SESSION_KEY); + TbLog log = LogUtil.addLog(user, content, httpServletRequest); + logService.addLogRec(log); + } } diff --git a/src/main/java/com/fjy/spring/controller/UpdateController.java b/src/main/java/com/fjy/spring/controller/UpdateController.java index 43dedb6..1126ac1 100644 --- a/src/main/java/com/fjy/spring/controller/UpdateController.java +++ b/src/main/java/com/fjy/spring/controller/UpdateController.java @@ -1,14 +1,17 @@ package com.fjy.spring.controller; +import com.fjy.spring.domain.TbLog; import com.fjy.spring.domain.TbUser; import com.fjy.spring.domain.VUserinfo; import com.fjy.spring.enums.RegisteredEnum; import com.fjy.spring.enums.ResultEnum; import com.fjy.spring.exception.UserException; import com.fjy.spring.properties.ServerProperties; +import com.fjy.spring.service.LogService; import com.fjy.spring.service.StudentService; import com.fjy.spring.service.UserService; import com.fjy.spring.untils.CodingUtil; +import com.fjy.spring.untils.LogUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -20,6 +23,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigInteger; +import static com.fjy.spring.constant.GlobalConstant.USER_SESSION_KEY; + @Controller @Slf4j public class UpdateController { @@ -30,7 +35,7 @@ public class UpdateController { private StudentService studentService; @Autowired - private ServerProperties serverProperties; + private LogService logService; @Resource HttpServletRequest request; @@ -52,11 +57,20 @@ public class UpdateController { studentService.UpdateStudentListRegistered(tbUser.getColrealname(),tbUser.getColstudentno(), RegisteredEnum.REGISTERED.getCode()); log.info(tbUser.getColname()+" 信息更新成功"); + //写入数据库日志 + TbUser user =(TbUser)request.getSession().getAttribute(USER_SESSION_KEY); + TbLog tbLog = LogUtil.addLog(user,tbUser.getColname()+" 信息更新成功",request); + logService.addLogRec(tbLog); + return true; /*return "redirect:" + request.getScheme() + "://" + request.getServerName() + ":" + serverProperties.getPortNum() + request.getContextPath() + "/home/user";*/ // return "login"; } + //写入数据库日志 + TbUser user =(TbUser)request.getSession().getAttribute(USER_SESSION_KEY); + TbLog tbLog = LogUtil.addLog(user,tbUser.getColname()+" 信息更新失败",request); + logService.addLogRec(tbLog); log.error(tbUser.getColname()+" 信息更新失败"); return false; } diff --git a/src/main/java/com/fjy/spring/untils/LogUtil.java b/src/main/java/com/fjy/spring/untils/LogUtil.java new file mode 100644 index 0000000..8f090a9 --- /dev/null +++ b/src/main/java/com/fjy/spring/untils/LogUtil.java @@ -0,0 +1,41 @@ +package com.fjy.spring.untils; + +import com.fjy.spring.domain.TbLog; +import com.fjy.spring.domain.TbUser; +import com.fjy.spring.service.LogService; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.servlet.http.HttpServletRequest; +import java.text.SimpleDateFormat; +import java.util.Date; + +import static com.fjy.spring.constant.GlobalConstant.USER_SESSION_KEY; + +/** + * @author F嘉阳 + * @date 2018-04-26 12:45 + * 日志信息填充工具类 + */ +public class LogUtil { + + /** + * 写入日志记录 + * @param user + * @param content + */ + public static TbLog addLog(TbUser user,String content,HttpServletRequest request){ + //写入日志信息 + Date date = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dateNowStr = sdf.format(date); + TbLog log = new TbLog(); + log.setUserid(user.getColuserid()); + log.setColtime(dateNowStr); + log.setColheader(user.getColname()+" "+content); + log.setRequestURL(request.getRequestURL().toString()); + + //解决nginx代理后IP地址获取问题 + log.setColip(GetIPAddrUtil.getIpAddr(request)); + return log; + } +} diff --git a/src/main/resources/templates/dist/thymeleaf/common_head.html b/src/main/resources/templates/dist/thymeleaf/common_head.html index c3b3360..9bfa9a2 100644 --- a/src/main/resources/templates/dist/thymeleaf/common_head.html +++ b/src/main/resources/templates/dist/thymeleaf/common_head.html @@ -1,6 +1,7 @@ + diff --git a/src/main/resources/templates/dist/thymeleaf/layout.html b/src/main/resources/templates/dist/thymeleaf/layout.html index 43ef6de..9141b28 100644 --- a/src/main/resources/templates/dist/thymeleaf/layout.html +++ b/src/main/resources/templates/dist/thymeleaf/layout.html @@ -81,6 +81,7 @@
作业提交倒计时 + 功能未完成
diff --git a/src/main/resources/templates/home/admin.html b/src/main/resources/templates/home/admin.html index 5d7a7e3..e3f3a78 100644 --- a/src/main/resources/templates/home/admin.html +++ b/src/main/resources/templates/home/admin.html @@ -48,7 +48,7 @@ 近期登陆日志