2018-01-08

-須知
1.Controller層要負(fù)責(zé)業(yè)務(wù)流程的控制:

2.Service要負(fù)責(zé)業(yè)務(wù)模塊的業(yè)務(wù)邏輯應(yīng)用設(shè)計(jì):

3.Dao層定義了與數(shù)據(jù)庫交互的接口:

考試系統(tǒng)實(shí)現(xiàn)

考試中心模塊實(shí)現(xiàn)

該模塊主要對(duì)考生試卷進(jìn)行分配悔耘,考生點(diǎn)擊考試中心進(jìn)入考試項(xiàng)目選擇界面帮寻,緊接著需要進(jìn)一步明確考試科目,最終選擇相應(yīng)的考試模式進(jìn)行答題∠希考生必須按步驟進(jìn)行减细,當(dāng)且僅當(dāng)前一操作已經(jīng)執(zhí)行才可以進(jìn)入下一步尤辱。

1.考試項(xiàng)目選擇模塊實(shí)現(xiàn)

1.1.界面設(shè)計(jì)

image.png

1.3.選擇考試項(xiàng)目的核心代碼如下所示:

1.3.1.前端請(qǐng)求代碼:

1.3.2.Controller層:

//《ExamController.java相關(guān)源碼》
@RequestMapping(value="index",method= RequestMethod.GET)
public ModelAndView index(){
return new ModelAndView("exam/index");
}
//1.選擇考試專業(yè)項(xiàng)目 列表
@RequestMapping(value="chooseCourse")
public ModelAndView chooseCourse(ModelMap map, Integer pageNo, String findContent){
//分頁炭庙,專業(yè)項(xiàng)目列表
map.put("findContent", findContent);
Pagination<QCourseMapper> page = courseService.findByPage(map,pageNo,pageSize);
map.put("page", page);
return new ModelAndView("exam/choose_course");
}

1.3.3.Service層:

//《CourseService.java相關(guān)源碼》
public interface CourseService {
//查詢考試所有的專業(yè)項(xiàng)目 分頁
Pagination<QCourseMapper> findByPage(Map<String, Object> resultMap, Integer pageNo, Integer pageSize);
//考試項(xiàng)目信息
QCourse findById(Integer id);
//考試科目信息
QCourse findCourseTypeById(Integer parent_id,Integer type);
}

1.3.4.Dao層

//《QCourseMapper.java相關(guān)源碼》
//考試科目信息 QCourse findCourseTypeById(@Param("parent_id") Integer parent_id,@Param("type") Integer type);
//獲取所有的 _table

List<QCourse> findAll_Table();```

2.考試科目選擇模塊實(shí)現(xiàn)

2.1.界面設(shè)計(jì)

image.png

2.2.考試科目選擇的核心代碼如下所示:

2.2.1.前端請(qǐng)求代碼:

2.2.2.Controller層:

//《CourseService.java相關(guān)源碼》
//根據(jù)考試專業(yè)項(xiàng)目的id查詢出q_course_category所有的考試科目列表
@RequestMapping(value="get_course_list")
public ModelAndView getCourseList(ModelMap map,String findContent, Integer course_id){
if(course_id == null){
return new ModelAndView("exam/get_course_list");
}
//考試項(xiàng)目type
QCourse course = courseService.findById(course_id);
map.put("type",course.getType());
map.put("findContent", findContent);
map.put("course_id",course_id);
Pagination<QCourseMapper> page = courseService.findByPage(map,pageNo,pageSize);
map.put("page", page);
return new ModelAndView("exam/get_course_list");
}

2.2.3.Service層

// 《CourseService.java相關(guān)源碼》
public interface CourseService {
//考試項(xiàng)目信息
QCourse findById(Integer id);
}

2.2.4.Dao層

public interface QCourseMapper {
QCourse selectByPrimaryKey(Integer id);
}

3.考試模式模塊實(shí)現(xiàn)

3.1.界面設(shè)計(jì)

image.png

3.2.選擇考試項(xiàng)目的核心代碼如下所示:

3.2.1.前端請(qǐng)求代碼:

3.2.2.Controller層:

//《ExamController.java相關(guān)源碼》
//考試的模式選擇 type=${remarks}考試項(xiàng)目 &courseType=${it.value}考試科目
@RequestMapping(value="get_model_list")
public ModelAndView getModelList(ModelMap map,Integer type,Integer courseType){
Map<String,String> modelList = new LinkedHashMap<>();
modelList.put(String.valueOf(Const.ExamModelEnum.MODEL_1.getCode()),Const.ExamModelEnum.MODEL_1.getValue()); modelList.put(String.valueOf(Const.ExamModelEnum.MODEL_2.getCode()),Const.ExamModelEnum.MODEL_2.getValue()); modelList.put(String.valueOf(Const.ExamModelEnum.MODEL_3.getCode()),Const.ExamModelEnum.MODEL_3.getValue()); modelList.put(String.valueOf(Const.ExamModelEnum.MODEL_4.getCode()),Const.ExamModelEnum.MODEL_4.getValue()); modelList.put(String.valueOf(Const.ExamModelEnum.MODEL_5.getCode()),Const.ExamModelEnum.MODEL_5.getValue());
map.put("modelList",modelList);
map.put("type",type);

map.put("courseType",courseType);
return new ModelAndView("exam/get_model_list");

}

答題系統(tǒng)模塊實(shí)現(xiàn)

該模塊針對(duì)考生所選的考試類型進(jìn)行自動(dòng)分配相應(yīng)的卷子。試題類型有單選題泵肄,多選題捆交,判斷題,大題腐巢,考生需要在固定的時(shí)間里完成該試卷品追,答題完畢后需點(diǎn)擊交卷,否則時(shí)間截止時(shí)將會(huì)強(qiáng)制提交試卷無法作答系忙。

1.考試答題系統(tǒng)模塊實(shí)現(xiàn)

1.1.界面設(shè)計(jì)

image.png

1.3.考試答題系統(tǒng)項(xiàng)目的核心代碼如下所示:

1.3.1.前端請(qǐng)求代碼:

1.3.2.Controller層:

//開始考試 隨機(jī)生成新考卷
@RequestMapping(value="start_exam")
public ModelAndView StartExam(ModelMap map,Integer type,Integer courseType,Integer mode){
//考試項(xiàng)目
QCourse CourseProject = courseService.findById(type);
String CourseProjectName = CourseProject.getName();
map.put("CourseProjectName",CourseProjectName);
map.put("type",type);
//考試科目
QCourse Course = courseService.findCourseTypeById(CourseProject.getId(),courseType);
String CourseName = Course.getName();
map.put("CourseName",CourseName);
map.put("courseType",courseType);
//考試模式
Class<Const.ExamModelEnum> clasz = Const.ExamModelEnum.class;
String modeName =(String) EnumUtil.getEnumValueByCode(mode, clasz);
map.put("modeName",modeName);
map.put("mode",mode);
//隨機(jī)值 = 用來索引這個(gè)考卷的id
Random random = new Random();
int srandom = random.nextInt(1000000)%(9000000-1000000+1) + 1000000;
map.put("srandom",srandom);
//考試時(shí)間
int exam_time = 3600;
map.put("exam_time",exam_time);
//創(chuàng)建新的考卷
Map<String,List<QQuestion>> questions = examService.CreateExamPaper(srandom,type,courseType,mode,exam_time);
map.put("questions",questions);
return new ModelAndView("exam/exam");
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诵盼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子银还,更是在濱河造成了極大的恐慌风宁,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛹疯,死亡現(xiàn)場(chǎng)離奇詭異戒财,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)捺弦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門饮寞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來孝扛,“玉大人,你說我怎么就攤上這事幽崩】嗍迹” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵慌申,是天一觀的道長(zhǎng)陌选。 經(jīng)常有香客問我,道長(zhǎng)蹄溉,這世上最難降的妖魔是什么咨油? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮柒爵,結(jié)果婚禮上役电,老公的妹妹穿的比我還像新娘。我一直安慰自己棉胀,他們只是感情好法瑟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著膏蚓,像睡著了一般瓢谢。 火紅的嫁衣襯著肌膚如雪畸写。 梳的紋絲不亂的頭發(fā)上驮瞧,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音枯芬,去河邊找鬼论笔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛千所,可吹牛的內(nèi)容都是我干的狂魔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼淫痰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼最楷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起待错,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤籽孙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后火俄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體犯建,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年瓜客,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了适瓦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竿开。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖玻熙,靈堂內(nèi)的尸體忽然破棺而出否彩,到底是詐尸還是另有隱情,我是刑警寧澤嗦随,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布胳搞,位于F島的核電站,受9級(jí)特大地震影響称杨,放射性物質(zhì)發(fā)生泄漏肌毅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一姑原、第九天 我趴在偏房一處隱蔽的房頂上張望悬而。 院中可真熱鬧,春花似錦锭汛、人聲如沸笨奠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽般婆。三九已至,卻和暖如春朵逝,著一層夾襖步出監(jiān)牢的瞬間蔚袍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國打工配名, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留啤咽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓渠脉,卻偏偏與公主長(zhǎng)得像宇整,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芋膘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 高誠智能家居協(xié)議思考 借此機(jī)會(huì)重新理順一下智能家居部分的網(wǎng)絡(luò)通訊協(xié)議使用情況鳞青,并總結(jié)一下做為指導(dǎo)。當(dāng)然只是拋磚引玉...
    fight2048閱讀 659評(píng)論 0 51
  • 我媽最近和人最高頻次的對(duì)話就是:“保送了有什么用呢埃儿?研究生讀完有什么用呢?三年這么久誰知道呢融涣?還是現(xiàn)在有工作好啊童番,...
    喬納夫閱讀 361評(píng)論 0 2
  • 遠(yuǎn)方很遠(yuǎn)在沒有腳的世界怎么都到不了 遠(yuǎn)方很近在眼前這片池塘 一只小螞蟻架起一片樹葉一陣風(fēng)來樹林沙沙作響 一只小螞蟻...
    葺寶閱讀 193評(píng)論 0 3
  • 1991年精钮,1月4日,一死剃斧,終止了和上帝的生死契約轨香。 “走遍萬水千山”的三毛,最終未能走出紛擾的世相人情幼东,但卻走進(jìn)...
    羅掌柜real閱讀 274評(píng)論 0 0
  • 小白郁悶的找到老朱說道:“朱哥臂容,我想讓一個(gè)塊容器在一個(gè)容器里面垂直居中怎么這么難啊根蟹!” 老朱:“你是怎么實(shí)現(xiàn)的脓杉?”...
    老爐傳說閱讀 504評(píng)論 0 0