package com.itbox.grzl.engine; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import com.itbox.fx.core.Application; import com.itbox.fx.net.Net; import com.itbox.fx.net.ResponseHandler; import com.itbox.grzl.Api; import com.itbox.grzl.AppContext; import com.itbox.grzl.bean.ExamInscribe; import com.itbox.grzl.bean.ExamReport; import com.itbox.grzl.common.Contasts; import com.loopj.android.http.RequestParams; /** * 测评业务 * * @author byz * @date 2014-5-10下午10:53:46 */ public class ExamEngine { public static final String EXAM_FILE = "exam/exam"; public static final int PAGE_NUM = 20; /** * 获取测评记录 * * @param pageNum * @param handler */ public static void getExamReport(int pageNum, ResponseHandler handler) { RequestParams params = new RequestParams(); params.put("userid", AppContext.getInstance().getAccount().getUserid() .toString()); params.put("pagesize", Integer.toString(PAGE_NUM)); params.put("pageindex", Integer.toString(pageNum)); Net.request(params, Api.getUrl(Api.User.EXAM_REPORT), handler); } /** * 获取测评题目 * * @return */ public static List<ExamInscribe> getExamInscribes() { List<ExamInscribe> list = new ArrayList<ExamInscribe>(); try { BufferedReader br = new BufferedReader(new InputStreamReader( Application.getInstance().getAssets().open(EXAM_FILE))); String line; ExamInscribe bean = null; String title = null; int num = 0; while ((line = br.readLine()) != null) { String[] array = line.split("\\|"); if (array != null && array.length == 3) { bean = new ExamInscribe(); bean.setNum(Integer.toString(num)); bean.setTitle(title); bean.setContent(array[0]); bean.setOptionA(array[1]); bean.setOptionB(array[2]); list.add(bean); } } br.close(); } catch (IOException e) { e.printStackTrace(); } return list; } public static void submit(List<ExamInscribe> list, ResponseHandler handler) { RequestParams params = new RequestParams(); params.put("userid", AppContext.getInstance().getAccount().getUserid() .toString()); params.put("data", createExamResult(list)); // 测评答案 Net.request(params, Api.getUrl(Api.User.SUBMIT_EXAM), handler); } /** * 生成测评试题的回答结果 * * @param list * @return */ private static String createExamResult(List<ExamInscribe> list) { StringBuilder sb = new StringBuilder(); if (list != null) { int index = 1; for (ExamInscribe bean : list) { sb.append(Integer.toString(index)).append(",") .append(bean.getSelected()).append(";"); index++; } } return sb.toString(); } /** * 测评报告 * * @author byz * @date 2014-5-13下午9:58:32 */ public static class UserTestingItem { private List<ExamReport> UserTestingItem; public List<ExamReport> getUserTestingItem() { return UserTestingItem; } public void setUserTestingItem(List<ExamReport> userTestingItem) { UserTestingItem = userTestingItem; } } }