userserviceimp.java

来自「一个jsp写的bbs」· Java 代码 · 共 837 行 · 第 1/2 页

JAVA
837
字号
         if (StringUtils.isBlank(userInfo.getPicFileName())) {
      sb.append("-");
         }
         else {
      sb.append(userInfo.getPicFileName());
         }
         sb.append("|");
         if (StringUtils.isBlank(userInfo.getUserFrom())) {
      sb.append("-");
         }
         else {
      sb.append(userInfo.getUserFrom());
         }
         sb.append("|");
     FileIO.writeFile(sb.toString(), this.getUserFilePath(userInfo.getId()) + Constant.USER_PROFILE,
                     Constant.CHARSET);*/
    this.getUserInfoFileIO().writeUserFile(userInfo);
  }

  public UserInfoSimple getUserInfoSimple(String userID) {
    String userFileTxt = FileIO.readFile(this.getUserFilePath(userID) + Constant.USER_PROFILE,
                                         Constant.CHARSET);

    UserInfoSimple uis = new UserInfoSimple();
    String[] ufs = userFileTxt.split("\\|");
    if (ufs.length == 14) {
      uis.setId(ufs[0]);
      uis.setRegTime(NumberUtils.toLong(ufs[1], System.currentTimeMillis()));
      uis.setLoginTime(NumberUtils.toLong(ufs[2], System.currentTimeMillis()));
      uis.setArticleNum(NumberUtils.toInt(ufs[3], 0));
      uis.setArticleEliteNum(NumberUtils.toInt(ufs[4], 0));
      uis.setUserTitle(NumberUtils.toInt(ufs[5], 0));
      uis.setLifeForce(NumberUtils.toInt(ufs[6], 0));
      uis.setCoin(NumberUtils.toInt(ufs[7], 0));
      uis.setLiterary(NumberUtils.toInt(ufs[8], 0));
      uis.setUserKnow(NumberUtils.toInt(ufs[9], 0));
      uis.setExperience(NumberUtils.toInt(ufs[10], 0));
      uis.setHavePic(NumberUtils.toInt(ufs[11], 0));
      uis.setPicFileName(ufs[12]);
      uis.setUserFrom(ufs[13]);
    }
    return uis;
  }

  public void createUserFacePic(UserInfo ui, String distFileName, InputStream stream) throws
      BbscsException {

    if (ui.getHavePic() == 1) {
      File f = new File(BBSCSUtil.getUserWebFilePath(ui.getId()) + ui.getPicFileName());
      if (f.exists()) {
        //f.delete();
        try {
          FileUtils.forceDelete(f);
        }
        catch (IOException ex2) {
          throw new BbscsException(ex2);
        }
      }
      f = new File(BBSCSUtil.getUserWebFilePath(ui.getId()) + ui.getPicFileName() +
                   Constant.IMG_SMALL_FILEPREFIX);
      if (f.exists()) {
        //f.delete();
        try {
          FileUtils.forceDelete(f);
        }
        catch (IOException ex3) {
          throw new BbscsException(ex3);
        }
      }
    }
    String fullPicFile = BBSCSUtil.getUserWebFilePath(ui.getId()) + distFileName;
    String fullPicFileSmall = BBSCSUtil.getUserWebFilePath(ui.getId()) + distFileName +
        Constant.IMG_SMALL_FILEPREFIX;
    //System.out.println(fullPicFile + " " + fullPicFileSmall);
    try {
      BBSCSUtil.saveUpFile(fullPicFile, stream);
    }
    catch (FileNotFoundException ex) {
      throw new BbscsException(ex);
    }
    catch (IOException ex) {
      throw new BbscsException(ex);
    }
    ImgUtil.reduceImg(fullPicFile, fullPicFileSmall, this.getSysConfig().getFaceWidth(),
                      this.getSysConfig().getFaceHigh());
    ui.setHavePic(1);
    ui.setPicFileName(distFileName);
    try {
      ui = this.getUserInfoDAO().saveUserInfo(ui);
      this.writeUserFile(ui);
    }
    catch (Exception ex1) {
      throw new BbscsException(ex1);
    }
  }

  public void removeUserFacePic(UserInfo ui) throws BbscsException {
    if (ui.getHavePic() == 1) {
      File f = new File(BBSCSUtil.getUserWebFilePath(ui.getId()) + ui.getPicFileName());
      if (f.exists()) {
        //f.delete();
        try {
          FileUtils.forceDelete(f);
        }
        catch (IOException ex2) {
          throw new BbscsException(ex2);
        }
      }
      f = new File(BBSCSUtil.getUserWebFilePath(ui.getId()) + ui.getPicFileName() +
                   Constant.IMG_SMALL_FILEPREFIX);
      if (f.exists()) {
        //f.delete();
        try {
          FileUtils.forceDelete(f);
        }
        catch (IOException ex3) {
          throw new BbscsException(ex3);
        }
      }
      ui.setHavePic(0);
      ui.setPicFileName("");
      try {
        ui = this.getUserInfoDAO().saveUserInfo(ui);
        this.writeUserFile(ui);
      }
      catch (Exception ex1) {
        throw new BbscsException(ex1);
      }
    }
  }

  public int getUserTitleValue(UserInfo ui) {
    switch (ui.getUserTitle()) {
      case 0:
        return ui.getExperience();
      case 1:
        return ui.getLiterary();
      case 2:
        return ui.getUserKnow();
      case 3:
        return ui.getCoin();
      default:
        return ui.getExperience();
    }
  }

  public int getUserTitleValue(UserInfoSimple uis) {
    switch (uis.getUserTitle()) {
      case 0:
        return uis.getExperience();
      case 1:
        return uis.getLiterary();
      case 2:
        return uis.getUserKnow();
      case 3:
        return uis.getCoin();
      default:
        return uis.getExperience();
    }
  }

  /**
   *
   * @param ui UserInfo
   * @return String
   */
  public String getUserTitle(UserInfo ui) {
    int type = 0;
    List ull = null;
    if (ui == null) {
      ull = (List) (this.getUserLevelSingleton().getUserLevelMap().get(new Integer(0)));
      return this.getUserLevelByUserValue(ull, 0).getLevelName();
    }
    else {
      type = ui.getUserTitle();
      ull = (List) (this.getUserLevelSingleton().getUserLevelMap().get(new Integer(type)));
      if (ull != null) {
        return this.getUserLevelByUserValue(ull, this.getUserTitleValue(ui)).getLevelName();
      }
      else {
        return "-";
      }
    }
  }

  /**
   *
   * @param uis UserInfoSimple
   * @return String
   */
  public String getUserTitle(UserInfoSimple uis) {
    int type = 0;
    List ull = null;
    if (uis == null) {
      ull = (List) (this.getUserLevelSingleton().getUserLevelMap().get(new Integer(0)));
      return this.getUserLevelByUserValue(ull, 0).getLevelName();
    }
    else {
      type = uis.getUserTitle();
      ull = (List) (this.getUserLevelSingleton().getUserLevelMap().get(new Integer(type)));
      if (ull != null) {
        return this.getUserLevelByUserValue(ull, this.getUserTitleValue(uis)).getLevelName();
      }
      else {
        return "-";
      }
    }
  }

  private UserLevel getUserLevelByUserValue(List l, int value) {
    for (int i = 0; i < l.size(); i++) {
      UserLevel ul = (UserLevel) l.get(i);
      if (value < ul.getLevelValue()) {
        return ul;
      }
    }
    UserLevel ul = new UserLevel();
    ul.setLevelName("-");
    ul.setLevelValue(0);
    return ul;
  }

  public void createTopFile() throws BbscsException {
    List l = this.getUserInfoDAO().findUserInfoList("experience", "desc", 0, 10);
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < l.size(); i++) {
      UserInfo ui = (UserInfo) l.get(i);
      sb.append("<tr>");
      sb.append("<td width=\"70%\">");
      sb.append("<a href=\"");
      sb.append(BBSCSUtil.getActionMappingURLWithoutPrefix("userInfo?action=id&id=" + ui.getId()));
      sb.append("\">");
      sb.append(ui.getUserName());
      sb.append("</a>");
      sb.append("</td>");
      sb.append("<td width=\"30%\">");
      sb.append(ui.getExperience());
      sb.append("</td>");
      sb.append("</tr>");
    }
    File topFile = new File(BBSCSUtil.getIncludePath() + "UserExp.html");
    try {
      FileUtils.writeStringToFile(topFile, sb.toString(), Constant.CHARSET);
    }
    catch (IOException ex) {
      logger.error(ex);
      throw new BbscsException(ex);
    }

    l = this.getUserInfoDAO().findUserInfoList("literary", "desc", 0, 10);
    sb = new StringBuffer();
    for (int i = 0; i < l.size(); i++) {
      UserInfo ui = (UserInfo) l.get(i);
      sb.append("<tr>");
      sb.append("<td width=\"70%\">");
      sb.append("<a href=\"");
      sb.append(BBSCSUtil.getActionMappingURLWithoutPrefix("userInfo?action=id&id=" + ui.getId()));
      sb.append("\">");
      sb.append(ui.getUserName());
      sb.append("</a>");
      sb.append("</td>");
      sb.append("<td width=\"30%\">");
      sb.append(ui.getLiterary());
      sb.append("</td>");
      sb.append("</tr>");
    }
    topFile = new File(BBSCSUtil.getIncludePath() + "UserLit.html");
    try {
      FileUtils.writeStringToFile(topFile, sb.toString(), Constant.CHARSET);
    }
    catch (IOException ex1) {
      logger.error(ex1);
      throw new BbscsException(ex1);
    }

    l = this.getUserInfoDAO().findUserInfoList("userKnow", "desc", 0, 10);
    sb = new StringBuffer();
    for (int i = 0; i < l.size(); i++) {
      UserInfo ui = (UserInfo) l.get(i);
      sb.append("<tr>");
      sb.append("<td width=\"70%\">");
      sb.append("<a href=\"");
      sb.append(BBSCSUtil.getActionMappingURLWithoutPrefix("userInfo?action=id&id=" + ui.getId()));
      sb.append("\">");
      sb.append(ui.getUserName());
      sb.append("</a>");
      sb.append("</td>");
      sb.append("<td width=\"30%\">");
      sb.append(ui.getUserKnow());
      sb.append("</td>");
      sb.append("</tr>");
    }
    topFile = new File(BBSCSUtil.getIncludePath() + "UserKnow.html");
    try {
      FileUtils.writeStringToFile(topFile, sb.toString(), Constant.CHARSET);
    }
    catch (IOException ex2) {
      logger.error(ex2);
      throw new BbscsException(ex2);
    }
  }

  public int getUserNumByGroupID(int groupID) {
    return this.getUserInfoDAO().getUserNumByGroupID(groupID);
  }

  public PageList findUserInfosByGroupID(int groupID, String orderby, int ascOrDesc, Pages pages) {
    PageList pl = new PageList();

    if (pages.getTotalNum() == -1) {
      pages.setTotalNum(this.getUserInfoDAO().getUserNumByGroupID(groupID));
    }
    pages.executeCount();

    List l = this.getUserInfoDAO().findUserInfosByGroupID(groupID, orderby, ascOrDesc, pages.getSpage(),
        pages.getPerPageNum());

    pl.setObjectList(l);
    pl.setPages(pages);
    return pl;
  }

  public PageList findUserInfosByGroupID(int groupID, Pages pages) {
    PageList pl = new PageList();

    if (pages.getTotalNum() == -1) {
      pages.setTotalNum(this.getUserInfoDAO().getUserNumByGroupID(groupID));
    }
    pages.executeCount();

    List l = this.getUserInfoDAO().findUserInfosByGroupID(groupID, "regTime", Constant.ORDER_DESC,
        pages.getSpage(), pages.getPerPageNum());

    pl.setObjectList(l);
    pl.setPages(pages);
    return pl;

  }

  public UserDetailDAO getUserDetailDAO() {
    return userDetailDAO;
  }

  public UserInfoDAO getUserInfoDAO() {
    return userInfoDAO;
  }

  public UserGroupDAO getUserGroupDAO() {
    return userGroupDAO;
  }

  public PermissionDAO getPermissionDAO() {
    return permissionDAO;
  }

  public SysConfig getSysConfig() {
    return sysConfig;
  }

  public String getSafePath() {
    if (this.safePath.equals("/")) {
      this.safePath = Constant.ROOTPATH + "File/";
    }
    if (!this.safePath.endsWith("/")) {
      this.safePath = this.safePath + "/";
    }
    return safePath;
  }

  public UserInfoFileIO getUserInfoFileIO() {
    return userInfoFileIO;
  }

  public Cache getUserPermissionCache() {
    return userPermissionCache;
  }

  public UserLevelSingleton getUserLevelSingleton() {
    return userLevelSingleton;
  }

  public void setUserDetailDAO(UserDetailDAO userDetailDAO) {
    this.userDetailDAO = userDetailDAO;
  }

  public void setUserInfoDAO(UserInfoDAO userInfoDAO) {
    this.userInfoDAO = userInfoDAO;
  }

  public void setUserGroupDAO(UserGroupDAO userGroupDAO) {
    this.userGroupDAO = userGroupDAO;
  }

  public void setPermissionDAO(PermissionDAO permissionDAO) {
    this.permissionDAO = permissionDAO;
  }

  public void setSysConfig(SysConfig sysConfig) {
    this.sysConfig = sysConfig;
  }

  public void setSafePath(String safePath) {
    this.safePath = safePath;
  }

  public void setUserInfoFileIO(UserInfoFileIO userInfoFileIO) {
    this.userInfoFileIO = userInfoFileIO;
  }

  public void setUserPermissionCache(Cache userPermissionCache) {
    this.userPermissionCache = userPermissionCache;
  }

  public void setUserLevelSingleton(UserLevelSingleton userLevelSingleton) {
    this.userLevelSingleton = userLevelSingleton;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?