示例#1
0
  /**
   * 删除参与/关注活动信息(从参与活动列表和关注活动列表中删除)
   *
   * @param mapping 路径映射对象
   * @param form 表单对象
   * @param request 请求对象
   * @param response 响应对象
   * @return ActionForward
   * @throws Exception
   */
  public ActionForward doDeleteJoinAct(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {

    // 初始化
    ErrorInformation errInfo = new ActivityErrInfo();
    RequestUtils requ = RequestUtils.getInstance(request);

    int id = requ.getInt("id");
    int joiner_id = requ.getInt("joiner_id");
    int status = requ.getInt("status");

    // 获取登录用户及角色信息
    UserInfo loginUser = UserInfo.getLoginUser(request);
    if (loginUser == null) // 检查用户是否登录
    errInfo.saveError(ActivityErrInfo.NEED_LOGIN);
    else {
      try {
        // 如果没有出错,则删除
        int ret = JoinActivityDAO.deleteJoinAct(id, joiner_id, status);
        if (ret < 1) errInfo.saveError(ActivityErrInfo.ERR_UNKNOWN);

        // 因从列表中删除某一活动,用户积分减10
        if (errInfo.isEmpty()) {
          int rt = AuthUserDAO.addScore(loginUser, -Utils.SCORE_JOIN_ACTIVITY);
          if (rt < 1) errInfo.saveError(ActivityErrInfo.ERR_UNKNOWN);
        }

      } catch (SQLException e) {
        Logger.Log(Logger.LOG_ERROR, e);
        errInfo.saveError(ActivityErrInfo.DATABASE_ERR);
      }
    }

    if (!errInfo.isEmpty()) {
      errInfo.saveToRequest("err", request);
      return mapping.findForward("error");
    }

    return new ActionForward("/activity/index.jsp", true);
  }