⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userinfoseviceimp.java

📁 BBS-CS 天乙社区 v6.0.1(含源码) 天乙社区6.0是一套基于JAVA技术的网络虚拟社区
💻 JAVA
字号:
package com.laoer.bbscs.business.service;

import com.laoer.bbscs.business.IUserInfoService;
import com.laoer.bbscs.bean.UserInfo;
import com.laoer.bbscs.dao.IUserInfoDAO;
import com.laoer.bbscs.sys.*;
import com.laoer.comm.util.*;
import org.apache.struts.upload.*;
import java.util.*;
import java.io.*;

/**
 * <p>Title: TianYi BBS</p>
 * <p>Description: TianYi BBS System</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: LAOER.COM/TIANYISOFT.NET</p>
 * @author laoer
 * @version 6.0
 */

public class UserInfoSeviceImp
    implements IUserInfoService {

  private IUserInfoDAO userInfoDAO;
  private UserFileInPostCache userFileInPostCache;

  public UserInfoSeviceImp() {
  }

  public IUserInfoDAO getUserInfoDAO() {
    return this.userInfoDAO;
  }

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

  public UserFileInPostCache getUserFileInPostCache() {
    return this.userFileInPostCache;
  }

  public void setUserFileInPostCache(UserFileInPostCache userFileInPostCache) {
    this.userFileInPostCache = userFileInPostCache;
  }

  public UserInfo saveUserInfo(UserInfo userinfo) {
    return getUserInfoDAO().saveUserInfo(userinfo);
  }

  public UserInfo findUserInfoById(Long id) {
    return getUserInfoDAO().findUserInfoById(id);
  }

  public UserInfo findUserInfoByUserName(String username) {
    return getUserInfoDAO().findUserInfoByUserName(username);
  }

  public UserInfo findUserInfoByEmail(String email) {
    return this.getUserInfoDAO().findUserInfoByEmail(email);
  }

  public UserInfo findUserInfoByPasswd(String username, String passwd) {
    return this.getUserInfoDAO().findUserInfoByPasswd(username, passwd);
  }

  public Result regUser(UserInfo userinfo) {
    if (this.findUserInfoByUserName(userinfo.getUsername()) != null) {
      return new Result(false, "error.reg.name1");
    }
    if (!SysInfo.getInstance().getUsepass().equals("y")) {
      if (this.findUserInfoByEmail(userinfo.getEmail()) != null) {
        return new Result(false, "error.reg.emailerror");
      }
    }
    userinfo = this.saveUserInfo(userinfo);
    if (userinfo == null) {
      return new Result(false, "error.reg.createrror");
    }
    return new Result(true, "reg.regok", userinfo);
  }

  public void createUserFileInPost(UserInfo userinfo) {
    StringBuffer sb = new StringBuffer();
    if (userinfo.getHavePic() == 1) {
      sb.append("<a href='");
      sb.append(SysUtil.getUserFileWebPath(userinfo.getUsername(),
                                           userinfo.getId().longValue()));
      sb.append(userinfo.getPicFileName());
      sb.append("' target='_blank'><img src='");
      sb.append(SysUtil.getUserFileWebPath(userinfo.getUsername(),
                                           userinfo.getId().longValue()));
      sb.append(userinfo.getPicFileName());
      sb.append("' id='ppic_");
      sb.append(userinfo.getId());
      sb.append("' name='ppic_");
      sb.append(userinfo.getId());
      sb.append("' border='0' class='PIC1' ");
      sb.append("width='");
      sb.append(SysInfo.getInstance().getFacewith());
      sb.append("' height='");
      sb.append(SysInfo.getInstance().getFacehigh());
      sb.append("'>");
      /*
             sb.append("onload='javascript:if(this.width>");
             sb.append(SysInfo.getInstance().getFacewith());
             sb.append("){this.width=");
             sb.append(SysInfo.getInstance().getFacewith());
             sb.append("}if(this.height>");
             sb.append(SysInfo.getInstance().getFacehigh());
             sb.append("){this.height=");
             sb.append(SysInfo.getInstance().getFacehigh());
             sb.append("}'>");*/
      sb.append("</a><br><br>");
    }
    sb.append("#level#:" +
              SysUtil.getUserLevel(userinfo.getExp()).getName() +
              "<br>");
    sb.append("#article#:" + userinfo.getArticleNum() +
              "<br>");
    sb.append("#score#:" + userinfo.getExp() + "<br>");
    sb.append("#from#:" + userinfo.getUserFrom() + "<br>");
    sb.append("#register#:" +
              Util.formatDate(new Date(userinfo.getRegTime())));
    FileIO.writeFile(sb.toString(),
                     SysUtil.getUserFilePath(userinfo.getUsername(),
                                             userinfo.getId().longValue()) +
                     Constant.USERPOSTFILE, Constant.CHARSET);
    this.getUserFileInPostCache().removeUserFileInPostFromCache(userinfo.getId().
        longValue());
  }

  public void createUserSignFile(UserInfo userinfo) {
    StringBuffer sb = new StringBuffer();
    if (userinfo.getSignName1() != null && userinfo.getSignName1().length() > 0 &&
        userinfo.getSignDetail1() != null &&
        userinfo.getSignDetail1().length() > 0) {
      sb.append("<input type=\"radio\" name=\"sign\" value=\"" +
                Util.escapeForSpecial(Util.replaceBr(userinfo.getSignDetail1())) +
                "\">" + userinfo.getSignName1() + " ");
    }
    if (userinfo.getSignName2() != null && userinfo.getSignName2().length() > 0 &&
        userinfo.getSignDetail2() != null &&
        userinfo.getSignDetail2().length() > 0) {
      sb.append("<input type=\"radio\" name=\"sign\" value=\"" +
                Util.escapeForSpecial(Util.replaceBr(userinfo.getSignDetail2())) +
                "\">" + userinfo.getSignName2() + " ");
    }
    if (userinfo.getSignName3() != null && userinfo.getSignName3().length() > 0 &&
        userinfo.getSignDetail3() != null &&
        userinfo.getSignDetail3().length() > 0) {
      sb.append("<input type=\"radio\" name=\"sign\" value=\"" +
                Util.escapeForSpecial(Util.replaceBr(userinfo.getSignDetail3())) +
                "\">" + userinfo.getSignName3() + " ");
    }
    FileIO.writeFile(sb.toString(),
                     SysUtil.getUserFilePath(userinfo.getUsername(),
                                             userinfo.getId().longValue()) +
                     Constant.USERSIGNFILE, Constant.CHARSET);
  }

  public String createUserUpImgFile(UserInfo userinfo, FormFile upfile) {
    if (userinfo.getHavePic() == 1) {
      File f = new File(SysUtil.getUserFilePath(userinfo.getUsername(),
                                                userinfo.getId().longValue()) +
                        userinfo.getPicFileName());
      if (f.exists()) {
        f.delete();
      }
    }
    String picFileName = String.valueOf(userinfo.getId()) +
        String.valueOf(Util.getLongTime()) +
        SysUtil.getFileExt(upfile.getFileName());
    SysUtil.saveUpFile(SysUtil.getUserFilePath(userinfo.
                                               getUsername(),
                                               userinfo.getId().longValue()) +
                       picFileName, upfile);
    return picFileName;
    /*
         try {
      InputStream stream = upfile.getInputStream();
      OutputStream bos = new FileOutputStream(SysUtil.getUserFilePath(userinfo.
          getUsername(), userinfo.getId().longValue()) + picFileName);
      int bytesRead = 0;
      byte[] buffer = new byte[8192];
      while ( (bytesRead = stream.read(buffer, 0, 8192)) != -1) {
        bos.write(buffer, 0, bytesRead);
      }
      bos.close();
      return picFileName;
         }
         catch (Exception e) {
      return null;
         }*/
  }

  public UserInfo delUserPic(UserInfo userinfo) {
    if (userinfo.getHavePic() == 1) {
      File f = new File(SysUtil.getUserFilePath(userinfo.getUsername(),
                                                userinfo.getId().longValue()) +
                        userinfo.getPicFileName());
      if (f.exists()) {
        f.delete();
      }
      userinfo.setHavePic( (short) 0);
      userinfo.setPicFileName("");
      userinfo = this.saveUserInfo(userinfo);
      if (userinfo != null) {
        this.createUserFileInPost(userinfo);
      }
    }
    return userinfo;
  }

  public UserInfo userAtLongin(UserInfo userinfo) {
    if (userinfo.getLoginTime() != userinfo.getLogoutTime()) {
      long nstaytime = SysUtil.getLongTime() - userinfo.getLogoutTime();
      UserLevel ul = SysUtil.getUserLevel(userinfo.getExp());
      short hfpower = (short) (ul.getHpower() * (nstaytime / 3600000) / 12);
      if ( (hfpower + userinfo.getPower()) >= ul.getHpower()) {
        userinfo.setPower( (short) ul.getHpower());
      }
      else {
        userinfo.setPower( (short) (userinfo.getPower() + hfpower));
      }
      if (SysUtil.getLongTime() - userinfo.getLoginTime() >
          SysInfo.getInstance().getLogindistance() * 60000) {
        userinfo.setLoginTimes(userinfo.getLoginTimes() + 1);
      }
    }
    long atime = SysUtil.getLongTime();
    userinfo.setLastLoginTime(userinfo.getLoginTime());
    userinfo.setLoginTime(atime);
    userinfo.setLogoutTime(atime);
    userinfo = this.getUserInfoDAO().saveUserInfo(userinfo);

    return userinfo;
  }

  public UserInfo doExp(UserInfo userinfo) {
    userinfo.setExp( (int) ( (userinfo.getLoginTimes() / 4) +
                            userinfo.getArticleNum() +
                            (userinfo.getStayTime() / 3600000) +
                            userinfo.getExpression()));
    return this.getUserInfoDAO().saveUserInfo(userinfo);
  }

  public int getFriendNum(UserInfo userinfo) {
    if (userinfo.getFriend() == null || userinfo.getFriend().length() == 0) {
      return 0;
    }
    else {
      String f[] = userinfo.getFriend().split(",");
      return f.length;
    }
  }

  public List getFriendList(UserInfo userinfo) {
    List l = new ArrayList();
    if (userinfo.getFriend() == null || userinfo.getFriend().length() == 0) {
      l.add(new Long(0));
      return l;
    }
    else {
      String f[] = userinfo.getFriend().split(",");
      for (int i = 0; i < f.length; i++) {
        l.add(new Long(Long.parseLong(f[i])));
      }
      return l;
    }
  }

  public PageList findUserInfoList(String orderby, String ascordesc,
                                   Pages pages) {
    //return this.getUserInfoDAO().findUserInfoList(orderby, ascordesc, pages);
    PageList pl = new PageList();

    if (pages.getTotals() == -1) {
      pages.setTotals(this.getAllUserNum());
    }
    pages.doPageBreak();

    List l = this.getUserInfoDAO().findUserInfoList(orderby, ascordesc,
        pages.getSpage(), pages.getPerPageNum());

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

  }

  public int getAllUserNum() {
    return getUserInfoDAO().getAllUserNum();
  }

}

⌨️ 快捷键说明

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