获取试卷 __LgZds5MVHW3o08T7UcX __LgZds5MVHW3o08T7UcX published UTF-8 get /lesson/getPaper/{textId} json 0)) { return exam_pageSet.get(0); } } var config = getDataFromRedis(redisConfigKey); if(config==null) { tracking+="get tlk_test_paper_base_info from db"; var sqlr="select item_singleNum,item_multipleNum,item_judgeNum,item_singleScore,item_multipleScore,item_judgeScore,item_testTopicBank from tlk_test_paper_base_info where id='"+textId+"'"; var datas = queryByDSName("organizationAuth",sqlr); if(datas!=null && datas!=[]){ for(var iterator = datas.iterator();iterator.hasNext();){ var map1 = iterator.next();//取值 var singleNum= map1.get("item_singleNum"); var multipleNum = map1.get("item_multipleNum"); var judgeNum = map1.get("item_judgeNum"); var singleScore = map1.get("item_singleScore"); var multipleScore = map1.get("item_multipleScore"); var judgeScore = map1.get("item_judgeScore"); var testTopicBank = map1.get("item_testTopicBank"); var singleNum= singleNum.intValue(); var multipleNum= multipleNum.intValue(); var judgeNum= judgeNum.intValue(); } config = new Packages.java.util.HashMap(); config.put("singleNum",singleNum); config.put("multipleNum",multipleNum); config.put("judgeNum",judgeNum); config.put("singleScore",singleScore); config.put("multipleScore",multipleScore); config.put("judgeScore",judgeScore); config.put("testTopicBank",testTopicBank); config.put("singleNum",singleNum); config.put("multipleNum",multipleNum); config.put("judgeNum",judgeNum); setDataToRedis(redisConfigKey,config,60000); }else { result.put("type","-1"); result.put("msg","试卷配置信息无效"); return result; } } println(config); var singleNum= config.get("singleNum"); var multipleNum = config.get("multipleNum"); var judgeNum = config.get("judgeNum"); var singleScore = config.get("singleScore"); var multipleScore = config.get("multipleScore"); var judgeScore = config.get("judgeScore"); var testTopicBank = config.get("testTopicBank"); var singleNum= singleNum.intValue(); var multipleNum= multipleNum.intValue(); var judgeNum= judgeNum.intValue(); var singleSet = getRandomDataFromRedisSet(redisKey_single,singleNum); var multipleSet = getRandomDataFromRedisSet(redisKey_multiple,multipleNum); var judgeSet = getRandomDataFromRedisSet(redisKey_judge,judgeNum); if((singleSet==null || singleSet==[] || singleSet.size()==0) && (multipleSet==null || multipleSet==[] || multipleSet.size()==0)&& (judgeSet==null || judgeSet==[] || judgeSet.size()==0)) { tracking+="get questions from db"; var wheretopicBankId=" "; var where =" where 1=1 "; if(isNotNull(testTopicBank)){ wheretopicBankId +=" and t3.ID = '"+testTopicBank+"' "; } //单选题sql var singleSql = "SELECT'"+getDomainid()+"' as domainId,"+ " y.ID,"+ " y.ITEM_ID,"+ " y.ITEM_QUIZTOPIC,"+ " CASE y.ITEM_QUIZTYPE WHEN '0' THEN '单选题' WHEN '1' THEN '多选题' ELSE '判断题' END ITEM_QUIZTYPE,"+ " case y.ITEM_ANSWER when '对' then 'A' when '错' then 'B' else y.ITEM_ANSWER end ITEM_ANSWER,"+ " y.ITEM_QUIZANALYSIS,"+ " y.ITEM_QUIZCODE,"+ " y.ITEM_MYSCORE,"+ " y.ITEM_OPTION "+ " FROM "+ " ( "+ " ( "+ " SELECT "+ " t.* "+ " FROM"+ " ("+ " SELECT"+ " '"+getDomainid()+"' AS domainid,"+ " t4.ID,"+ " t4.ID AS ITEM_ID,"+ " t4.ITEM_QUIZTOPIC,"+ " t4.ITEM_QUIZTYPE,"+ " t4.ITEM_ANSWER,"+ "'"+singleScore+"' AS ITEM_MYSCORE,"+ " t4.ITEM_QUIZCODE,"+ " t4.ITEM_QUIZANALYSIS,"+ " GROUP_CONCAT( IFNULL(t5.ITEM_OPTIONNAME,''), '#$#', IFNULL(t5.ITEM_OPTIONCONTENT,'') ,'#$#',IFNULL(t5.item_optionImage,'') ORDER BY t5.ITEM_OPTIONNAME , '.', t5.ITEM_OPTIONCONTENT Separator '$$') AS ITEM_OPTION,"+ " t5.ITEM_OPTIONIMAGE "+ " FROM"+ " organizationauth.tlk_topic_bank_base_info t3"+ " INNER JOIN organizationauth.tlk_test_quiz_base_info t4 ON t3.ID = t4.ITEM_TOPICBANKID"+ " LEFT JOIN organizationauth.tlk_test_quiz_option t5 ON t5.ITEM_QUIZID = t4.ID where ITEM_QUIZTYPE = '0'"+wheretopicBankId+ " GROUP BY"+ " t4.ID "+ " ORDER BY "+ " t4.ID "+ " ) t "+ " ) "+ " ) y "+where; //多选题sql var sql2 = "SELECT'"+getDomainid()+"' as domainId,"+ " y.ID,"+ " y.ITEM_ID,"+ " y.ITEM_QUIZTOPIC,"+ " CASE y.ITEM_QUIZTYPE WHEN '0' THEN '单选题' WHEN '1' THEN '多选题' ELSE '判断题' END ITEM_QUIZTYPE,"+ " case y.ITEM_ANSWER when '对' then 'A' when '错' then 'B' else y.ITEM_ANSWER end ITEM_ANSWER,"+ " y.ITEM_QUIZANALYSIS,"+ " y.ITEM_QUIZCODE,"+ " y.ITEM_MYSCORE,"+ " y.ITEM_OPTION "+ " FROM "+ " ( "+ " ( "+ " SELECT "+ " t.* "+ " FROM"+ " ("+ " SELECT"+ " '"+getDomainid()+"' AS domainid,"+ " t4.ID,"+ " t4.ID AS ITEM_ID,"+ " t4.ITEM_QUIZTOPIC,"+ " t4.ITEM_QUIZTYPE,"+ " t4.ITEM_ANSWER,"+ "'"+multipleScore+"' AS ITEM_MYSCORE,"+ " t4.ITEM_QUIZCODE,"+ " t4.ITEM_QUIZANALYSIS,"+ " GROUP_CONCAT( IFNULL(t5.ITEM_OPTIONNAME,''), '#$#', IFNULL(t5.ITEM_OPTIONCONTENT,'') ,'#$#',IFNULL(t5.item_optionImage,'') ORDER BY t5.ITEM_OPTIONNAME , '.', t5.ITEM_OPTIONCONTENT Separator '$$') AS ITEM_OPTION,"+ " t5.ITEM_OPTIONIMAGE "+ " FROM"+ " organizationauth.tlk_topic_bank_base_info t3"+ " INNER JOIN organizationauth.tlk_test_quiz_base_info t4 ON t3.ID = t4.ITEM_TOPICBANKID"+ " LEFT JOIN organizationauth.tlk_test_quiz_option t5 ON t5.ITEM_QUIZID = t4.ID where ITEM_QUIZTYPE = '1'"+wheretopicBankId+ " GROUP BY"+ " t4.ID "+ " ORDER BY "+ " t4.ID "+ " ) t "+ " ) "+ " ) y "+where; //判断题sql var sql3 = "SELECT'"+getDomainid()+"' as domainId,"+ " y.ID,"+ " y.ITEM_ID,"+ " y.ITEM_QUIZTOPIC,"+ " CASE y.ITEM_QUIZTYPE WHEN '0' THEN '单选题' WHEN '1' THEN '多选题' ELSE '判断题' END ITEM_QUIZTYPE,"+ " case y.ITEM_ANSWER when '对' then 'A' when '错' then 'B' else y.ITEM_ANSWER end ITEM_ANSWER,"+ " y.ITEM_QUIZANALYSIS,"+ " y.ITEM_QUIZCODE,"+ " y.ITEM_MYSCORE,"+ " y.ITEM_OPTION "+ " FROM "+ " ( "+ " ( "+ " SELECT "+ " t.* "+ " FROM"+ " ("+ " SELECT"+ " '"+getDomainid()+"' AS domainid,"+ " t4.ID,"+ " t4.ID AS ITEM_ID,"+ " t4.ITEM_QUIZTOPIC,"+ " t4.ITEM_QUIZTYPE,"+ " t4.ITEM_ANSWER,"+ "'"+judgeScore+"' AS ITEM_MYSCORE,"+ " t4.ITEM_QUIZCODE,"+ " t4.ITEM_QUIZANALYSIS,"+ " GROUP_CONCAT( IFNULL(t5.ITEM_OPTIONNAME,''), '#$#', IFNULL(t5.ITEM_OPTIONCONTENT,'') ,'#$#',IFNULL(t5.item_optionImage,'') ORDER BY t5.ITEM_OPTIONNAME , '.', t5.ITEM_OPTIONCONTENT Separator '$$') AS ITEM_OPTION,"+ " t5.ITEM_OPTIONIMAGE "+ " FROM"+ " organizationauth.tlk_topic_bank_base_info t3"+ " INNER JOIN organizationauth.tlk_test_quiz_base_info t4 ON t3.ID = t4.ITEM_TOPICBANKID"+ " LEFT JOIN organizationauth.tlk_test_quiz_option t5 ON t5.ITEM_QUIZID = t4.ID where ITEM_QUIZTYPE = '2'"+wheretopicBankId+ " GROUP BY"+ " t4.ID "+ " ORDER BY "+ " t4.ID "+ " ) t "+ " ) "+ " ) y "+where; var single_sqlDatas = queryByDSName("organizationAuth", singleSql); var multi_sqlDatas = queryByDSName("organizationAuth", sql2); var judge_sqlDatas = queryByDSName("organizationAuth", sql3); setDataToRedisForSet(redisKey_single,single_sqlDatas); setDataToRedisForSet(redisKey_multiple,multi_sqlDatas); setDataToRedisForSet(redisKey_judge,judge_sqlDatas); singleSet = getRandomDataFromRedisSet(redisKey_single,singleNum); multipleSet = getRandomDataFromRedisSet(redisKey_multiple,multipleNum); judgeSet = getRandomDataFromRedisSet(redisKey_judge,judgeNum); } singleSet = unionCollection(singleSet,multipleSet); singleSet = unionCollection(singleSet,judgeSet); if(tracking=="") { tracking="all from redis"; } if(true) { addDataToRedisForSet(redis_exam_pageKey, singleSet); if (!isNotNull(generateExamPageCount)){ generateExamPageCount = 100; } if(isNotNull(generateExamPageCount) && generateExamPageCount>1){ for(var i=1;i