From 213cad2a741f2e838b075ae6cc3011a78bcfe7fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Thu, 8 Feb 2018 10:32:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=A1=A8=E5=8D=95=E5=BC=82?= =?UTF-8?q?=E6=AD=A5=E6=8F=90=E4=BA=A4=E5=B9=B6=E6=98=BE=E7=A4=BA=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fjy/spring/controller/DataController.java | 5 - .../spring/controller/FeedBackController.java | 49 +++++ .../spring/controller/LoginController.java | 2 +- .../com/fjy/spring/domain/TbFeedBack.java | 53 +++++ .../repository/TbFeedBackRepository.java | 8 + .../fjy/spring/service/FeedBackService.java | 23 +++ .../com/fjy/spring/untils/RedirectUtil.java | 16 ++ src/main/resources/static/js/admin.js | 46 +++++ src/main/resources/static/js/homePage.js | 40 +++- src/main/resources/templates/home/about.html | 30 ++- src/main/resources/templates/home/admin.html | 194 ++++++++++++++++++ .../resources/templates/home/feedback.html | 9 +- src/main/resources/templates/home/home.html | 19 +- src/main/resources/templates/home/home2.html | 20 +- 14 files changed, 490 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/fjy/spring/controller/FeedBackController.java create mode 100644 src/main/java/com/fjy/spring/domain/TbFeedBack.java create mode 100644 src/main/java/com/fjy/spring/repository/TbFeedBackRepository.java create mode 100644 src/main/java/com/fjy/spring/service/FeedBackService.java create mode 100644 src/main/java/com/fjy/spring/untils/RedirectUtil.java create mode 100644 src/main/resources/static/js/admin.js create mode 100644 src/main/resources/templates/home/admin.html diff --git a/src/main/java/com/fjy/spring/controller/DataController.java b/src/main/java/com/fjy/spring/controller/DataController.java index 8ee4de0..0574de6 100644 --- a/src/main/java/com/fjy/spring/controller/DataController.java +++ b/src/main/java/com/fjy/spring/controller/DataController.java @@ -26,9 +26,4 @@ public class DataController { new UserException(ResultEnum.EMPTY_DATA); return null; } - - @PostMapping("/home/dofeedback") - public void doFeedback(){ - - } } diff --git a/src/main/java/com/fjy/spring/controller/FeedBackController.java b/src/main/java/com/fjy/spring/controller/FeedBackController.java new file mode 100644 index 0000000..513a6b3 --- /dev/null +++ b/src/main/java/com/fjy/spring/controller/FeedBackController.java @@ -0,0 +1,49 @@ +package com.fjy.spring.controller; + +import com.fjy.spring.domain.TbFeedBack; +import com.fjy.spring.domain.TbUser; +import com.fjy.spring.properties.ServerProperties; +import com.fjy.spring.service.FeedBackService; +import com.fjy.spring.untils.RedirectUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +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; + +@RestController +public class FeedBackController { + + @Autowired + private FeedBackService feedBackService; + + @Autowired + private ServerProperties serverProperties; + + @Resource + HttpServletRequest request; + + @PostMapping("/home/dofeedback") + public void 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); + TbFeedBack feedBack = new TbFeedBack(); + feedBack.setContent(content); + feedBack.setTime(dateNowStr); + TbUser user = (TbUser)request.getSession().getAttribute(USER_SESSION_KEY); + feedBack.setUserid(user.getColuserid()); + RedirectUtil red = new RedirectUtil(); + if (feedBackService.addContent(feedBack)){ + System.out.println("写入数据库成功"); + } + + } +} diff --git a/src/main/java/com/fjy/spring/controller/LoginController.java b/src/main/java/com/fjy/spring/controller/LoginController.java index d2fcfd3..bf918c5 100644 --- a/src/main/java/com/fjy/spring/controller/LoginController.java +++ b/src/main/java/com/fjy/spring/controller/LoginController.java @@ -46,7 +46,7 @@ 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); + //System.out.println("当前时间:"+dateNowStr); TbLog log = new TbLog(); log.setUserid(user.getColuserid()); log.setColtime(dateNowStr); diff --git a/src/main/java/com/fjy/spring/domain/TbFeedBack.java b/src/main/java/com/fjy/spring/domain/TbFeedBack.java new file mode 100644 index 0000000..93752c3 --- /dev/null +++ b/src/main/java/com/fjy/spring/domain/TbFeedBack.java @@ -0,0 +1,53 @@ +package com.fjy.spring.domain; + +import javax.persistence.*; + +@Entity +@Table(name = "tb_feedback") +public class TbFeedBack { + @Id + @Column(name = "feedbackid") + @GeneratedValue + private Integer id; + + @Column(name = "coluserid") + private Integer userid; + + @Column(name = "feedbackcontent") + private String content; + + @Column(name = "issuetime") + private String time; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getUserid() { + return userid; + } + + public void setUserid(Integer userid) { + this.userid = userid; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } +} diff --git a/src/main/java/com/fjy/spring/repository/TbFeedBackRepository.java b/src/main/java/com/fjy/spring/repository/TbFeedBackRepository.java new file mode 100644 index 0000000..ec9c040 --- /dev/null +++ b/src/main/java/com/fjy/spring/repository/TbFeedBackRepository.java @@ -0,0 +1,8 @@ +package com.fjy.spring.repository; + +import com.fjy.spring.domain.TbFeedBack; +import org.springframework.data.jpa.repository.JpaRepository; + + +public interface TbFeedBackRepository extends JpaRepository { +} diff --git a/src/main/java/com/fjy/spring/service/FeedBackService.java b/src/main/java/com/fjy/spring/service/FeedBackService.java new file mode 100644 index 0000000..19891e6 --- /dev/null +++ b/src/main/java/com/fjy/spring/service/FeedBackService.java @@ -0,0 +1,23 @@ +package com.fjy.spring.service; + +import com.fjy.spring.domain.TbFeedBack; +import com.fjy.spring.enums.ResultEnum; +import com.fjy.spring.exception.UserException; +import com.fjy.spring.repository.TbFeedBackRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class FeedBackService { + @Autowired + TbFeedBackRepository feedBackRepository; + + public boolean addContent(TbFeedBack feedBack){ + TbFeedBack feed=feedBackRepository.save(feedBack); + if (feed!=null){ + return true; + } + new UserException(ResultEnum.ADD_ERROR); + return false; + } +} diff --git a/src/main/java/com/fjy/spring/untils/RedirectUtil.java b/src/main/java/com/fjy/spring/untils/RedirectUtil.java new file mode 100644 index 0000000..4ed2b2e --- /dev/null +++ b/src/main/java/com/fjy/spring/untils/RedirectUtil.java @@ -0,0 +1,16 @@ +package com.fjy.spring.untils; + +import com.fjy.spring.properties.ServerProperties; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.servlet.http.HttpServletRequest; + +public class RedirectUtil { + @Autowired + private ServerProperties serverProperties; + + public String Redirect(HttpServletRequest request,String url){ + return "redirect:" + request.getScheme() + "://" + request.getServerName() + ":" + + serverProperties.getPortNum() + request.getContextPath() + "/"+url; + } +} diff --git a/src/main/resources/static/js/admin.js b/src/main/resources/static/js/admin.js new file mode 100644 index 0000000..26f9a07 --- /dev/null +++ b/src/main/resources/static/js/admin.js @@ -0,0 +1,46 @@ +var Main = { + data() { + return { + activeIndex: '1', + formInline: { + user: '', + region: '' + }, + form: { + name: '', + region: '', + date1: '', + date2: '', + delivery: false, + type: [], + resource: '', + desc: '' + }, + feedbackData:[ + { + content:'bug', + time:'2018-2-3', + username:'root' + } + ], + logData:[ + { + ip:'127.0.0.1', + header:'bug', + time:'2018-2-3', + username:'root' + } + ], + } + }, + methods: { + handleSelect(key, keyPath) { + console.log(key, keyPath); + }, + onSubmit() { + console.log('submit!'); + } + } +} +var Ctor = Vue.extend(Main) +new Ctor().$mount('#app') \ No newline at end of file diff --git a/src/main/resources/static/js/homePage.js b/src/main/resources/static/js/homePage.js index b4d69b3..3f56948 100644 --- a/src/main/resources/static/js/homePage.js +++ b/src/main/resources/static/js/homePage.js @@ -160,16 +160,50 @@ var Main = { }, methods: { + openNotiSuccess(title,content) { + this.$notify({ + title: title, + message: content, + type: 'success' + }); + }, + openSuccess(content) { + this.$message({ + message: content, + type: 'success' + }); + }, uploadURL(row){ return "http://localhost:8080/cms/moreUpload?courseName="+row.coursename+"&folder="+row.workfolder; }, limitTime(row){ return DateDiff(row.worktime.replace(/([^\s]+)\s.*/, "$1"), cur); }, - submitForm(formName) { + submitForm(formName,url) { this.$refs[formName].validate((valid) => { if (valid) { - alert('submit!'); + axios({ + url: 'http://localhost:8080/cms/'+url, + method: 'post', + data: { + content: this.$refs.content.value + }, + transformRequest: [function (data) { + // Do whatever you want to transform the data + let ret = '' + for (let it in data) { + ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' + } + return ret + }], + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }) + console.log(this.$refs.content.value) + this.openSuccess("成功","反馈成功!") + //this.$options.methods.openNotiSuccess.bind(this)(); + //alert('submit!'); } else { console.log('error submit!!'); return false; @@ -189,7 +223,7 @@ var Main = { console.log(file, fileList); }, ClickToJump(targe){ - window.open("http://localhost:8080/cms/" + targe); + window.location.href="http://localhost:8080/cms/" + targe; }, handleDownload(row) { /*var url = window.location.protocol+"://"+window.location.host+":"+window.location.port+"/"*/ diff --git a/src/main/resources/templates/home/about.html b/src/main/resources/templates/home/about.html index 2d54fb3..737d3fa 100644 --- a/src/main/resources/templates/home/about.html +++ b/src/main/resources/templates/home/about.html @@ -13,7 +13,35 @@ - + +

作业提交系统

+
+
    +

    功能说明

    +
  • 自动识别未提交人员
  • +
  • 提供作业格式模板下载
  • +
  • 作业作者可以下载已提交的作业,作业保留一学期
  • +
  • 实现作业提交,支持多文件上传,文件自动命名为学号+姓名,省去大量烦恼
  • +
+
+
    +

    技术说明

    +
  • SpringBoot2.0 MVC后台开发框架,使用SpringJpa持久层api,底层为hibernate实现
  • +
  • vue2.5前端框架,element2.1前端组件,前后端分离的开发方法
  • +
  • 用户名密码使用最高安全性的SHA加密算法进行存储,任何人无法获取
  • +
  • 具备完整开发和维护文档,提供错误码、数据字典
  • +
  • URL为RESTful API风格,便于开发和维护
  • +
  • 异常统一管理
  • +
+
+ +
diff --git a/src/main/resources/templates/home/admin.html b/src/main/resources/templates/home/admin.html new file mode 100644 index 0000000..d8cfa0d --- /dev/null +++ b/src/main/resources/templates/home/admin.html @@ -0,0 +1,194 @@ + + + + + 后台 + + + + + + + + + + + + +
+ + + + + 首页 + + + 选项1 + 选项2 + 选项3 + + 关于 + 意见反馈 + 登出 + + + + + +
+ 用户名
+ 学号 +
+
+ 首页
+ 个人中心
+ 关于
+ 意见反馈 +
+
+
+ +

添加老师

+ + + + + + + + + + + + 添加 + + +

添加课程

+ + + + + + + + + + + + 添加 + + +

添加作业

+ + + + + + + + + + + + + + + + + + + + + + + + 添加 + + +

发布公告

+ + + + + + 添加 + + +

添加管理员

+ + + + + + + + + + + + 添加 + + +
+ + + +
+ +
+ 用户反馈 +
+
+ + + + + + + + +
+
+
+
+
+ + +
+ +
+ 近期登陆日志 +
+
+ + + + + + + + + + +
+
+
+
+
+
+
+ + +
+
+
+ + + + diff --git a/src/main/resources/templates/home/feedback.html b/src/main/resources/templates/home/feedback.html index b547d0c..1c1b449 100644 --- a/src/main/resources/templates/home/feedback.html +++ b/src/main/resources/templates/home/feedback.html @@ -14,14 +14,17 @@ - + - + - 提交 + 提交 重置 diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html index f8fb1da..048dab5 100644 --- a/src/main/resources/templates/home/home.html +++ b/src/main/resources/templates/home/home.html @@ -260,11 +260,24 @@
作业提交倒计时 + 功能未完成
-
- {{'倒计时 ' + o }} +
+ + + + + + + + + +
-