From ce70231eaa48ad076bae44fe8c4244475535a351 Mon Sep 17 00:00:00 2001 From: Elvis Date: Thu, 9 Aug 2018 14:54:33 +0800 Subject: [PATCH] 增加接口 --- WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp | 37 +++++++++++++++++++------------------ WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_test.jsp | 36 ++++++++++++++++++------------------ resources/mybatis1/sunvote/CacheMapper.xml | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ resources/mybatis1/sunvote/ChapterMapper.xml | 25 +++++++++++++++++++++++++ resources/mybatis1/sunvote/KnowledgeMapper.xml | 29 +++++++++++++++++++++++++++++ resources/mybatis1/sunvote/QuestionMapper.xml | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ resources/mybatis1/sunvote/TeachingMaterialMapper.xml | 13 +++---------- src/com/fh/bean/Point.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/com/fh/controller/api/ResponseGson.java | 49 +++++++++++++++++++++++++++++++++++++++++++------ src/com/fh/controller/api/V1.java | 719 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------- src/com/fh/controller/sunvote/Myelfun.java | 22 +++++++++++++++++----- src/com/fh/controller/sunvote/cache/CacheController.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/com/fh/controller/sunvote/grade/GradeController.java | 1 + src/com/fh/service/sunvote/cache/CacheManager.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/com/fh/service/sunvote/cache/impl/CacheService.java | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/com/fh/service/sunvote/chapter/ChapterManager.java | 4 ++++ src/com/fh/service/sunvote/chapter/impl/ChapterService.java | 9 +++++++++ src/com/fh/service/sunvote/knowledge/KnowledgeManager.java | 9 +++++++++ src/com/fh/service/sunvote/knowledge/impl/KnowledgeService.java | 9 +++++++++ src/com/fh/service/sunvote/question/QuestionManager.java | 11 +++++++++++ src/com/fh/service/sunvote/question/impl/QuestionService.java | 16 ++++++++++++++++ 21 files changed, 1281 insertions(+), 157 deletions(-) create mode 100644 resources/mybatis1/sunvote/CacheMapper.xml create mode 100644 src/com/fh/bean/Point.java create mode 100644 src/com/fh/controller/sunvote/cache/CacheController.java create mode 100644 src/com/fh/service/sunvote/cache/CacheManager.java create mode 100644 src/com/fh/service/sunvote/cache/impl/CacheService.java diff --git a/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp b/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp index 0c65a27..99db685 100644 --- a/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp +++ b/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_1.jsp @@ -73,29 +73,29 @@ - 班级课程总分 - +
班级课程总分
+
${var.TOTAL_SCORE}
- 班级课程平均分 - - +
班级课程平均分
+
+
- ${var.AVG_SCORE} +
${var.AVG_SCORE}
- 班级课程平均得分率 - - +
班级课程平均得分率
+
+
-
% + maxFractionDigits="2" />%
@@ -106,15 +106,15 @@ <%-- ${var.NAME} --%> - ${var.NAME} +
${var.NAME}
-
%
- ${var.GETSCORE } +
${var.GETSCORE }
-
${var[TEST_ID] }
@@ -268,12 +268,13 @@ $("#simple-table").tablescroller(options); - var name_height = $(".kc").last().parent().height()-18; + var name_height = $(".kc").last().parent().height()-18.5; + console.log(name_height); $(".th_name").height(name_height); }); - console.log('${studentList}'); + //console.log('${studentList}'); diff --git a/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_test.jsp b/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_test.jsp index d7af736..39df6ef 100644 --- a/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_test.jsp +++ b/WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_report_test.jsp @@ -52,51 +52,51 @@ style="margin-top:0px;margin-bottom:0;"> -
键盘
+
键盘
学号
姓名
得分
排名
-
题目${vs.index+1}
+
题目${vs.index+1}
-
总分
+
总分
- -- - -- - -- - -- +
--
+
--
+
--
+
--
- -- +
--
-
% + maxFractionDigits="1" />%
- +
- ${var.KEYPAD_ID} - ${var.NUMBER} - ${var.NAME} - ${var.GETSCORE} +
${var.KEYPAD_ID}
+
${var.NUMBER}
+
${var.NAME}
+
${var.GETSCORE}
<%-- ${var.RIGHT} --%> - ${vs.index + 1} +
${vs.index + 1}
-
${var.detail[vs1.index].ANSWER}
+
${var.detail[vs1.index].ANSWER}
<%-- ${var.OTHER_SCORE} --%> - ${var.GETSCORE} +
${var.GETSCORE}
diff --git a/resources/mybatis1/sunvote/CacheMapper.xml b/resources/mybatis1/sunvote/CacheMapper.xml new file mode 100644 index 0000000..f929e3c --- /dev/null +++ b/resources/mybatis1/sunvote/CacheMapper.xml @@ -0,0 +1,81 @@ + + + + + + + SV_CACHE + + + + + `KEY`, + `CACHE` + + + + + #{KEY}, + #{CACHE} + + + + + insert into + + ( + + ) values ( + + ) + + + + + delete from + + where + `KEY` = #{KEY} + + + + + + + + + + + + + + delete from + + where + `KEY` in + + #{item} + + + + + \ No newline at end of file diff --git a/resources/mybatis1/sunvote/ChapterMapper.xml b/resources/mybatis1/sunvote/ChapterMapper.xml index 374dd5a..9fa55c1 100644 --- a/resources/mybatis1/sunvote/ChapterMapper.xml +++ b/resources/mybatis1/sunvote/ChapterMapper.xml @@ -101,6 +101,31 @@ + + + delete from diff --git a/resources/mybatis1/sunvote/KnowledgeMapper.xml b/resources/mybatis1/sunvote/KnowledgeMapper.xml index 6a085ae..cfcfcdc 100644 --- a/resources/mybatis1/sunvote/KnowledgeMapper.xml +++ b/resources/mybatis1/sunvote/KnowledgeMapper.xml @@ -13,6 +13,7 @@ P_ID, RANK, CODE, + SUBJECT_ID, REMARK, KNOWLEDGE_ID @@ -23,6 +24,7 @@ #{P_ID}, #{RANK}, #{CODE}, + #{SUBJECT_ID}, #{REMARK}, #{KNOWLEDGE_ID} @@ -98,6 +100,33 @@ + + + + delete from diff --git a/resources/mybatis1/sunvote/QuestionMapper.xml b/resources/mybatis1/sunvote/QuestionMapper.xml index e1fdd35..d1e404c 100644 --- a/resources/mybatis1/sunvote/QuestionMapper.xml +++ b/resources/mybatis1/sunvote/QuestionMapper.xml @@ -28,6 +28,7 @@ USER_ID, CREATE_DATE, REMARK, + METHOD, QUESTION_ID @@ -52,6 +53,7 @@ #{USER_ID}, #{CREATE_DATE}, #{REMARK}, + #{METHOD}, #{QUESTION_ID} @@ -98,6 +100,7 @@ USER_ID = #{USER_ID}, CREATE_DATE = #{CREATE_DATE}, REMARK = #{REMARK}, + METHOD = #{METHOD}, QUESTION_ID = QUESTION_ID where QUESTION_ID = #{QUESTION_ID} @@ -140,6 +143,96 @@ + + + + + + delete from diff --git a/resources/mybatis1/sunvote/TeachingMaterialMapper.xml b/resources/mybatis1/sunvote/TeachingMaterialMapper.xml index 7a408b5..e4776ae 100644 --- a/resources/mybatis1/sunvote/TeachingMaterialMapper.xml +++ b/resources/mybatis1/sunvote/TeachingMaterialMapper.xml @@ -32,17 +32,10 @@ insert into ( - NAME, - SUBJECT_ID, - GRADE_ID, - VERSION_CODE, - VERSION_NAME + + ) values ( - #{NAME}, - #{SUBJECT_ID}, - #{GRADE_ID}, - #{VERSION_CODE}, - #{VERSION_NAME} + ) diff --git a/src/com/fh/bean/Point.java b/src/com/fh/bean/Point.java new file mode 100644 index 0000000..f3fa240 --- /dev/null +++ b/src/com/fh/bean/Point.java @@ -0,0 +1,60 @@ +package com.fh.bean; + +import java.util.List; + +import com.google.gson.Gson; + +public class Point { + + private String code ; + + private String name; + + private String subjectCode; + + private List children ; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + + + public String getSubjectCode() { + return subjectCode; + } + + public void setSubjectCode(String subjectCode) { + this.subjectCode = subjectCode; + } + + public static Point parse(String json){ + Gson gson = new Gson(); + return gson.fromJson(json, Point.class); + } + + public String toJson(){ + Gson gson = new Gson(); + return gson.toJson(this); + } +} diff --git a/src/com/fh/controller/api/ResponseGson.java b/src/com/fh/controller/api/ResponseGson.java index aeea0a6..c102fa0 100644 --- a/src/com/fh/controller/api/ResponseGson.java +++ b/src/com/fh/controller/api/ResponseGson.java @@ -1,6 +1,13 @@ package com.fh.controller.api; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.List; + +import com.fh.bean.Point; import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; public class ResponseGson { @@ -8,7 +15,7 @@ public class ResponseGson { private String message = "success"; - private Object data; + private T data; public String getCode() { return code; @@ -26,7 +33,7 @@ public class ResponseGson { this.message = message; } - public Object getData() { + public T getData() { return data; } @@ -35,10 +42,7 @@ public class ResponseGson { } public String toJson(){ - if(data == null){ - data = new Object(); - } - Gson gson = new Gson(); + Gson gson = new GsonBuilder().serializeNulls().create(); return gson.toJson(this); } @@ -48,6 +52,39 @@ public class ResponseGson { + ", data=" + data + "]"; } + public static ResponseGson parse(String json) { + Gson gson = new Gson(); + Type objectType = new TypeToken>() {}.getType(); + return gson.fromJson(json, objectType); + } + + public static ResponseGson parse(String json,Class clazz) { + Gson gson = new Gson(); + if(clazz == Point.class){ + Type objectType = new TypeToken>>() {}.getType(); + return gson.fromJson(json, objectType); + } + return null; + } + + + + static ParameterizedType type(final Class raw, final Type... args) { + return new ParameterizedType() { + public Type getRawType() { + return raw; + } + + public Type[] getActualTypeArguments() { + return args; + } + + public Type getOwnerType() { + return null; + } + }; + } + public void setSuccess(){ code = "0" ; diff --git a/src/com/fh/controller/api/V1.java b/src/com/fh/controller/api/V1.java index cd29c15..e5210fc 100644 --- a/src/com/fh/controller/api/V1.java +++ b/src/com/fh/controller/api/V1.java @@ -2,7 +2,9 @@ package com.fh.controller.api; import java.util.ArrayList; import java.util.Date; +import java.util.Iterator; import java.util.List; +import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -14,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.fh.bean.Paper; +import com.fh.bean.Point; import com.fh.bean.Question; import com.fh.bean.StudentAnswer; import com.fh.bean.TestPaper; @@ -27,6 +30,7 @@ import com.fh.service.feedback.problemphenomenon.ProblemPhenomenonManager; import com.fh.service.software.softwareversion.SoftwareVersionManager; import com.fh.service.sunvote.attachkeyboard.AttachKeyboardManager; import com.fh.service.sunvote.basestation.BasestationManager; +import com.fh.service.sunvote.cache.CacheManager; import com.fh.service.sunvote.chapter.ChapterManager; import com.fh.service.sunvote.classbasetation.ClassBasetationManager; import com.fh.service.sunvote.classroster.ClassRosterManager; @@ -52,10 +56,10 @@ import com.fh.service.sunvote.student.StudentManager; import com.fh.service.sunvote.studenttest.StudentTestManager; import com.fh.service.sunvote.subject.SubjectManager; import com.fh.service.sunvote.teacher.TeacherManager; +import com.fh.service.sunvote.teachingmaterial.TeachingMaterialManager; import com.fh.service.sunvote.testpaper.TestPaperManager; import com.fh.service.sunvote.testpaperinfo.TestPaperInfoManager; import com.fh.service.system.user.UserManager; -import com.fh.util.Jurisdiction; import com.fh.util.PageData; import com.fh.util.Tools; @@ -149,22 +153,28 @@ public class V1 extends BaseController { @Resource(name = "v1Service") private V1Manager v1Service; - - @Resource(name="softwareversionService") + + @Resource(name = "softwareversionService") private SoftwareVersionManager softwareversionService; - - @Resource(name="attachkeyboardService") + + @Resource(name = "attachkeyboardService") private AttachKeyboardManager attachkeyboardService; - - @Resource(name="networkstatisticsService") + + @Resource(name = "networkstatisticsService") private NetworkStatisticsManager networkstatisticsService; - - @Resource(name="eventService") + + @Resource(name = "eventService") private EventManager eventService; - - @Resource(name="userService") + + @Resource(name = "userService") private UserManager userService; + @Resource(name = "teachingmaterialService") + private TeachingMaterialManager teachingmaterialService; + + @Resource(name="cacheService") + private CacheManager cacheService; + @RequestMapping(value = "/login", produces = "application/json;charset=UTF-8") @ResponseBody public Object login() throws Exception { @@ -174,8 +184,9 @@ public class V1 extends BaseController { if (!pd.containsKey("ACCOUT")) { pd.put("ACCOUT", pd.get("USERNAME")); } - if (((pd.containsKey("USERNAME") || (pd.containsKey("ACCOUT") && pd.get("ACCOUT") != null)) && pd - .containsKey("PASSWORD")) || pd.containsKey("KEYPAD_ID")) { + if (((pd.containsKey("USERNAME") || (pd.containsKey("ACCOUT") && pd + .get("ACCOUT") != null)) && pd.containsKey("PASSWORD")) + || pd.containsKey("KEYPAD_ID")) { PageData pageData = teacherService.getUserInfo(pd); if (pageData != null && pageData.getString("ID") != null) { pageData.put("PASSWORD", "");// 返回参数中不返回密码 @@ -193,19 +204,19 @@ public class V1 extends BaseController { pageData.put("subjectList", subjectList); pageData.remove("SUBJECT_IDS"); - + PageData eventPd = new PageData(); eventPd.put("EVENT_ID", get32UUID()); eventPd.put("EVENT_NAME", "login"); eventPd.put("EVENT_USER", pageData.getString("ID")); eventPd.put("EVENT_TYPE", "0"); - eventPd.put("EVENT_START_TIME",Tools.date2Str(new Date())); - if(pd.getString("CLIENT_ID") != null){ + eventPd.put("EVENT_START_TIME", Tools.date2Str(new Date())); + if (pd.getString("CLIENT_ID") != null) { eventPd.put("CLIENT_ID", pd.getString("CLIENT_ID")); - }else{ + } else { eventPd.put("CLIENT_ID", "CLIENT"); } - eventPd.put("EVENT_IP",getRemoteIp()); + eventPd.put("EVENT_IP", getRemoteIp()); eventService.save(eventPd); res.setData(pageData); @@ -235,23 +246,26 @@ public class V1 extends BaseController { List studentList = v1Service.getClassStudent(pt); pageData.put("studentList", studentList); pt.put("CLASS_ID", pageData.get("ID")); - List keyboards = attachkeyboardService.listAllClassId(pt); + List keyboards = attachkeyboardService + .listAllClassId(pt); pageData.put("keyboards", keyboards); res.setData(pageData); } else { res.set2Error(); } - logger.info("class cost time : " + (System.currentTimeMillis() - cur)); + logger.info("class cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } else { ResponseGson> res = new ResponseGson(); List list = sclassService.listAll(pd); res.setData(list); - logger.info("class cost time : " + (System.currentTimeMillis() - cur)); + logger.info("class cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } } - + @RequestMapping(value = "/questiontype", produces = "application/json;charset=UTF-8") @ResponseBody public Object questiontype() throws Exception { @@ -261,10 +275,11 @@ public class V1 extends BaseController { ResponseGson> res = new ResponseGson(); List list = questiontypeService.listAll(pd); res.setData(list); - logger.info("questiontype cost time : " + (System.currentTimeMillis() - cur)); + logger.info("questiontype cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } - + @RequestMapping(value = "/classtype", produces = "application/json;charset=UTF-8") @ResponseBody public Object classtype() throws Exception { @@ -274,10 +289,11 @@ public class V1 extends BaseController { ResponseGson> res = new ResponseGson(); List list = classtypeService.listAll(pd); res.setData(list); - logger.info("classtype cost time : " + (System.currentTimeMillis() - cur)); + logger.info("classtype cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } - + @RequestMapping(value = "/grade", produces = "application/json;charset=UTF-8") @ResponseBody public Object grade() throws Exception { @@ -295,7 +311,7 @@ public class V1 extends BaseController { logger.info("class cost time : " + (System.currentTimeMillis() - cur)); return res.toJson(); } - + @RequestMapping(value = "/subject", produces = "application/json;charset=UTF-8") @ResponseBody public Object subject() throws Exception { @@ -313,8 +329,6 @@ public class V1 extends BaseController { logger.info("subject cost time : " + (System.currentTimeMillis() - cur)); return res.toJson(); } - - @RequestMapping(value = "/keypadscan", produces = "application/json;charset=UTF-8") @ResponseBody @@ -333,7 +347,8 @@ public class V1 extends BaseController { } catch (Exception ex) { res.setDataError(); } - logger.info("keypadScan cost time : " + (System.currentTimeMillis() - cur)); + logger.info("keypadScan cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } @@ -418,9 +433,9 @@ public class V1 extends BaseController { question.setQuestion_from(qpd .getString("QUESTION_FROM")); question.setScore(qpd.getString("SCORE")); - question.setPart_score(qpd - .getString("PART_SCORE")); - question.setQuestionType(qpd.getString("PROBLEM_TYPE_ID")); + question.setPart_score(qpd.getString("PART_SCORE")); + question.setQuestionType(qpd + .getString("PROBLEM_TYPE_ID")); question.setRank(qpd.getString("RANK")); question.setNo_name(qpd.getString("NO_NAME")); if ("-1".equals("" + qpd.getString("P_ID"))) { @@ -449,9 +464,9 @@ public class V1 extends BaseController { qq.setQuestion_from(q .getString("QUESTION_FROM")); qq.setScore(q.getString("SCORE")); - qq.setPart_score(q - .getString("PART_SCORE")); - qq.setQuestionType(qpd.getString("PROBLEM_TYPE_ID")); + qq.setPart_score(q.getString("PART_SCORE")); + qq.setQuestionType(qpd + .getString("PROBLEM_TYPE_ID")); qq.setRank(q.getString("RANK")); qq.setNo_name(q.getString("NO_NAME")); question.getQuestions().add(qq); @@ -477,7 +492,8 @@ public class V1 extends BaseController { } else { res.setOtherError(); } - logger.info("paperInfo cost time : " + (System.currentTimeMillis() - cur)); + logger.info("paperInfo cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } @@ -488,10 +504,11 @@ public class V1 extends BaseController { long cur = System.currentTimeMillis(); PageData pd = this.getPageData(); ResponseGson res = new ResponseGson(); - logger.info("paperquestion cost time : " + (System.currentTimeMillis() - cur)); + logger.info("paperquestion cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } - + @RequestMapping(value = "/question", produces = "application/json;charset=UTF-8") @ResponseBody public Object question() throws Exception { @@ -499,17 +516,18 @@ public class V1 extends BaseController { long cur = System.currentTimeMillis(); PageData pd = this.getPageData(); ResponseGson res = new ResponseGson(); - if(pd.containsKey("ID")){ + if (pd.containsKey("ID")) { pd.put("QUESTION_ID", pd.get("ID")); PageData data = questionService.findById(pd); res.setData(data); - }else{ + } else { res.setDataError(); } - logger.info("question cost time : " + (System.currentTimeMillis() - cur)); + logger.info("question cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } - + @RequestMapping(value = "/question/add", produces = "application/json;charset=UTF-8") @ResponseBody public Object questionAdd() throws Exception { @@ -519,10 +537,11 @@ public class V1 extends BaseController { ResponseGson res = new ResponseGson(); pd.put("QUESTION_ID", this.get32UUID()); questionService.save(pd); - logger.info("questionAdd cost time : " + (System.currentTimeMillis() - cur)); + logger.info("questionAdd cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } - + @RequestMapping(value = "/uploadpaper", produces = "application/json;charset=UTF-8") @ResponseBody public Object uploadpaper() throws Exception { @@ -552,8 +571,7 @@ public class V1 extends BaseController { paperPd.put("CREATE_DATE", Tools.date2Str(new Date())); paperPd.put("MODIFY_DATE", Tools.date2Str(new Date())); - int questionNum = 0 ; - + int questionNum = 0; List questions = paper.getQuestions(); if (questions != null) { @@ -565,12 +583,14 @@ public class V1 extends BaseController { && question.getQuestions().size() > 0) { qPd.put("P_ID", "-1"); } else { - questionNum ++ ; + questionNum++; qPd.put("P_ID", "0"); } qPd.put("SUBJECT_ID", paper.getSubject_id()); qPd.put("CHAPTER_ID", question.getChapter_id()); - qPd.put("PROBLEM_TYPE_ID", question.getProblem_type_id() == null ? "1" : question.getProblem_type_id()); + qPd.put("PROBLEM_TYPE_ID", + question.getProblem_type_id() == null ? "1" + : question.getProblem_type_id()); qPd.put("TEACHER_ID", paper.getUser_id()); qPd.put("SCHOOL_ID", schoolID); qPd.put("KNOWLEDGE_ID", question.getKnowledge_id()); @@ -607,7 +627,9 @@ public class V1 extends BaseController { cqPd.put("P_ID", questionID); cqPd.put("SUBJECT_ID", paper.getSubject_id()); cqPd.put("CHAPTER_ID", q.getChapter_id()); - cqPd.put("PROBLEM_TYPE_ID", question.getProblem_type_id() == null ? "1" : question.getProblem_type_id()); + cqPd.put("PROBLEM_TYPE_ID", question + .getProblem_type_id() == null ? "1" + : question.getProblem_type_id()); cqPd.put("TEACHER_ID", paper.getUser_id()); cqPd.put("SCHOOL_ID", schoolID); cqPd.put("KNOWLEDGE_ID", q.getKnowledge_id()); @@ -636,7 +658,7 @@ public class V1 extends BaseController { cpqPd.put("PAPERQUESTION_ID", this.get32UUID()); paperquestionService.save(cpqPd); - questionNum ++ ; + questionNum++; } } } @@ -647,7 +669,37 @@ public class V1 extends BaseController { } else { res.setDataError(); } - logger.info("uploadpaper cost time : " + (System.currentTimeMillis() - cur)); + logger.info("uploadpaper cost time : " + + (System.currentTimeMillis() - cur)); + return res.toJson(); + } + + @RequestMapping(value = "/uploadpoint", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object uploadpoint() throws Exception { + event("uploadpoint"); + long cur = System.currentTimeMillis(); + PageData pd = this.getPageData(); + ResponseGson res = new ResponseGson(); + + if (!StringUtils.isEmpty(pd.getJsonString())) { + try { + ResponseGson> req = ResponseGson.parse( + pd.getJsonString(), Point.class); + List list = req.getData(); + if (list != null && list.size() > 0) { + for (Point point : list) { + savePoint(point, null); + } + } + } catch (Exception e) { + res.setError(); + } + } else { + res.setDataError(); + } + logger.info("uploadpoint cost time : " + + (System.currentTimeMillis() - cur)); return res.toJson(); } @@ -747,7 +799,7 @@ public class V1 extends BaseController { } testpaperinfoService.batchSave(testInfoPdList); } - }else{ + } else { testPaperId = listData.get(0).getString("TESTPAPER_ID"); } res.setData(testPaperId); @@ -759,13 +811,13 @@ public class V1 extends BaseController { } else { res.setDataError(); } - logger.info("uploadtestpaper cost time:" + (System.currentTimeMillis() - cur)); + logger.info("uploadtestpaper cost time:" + + (System.currentTimeMillis() - cur)); return res.toJson(); } - - + // 上传测验成绩 @RequestMapping(value = "/uploadupdatetestpaper", produces = "application/json;charset=UTF-8") @ResponseBody @@ -879,6 +931,74 @@ public class V1 extends BaseController { } + @RequestMapping(value = "/point", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object point() throws Exception { + ResponseGson> res = new ResponseGson(); + + PageData pd = getPageData(); + String key = this.getRequestKey(pd,"point"); + PageData pagedata = new PageData(); + pagedata.put("KEY", key); + if(!"".equals(key.trim())){ + PageData ret = cacheService.findById(pagedata); + if(ret != null && ret.get("CACHE") != null){ + return ret.get("CACHE"); + } + } + List list = knowledgeService.listAllknowledge(pd); + String depth = pd.getString("DEPTH"); + int end = 3 ; + if(depth != null){ + try{ + end = Integer.parseInt(depth); + }catch(Exception e){ + + } + } + roundPointData(list,1,end); + res.setData(list); + String str = res.toJson(); + str = str.replaceAll("[^\\u0000-\\uFFFF]", ""); + pagedata.put("CACHE", str); + cacheService.save(pagedata); + return str; + } + + private void roundPointData(List list,int dept , int end) throws Exception { + if (list != null) { + for (PageData pd : list) { + pd.put("P_ID", pd.getString("KNOWLEDGE_ID")); + if (pd.getString("P_ID") != null + && !"".equals(pd.getString("P_ID")) && dept < end) { + List ret = knowledgeService.listAllknowledge(pd); + if (ret != null && ret.size() > 0) { + roundPointData(ret,dept + 1,end); + pd.put("CHILDREN", ret); + } + } + pd.remove("P_ID"); + } + } + } + + private void roundChapterData(List list,int dept,int end) throws Exception { + if (list != null && dept < end) { + for (PageData pd : list) { + pd.put("P_ID", pd.getString("ID")); + if (pd.getString("P_ID") != null + && !"".equals(pd.getString("P_ID"))) { + List ret = chapterService.listAllChapter(pd); + if (ret != null && ret.size() > 0) { + roundChapterData(ret,dept+1,end); + pd.put("CHILDREN", ret); + } + } + pd.remove("P_ID"); + } + } + } + // 下载测验成绩 @RequestMapping(value = "/downloadtestpaper", produces = "application/json;charset=UTF-8") @ResponseBody @@ -960,7 +1080,8 @@ public class V1 extends BaseController { res.setError(); } } - logger.info("downloadtestpaper cost time:" + (System.currentTimeMillis() - cur)); + logger.info("downloadtestpaper cost time:" + + (System.currentTimeMillis() - cur)); return res.toJson(); } @@ -1006,20 +1127,18 @@ public class V1 extends BaseController { return res.toJson(); } - - + @RequestMapping(value = "/schooladmin", produces = "application/json;charset=UTF-8") @ResponseBody - public void schoolAdmin(){ + public void schoolAdmin() { event("schoolAdmin"); PageData pd = this.getPageData(); this.getUserID(); } - - + @RequestMapping(value = "/network", produces = "application/json;charset=UTF-8") @ResponseBody - public Object network() throws Exception{ + public Object network() throws Exception { event("network"); PageData pd = this.getPageData(); ResponseGson res = new ResponseGson(); @@ -1033,7 +1152,7 @@ public class V1 extends BaseController { .getString("SUCCESS_COUNT")); spd.put("SUCCESS_COUNT", ++successCount + ""); int fail = seq - successCount; - if(fail < 0 ){ + if (fail < 0) { fail = 0; } spd.put("FAIL_COUNT", fail + ""); @@ -1047,7 +1166,7 @@ public class V1 extends BaseController { pd.put("SUCCESS_COUNT", "1"); pd.put("CLIENT_IP", getRemoteIp()); int fail = seq - 1; - if(fail < 0 ){ + if (fail < 0) { fail = 0; } pd.put("FAIL_COUNT", fail + ""); @@ -1059,14 +1178,13 @@ public class V1 extends BaseController { pd.remove("NETWORKSTATISTICS_ID"); res.setData(pd); } - }else{ + } else { res.setDataError(); } return res.toJson(); } - - - public String getRemoteIp(){ + + public String getRemoteIp() { HttpServletRequest request = getRequest(); String ip = ""; if (request.getHeader("x-forwarded-for") == null) { @@ -1076,70 +1194,264 @@ public class V1 extends BaseController { } return ip; } - + @RequestMapping(value = "/newversion", produces = "application/json;charset=UTF-8") @ResponseBody - public Object getNewVersion(HttpServletRequest request) throws Exception{ + public Object getNewVersion(HttpServletRequest request) throws Exception { event("getNewVersion"); PageData pd = this.getPageData(); String softId = pd.getString("SOFTID"); String path = request.getContextPath(); - String basePath = request.getScheme() + "://" - + request.getServerName() + ":" + request.getServerPort() - + path + "/"; + String basePath = request.getScheme() + "://" + request.getServerName() + + ":" + request.getServerPort() + path + "/"; ResponseGson res = new ResponseGson(); - if(softId != null && !"".equals(softId)){ + if (softId != null && !"".equals(softId)) { pd.put("SOFTWARE_ID", softId); PageData result = softwareversionService.findNewVersion(pd); - if(result != null){ + if (result != null) { result.remove("SOFTWAREVERSION_ID"); result.remove("SOFTWARE_ID"); - result.put("VERSION_PATH",basePath + "uploadFiles/uploadFile/" + result.getString("VERSION_PATH")); + result.put("VERSION_PATH", basePath + "uploadFiles/uploadFile/" + + result.getString("VERSION_PATH")); res.setData(result); - }else{ + } else { res.setDataError(); } - }else{ + } else { res.setDataError(); } return res.toJson(); } + + /** + * 获取教材版本 + * + * @return + * @throws Exception + */ + @RequestMapping(value = "/teachingmaterial", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object teachingmaterial() throws Exception { + PageData pd = getPageData(); + ResponseGson> ret = new ResponseGson>(); + List lpd = new ArrayList(); + List list = teachingmaterialService.listAll(pd); + String subjectID = pd.getString("SUBJECT_ID"); + if (subjectID != null && !"".equals(subjectID)) { + for (PageData pad : list) { + String subis = pad.getString("SUBJECT_ID"); + if (subis != null) { + String[] subs = subis.split(","); + if (subs != null) { + for (String sub : subs) { + if (subjectID.trim().equals(sub.trim())) { + pad.remove("SUBJECT_ID"); + pad.put("VERSION_CODE", pad.getString("VERSION_CODE")); + lpd.add(pad); + break; + } + } + } + } + } + } else { + for (PageData pad : list) { + pad.remove("SUBJECT_ID"); + pad.put("VERSION_CODE", pad.getString("VERSION_CODE")); + lpd.add(pad); + } + } + ret.setData(lpd); + return ret.toJson(); + } + + /** + * 获取教材版本 + * + * @return + * @throws Exception + */ + @RequestMapping(value = "/chapter", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object chapter() throws Exception { + PageData pd = getPageData(); + String key = this.getRequestKey(pd,"chapter"); + PageData pagedata = new PageData(); + pagedata.put("KEY", key); + if(!"".equals(key.trim())){ + PageData ret = cacheService.findById(pagedata); + if(ret != null && ret.get("CACHE") != null){ + return ret.get("CACHE"); + } + } + ResponseGson> res = new ResponseGson>(); + List list = chapterService.listAllChapter(pd); + String depth = pd.getString("DEPTH"); + int end = 3 ; + if(depth != null){ + try{ + end = Integer.parseInt(depth); + }catch(Exception e){ + + } + } + roundChapterData(list,1,end); + res.setData(list); + String str = res.toJson(); + str = str.replaceAll("[^\\u0000-\\uFFFF]", ""); + pagedata.put("CACHE", str); + cacheService.save(pagedata); + return str; + } + + /** + * 获取试题 + * + * @return + * @throws Exception + */ + @RequestMapping(value = "/questions", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object questions() throws Exception { + PageData pd = getPageData(); + ResponseGson> res = new ResponseGson>(); + String teachingmaterialId = pd.getString("TEACHINGMATERIAL_ID"); + String chapterId = pd.getString("CHAPTER_ID"); + if(teachingmaterialId != null && !teachingmaterialId.equals("") && chapterId == null){ + PageData chapterPd = new PageData(); + chapterPd.put("TEACHINGMATERIAL_ID", teachingmaterialId); + List chapterList = chapterService.listAllChapter(chapterPd); + roundChapterData(chapterList, 1, 3); + List ids = getIds(chapterList,"ID"); + pd.put("CHAPTER_IDS", ids); + }else{ + List ids = new ArrayList(); + if(chapterId != null && !"".equals(chapterId.trim())){ + ids.add(chapterId); + } + pd.put("CHAPTER_IDS", ids); + } + pd.remove("CHAPTER_ID"); + String knowledge = pd.getString("KNOWLEDGE_ID"); + if(knowledge != null && !"".equals(knowledge.trim())){ + PageData knowPd = new PageData(); + knowPd.put("P_ID", knowledge); + List knowlist = knowledgeService.listAllknowledge(knowPd); + roundPointData(knowlist, 1, 3); + List ids = getIds(knowlist,"KNOWLEDGE_ID"); + ids.add(knowledge); + pd.put("KNOWLEDGE_IDS",ids); + pd.remove("KNOWLEDGE_ID"); + } + List list = questionService.listAllquestion(pd); + res.setData(list); + return res.toJson(); + } + /** + * 随机获取试题 + * + * @return + * @throws Exception + */ + @RequestMapping(value = "/randquestions", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object randquestions() throws Exception { + PageData pd = getPageData(); + ResponseGson> res = new ResponseGson>(); + String teachingmaterialId = pd.getString("TEACHINGMATERIAL_ID"); + String chapterId = pd.getString("CHAPTER_ID"); + if(teachingmaterialId != null && !teachingmaterialId.equals("") && chapterId == null){ + PageData chapterPd = new PageData(); + chapterPd.put("TEACHINGMATERIAL_ID", teachingmaterialId); + List chapterList = chapterService.listAllChapter(chapterPd); + roundChapterData(chapterList, 1, 3); + List ids = getIds(chapterList,"ID"); + pd.put("CHAPTER_IDS", ids); + }else{ + List ids = new ArrayList(); + if(chapterId != null && !"".equals(chapterId.trim())){ + ids.add(chapterId); + } + pd.put("CHAPTER_IDS", ids); + } + pd.remove("CHAPTER_ID"); + String knowledge = pd.getString("KNOWLEDGE_ID"); + if(knowledge != null && !"".equals(knowledge.trim())){ + PageData knowPd = new PageData(); + knowPd.put("P_ID", knowledge); + List knowlist = knowledgeService.listAllknowledge(knowPd); + roundPointData(knowlist, 1, 3); + List ids = getIds(knowlist,"KNOWLEDGE_ID"); + ids.add(knowledge); + pd.put("KNOWLEDGE_IDS",ids); + pd.remove("KNOWLEDGE_ID"); + } + List list = questionService.listAllRandquestion(pd); + res.setData(list); + return res.toJson(); + } + + public List getIds(List chapterList,String key){ + List ids = new ArrayList(); + if(chapterList != null && chapterList.size() > 0){ + for(PageData pd : chapterList){ + String chapterid = pd.getString(key); + if(chapterid != null && !"".equals(chapterid)){ + ids.add(chapterid); + } + Object obj = pd.get("CHILDREN"); + if(obj != null && (obj instanceof List)){ + @SuppressWarnings("unchecked") + List list = (List)obj ; + List ret = getIds(list,key); + if(ret != null && ret.size() > 0){ + ids.addAll(ret); + } + } + } + } + + return ids; + + } + @RequestMapping(value = "/tempcreateUser", produces = "application/json;charset=UTF-8") @ResponseBody - public Object tempCreateUser() throws Exception{ + public Object tempCreateUser() throws Exception { PageData pd = new PageData(); pd = this.getPageData(); pd.put("ID", this.get32UUID()); teacherService.save(pd); - pd.put("USER_ID", pd.getString("ID")); //ID 主键 - pd.put("LAST_LOGIN", ""); //最后登录时间 - pd.put("IP", ""); //IP - pd.put("STATUS", "0"); //状态 + pd.put("USER_ID", pd.getString("ID")); // ID 主键 + pd.put("LAST_LOGIN", ""); // 最后登录时间 + pd.put("IP", ""); // IP + pd.put("STATUS", "0"); // 状态 pd.put("SKIN", "default"); - pd.put("RIGHTS", ""); + pd.put("RIGHTS", ""); pd.put("USERNAME", pd.getString("ACCOUT")); - pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64"); - pd.put("PASSWORD", new SimpleHash("SHA-1", pd.getString("ACCOUT"), pd.getString("PASSWORD")).toString()); //密码加密 - - if(null == userService.findByUsername(pd)){ //判断用户名是否存在 - userService.saveU(pd); //执行保存 + pd.put("ROLE_ID", "57bb1e6f138247a0b05cc721a5da1b64"); + pd.put("PASSWORD", + new SimpleHash("SHA-1", pd.getString("ACCOUT"), pd + .getString("PASSWORD")).toString()); // 密码加密 + + if (null == userService.findByUsername(pd)) { // 判断用户名是否存在 + userService.saveU(pd); // 执行保存 } - - //ID, TEACHER_ID, CLASS_ID, SUBJECT_ID, START_DATE, END_DATE, GRADE_ID, TERM_ID, REMARK + + // ID, TEACHER_ID, CLASS_ID, SUBJECT_ID, START_DATE, END_DATE, GRADE_ID, + // TERM_ID, REMARK pd.put("TEACHER_ID", pd.get("ID")); pd.put("CLASS_ID", "bc33389101ec46e6b7d47daa8adf58ac"); pd.put("SUBJECT_ID", "1"); pd.put("GRADE_ID", "1"); - pd.put("TERM_ID","0d8ea2efdef74accbd0d00e9bc07dfbb"); + pd.put("TERM_ID", "0d8ea2efdef74accbd0d00e9bc07dfbb"); coursemanagementService.save(pd); - + return "{'res':'success'}"; } - - - private void event(String apiName){ + private void event(String apiName) { PageData eventPd = new PageData(); eventPd.put("EVENT_ID", get32UUID()); eventPd.put("EVENT_NAME", apiName); @@ -1148,11 +1460,218 @@ public class V1 extends BaseController { eventPd.put("EVENT_START_TIME", Tools.date2Str(new Date())); eventPd.put("CLIENT_ID", "SERVER"); eventPd.put("EVENT_IP", getRemoteIp()); - try{ + try { eventService.save(eventPd); - }catch(Exception e){ - + } catch (Exception e) { + + } + } + + static int index = 0; + + private void savePoint(Point point, String pid) { + List children = point.getChildren(); + if (children != null && children.size() > 0) { + for (Point p : children) { + savePoint(p, point.getCode()); + } + } + PageData pageData = new PageData(); + pageData.put("KNOWLEDGE_ID", point.getCode()); + pageData.put("NAME", point.getName()); + pageData.put("P_ID", pid); + pageData.put("RANK", ++index); + try { + knowledgeService.save(pageData); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @RequestMapping(value = "/uploadbook", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object uploadbook() throws Exception { + event("uploadbook"); + long cur = System.currentTimeMillis(); + PageData pd = this.getPageData(); + ResponseGson res = new ResponseGson(); + + if (!StringUtils.isEmpty(pd.getJsonString())) { + try { + ResponseGson> req = ResponseGson.parse( + pd.getJsonString(), Point.class); + List list = req.getData(); + if (list != null && list.size() > 0) { + for (Point point : list) { + saveBook(point); + } + } + } catch (Exception e) { + res.setError(); + } + } else { + res.setDataError(); + } + logger.info("uploadpoint cost time : " + + (System.currentTimeMillis() - cur)); + return res.toJson(); + } + + private void saveBook(Point point) { + + PageData pd = new PageData(); + pd.put("ID", point.getCode()); + pd.put("NAME", point.getName()); + pd.put("SUBJECT_ID", point.getSubjectCode()); + try { + teachingmaterialService.save(pd); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + + @RequestMapping(value = "/uploadyuncelianquestion", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object uploadyuncelianquestion() throws Exception { + event("uploadyuncelianquestion"); + long cur = System.currentTimeMillis(); + PageData pd = this.getPageData(); + ResponseGson res = new ResponseGson(); + + if (!StringUtils.isEmpty(pd.getJsonString())) { + try { + ResponseGson req = ResponseGson.parse( + pd.getJsonString()); + Object data = req.getData(); + if(data instanceof List){ + List list = (List)data; + for(Object obj : list){ + if(obj instanceof Map){ + Map map = (Map)obj; + + PageData pageData = new PageData(); + pageData.put("QUESTION_ID", map.get("id")); + Object cateObj = map.get("cate"); + if(cateObj != null){ + String cate = cateObj.toString(); + float catef = Float.parseFloat(cate); + pageData.put("QUESTION_TYPE_ID", (int)catef); + } + Object contentObj = map.get("content"); + if(contentObj != null){ + String content = contentObj.toString(); + content = replaceWebUrl(content); + pageData.put("CONTENT", content); + } + Object subjectCodeObj = map.get("subjectCode"); + if(subjectCodeObj != null){ + String subjectCode = subjectCodeObj.toString(); + pageData.put("SUBJECT_ID",subjectCode); + } + Object optionsObj = map.get("options"); + if(optionsObj instanceof List){ + List ss = (List)optionsObj; + pageData.put("OPTION_CONTENT", optionsObj.toString()); + pageData.put("OPTION_NUM", "" + ss.size()); + } + Object answersObj = map.get("answers"); + if(answersObj instanceof List){ + List answers = (List)answersObj; + StringBuilder sb = new StringBuilder(); + for(Object as:answers){ + sb.append(as.toString()); + } + pageData.put("ANSWER", sb.toString()); + } + Object difficulty = map.get("difficulty"); + try{ + if (difficulty != null) { + float fdifficulty = Float + .parseFloat(difficulty.toString()); + pageData.put("DIFFICULTY", + (int) fdifficulty); + } + }catch(Exception ex){ + ex.printStackTrace(); + } + Object discussObj = map.get("discuss"); + if(discussObj != null){ + String discuss = discussObj.toString(); + discuss = replaceWebUrl(discuss); + pageData.put("REMARK", discuss); + } + Object analyseObj = map.get("analyse"); + if(analyseObj != null){ + String analyse = analyseObj.toString(); + analyse = replaceWebUrl(analyse); + pageData.put("ANALYSIS", analyse); + } + Object methodObj = map.get("method"); + if(methodObj != null){ + String method = methodObj.toString(); + method = replaceWebUrl(method); + pageData.put("METHOD", method); + } + Object points = map.get("points"); + StringBuilder sb = new StringBuilder(); + if(points instanceof List){ + List pointsList = (List)points; + for(Object pObject : pointsList){ + if(pObject instanceof Map){ + Map pMap = (Map)pObject; + sb.append(pMap.get("code")).append(","); + } + } + + if(sb.toString().length() > 1){ + sb.deleteCharAt(sb.length() - 1); + } + pageData.put("KNOWLEDGE_ID", sb.toString()); + } + pageData.put("QUESTION_FROM", "101"); + try{ + questionService.save(pageData); + }catch(Exception e){ + logger.error("save fail:" + map.get("id"),e); + } + } + } + } + } catch (Exception e) { + res.setError(); + } + } else { + res.setDataError(); } + logger.info("uploadyuncelianquestion cost time : " + + (System.currentTimeMillis() - cur)); + return res.toJson(); } + + private String replaceWebUrl(String content){ + if(content != null){ + content = content.replaceAll("http://image.yuncelian.com/1/analysis/", "http://image.yuncelian.com/1/analysis/"); + } + return content; + } + + + public String getRequestKey(PageData pd,String methodName){ + StringBuilder key = new StringBuilder() ; + key.append(methodName).append("{"); + if (pd != null) { + Iterator iterator = pd.keySet().iterator(); + while (iterator.hasNext()) { + Object obj = iterator.next(); + key.append(obj.toString()).append(":") + .append(pd.get(obj).toString()).append(";"); + } + } + key.append("}"); + + return key.toString(); + } } diff --git a/src/com/fh/controller/sunvote/Myelfun.java b/src/com/fh/controller/sunvote/Myelfun.java index 7ad1082..e66906e 100644 --- a/src/com/fh/controller/sunvote/Myelfun.java +++ b/src/com/fh/controller/sunvote/Myelfun.java @@ -105,13 +105,25 @@ public class Myelfun { public static String findSubjectCName(String type) throws Exception{ SubjectService subjectService = (SubjectService)SpringBeanFactoryUtils.getBean("subjectService"); PageData pageData = new PageData(); - pageData.put("ID", type); - pageData = subjectService.findById(pageData); - if(pageData != null){ - return pageData.getString("CNAME"); + StringBuilder sb = new StringBuilder(); + if(type.contains(",")){ + String[] types = type.split(","); + for (String t : types) { + pageData.put("ID", t); + pageData = subjectService.findById(pageData); + if (pageData != null) { + sb.append(pageData.getString("CNAME") + "; "); + } + } + sb.delete(sb.length() -3, sb.length()); }else{ - return "" ; + pageData.put("ID", type); + pageData = subjectService.findById(pageData); + if (pageData != null) { + return pageData.getString("CNAME"); + } } + return sb.toString() ; } /** diff --git a/src/com/fh/controller/sunvote/cache/CacheController.java b/src/com/fh/controller/sunvote/cache/CacheController.java new file mode 100644 index 0000000..c12e5ac --- /dev/null +++ b/src/com/fh/controller/sunvote/cache/CacheController.java @@ -0,0 +1,75 @@ +package com.fh.controller.sunvote.cache; + +import java.io.PrintWriter; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Resource; +import org.springframework.beans.propertyeditors.CustomDateEditor; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.annotation.InitBinder; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; +import com.fh.controller.base.BaseController; +import com.fh.entity.Page; +import com.fh.util.AppUtil; +import com.fh.util.ObjectExcelView; +import com.fh.util.PageData; +import com.fh.util.Jurisdiction; +import com.fh.util.Tools; +import com.fh.service.sunvote.cache.CacheManager; + +/** + * 说明:缓存管理 + * 创建人:FH Q313596790 + * 创建时间:2018-08-08 + */ +@Controller +@RequestMapping(value="/cache") +public class CacheController extends BaseController { + + String menuUrl = "cache/list.do"; //菜单地址(权限用) + @Resource(name="cacheService") + private CacheManager cacheService; + + /**保存 + * @param + * @throws Exception + */ + @RequestMapping(value="/save") + public ModelAndView save() throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"新增Cache"); + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("KEY", ""); //key + pd.put("CACHE", ""); //cache + cacheService.save(pd); + mv.addObject("msg","success"); + mv.setViewName("save_result"); + return mv; + } + + /**删除 + * @param out + * @throws Exception + */ + @RequestMapping(value="/delete") + public void delete(PrintWriter out) throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"删除Cache"); + PageData pd = new PageData(); + pd = this.getPageData(); + cacheService.delete(pd); + out.write("success"); + out.close(); + } + + + +} diff --git a/src/com/fh/controller/sunvote/grade/GradeController.java b/src/com/fh/controller/sunvote/grade/GradeController.java index d5c4188..e83a960 100644 --- a/src/com/fh/controller/sunvote/grade/GradeController.java +++ b/src/com/fh/controller/sunvote/grade/GradeController.java @@ -49,6 +49,7 @@ public class GradeController extends BaseController { ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); + pd.put("ID",get32UUID()); gradeService.save(pd); mv.addObject("msg","success"); mv.setViewName("save_result"); diff --git a/src/com/fh/service/sunvote/cache/CacheManager.java b/src/com/fh/service/sunvote/cache/CacheManager.java new file mode 100644 index 0000000..e64be90 --- /dev/null +++ b/src/com/fh/service/sunvote/cache/CacheManager.java @@ -0,0 +1,58 @@ +package com.fh.service.sunvote.cache; + +import java.util.List; +import com.fh.entity.Page; +import com.fh.util.PageData; + +/** + * 说明: 缓存管理接口 + * 创建人:FH Q313596790 + * 创建时间:2018-08-08 + * @version + */ +public interface CacheManager{ + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception; + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception; + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception; + + /**列表 + * @param page + * @throws Exception + */ + public List list(Page page)throws Exception; + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception; + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception; + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + +} + diff --git a/src/com/fh/service/sunvote/cache/impl/CacheService.java b/src/com/fh/service/sunvote/cache/impl/CacheService.java new file mode 100644 index 0000000..8647be6 --- /dev/null +++ b/src/com/fh/service/sunvote/cache/impl/CacheService.java @@ -0,0 +1,82 @@ +package com.fh.service.sunvote.cache.impl; + +import java.util.List; +import javax.annotation.Resource; +import org.springframework.stereotype.Service; +import com.fh.dao.DaoSupport; +import com.fh.entity.Page; +import com.fh.util.PageData; +import com.fh.service.sunvote.cache.CacheManager; + +/** + * 说明: 缓存管理 + * 创建人:FH Q313596790 + * 创建时间:2018-08-08 + * @version + */ +@Service("cacheService") +public class CacheService implements CacheManager{ + + @Resource(name = "daoSupport") + private DaoSupport dao; + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception{ + dao.save("CacheMapper.save", pd); + } + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception{ + dao.delete("CacheMapper.delete", pd); + } + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception{ + dao.update("CacheMapper.edit", pd); + } + + /**列表 + * @param page + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List list(Page page)throws Exception{ + return (List)dao.findForList("CacheMapper.datalistPage", page); + } + + /**列表(全部) + * @param pd + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List listAll(PageData pd)throws Exception{ + return (List)dao.findForList("CacheMapper.listAll", pd); + } + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception{ + return (PageData)dao.findForObject("CacheMapper.findById", pd); + } + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ + dao.delete("CacheMapper.deleteAll", ArrayDATA_IDS); + } + +} + diff --git a/src/com/fh/service/sunvote/chapter/ChapterManager.java b/src/com/fh/service/sunvote/chapter/ChapterManager.java index 0ef6abd..9a219ca 100644 --- a/src/com/fh/service/sunvote/chapter/ChapterManager.java +++ b/src/com/fh/service/sunvote/chapter/ChapterManager.java @@ -1,6 +1,7 @@ package com.fh.service.sunvote.chapter; import java.util.List; + import com.fh.entity.Page; import com.fh.util.PageData; @@ -54,5 +55,8 @@ public interface ChapterManager{ */ public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + + public List listAllChapter(PageData pd)throws Exception; + } diff --git a/src/com/fh/service/sunvote/chapter/impl/ChapterService.java b/src/com/fh/service/sunvote/chapter/impl/ChapterService.java index 6710dd2..26e3e9d 100644 --- a/src/com/fh/service/sunvote/chapter/impl/ChapterService.java +++ b/src/com/fh/service/sunvote/chapter/impl/ChapterService.java @@ -58,6 +58,15 @@ public class ChapterService implements ChapterManager{ * @throws Exception */ @SuppressWarnings("unchecked") + public List listAllChapter(PageData pd)throws Exception{ + return (List)dao.findForList("ChapterMapper.listAllChapter", pd); + } + + /**列表(全部) + * @param pd + * @throws Exception + */ + @SuppressWarnings("unchecked") public List listAll(PageData pd)throws Exception{ return (List)dao.findForList("ChapterMapper.listAll", pd); } diff --git a/src/com/fh/service/sunvote/knowledge/KnowledgeManager.java b/src/com/fh/service/sunvote/knowledge/KnowledgeManager.java index f4e5042..72cf741 100644 --- a/src/com/fh/service/sunvote/knowledge/KnowledgeManager.java +++ b/src/com/fh/service/sunvote/knowledge/KnowledgeManager.java @@ -1,6 +1,7 @@ package com.fh.service.sunvote.knowledge; import java.util.List; + import com.fh.entity.Page; import com.fh.util.PageData; @@ -53,5 +54,13 @@ public interface KnowledgeManager{ */ public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + /** + * + * @param pd + * @return + * @throws Exception + */ + public List listAllknowledge(PageData pd)throws Exception; + } diff --git a/src/com/fh/service/sunvote/knowledge/impl/KnowledgeService.java b/src/com/fh/service/sunvote/knowledge/impl/KnowledgeService.java index d3a9212..54684ea 100644 --- a/src/com/fh/service/sunvote/knowledge/impl/KnowledgeService.java +++ b/src/com/fh/service/sunvote/knowledge/impl/KnowledgeService.java @@ -61,6 +61,15 @@ public class KnowledgeService implements KnowledgeManager{ return (List)dao.findForList("KnowledgeMapper.listAll", pd); } + /**列表(全部) + * @param pd + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List listAllknowledge(PageData pd)throws Exception{ + return (List)dao.findForList("KnowledgeMapper.listAllknowledge", pd); + } + /**通过id获取数据 * @param pd * @throws Exception diff --git a/src/com/fh/service/sunvote/question/QuestionManager.java b/src/com/fh/service/sunvote/question/QuestionManager.java index 52319b6..0d13ccc 100644 --- a/src/com/fh/service/sunvote/question/QuestionManager.java +++ b/src/com/fh/service/sunvote/question/QuestionManager.java @@ -1,6 +1,7 @@ package com.fh.service.sunvote.question; import java.util.List; + import com.fh.entity.Page; import com.fh.util.PageData; @@ -53,5 +54,15 @@ public interface QuestionManager{ */ public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + /** + * + * @param pd + * @return + * @throws Exception + */ + public List listAllquestion(PageData pd)throws Exception; + + public List listAllRandquestion(PageData pd)throws Exception; + } diff --git a/src/com/fh/service/sunvote/question/impl/QuestionService.java b/src/com/fh/service/sunvote/question/impl/QuestionService.java index 8774041..7768c7e 100644 --- a/src/com/fh/service/sunvote/question/impl/QuestionService.java +++ b/src/com/fh/service/sunvote/question/impl/QuestionService.java @@ -60,6 +60,22 @@ public class QuestionService implements QuestionManager{ public List listAll(PageData pd)throws Exception{ return (List)dao.findForList("QuestionMapper.listAll", pd); } + /**列表(全部) + * @param pd + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List listAllquestion(PageData pd)throws Exception{ + return (List)dao.findForList("QuestionMapper.listAllquestion", pd); + } + /**列表(全部) + * @param pd + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List listAllRandquestion(PageData pd)throws Exception{ + return (List)dao.findForList("QuestionMapper.listAllRandquestion", pd); + } /**通过id获取数据 * @param pd -- libgit2 0.21.4