@RequestMapping("/assistAnswer/{examinationId}")
  public ModelAndView assistAnswer(
      @PathVariable String examinationId, HttpServletRequest request, ModelMap modelMap)
      throws Exception {
    String openid = wxQAManager.getOpenid(request);
    //        System.out.println("assist---openid:" + openid + "   unionid:" +
    // request.getParameter("unionid"));

    // 1.找到所属用户
    Consumer consumer = wxQAManager.findConsumerByOpenid(openid);

    // 2.待继续答的题
    Examination examination =
        (Examination) baseManager.getObject(Examination.class.getName(), examinationId);

    // 3.判断是否已经答题
    ParticipationRecord participationRecord =
        wxQAManager.checkIfParticipated(consumer, examination);

    // 4.答案随机排个序
    List randomAnswerList = wxQAManager.randomSortAnswer(examination);
    modelMap.put("randomAnswerList", randomAnswerList);

    modelMap.put("consumer", consumer);
    modelMap.put("examination", examination);
    modelMap.put("openid", openid);
    System.out.println(
        new Date()
            + "\nopenid:"
            + openid
            + "--assistAnswer--examination:"
            + examination.getId()
            + "--participation:"
            + (participationRecord == null ? "null" : participationRecord.getId())
            + "--consumer:"
            + consumer.getId());

    if (participationRecord == null) {
      if (Examination.examFinished.equals(examination.getStatus())
          || Examination.examRewarded.equals(examination.getStatus())) {
        return new ModelAndView("/question/examinationHelpResult", modelMap);
      } else {
        return new ModelAndView("/question/examinationHelp", modelMap);
      }
    } else {
      modelMap.put("participationRecord", participationRecord);
      if (WxQAConst.recordCreatorType.equals(participationRecord.getRecordType())) {
        return new ModelAndView("/question/examinationResult", modelMap);
      } else {
        return new ModelAndView("/question/examinationHelpResult", modelMap);
      }
    }
  }
  @RequestMapping("/commitHelpAnswer/{examinationId}/{answerList}/{consumerId}")
  public ModelAndView commitHelpAnswer(
      @PathVariable String examinationId,
      @PathVariable String answerList,
      @PathVariable String consumerId,
      HttpServletRequest request,
      ModelMap modelMap)
      throws Exception {
    Examination examination =
        (Examination) baseManager.getObject(Examination.class.getName(), examinationId);

    modelMap.put("answerList", answerList);
    Consumer consumer = (Consumer) baseManager.getObject(Consumer.class.getName(), consumerId);
    modelMap.put("consumer", consumer);

    ParticipationRecord participationRecord =
        wxQAManager.checkIfParticipated(consumer, examination);
    modelMap.put("participationRecord", participationRecord);
    if (!Examination.examFinished.equals(examination.getStatus())
        && !Examination.examRewarded.equals(examination.getStatus())
        && participationRecord == null) {
      String openid = wxQAManager.getOpenid(request);
      modelMap.put("openid", openid);
      List<ExaminationQuestion> eqList = wxQAManager.saveHelpAnswer(examination, modelMap);
      modelMap.put("eqList", eqList);
      // 标记此人已协助答题,再次刷新时会显示另一套提示信息,如“不好意思,您来晚了,已有好友帮助完成!”
      modelMap.put("assistance", "assisted");
    }
    modelMap.put("examination", examination);
    System.out.println(
        new Date()
            + "\nopenid:"
            + wxQAManager.getOpenid(request)
            + "--commitHelpAnswer--examination:"
            + examination.getId()
            + "--participation:"
            + (participationRecord == null ? "null" : participationRecord.getId())
            + "--consumer:"
            + consumer.getId());

    return new ModelAndView("/question/examinationHelpResult", modelMap);
  }