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.GETSCORE } |
+ ${var.GETSCORE } |
- |
@@ -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