From 4c61d5fd5c273cadffe9f20464b5341a23f4e60f Mon Sep 17 00:00:00 2001 From: 胡仁荣 <897853850@qq.com> Date: 星期五, 07 四月 2023 14:50:26 +0800 Subject: [PATCH] 直播 --- src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java | 768 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 384 insertions(+), 384 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java index 3170c63..dd41866 100644 --- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java +++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java @@ -70,33 +70,33 @@ import com.qxueyou.scc.user.model.ExportUserScore; /** - * 练习题目控制 + * 缁冧範棰樼洰鎺у埗 * @author zhiyong * */ @Controller @RequestMapping(value = "/exercise/Exercise") public class ExerciseController { - /** 日志 */ + /** 鏃ュ織 */ private static final Logger log = LogManager.getLogger("ExerciseController"); /** commonDAO */ @Autowired private CommonDAO commonDAO; - /** 练习 service */ + /** 缁冧範 service */ @Autowired private IExerciseService exerciseService; - /** 练习导入 service */ + /** 缁冧範瀵煎叆 service */ @Autowired private IExercisePyService exercisePyService; - /** 练习V2.0版本接口service */ + /** 缁冧範V2.0鐗堟湰鎺ュ彛service */ @Autowired private IExerciseVerService exerciseVerService; - /** 练习V2.0版本接口service */ + /** 缁冧範V2.0鐗堟湰鎺ュ彛service */ // @Autowired // IConfigService cfg; @@ -104,52 +104,52 @@ @Autowired IOssService ossService; - /** 消息发送 service */ + /** 娑堟伅鍙戦�� service */ // @Autowired // IMsgVenderService easemobService; - /** 组id */ + /** 缁刬d */ private static final String GROUP_ID = "groupId"; - /** 做题记录id */ + /** 鍋氶璁板綍id */ private static final String EXERCISE_RECORD_ID = "exerciseRecordId"; - /** ---------------------------APP V2.0接口 start----------------------*/ + /** ---------------------------APP V2.0鎺ュ彛 start----------------------*/ /** - * APP2.0: 获取家庭作业list + * APP2.0: 鑾峰彇瀹跺涵浣滀笟list * URL: /exercise/Exercise/homeWorkListNew * * - *请求参数={ - subjectId:课程id,//可选,用于高校版 - page:当前页,//必传,大于0 - limit:每页限制条数,//必传,大于0 + *璇锋眰鍙傛暟={ + subjectId:璇剧▼id锛�//鍙�夛紝鐢ㄤ簬楂樻牎鐗� + page:褰撳墠椤�,//蹇呬紶,澶т簬0 + limit:姣忛〉闄愬埗鏉℃暟,//蹇呬紶,澶т簬0 } - 返回参数=[ + 杩斿洖鍙傛暟=[ { - GROUP_ID:"组id", - "classId":班级id, - "courseId":科目id, - "orgId":机构id, - "subjectId":课程id, - "name":"组名", - "type":组类型 , - "updateTime":更新时间, - "answerUpdateTime":本套题答题更新时间, - "allCount":题目总数, - "exerciseTime":"考试时间", - EXERCISE_RECORD_ID:"记录id", - "doCount": 做题个数, - "correctCount": 正确个数, - "submitNumber":已提交人数(家庭作业), - "currTitleNumber":当前做题序号, - "status":做题状态(0:未提交 1:已提交), - "completionRate": 完成率, - "accuracy": 正确率, - "score": 分数, - "extendAllCount":错题本、收藏本总数 + GROUP_ID:"缁刬d", + "classId":鐝骇id, + "courseId":绉戠洰id, + "orgId":鏈烘瀯id, + "subjectId":璇剧▼id, + "name":"缁勫悕", + "type":缁勭被鍨� , + "updateTime":鏇存柊鏃堕棿, + "answerUpdateTime":鏈棰樼瓟棰樻洿鏂版椂闂�, + "allCount":棰樼洰鎬绘暟, + "exerciseTime":"鑰冭瘯鏃堕棿", + EXERCISE_RECORD_ID:"璁板綍id", + "doCount": 鍋氶涓暟, + "correctCount": 姝g‘涓暟, + "submitNumber":宸叉彁浜や汉鏁�(瀹跺涵浣滀笟), + "currTitleNumber":褰撳墠鍋氶搴忓彿, + "status":鍋氶鐘舵��(0锛氭湭鎻愪氦 1锛氬凡鎻愪氦), + "completionRate": 瀹屾垚鐜�, + "accuracy": 姝g‘鐜�, + "score": 鍒嗘暟, + "extendAllCount":閿欓鏈�佹敹钘忔湰鎬绘暟 }, - ...循环多个 + ...寰幆澶氫釜 ] * * @return @@ -159,9 +159,9 @@ @RequestParam(value="subjectId", required = false) String subjectId, @RequestParam(value="page") int page, @RequestParam(value="limit") int limit, - @RequestParam(value="selected", required = false) Integer selected) {// 0:全部 1:未开始 2:做题中 3:已提交 + @RequestParam(value="selected", required = false) Integer selected) {// 0:鍏ㄩ儴 1锛氭湭寮�濮� 2锛氬仛棰樹腑 3锛氬凡鎻愪氦 - // 获取group data + // 鑾峰彇group data List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_HOMEWORK, null, page, limit, selected, null); @@ -170,7 +170,7 @@ /** - * APP2.0: 获取章节练习list + * APP2.0: 鑾峰彇绔犺妭缁冧範list * URL: /exercise/Exercise/chapterListNew * * @return @@ -182,7 +182,7 @@ @RequestParam(value="limit") int limit, @RequestParam(value="selected", required = false) Integer selected, String chapterId) { - // 获取group data + // 鑾峰彇group data List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_CHAPTER_ITEM, subjectId, page, limit, selected, chapterId); @@ -190,7 +190,7 @@ } /** - * APP2.0: 获取模拟考试list + * APP2.0: 鑾峰彇妯℃嫙鑰冭瘯list * URL: /exercise/Exercise/examsListNew * * @return @@ -202,7 +202,7 @@ @RequestParam(value="limit") int limit, @RequestParam(value="selected", required = false) Integer selected) { - // 获取group data + // 鑾峰彇group data List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_MOCK_EXAM, null, page, limit, selected, null); @@ -210,7 +210,7 @@ } /** - * APP2.0: 获取专题练习list + * APP2.0: 鑾峰彇涓撻缁冧範list * URL: /exercise/Exercise/topicListNew * * @return @@ -222,7 +222,7 @@ @RequestParam(value="limit") int limit, @RequestParam(value="selected", required = false) Integer selected) { - // 获取group data + // 鑾峰彇group data List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_EXERCISE_TOPIC, null, page, limit, selected, null); @@ -230,7 +230,7 @@ } /** - * APP2.0: 获取专题练习list + * APP2.0: 鑾峰彇涓撻缁冧範list * URL: /exercise/Exercise/freeListNew * * @return @@ -242,7 +242,7 @@ @RequestParam(value="limit") int limit, @RequestParam(value="selected", required = false) Integer selected) { - // 获取group data + // 鑾峰彇group data List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_EXERCISE_FREE, null, page, limit, selected, null); @@ -250,12 +250,12 @@ } /** - * 获取练习列表数据 + * 鑾峰彇缁冧範鍒楄〃鏁版嵁 * @param exerType * @param subjectId * @param page * @param limit - * @param selected // 0:全部 1:未开始 2:做题中 3:已提交 + * @param selected // 0:鍏ㄩ儴 1锛氭湭寮�濮� 2锛氬仛棰樹腑 3锛氬凡鎻愪氦 * @return */ private List<ExerGroupResponseData> getExericseListData(short exerType, @@ -264,24 +264,24 @@ int pageSize = limit; Integer iSelected = selected; - // 1.分页信息 + // 1.鍒嗛〉淇℃伅 if(pageNum < 1){ pageNum = 1; } if(pageSize < 1){ pageSize = 1; } - if(iSelected == null){//为空设置为 全部 + if(iSelected == null){//涓虹┖璁剧疆涓� 鍏ㄩ儴 iSelected = 0; } Pager pager = new Pager(); pager.setPageNum(pageNum); pager.setPageSize(limit); - // 2.得到列表数据 + // 2.寰楀埌鍒楄〃鏁版嵁 List<ExerGroupResponseData> lstResult = exerciseVerService.queryExericseListData(exerType,subjectId,pager,iSelected, chapterId); - if(null == lstResult){// 结果转换成 [] + if(null == lstResult){// 缁撴灉杞崲鎴� [] lstResult = new ArrayList<ExerGroupResponseData>(); } @@ -289,40 +289,40 @@ } /** - * APP2.0: 查询做题记录 + * APP2.0: 鏌ヨ鍋氶璁板綍 * URL: /exercise/Exercise/exerRecord - * 请求参数={ - exerType:练习类型,//必传 - subjectId:课程id,//可选,用于高校版 - page:当前页,//必传,大于0 - limit:每页限制条数,//必传,大于0 + * 璇锋眰鍙傛暟={ + exerType:缁冧範绫诲瀷,//蹇呬紶 + subjectId:璇剧▼id锛�//鍙�夛紝鐢ㄤ簬楂樻牎鐗� + page:褰撳墠椤�,//蹇呬紶,澶т簬0 + limit:姣忛〉闄愬埗鏉℃暟,//蹇呬紶,澶т簬0 } - 返回参数=[ + 杩斿洖鍙傛暟=[ { - GROUP_ID:"组id", - "classId":班级id, - "courseId":科目id, - "orgId":机构id, - "subjectId":课程id, - "name":"组名", - "type":组类型 , - "updateTime":更新时间, - "answerUpdateTime":本套题答题更新时间, - "allCount":题目总数, - "exerciseTime":"考试时间", - EXERCISE_RECORD_ID:"记录id", - "doCount": 做题个数, - "correctCount": 正确个数, - "submitNumber":已提交人数(家庭作业), - "currTitleNumber":当前做题序号, - "status":做题状态(0:未提交 1:已提交), - "completionRate": 完成率, - "accuracy": 正确率, - "score": 分数, - "extendAllCount":错题本、收藏本总数 + GROUP_ID:"缁刬d", + "classId":鐝骇id, + "courseId":绉戠洰id, + "orgId":鏈烘瀯id, + "subjectId":璇剧▼id, + "name":"缁勫悕", + "type":缁勭被鍨� , + "updateTime":鏇存柊鏃堕棿, + "answerUpdateTime":鏈棰樼瓟棰樻洿鏂版椂闂�, + "allCount":棰樼洰鎬绘暟, + "exerciseTime":"鑰冭瘯鏃堕棿", + EXERCISE_RECORD_ID:"璁板綍id", + "doCount": 鍋氶涓暟, + "correctCount": 姝g‘涓暟, + "submitNumber":宸叉彁浜や汉鏁�(瀹跺涵浣滀笟), + "currTitleNumber":褰撳墠鍋氶搴忓彿, + "status":鍋氶鐘舵��(0锛氭湭鎻愪氦 1锛氬凡鎻愪氦), + "completionRate": 瀹屾垚鐜�, + "accuracy": 姝g‘鐜�, + "score": 鍒嗘暟, + "extendAllCount":閿欓鏈�佹敹钘忔湰鎬绘暟 }, - ...循环多个 + ...寰幆澶氫釜 ] * @param page * @param start @@ -339,7 +339,7 @@ int pageNum = page; int pageSize = limit; - // 1.分页信息 + // 1.鍒嗛〉淇℃伅 if(pageNum < 1){ pageNum = 1; } @@ -353,7 +353,7 @@ StringBuffer hql = new StringBuffer(512); - // 2.查询结果 + // 2.鏌ヨ缁撴灉 hql.append("select g," + " r.recordId,r.updateTime,r.doCount,r.titleMaxNumber,r.status," + " r.correctCount,r.completionRate,r.score,r.accuracy,e.repeatFlag,e.classAccuracy, " @@ -379,10 +379,10 @@ List<ExerGroupResponseData> lstResult = new ArrayList<ExerGroupResponseData>(lstRecord.size()); - // 3.重组字段 + // 3.閲嶇粍瀛楁 for(Object[] obj:lstRecord){ - // 组装练习做题记录列表数据 + // 缁勮缁冧範鍋氶璁板綍鍒楄〃鏁版嵁 lstResult.add(packagingExerciseRecordListData(exerType, obj)); } @@ -391,7 +391,7 @@ } /** - * 组装练习做题记录列表数据 + * 缁勮缁冧範鍋氶璁板綍鍒楄〃鏁版嵁 * @param exerType * @param obj * @param group @@ -403,7 +403,7 @@ ExerciseGroup group = (ExerciseGroup)obj[0]; ExerGroupResponseData result = new ExerGroupResponseData(); - // 赋值字段值 + // 璧嬪�煎瓧娈靛�� BeanUtils.copyProperties(group, result); result.setExerciseRecordId(String.valueOf(obj[1])); @@ -416,26 +416,26 @@ result.setCurrTitleNumber(String.valueOf(obj[4])); result.setStatus(String.valueOf(obj[5])); - // 组装练习做题记录部分参数 + // 缁勮缁冧範鍋氶璁板綍閮ㄥ垎鍙傛暟 packagingExerciseRecordListParam(obj, result); result.setExtendAllCount(group.getAllCount()); if(obj[10] == null){ - if(exerType == ExerciseGroup.TYPE_HOMEWORK){// 家庭作业 + if(exerType == ExerciseGroup.TYPE_HOMEWORK){// 瀹跺涵浣滀笟 result.setRepeatFlag(false); }else{ result.setRepeatFlag(true); } }else{ - result.setRepeatFlag(!(boolean)obj[10]);// true 可以重做 false不能重做 + result.setRepeatFlag(!(boolean)obj[10]);// true 鍙互閲嶅仛 false涓嶈兘閲嶅仛 } - // 班级正确率 + // 鐝骇姝g‘鐜� result.setClassAccuracy(obj[11] == null ? "--" :obj[11]+"%"); if(exerType == ExerciseGroup.TYPE_EXERCISE_FREE - || exerType == ExerciseGroup.TYPE_MOCK_EXAM ){// 自由练习 模拟考试 + || exerType == ExerciseGroup.TYPE_MOCK_EXAM ){// 鑷敱缁冧範 妯℃嫙鑰冭瘯 result.setExerciseTime(String.valueOf(obj[12])); result.setExerciseStrategy(String.valueOf(obj[13])); result.setExerciseSource(String.valueOf(obj[14])); @@ -445,7 +445,7 @@ } /** - * 组装练习做题记录部分参数 拆分方法 + * 缁勮缁冧範鍋氶璁板綍閮ㄥ垎鍙傛暟 鎷嗗垎鏂规硶 * @param obj * @param result */ @@ -474,88 +474,88 @@ } /** - * APP2.0: 获取家庭作业练习题目数据 + * APP2.0: 鑾峰彇瀹跺涵浣滀笟缁冧範棰樼洰鏁版嵁 * URL: /exercise/Exercise/homeworkExercise * - * 请求参数={ - groupId:组id,//必传 - exerciseRecordId:当前页,//必传,没有传"" - getExercise:是否更新题目,//必传, - boolean值,没有传false - getAnswer:是否更新答案,//必传, - boolean值,没有传false + * 璇锋眰鍙傛暟={ + groupId:缁刬d锛�//蹇呬紶 + exerciseRecordId:褰撳墠椤�,//蹇呬紶,娌℃湁浼�"" + getExercise:鏄惁鏇存柊棰樼洰,//蹇呬紶, + boolean鍊硷紝娌℃湁浼爁alse + getAnswer:鏄惁鏇存柊绛旀,//蹇呬紶, + boolean鍊硷紝娌℃湁浼爁alse } - 返回参数={ - "items":[// 题目集合 + 杩斿洖鍙傛暟={ + "items":[// 棰樼洰闆嗗悎 { - "exerciseId":练习id, + "exerciseId":缁冧範id, "chapterId":null, "lessonId":null, - "title":标题, - "type":题目类型, - "answer":正确答案, + "title":鏍囬, + "type":棰樼洰绫诲瀷, + "answer":姝g‘绛旀, "options":[ { - "optionId":选项id, + "optionId":閫夐」id, "checked":true, - "content":内容, - "optionOrder":题目序号, - "exerciseItemId":"练习id", + "content":鍐呭, + "optionOrder":棰樼洰搴忓彿, + "exerciseItemId":"缁冧範id", "imgs":[ { - "imgId":"图片id", + "imgId":"鍥剧墖id", "exerciseObjectId":null, - "imgPath":图片路径, - "imgOrder":排序, - "objectType":图片类型 1:题目 2:选项 + "imgPath":鍥剧墖璺緞, + "imgOrder":鎺掑簭, + "objectType":鍥剧墖绫诲瀷 1锛氶鐩� 2锛氶�夐」 }, - ... 循环多个 + ... 寰幆澶氫釜 ] }, - ... 循环多个 + ... 寰幆澶氫釜 ], "scores":null, "itemNo":null, "analisisResult":{ - "allAccuracy":全站统计 正确率, - "analysis":"解析", - "submitAllNumber":全站 提交总数, - "usualFaultAnswers":易错题, + "allAccuracy":鍏ㄧ珯缁熻 姝g‘鐜�, + "analysis":"瑙f瀽", + "submitAllNumber":鍏ㄧ珯 鎻愪氦鎬绘暟, + "usualFaultAnswers":鏄撻敊棰�, "exerciseAnalisisUId":null, - "accuracy":个人统计 正确率, - "submitNumber":个人统计 提交总数, - "submitErrorNumber":个人统计 提交错误总数, + "accuracy":涓汉缁熻 姝g‘鐜�, + "submitNumber":涓汉缁熻 鎻愪氦鎬绘暟, + "submitErrorNumber":涓汉缁熻 鎻愪氦閿欒鎬绘暟, }, "imgs":[ { - "imgId":"图片id", + "imgId":"鍥剧墖id", "exerciseObjectId":null, - "imgPath":图片路径, - "imgOrder":排序, - "objectType":图片类型 1:题目 2:选项 + "imgPath":鍥剧墖璺緞, + "imgOrder":鎺掑簭, + "objectType":鍥剧墖绫诲瀷 1锛氶鐩� 2锛氶�夐」 }, - ... 循环多个 + ... 寰幆澶氫釜 ], "commentFlag": null, } ], - "answers":[// 个人答案集合 + "answers":[// 涓汉绛旀闆嗗悎 { - "answerUId":"主键id", - "answer":选择答案 如:多选为(A,B,C), + "answerUId":"涓婚敭id", + "answer":閫夋嫨绛旀 濡傦細澶氶�変负(A,B,C), "correct":0, - "exerciseItemId":练习id, - EXERCISE_RECORD_ID:记录id, - "userId":用户id + "exerciseItemId":缁冧範id, + EXERCISE_RECORD_ID:璁板綍id, + "userId":鐢ㄦ埛id }, - ... 循环多个 + ... 寰幆澶氫釜 ] } - * @param groupId 组id - * @param exerciseRecordId 练习记录id - * @param getExercise 是否获取练习题 - * @param getAnswer 是否获取答案 + * @param groupId 缁刬d + * @param exerciseRecordId 缁冧範璁板綍id + * @param getExercise 鏄惁鑾峰彇缁冧範棰� + * @param getAnswer 鏄惁鑾峰彇绛旀 * @return */ @RequestMapping(value = "homeworkExercise", method = RequestMethod.GET) @@ -565,7 +565,7 @@ @RequestParam(value = "getExercise") boolean getExercise, @RequestParam(value = "getAnswer") boolean getAnswer) { - // 获取结果 + // 鑾峰彇缁撴灉 ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId, exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_HOMEWORK); @@ -573,12 +573,12 @@ } /** - * APP2.0: 获取模拟考试练习题目数据 + * APP2.0: 鑾峰彇妯℃嫙鑰冭瘯缁冧範棰樼洰鏁版嵁 * URL: /exercise/Exercise/examExercise - * @param groupId 组id - * @param exerciseRecordId 练习记录id - * @param getExercise 是否获取练习题 - * @param getAnswer 是否获取答案 + * @param groupId 缁刬d + * @param exerciseRecordId 缁冧範璁板綍id + * @param getExercise 鏄惁鑾峰彇缁冧範棰� + * @param getAnswer 鏄惁鑾峰彇绛旀 * @return */ @RequestMapping(value = "examExercise", method = RequestMethod.GET) @@ -588,7 +588,7 @@ @RequestParam(value = "getExercise") boolean getExercise, @RequestParam(value = "getAnswer") boolean getAnswer) { - // 获取结果 + // 鑾峰彇缁撴灉 ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId, exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_MOCK_EXAM); @@ -597,12 +597,12 @@ /** - * APP2.0: 获取章节练习题目数据 + * APP2.0: 鑾峰彇绔犺妭缁冧範棰樼洰鏁版嵁 * URL: /exercise/Exercise/chapterExercise - * @param groupId 组id - * @param exerciseRecordId 练习记录id - * @param getExercise 是否获取练习题 - * @param getAnswer 是否获取答案 + * @param groupId 缁刬d + * @param exerciseRecordId 缁冧範璁板綍id + * @param getExercise 鏄惁鑾峰彇缁冧範棰� + * @param getAnswer 鏄惁鑾峰彇绛旀 * @return */ @RequestMapping(value = "chapterExercise", method = RequestMethod.GET) @@ -612,7 +612,7 @@ @RequestParam(value = "getExercise") boolean getExercise, @RequestParam(value = "getAnswer") boolean getAnswer) { - // 获取结果 + // 鑾峰彇缁撴灉 ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId, exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_CHAPTER_ITEM); @@ -620,12 +620,12 @@ } /** - * APP2.0: 获取专题练习题目数据 + * APP2.0: 鑾峰彇涓撻缁冧範棰樼洰鏁版嵁 * URL: /exercise/Exercise/topicExercise - * @param groupId 组id - * @param exerciseRecordId 练习记录id - * @param getExercise 是否获取练习题 - * @param getAnswer 是否获取答案 + * @param groupId 缁刬d + * @param exerciseRecordId 缁冧範璁板綍id + * @param getExercise 鏄惁鑾峰彇缁冧範棰� + * @param getAnswer 鏄惁鑾峰彇绛旀 * @return */ @RequestMapping(value = "topicExercise", method = RequestMethod.GET) @@ -635,7 +635,7 @@ @RequestParam(value = "getExercise") boolean getExercise, @RequestParam(value = "getAnswer") boolean getAnswer) { - // 获取结果 + // 鑾峰彇缁撴灉 ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId, exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_EXERCISE_TOPIC); @@ -644,12 +644,12 @@ /** - * APP2.0: 获取专题练习题目数据 + * APP2.0: 鑾峰彇涓撻缁冧範棰樼洰鏁版嵁 * URL: /exercise/Exercise/freeExercise - * @param groupId 组id - * @param exerciseRecordId 练习记录id - * @param getExercise 是否获取练习题 - * @param getAnswer 是否获取答案 + * @param groupId 缁刬d + * @param exerciseRecordId 缁冧範璁板綍id + * @param getExercise 鏄惁鑾峰彇缁冧範棰� + * @param getAnswer 鏄惁鑾峰彇绛旀 * @return */ @RequestMapping(value = "freeExercise", method = RequestMethod.GET) @@ -659,7 +659,7 @@ @RequestParam(value = "getExercise") boolean getExercise, @RequestParam(value = "getAnswer") boolean getAnswer) { - // 获取结果 + // 鑾峰彇缁撴灉 ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId, exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_EXERCISE_FREE); @@ -668,15 +668,15 @@ } /** - * APP2.0: 获取专题练习题目数据 + * APP2.0: 鑾峰彇涓撻缁冧範棰樼洰鏁版嵁 * URL: /exercise/Exercise/newFreeExercise * * { - * source: 练习来源(1:练习题库 2:考试题库 3:家庭作业) 多个以逗号分开 - strategy:做题方式(1:未做题优先 2:错题优先) - mode:做题模式(1:练习模式 2:考试模式) - count:数量(30 50 100 200) - exerciseTime:练习时间 + * source: 缁冧範鏉ユ簮(1:缁冧範棰樺簱 2锛氳�冭瘯棰樺簱 3锛氬搴綔涓�) 澶氫釜浠ラ�楀彿鍒嗗紑 + strategy:鍋氶鏂瑰紡锛�1锛氭湭鍋氶浼樺厛 2锛氶敊棰樹紭鍏堬級 + mode:鍋氶妯″紡(1:缁冧範妯″紡 2锛氳�冭瘯妯″紡) + count:鏁伴噺锛�30 50 100 200锛� + exerciseTime:缁冧範鏃堕棿 * } * * @return @@ -697,7 +697,7 @@ return null; } - // 根据条件获取自由练习 + // 鏍规嵁鏉′欢鑾峰彇鑷敱缁冧範 ExerItemResponseData result = exerciseVerService.doGetFreeExercise( null, source, strategy, mode, count, exerciseTime); @@ -706,41 +706,41 @@ /** - * APP2.0: 提交练习答案 + * APP2.0: 鎻愪氦缁冧範绛旀 * URL: /exercise/Exercise/exerAnswers * - * 请求参数={ - "exerciseGroupId": 组id, - EXERCISE_RECORD_ID: 记录id, + * 璇锋眰鍙傛暟={ + "exerciseGroupId": 缁刬d, + EXERCISE_RECORD_ID: 璁板綍id, "exerciseExtendId": null, - "currTitleNum": "当前题号", - "status": 状态, - "type": 练习类型,// 整型 - "doCount": 练习类型, - "correctCount": 正确个数, - "allCount":题目总数, + "currTitleNum": "褰撳墠棰樺彿", + "status": 鐘舵��, + "type": 缁冧範绫诲瀷,// 鏁村瀷 + "doCount": 缁冧範绫诲瀷, + "correctCount": 姝g‘涓暟, + "allCount":棰樼洰鎬绘暟, "items": [ { - "exerciseId": "练习id", - "type": 练习类型,// 整数型 - "answer": "选择答案", - "correct": 是否正确(0:错误 1:正确 2:未知) + "exerciseId": "缁冧範id", + "type": 缁冧範绫诲瀷,// 鏁存暟鍨� + "answer": "閫夋嫨绛旀", + "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡) }, { - "exerciseId": "练习id", - "type": 练习类型, - "answer": "选择答案", - "correct": 是否正确(0:错误 1:正确 2:未知) + "exerciseId": "缁冧範id", + "type": 缁冧範绫诲瀷, + "answer": "閫夋嫨绛旀", + "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡) } ] } - 返回参数={ - "success":true,//true:成功 false:失败 - "attrs":{EXERCISE_RECORD_ID:练习记录id, - "updateTime":修改时间 + 杩斿洖鍙傛暟={ + "success":true,//true:鎴愬姛 false:澶辫触 + "attrs":{EXERCISE_RECORD_ID:缁冧範璁板綍id, + "updateTime":淇敼鏃堕棿 }, - "msg":"提交成功",//结果信息 + "msg":"鎻愪氦鎴愬姛",//缁撴灉淇℃伅 } * @@ -751,7 +751,7 @@ public @ResponseBody Object doSubmitExerAnswer( @RequestParam(value = "answers") String answers) { - // 用户本次做题提交的数据 + // 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹� List<ExerciseItemAnswerData> lstAnswers = null; Result result = new Result(false); @@ -759,12 +759,12 @@ try { ObjectMapper mapper = new ObjectMapper(); - // 装换json到对象 + // 瑁呮崲json鍒板璞� ExerciseSubmitAnswerData answerData = mapper.readValue(answers, ExerciseSubmitAnswerData.class); lstAnswers = answerData.getItems(); - // 记录id + // 璁板綍id String initExerciseRecordId = answerData.getExerciseRecordId(); if(lstAnswers.isEmpty() @@ -775,38 +775,38 @@ initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_FAILED, "/exercise/Exercise/exerAnswers"); - return new Result(false,"提交数据异常"); + return new Result(false,"鎻愪氦鏁版嵁寮傚父"); } - // 1.---------记录提交的数据日志 - // 记录提交的数据日志 + // 1.---------璁板綍鎻愪氦鐨勬暟鎹棩蹇� + // 璁板綍鎻愪氦鐨勬暟鎹棩蹇� String exerciseDataLogId = exerciseVerService.doSaveExerciseDataSubmitLog(answers, initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_SUCCESS,"/exercise/Exercise/exerAnswers"); - // 2.-------- 提交答案 - // 操作练习数据 + // 2.-------- 鎻愪氦绛旀 + // 鎿嶄綔缁冧範鏁版嵁 Map<String,Object> resultMap = exerciseVerService.doOperExerciseAnswerData(answerData); - result = new Result(true, "答案提交成功"); + result = new Result(true, "绛旀鎻愪氦鎴愬姛"); result.setData(resultMap); - // 3.-------- 班级统计数据 + // 3.-------- 鐝骇缁熻鏁版嵁 if(resultMap.get("exerciseGroupId") != null){ String exerciseGroupId = String.valueOf(resultMap.get("exerciseGroupId")); - // 2.发送班级排名请求 + // 2.鍙戦�佺彮绾ф帓鍚嶈姹� exerciseVerService.sendUpdateClassRankMsg(exerciseGroupId); - // 3.发送 题目的全站统计 、个人统计、班级正确率请求消息 + // 3.鍙戦�� 棰樼洰鐨勫叏绔欑粺璁� 銆佷釜浜虹粺璁°�佺彮绾ф纭巼璇锋眰娑堟伅 exerciseVerService.sendUpdateExerItemStatisticsMsg(exerciseGroupId, answerData); //exerciseVerService.doStatisUserExerciseItemData(ClientUtils.getUserId(), ClientUtils.getUserName(), answerData); } - // 4.---------更新本次提交的数据日志exerciseRecordId + // 4.---------鏇存柊鏈鎻愪氦鐨勬暟鎹棩蹇梕xerciseRecordId if(StringUtils.isBlank(initExerciseRecordId) - && resultMap.get(EXERCISE_RECORD_ID) != null){// 为空 说明第一次提交 更新日志记录id + && resultMap.get(EXERCISE_RECORD_ID) != null){// 涓虹┖ 璇存槑绗竴娆℃彁浜� 鏇存柊鏃ュ織璁板綍id exerciseRecordId = String.valueOf(resultMap.get(EXERCISE_RECORD_ID)); @@ -815,8 +815,8 @@ } catch (Exception e) { - result = new Result(false, "提交练习答案请求异常"); - log.error("提交练习答案请求异常===",e); + result = new Result(false, "鎻愪氦缁冧範绛旀璇锋眰寮傚父"); + log.error("鎻愪氦缁冧範绛旀璇锋眰寮傚父===",e); exerciseVerService.doSaveExerciseDataSubmitLog(answers, exerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, @@ -828,44 +828,44 @@ /** - * APP2.0: 提交练习答案 + * APP2.0: 鎻愪氦缁冧範绛旀 * URL: /exercise/Exercise/exerAnswers * - * 请求参数=[{ - "exerciseGroupId": 组id, - EXERCISE_RECORD_ID: 记录id, + * 璇锋眰鍙傛暟=[{ + "exerciseGroupId": 缁刬d, + EXERCISE_RECORD_ID: 璁板綍id, "exerciseExtendId": null, - "currTitleNum": "当前题号", - "status": 状态, - "type": 练习类型,// 整型 - "doCount": 练习类型, - "correctCount": 正确个数, - "allCount":题目总数, + "currTitleNum": "褰撳墠棰樺彿", + "status": 鐘舵��, + "type": 缁冧範绫诲瀷,// 鏁村瀷 + "doCount": 缁冧範绫诲瀷, + "correctCount": 姝g‘涓暟, + "allCount":棰樼洰鎬绘暟, "items": [ { - "exerciseId": "练习id", - "type": 练习类型,// 整数型 - "answer": "选择答案", - "correct": 是否正确(0:错误 1:正确 2:未知) + "exerciseId": "缁冧範id", + "type": 缁冧範绫诲瀷,// 鏁存暟鍨� + "answer": "閫夋嫨绛旀", + "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡) }, { - "exerciseId": "练习id", - "type": 练习类型, - "answer": "选择答案", - "correct": 是否正确(0:错误 1:正确 2:未知) + "exerciseId": "缁冧範id", + "type": 缁冧範绫诲瀷, + "answer": "閫夋嫨绛旀", + "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡) } ] }, ... ] - 返回参数={"success":true,//true:成功 false:失败 - "attrs":[{EXERCISE_RECORD_ID:练习记录id, - exerciseGroupId:练习组id, - isNewRecord:是否为新增的record(true:是 false:否) - "updateTime":修改时间 + 杩斿洖鍙傛暟={"success":true,//true:鎴愬姛 false:澶辫触 + "attrs":[{EXERCISE_RECORD_ID:缁冧範璁板綍id, + exerciseGroupId:缁冧範缁刬d锛� + isNewRecord锛氭槸鍚︿负鏂板鐨剅ecord(true:鏄� false:鍚�) + "updateTime":淇敼鏃堕棿 },...], - "msg":"提交成功",//结果信息 + "msg":"鎻愪氦鎴愬姛",//缁撴灉淇℃伅 } * @@ -876,7 +876,7 @@ public @ResponseBody Object doSubmitMutiExerAnswer( @RequestParam(value = "answers") String answers) { - // 用户本次做题提交的数据 + // 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹� List<ExerciseSubmitAnswerData> lstRecord = null; List<ExerciseItemAnswerData> lstAnswers= null; String exerciseRecordId = null; @@ -890,7 +890,7 @@ try { ObjectMapper mapper = new ObjectMapper(); - // 装换json到对象 + // 瑁呮崲json鍒板璞� ExerciseSubmitAnswerDataList answerDataList = mapper.readValue(answers, ExerciseSubmitAnswerDataList.class); lstRecord = answerDataList.getDatas(); @@ -903,17 +903,17 @@ continue; } - // 记录id + // 璁板綍id String initExerciseRecordId = answerData.getExerciseRecordId(); - // 记录提交的数据日志 + // 璁板綍鎻愪氦鐨勬暟鎹棩蹇� String recordData = JSONObject.toJSONString(answerData); lstAnswers = answerData.getItems(); if(lstAnswers.isEmpty() && !ExerciseRecord.STATUS_SUBMIT.equals(answerData.getStatus()) - && answerData.getSubmitType() != 1){// 仅提交 或仅仅本地无网重做 + && answerData.getSubmitType() != 1){// 浠呮彁浜� 鎴栦粎浠呮湰鍦版棤缃戦噸鍋� exerciseVerService.doSaveExerciseDataSubmitLog(recordData, initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, @@ -922,36 +922,36 @@ continue; } - // 1.---------记录提交的数据日志 + // 1.---------璁板綍鎻愪氦鐨勬暟鎹棩蹇� String exerciseDataLogId = exerciseVerService.doSaveExerciseDataSubmitLog(recordData, initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_SUCCESS,"/exercise/Exercise/exerMutiAnswers"); - // 2.-------- 提交答案 - // 操作练习数据 + // 2.-------- 鎻愪氦绛旀 + // 鎿嶄綔缁冧範鏁版嵁 returnMap = exerciseVerService.doOperExerciseAnswerData(answerData); - if(StringUtils.isBlank(initExerciseRecordId)){// 表示recordId为新增 + if(StringUtils.isBlank(initExerciseRecordId)){// 琛ㄧずrecordId涓烘柊澧� returnMap.put("isNewRecord", true); }else{ returnMap.put("isNewRecord", false); } resultList.add(returnMap); - // 3.-------- 班级统计数据; + // 3.-------- 鐝骇缁熻鏁版嵁; if(returnMap.get("exerciseGroupId") != null){ String exerciseGroupId = String.valueOf(returnMap.get("exerciseGroupId")); - // 2.发送班级排名请求 + // 2.鍙戦�佺彮绾ф帓鍚嶈姹� exerciseVerService.sendUpdateClassRankMsg(exerciseGroupId); - // 3.发送 题目的全站统计 个人统计请求消息 + // 3.鍙戦�� 棰樼洰鐨勫叏绔欑粺璁� 涓汉缁熻璇锋眰娑堟伅 exerciseVerService.sendUpdateExerItemStatisticsMsg(exerciseGroupId, answerData); } - // 4.---------更新本次提交的数据日志exerciseRecordId + // 4.---------鏇存柊鏈鎻愪氦鐨勬暟鎹棩蹇梕xerciseRecordId if(StringUtils.isBlank(initExerciseRecordId) - && returnMap.get(EXERCISE_RECORD_ID) != null){// 为空 说明第一次提交 更新日志记录id + && returnMap.get(EXERCISE_RECORD_ID) != null){// 涓虹┖ 璇存槑绗竴娆℃彁浜� 鏇存柊鏃ュ織璁板綍id exerciseRecordId = String.valueOf(returnMap.get(EXERCISE_RECORD_ID)); @@ -962,12 +962,12 @@ resultMap.put("success", true); resultMap.put("attrs", resultList); - resultMap.put("msg", "提交成功"); + resultMap.put("msg", "鎻愪氦鎴愬姛"); } catch (Exception e) { - log.error("提交练习答案请求异常===",e); - resultMap.put("msg", "提交练习答案请求异常"); + log.error("鎻愪氦缁冧範绛旀璇锋眰寮傚父===",e); + resultMap.put("msg", "鎻愪氦缁冧範绛旀璇锋眰寮傚父"); exerciseVerService.doSaveExerciseDataSubmitLog(answers, "exerMutiAnswers", ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, @@ -978,10 +978,10 @@ } /** - * APP2.0: 更新练习家庭作业、模拟考试是否提交 + * APP2.0: 鏇存柊缁冧範瀹跺涵浣滀笟銆佹ā鎷熻�冭瘯鏄惁鎻愪氦 * URL: /exercise/Exercise/updateHomeExerSubmitNew * - * @param exerciseRecordId 练习记录ID + * @param exerciseRecordId 缁冧範璁板綍ID * @return */ @RequestMapping(value = "updateHomeExerSubmitNew", method = RequestMethod.GET) @@ -992,7 +992,7 @@ ExerciseRecord record = commonDAO.read(ExerciseRecord.class, exerciseRecordId); if(record == null || !ClientUtils.getUserId().equals(record.getUserId())){ - return new Result(false, "非法操作,不是当前用户操作"); + return new Result(false, "闈炴硶鎿嶄綔锛屼笉鏄綋鍓嶇敤鎴锋搷浣�"); } record.setStatus(ExerciseRecord.STATUS_SUBMIT); @@ -1002,10 +1002,10 @@ } /** - * APP2.0: 更新练习家庭作业、模拟考试是否提交 + * APP2.0: 鏇存柊缁冧範瀹跺涵浣滀笟銆佹ā鎷熻�冭瘯鏄惁鎻愪氦 * URL: /exercise/Exercise/updateExerciseRecord * - * @param exerciseRecordId 练习记录ID + * @param exerciseRecordId 缁冧範璁板綍ID * @return */ @RequestMapping(value = "updateExerciseRecord", method = RequestMethod.GET) @@ -1020,10 +1020,10 @@ } /** - * APP2.0: 更新练习作业题号 app端重新开始做题 + * APP2.0: 鏇存柊缁冧範浣滀笟棰樺彿 app绔噸鏂板紑濮嬪仛棰� * URL: /exercise/Exercise/updateNewExerRecordNew * - * @param groupId 习题组ID + * @param groupId 涔犻缁処D * @return */ @RequestMapping(value = "updateNewExerRecordNew", method = RequestMethod.GET) @@ -1032,26 +1032,26 @@ Map<String,Object> map = exerciseVerService.doInsertExerRecord(groupId); - Result result = new Result(true, "状态更新成功"); + Result result = new Result(true, "鐘舵�佹洿鏂版垚鍔�"); result.setData(map); return result; } /** - * APP2.0: 题目答案分析 + * APP2.0: 棰樼洰绛旀鍒嗘瀽 * URL: /exercise/Exercise/itemstatisics * * * - * @param groupId 习题组ID + * @param groupId 涔犻缁処D * @return */ @RequestMapping(value = "itemStatisics", method = RequestMethod.GET) public @ResponseBody List<Map<String, Object>> doQueryExerciseItemStatisics( @RequestParam(value = GROUP_ID) String groupId) { - // 查询结果 + // 鏌ヨ缁撴灉 List<Map<String, Object>> resultLst = exerciseVerService.queryExerciseItemStatisics(groupId); return resultLst; @@ -1059,13 +1059,13 @@ - /** -----------------------------------------------APP V2.0接口 end--------------------------------------------------------*/ + /** -----------------------------------------------APP V2.0鎺ュ彛 end--------------------------------------------------------*/ - /**------------------------------ web 后端------------------------------------------------------------------------*/ + /**------------------------------ web 鍚庣------------------------------------------------------------------------*/ /** - * 练习管理主页 + * 缁冧範绠$悊涓婚〉 * * @return */ @@ -1075,7 +1075,7 @@ } /** - * 机构练习管理主页 + * 鏈烘瀯缁冧範绠$悊涓婚〉 * * @return */ @@ -1085,9 +1085,9 @@ } /** - * (后台管理系统) + * 锛堝悗鍙扮鐞嗙郴缁燂級 * - * 练习管理列表,获取列表数据 + * 缁冧範绠$悊鍒楄〃锛岃幏鍙栧垪琛ㄦ暟鎹� * * @return */ @@ -1111,7 +1111,7 @@ } sql = sql.concat(" order by g.order_num asc"); - //剔除互动及教学评估 + //鍓旈櫎浜掑姩鍙婃暀瀛﹁瘎浼� List<ExerciseGroup> result = new ArrayList<ExerciseGroup>(); if(StringUtils.isNotBlank(tid)){ result = exerciseService.queryExerciceGroupList(sql, CollectionUtils.newList(ExerciseGroup.TYPE_EXERCISE_FREE, @@ -1135,9 +1135,9 @@ } /** - * (后台管理系统) + * 锛堝悗鍙扮鐞嗙郴缁燂級 * - * 机构练习管理列表,获取列表数据 + * 鏈烘瀯缁冧範绠$悊鍒楄〃锛岃幏鍙栧垪琛ㄦ暟鎹� * * @return */ @@ -1183,7 +1183,7 @@ } /** - * 查看练习已经指定的机构和班级 + * 鏌ョ湅缁冧範宸茬粡鎸囧畾鐨勬満鏋勫拰鐝骇 * @param groupId * @return */ @@ -1233,7 +1233,7 @@ return result; } /** - * 获取练习组数据 + * 鑾峰彇缁冧範缁勬暟鎹� * * @return */ @@ -1250,7 +1250,7 @@ } /** - * 获取练习数据 + * 鑾峰彇缁冧範鏁版嵁 * * @return */ @@ -1265,7 +1265,7 @@ } /** - * 获取练习数据 + * 鑾峰彇缁冧範鏁版嵁 * * @return */ @@ -1316,10 +1316,10 @@ /** - * (后台管理系统) - * 删除练习组(优化) + * 锛堝悗鍙扮鐞嗙郴缁燂級 + * 鍒犻櫎缁冧範缁�(浼樺寲) * - * 更新20150907:更新习题组最后修改时间 + * 鏇存柊20150907锛氭洿鏂颁範棰樼粍鏈�鍚庝慨鏀规椂闂� * @return */ @RequestMapping(value = "deleteNew", method = RequestMethod.POST) @@ -1330,10 +1330,10 @@ } /** - * (后台管理系统) - * 删除练习组(优化) + * 锛堝悗鍙扮鐞嗙郴缁燂級 + * 鍒犻櫎缁冧範缁�(浼樺寲) * - * 更新20150907:更新习题组最后修改时间 + * 鏇存柊20150907锛氭洿鏂颁範棰樼粍鏈�鍚庝慨鏀规椂闂� * @return */ @RequestMapping(value = "deleteOrg", method = RequestMethod.POST) @@ -1346,7 +1346,7 @@ /** - * 获取习题列表 + * 鑾峰彇涔犻鍒楄〃 * * @return */ @@ -1361,8 +1361,8 @@ } /** - * (后台管理系统) - * 管理员同步习题到班级 + * 锛堝悗鍙扮鐞嗙郴缁燂級 + * 绠$悊鍛樺悓姝ヤ範棰樺埌鐝骇 * * @param exerciseItemId * @return @@ -1376,10 +1376,10 @@ } /** - * (后台管理系统) - * 增加习题 + * 锛堝悗鍙扮鐞嗙郴缁燂級 + * 澧炲姞涔犻 * - * 更新20150617:更新习题组最后修改时间 + * 鏇存柊20150617锛氭洿鏂颁範棰樼粍鏈�鍚庝慨鏀规椂闂� * @return */ @RequestMapping(value = "item/addOrUpdate", method = RequestMethod.POST) @@ -1422,7 +1422,7 @@ createItemOption(getOptionOrder(type,'N'),params.getOptionN(), checkN, params.getOptionN_Id(), params.getOptionN_imgIds(), lstOptions); createItemOption(getOptionOrder(type,'O'),params.getOptionO(), checkO, params.getOptionO_Id(), params.getOptionO_imgIds(), lstOptions); - // 得到正确答案 + // 寰楀埌姝g‘绛旀 if(StringUtils.isBlank(params.getOptionE())){ checkE=false; } @@ -1438,10 +1438,10 @@ item.setTitle(params.getTitle()); item.setType(type); item.setImgs(getExerciseTitleImgs(params.getTitle_imgsIds())); - if(groupId.contains("#")){// groupid结尾多# + if(groupId.contains("#")){// groupid缁撳熬澶�# groupId = groupId.substring(0, groupId.indexOf('#')); } - // 练习不发系统通知 + // 缁冧範涓嶅彂绯荤粺閫氱煡 //sendSysNotice(0, groupId); return exerciseService.insertExerciseItem(groupId, item, lstOptions,params.getAnalysis()); }else{ @@ -1449,7 +1449,7 @@ item.setAnswer(answer); item.setTitle(params.getTitle()); item.setType(type); - // 练习不发系统通知 + // 缁冧範涓嶅彂绯荤粺閫氱煡 //sendSysNotice(1, groupId); return exerciseService.updateExerciseItem(item, lstOptions,params.getAnalysis()); } @@ -1458,7 +1458,7 @@ /** - * 得到正确答案 + * 寰楀埌姝g‘绛旀 * @param checkA * @param checkB * @param checkC @@ -1470,7 +1470,7 @@ private String getCorrectAnswer(ExerciseAddItemParams params,short type){ StringBuffer answer = new StringBuffer(64); - if(ExerciseItem.TYPE_TRUE_OR_FALSE==type){//判断 + if(ExerciseItem.TYPE_TRUE_OR_FALSE==type){//鍒ゆ柇 return params.getCheckA()?"True":params.getCheckB()?"False":null; } @@ -1481,7 +1481,7 @@ answer.append(',').append('B'); } - // 组装余下正确答案 + // 缁勮浣欎笅姝g‘绛旀 packagingCorrectAnswer(params, answer); String answers = answer.toString(); @@ -1494,7 +1494,7 @@ } /** - * 组装正确答案 + * 缁勮姝g‘绛旀 * @param checkC * @param checkD * @param checkE @@ -1524,7 +1524,7 @@ } /** - * 组装正确答案 + * 缁勮姝g‘绛旀 * @param checkC * @param checkD * @param checkE @@ -1556,12 +1556,12 @@ } /** - * 得到练习题目图片list + * 寰楀埌缁冧範棰樼洰鍥剧墖list * @param title_imgsIds * @return */ private List<ExerciseObjectImg> getExerciseTitleImgs(String title_imgsIds){ - if(StringUtils.isBlank(title_imgsIds)){//新增图片 + if(StringUtils.isBlank(title_imgsIds)){//鏂板鍥剧墖 return null; } String[] strImgsId = title_imgsIds.split(","); @@ -1576,7 +1576,7 @@ } /** - * 创建习题选项 + * 鍒涘缓涔犻閫夐」 * @param option * @param check * @param lstOptions @@ -1590,7 +1590,7 @@ } ExerciseItemOption a = new ExerciseItemOption(); - if(StringUtils.isNotBlank(optionId)){// 更新 + if(StringUtils.isNotBlank(optionId)){// 鏇存柊 a.setOptionId(optionId); }else{ if(StringUtils.isEmpty(option)){ @@ -1598,7 +1598,7 @@ } } - if(StringUtils.isNotBlank(imgsId)){//新增图片 + if(StringUtils.isNotBlank(imgsId)){//鏂板鍥剧墖 String[] strImgsId = imgsId.split(","); List<ExerciseObjectImg> imgs = new ArrayList<ExerciseObjectImg>(strImgsId.length); ExerciseObjectImg objImg = null; @@ -1627,7 +1627,7 @@ } /** - * 更新习题 + * 鏇存柊涔犻 * * @return */ @@ -1638,9 +1638,9 @@ } /** - * (后台管理) - * 删除习题 - * 更新20150617:更新习题组最后修改时间 + * 锛堝悗鍙扮鐞嗭級 + * 鍒犻櫎涔犻 + * 鏇存柊20150617锛氭洿鏂颁範棰樼粍鏈�鍚庝慨鏀规椂闂� * * @return */ @@ -1651,7 +1651,7 @@ } /** - * 根据classID获取所有课程 + * 鏍规嵁classID鑾峰彇鎵�鏈夎绋� * * @return */ @@ -1666,7 +1666,7 @@ } /** - * 获取组名称 + * 鑾峰彇缁勫悕绉� * * @return */ @@ -1677,7 +1677,7 @@ List<Map<String,Object>> lstMap = new ArrayList<Map<String,Object>>(1); Map<String,Object> map = null; - if(group.getType() == ExerciseGroup.TYPE_CHAPTER_ITEM || group.getType() == ExerciseGroup.TYPE_EXERCISE_TOPIC || group.getType() == ExerciseGroup.TYPE_EXERCISE_EXAM){ // 章节练习 、 专项练习 + if(group.getType() == ExerciseGroup.TYPE_CHAPTER_ITEM || group.getType() == ExerciseGroup.TYPE_EXERCISE_TOPIC || group.getType() == ExerciseGroup.TYPE_EXERCISE_EXAM){ // 绔犺妭缁冧範 銆� 涓撻」缁冧範 map = new HashMap<String, Object>(7); map.put("groupId", group.getGroupId()); map.put("name", group.getName()); @@ -1710,7 +1710,7 @@ } /** - * 编辑练习保存 + * 缂栬緫缁冧範淇濆瓨 * * @return */ @@ -1721,7 +1721,7 @@ } /** - * 根据lessionId获取所有章节,排除掉当前班级 + * 鏍规嵁lessionId鑾峰彇鎵�鏈夌珷鑺�,鎺掗櫎鎺夊綋鍓嶇彮绾� * * @return */ @@ -1743,7 +1743,7 @@ } /** - * 根据classID获取顺序练习 + * 鏍规嵁classID鑾峰彇椤哄簭缁冧範 * * @return */ @@ -1754,7 +1754,7 @@ int result = commonDAO.findCount(hql, CollectionUtils.newList(ClientUtils.getClassId(),ExerciseGroup.TYPE_EXERCISE_SEQUENCE)); List<ClsClass> lstResult = new ArrayList<ClsClass>(); - //存在顺序练习,将班级信息传回 + //瀛樺湪椤哄簭缁冧範锛屽皢鐝骇淇℃伅浼犲洖 if( result > 0){ hql = "from ClsClass where classId = ? "; lstResult = commonDAO.find(hql, CollectionUtils.newList(ClientUtils.getClassId()), ClsClass.class); @@ -1764,7 +1764,7 @@ } /** - * 根据classID获取顺序练习 + * 鏍规嵁classID鑾峰彇椤哄簭缁冧範 * * @return */ @@ -1780,7 +1780,7 @@ } /** - * 新增练习 + * 鏂板缁冧範 * * @return */ @@ -1791,7 +1791,7 @@ } /** - * 机构新增练习 + * 鏈烘瀯鏂板缁冧範 * * @return */ @@ -1802,7 +1802,7 @@ } /** - * 机构指定练习 + * 鏈烘瀯鎸囧畾缁冧範 * * @return */ @@ -1813,7 +1813,7 @@ } /** - * ORG 获取机构科目列表 + * ORG 鑾峰彇鏈烘瀯绉戠洰鍒楄〃 * * @return */ @@ -1832,7 +1832,7 @@ } /** - * 新增图片路径到数据库 + * 鏂板鍥剧墖璺緞鍒版暟鎹簱 * @param fullPaths * @param imgObjId * @param imgObjType @@ -1849,13 +1849,13 @@ } String[] imgPaths = fullPaths.split(";"); - // 更新路径到数据库 + // 鏇存柊璺緞鍒版暟鎹簱 List<Map<String,Object>> lstResult = exerciseService.doAddExerciseObjImg(imgPaths, imgObjId, imgObjType); return lstResult; } - /** 新增图片路径到数据库 */ + /** 鏂板鍥剧墖璺緞鍒版暟鎹簱 */ @RequestMapping(value = "delExerObjImg",method = RequestMethod.POST) public @ResponseBody Result dodelExerciseObjImg( @RequestParam("imgId") String imgId){ @@ -1865,7 +1865,7 @@ return result; } - /** 查询图片路径 */ + /** 鏌ヨ鍥剧墖璺緞 */ @RequestMapping(value = "queryExerObjImg",method = RequestMethod.POST) public @ResponseBody List<Map<String,Object>> doQueryExerciseObjImg( @RequestParam("imgObjId") String imgObjId, @@ -1874,7 +1874,7 @@ return null; } String hql = "from ExerciseObjectImg where deleteFlag is false and exerciseObjectId=? and objectType=? order by imgOrder"; - // 查询此练习是否已经存在记录 + // 鏌ヨ姝ょ粌涔犳槸鍚﹀凡缁忓瓨鍦ㄨ褰� List<ExerciseObjectImg> lstObjImg = commonDAO.find(hql, CollectionUtils.newList(imgObjId,imgObjType), ExerciseObjectImg.class); @@ -1894,12 +1894,12 @@ } /** - * (后台管理系统:导入习题模块) - * 导入习题-习题导入深度解析 + * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛� + * 瀵煎叆涔犻-涔犻瀵煎叆娣卞害瑙f瀽 * - * @param groupId 习题组ID + * @param groupId 涔犻缁処D * @param uuid uuid - * @param fileName 文件名称 + * @param fileName 鏂囦欢鍚嶇О * @return */ @RequestMapping(value = "/item/deepAnalysisDoc", method = RequestMethod.POST) @@ -1912,12 +1912,12 @@ /** - * (后台管理系统:导入习题模块) - * 导入习题-第一次将word解析结果返回给前台,并不保存到数据库 + * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛� + * 瀵煎叆涔犻-绗竴娆″皢word瑙f瀽缁撴灉杩斿洖缁欏墠鍙帮紝骞朵笉淇濆瓨鍒版暟鎹簱 * - * @param groupId 习题组ID + * @param groupId 涔犻缁処D * @param uuid uuid - * @param fileName 文件名称 + * @param fileName 鏂囦欢鍚嶇О * @return */ @RequestMapping(value = "/item/import/parser/{groupId}", method = RequestMethod.POST) @@ -1929,10 +1929,10 @@ } /** - * (后台管理系统:导入习题模块) - * 校验内容,返回解析结果 + * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛� + * 鏍¢獙鍐呭锛岃繑鍥炶В鏋愮粨鏋� * - * @param content 文本内容 + * @param content 鏂囨湰鍐呭 * @return */ @RequestMapping(value = "/item/import/validateExercise", method = RequestMethod.POST) @@ -1943,7 +1943,7 @@ } /** - * 获取所有班级,当前班级除外,增加过滤没有习题的班级 + * 鑾峰彇鎵�鏈夌彮绾э紝褰撳墠鐝骇闄ゅ,澧炲姞杩囨护娌℃湁涔犻鐨勭彮绾� * @return */ @RequestMapping(value = "loadClasses", method = RequestMethod.GET) @@ -1969,7 +1969,7 @@ } /** - * 复制习题 + * 澶嶅埗涔犻 * @param fromClassId * @return */ @@ -1981,7 +1981,7 @@ } /** - * 学员得分详情列表 + * 瀛﹀憳寰楀垎璇︽儏鍒楄〃 * @param groupId * @return */ @@ -1995,7 +1995,7 @@ } /** - * 初始化平均成绩和最高成绩 + * 鍒濆鍖栧钩鍧囨垚缁╁拰鏈�楂樻垚缁� * @param groupId * @return */ @@ -2008,7 +2008,7 @@ } /** - * 每道题得分详情 + * 姣忛亾棰樺緱鍒嗚鎯� * @param groupId * @return */ @@ -2021,7 +2021,7 @@ } /** - * 加载题目选项详情 - 班级、机构 + * 鍔犺浇棰樼洰閫夐」璇︽儏 - 鐝骇銆佹満鏋� * @param groupId * @return */ @@ -2034,7 +2034,7 @@ } /** - * 刷新更新统计 + * 鍒锋柊鏇存柊缁熻 * @param groupId * @return */ @@ -2047,7 +2047,7 @@ } /** - * 导出练习每道题得分详情 + * 瀵煎嚭缁冧範姣忛亾棰樺緱鍒嗚鎯� * * @return * @throws IOException @@ -2056,13 +2056,13 @@ public String exportItemStatis(@PathVariable String groupId,HttpServletResponse response) throws IOException { ExerciseGroup exeGroup= this.commonDAO.read(ExerciseGroup.class, groupId); - //获取每道题得分详情列表 + //鑾峰彇姣忛亾棰樺緱鍒嗚鎯呭垪琛� List<ExerciseItemStatistics> itemStatisLst = exerciseService.itemDetailList(groupId); ExcelExportUtils<ExerciseItemStatistics> ex = new ExcelExportUtils<ExerciseItemStatistics>(); ExcelExportParam<ExerciseItemStatistics> obj = new ExcelExportParam<ExerciseItemStatistics>(); obj.setColData(itemStatisLst); - String[] headers = { "序号","题号","题目", "类型", "正确答案","班级正确率","全站正确率"}; + String[] headers = { "搴忓彿","棰樺彿","棰樼洰", "绫诲瀷", "姝g‘绛旀","鐝骇姝g‘鐜�","鍏ㄧ珯姝g‘鐜�"}; obj.setHeaders(headers); obj.setLstColumn(new ArrayList<String>(Arrays.asList("itemNo","exerciseItemTitel","itemTypeName","correctAnswer","classAccuracyShow","orgAccuracyShow"))); @@ -2070,7 +2070,7 @@ response.reset(); response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setHeader("Content-Disposition", "attachment;filename="+ new String((ClientUtils.getClassName()+ "_" + exeGroup.getName() + "_详情.xls").getBytes(), "iso-8859-1")); + response.setHeader("Content-Disposition", "attachment;filename="+ new String((ClientUtils.getClassName()+ "_" + exeGroup.getName() + "_璇︽儏.xls").getBytes(), "iso-8859-1")); response.setCharacterEncoding("utf-8"); OutputStream ouputStream = response.getOutputStream(); obj.setOut(ouputStream); @@ -2082,23 +2082,23 @@ } /** - * 导出练习学员得分详情 + * 瀵煎嚭缁冧範瀛﹀憳寰楀垎璇︽儏 * * @return * @throws IOException */ @RequestMapping(value = "userScoreStatis/data/{groupId}", method = RequestMethod.GET) public String exportUserScore(@PathVariable String groupId,HttpServletResponse response) throws IOException { - // 获取组名称 + // 鑾峰彇缁勫悕绉� ExerciseGroup exeGroup= this.commonDAO.read(ExerciseGroup.class, groupId); - // 获取之前组装的排名List<Map<String, Object>>列表 + // 鑾峰彇涔嬪墠缁勮鐨勬帓鍚峀ist<Map<String, Object>>鍒楄〃 List<Map<String, Object>> userScoreMap = exerciseService.resultList(groupId); List<ExportUserScore> userLst = new ArrayList<ExportUserScore>(userScoreMap.size()); ExportUserScore user = null; if(userScoreMap != null){ - // 将获取的Map列表转换为List列表 + // 灏嗚幏鍙栫殑Map鍒楄〃杞崲涓篖ist鍒楄〃 for(Map<String, Object> userScore:userScoreMap){ user = new ExportUserScore(); user.setName(String.valueOf(userScore.get("name"))); @@ -2113,7 +2113,7 @@ ExcelExportUtils<ExportUserScore> ex = new ExcelExportUtils<ExportUserScore>(); ExcelExportParam<ExportUserScore> obj = new ExcelExportParam<ExportUserScore>(); obj.setColData(userLst); - String[] headers = { "排名","学员姓名","报名码","报名时间","手机号码", "提交时间", "成绩"}; + String[] headers = { "鎺掑悕","瀛﹀憳濮撳悕","鎶ュ悕鐮�","鎶ュ悕鏃堕棿","鎵嬫満鍙风爜", "鎻愪氦鏃堕棿", "鎴愮哗"}; obj.setHeaders(headers); obj.setLstColumn(new ArrayList<String>(Arrays.asList("name","salesCode","createTime","mobilePhone","submitTime","score"))); @@ -2121,7 +2121,7 @@ response.reset(); response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setHeader("Content-Disposition", "attachment;filename="+ new String((ClientUtils.getClassName() + "_" + exeGroup.getName() + "_成绩.xls").getBytes(), "iso-8859-1")); + response.setHeader("Content-Disposition", "attachment;filename="+ new String((ClientUtils.getClassName() + "_" + exeGroup.getName() + "_鎴愮哗.xls").getBytes(), "iso-8859-1")); response.setCharacterEncoding("utf-8"); OutputStream ouputStream = response.getOutputStream(); obj.setOut(ouputStream); @@ -2136,7 +2136,7 @@ /** - * 习题组排序 + * 涔犻缁勬帓搴� * * @param key * @return @@ -2148,7 +2148,7 @@ } /** - * 习题排序 + * 涔犻鎺掑簭 * * @param key * @return @@ -2161,14 +2161,14 @@ - /******************************************py导入******************************************************************/ + /******************************************py瀵煎叆******************************************************************/ /** - * (后台管理系统:导入习题模块) - * 导入习题-第一次将word解析结果返回给前台,并不保存到数据库 + * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛� + * 瀵煎叆涔犻-绗竴娆″皢word瑙f瀽缁撴灉杩斿洖缁欏墠鍙帮紝骞朵笉淇濆瓨鍒版暟鎹簱 * - * @param groupId 习题组ID + * @param groupId 涔犻缁処D * @param uuid uuid - * @param fileName 文件名称 + * @param fileName 鏂囦欢鍚嶇О * @return */ @RequestMapping(value = "/item/importpy/parse/{groupId}", method = RequestMethod.POST) @@ -2179,10 +2179,10 @@ } /** - * (后台管理系统:导入习题模块) - * 校验内容,返回解析结果 + * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛� + * 鏍¢獙鍐呭锛岃繑鍥炶В鏋愮粨鏋� * - * @param content 文本内容 + * @param content 鏂囨湰鍐呭 * @return */ @RequestMapping(value = "/item/importpy/validate", method = RequestMethod.POST) @@ -2192,10 +2192,10 @@ } /** - * (后台管理系统:导入习题模块) - * 导入内容,返回解析结果 + * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛� + * 瀵煎叆鍐呭锛岃繑鍥炶В鏋愮粨鏋� * - * @param content 文本内容 + * @param content 鏂囨湰鍐呭 * @return */ @SuppressWarnings("unchecked") @@ -2211,18 +2211,18 @@ return exercisePyService.doImportPyExercise(lst,groupId); } catch (Exception e) { - log.error("提交数据有误" + e ); + log.error("鎻愪氦鏁版嵁鏈夎" + e ); } - return new Result(false,"解析json失败"); + return new Result(false,"瑙f瀽json澶辫触"); } - /**----------------- 问卷调查----start-----------------------------------*/ + /**----------------- 闂嵎璋冩煡----start-----------------------------------*/ /** - * 评估模块添加问答 + * 璇勪及妯″潡娣诲姞闂瓟 * * @param jsonExerciseItemDTO * @return @@ -2237,19 +2237,19 @@ boolean mustAnswer = jsonObject.getBooleanValue("mustAnswer"); short type = jsonObject.getShort("type"); String analysis = jsonObject.getString("analysis"); - JSONArray titleImgs = jsonObject.getJSONArray("imags");// 题目的图片路径 + JSONArray titleImgs = jsonObject.getJSONArray("imags");// 棰樼洰鐨勫浘鐗囪矾寰� - //获取选项 + //鑾峰彇閫夐」 List<ExerciseItemOption> lstOptions = JSONArray.parseArray(jsonObject.getString("lstOptions"), ExerciseItemOption.class); ExerciseItem item = null; - if(StringUtils.isEmpty(exerciseId)){// 新增 + if(StringUtils.isEmpty(exerciseId)){// 鏂板 item = new ExerciseItem(); item.setTitle(title); item.setType(type); item.setMustAnswer(mustAnswer); exerciseService.insertExerciseItem4Evaluate(groupId, item, lstOptions,analysis,titleImgs); - }else{// 编辑 + }else{// 缂栬緫 item = this.commonDAO.read(ExerciseItem.class, exerciseId); item.setTitle(title); item.setType(type); @@ -2264,7 +2264,7 @@ /** - * 获取问卷习题列表 + * 鑾峰彇闂嵎涔犻鍒楄〃 * * @return */ @@ -2277,9 +2277,9 @@ } /** - * 查看学员答卷情况 + * 鏌ョ湅瀛﹀憳绛斿嵎鎯呭喌 * - * @param recordId 答题记录id + * @param recordId 绛旈璁板綍id * @param schEvaluateId * @return */ @@ -2289,14 +2289,14 @@ return exerciseService.queryUserEvaExerciseDetail(recordId, evaluateId); } - /** 查询图片路径 */ + /** 鏌ヨ鍥剧墖璺緞 */ @RequestMapping(value = "evaluate/queryExerObjImg",method = RequestMethod.GET) public @ResponseBody ResultJson queryEvaExerciseObjImg( @RequestParam("imgObjId") String imgObjId, @RequestParam("imgObjType") int imgObjType){ if(StringUtils.isBlank(imgObjId)){ - return new ResultJson(false,"参数为空"); + return new ResultJson(false,"鍙傛暟涓虹┖"); } List<Map<String,Object>> lstResult = exerciseService.queryEvaExerciseObjImg(imgObjId, imgObjType); @@ -2305,7 +2305,7 @@ } /** - * 新增图片路径到数据库 + * 鏂板鍥剧墖璺緞鍒版暟鎹簱 * @param fullPaths * @param imgObjId * @param imgObjType @@ -2322,13 +2322,13 @@ } String[] imgPaths = fullPaths.split(";"); - // 更新路径到数据库 + // 鏇存柊璺緞鍒版暟鎹簱 List<Map<String,Object>> lstResult = exerciseService.doAddEvaExerciseObjImg(imgPaths, imgObjId, imgObjType); return new ResultJson(true,"success",lstResult); } - /** 删除图片路径到数据库 */ + /** 鍒犻櫎鍥剧墖璺緞鍒版暟鎹簱 */ @RequestMapping(value = "evaluate/delExerObjImg",method = RequestMethod.POST) public @ResponseBody ResultJson dodelEvaExerciseObjImg( @RequestParam("imgId") String imgId){ @@ -2337,9 +2337,9 @@ return result; } - /**------------------ 问卷调查----end------------------------------------*/ + /**------------------ 闂嵎璋冩煡----end------------------------------------*/ - /**------------------------------ web 后端----end--------------------------------------------------------------------*/ + /**------------------------------ web 鍚庣----end--------------------------------------------------------------------*/ } \ No newline at end of file -- Gitblit v1.8.0