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

📄 clubuserfindpass.java

📁 特色: 1.今晚在线社区独有的双风格分桢形式 2.社区最多可进行3级分类
💻 JAVA
字号:
/*
 * Created on 2005-9-4
 * Made In GamVan
 */
package com.gamvan.club.user;

import java.util.Random;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.gamvan.club.ClubInfo;
import com.gamvan.club.item.ClubInfoItem;
import com.gamvan.club.item.ClubUserItem;
import com.gamvan.conn.ConnClub;
import com.gamvan.tools.EncodeString;
import com.gamvan.tools.Gmail;
/**
 * 
 * @author GamVan by 我容易么我
 * Powered by GamVan.com
 */
public class ClubUserFindPass extends ClubUserItem{
    private static final long serialVersionUID = 1L;

    private String message = "";
    private String question = "";
    private String answer = "";
    
    private Gmail gm = new Gmail();
    private ClubInfo ci = new ClubInfo();
    
    
    public void findPass(){
        ClubUserItem cui = null;
        ClubUsers cu = new ClubUsers();
        cui = cu.userInfo(userName);
        if(cui!=null){
            userID = cui.getUserID();
            userQuestion = cui.getUserQuestion();
            userAnswer = cui.getUserAnswer();  
            userEmail = cui.getUserEmail();
        }else{
            message = "用户名:" + userName + " 不存在!";
            return;
        }
        
        if(userQuestion==null || userQuestion.trim().equals("")){
            message = "糟糕,这个用户名没有密码保护!";
            return;
        }
        answer = EncodeString.encodeString("md5of16",answer);
        
        if(!userQuestion.equals(question) || !userAnswer.equals(answer)){
            message = "Sorry,密码提示问题或答案不符,请重新尝试或向管理员求助!";
            return;
        }else{
            StringBuffer content = new StringBuffer();
            Random ran = new Random();
            userPass = String.valueOf(Math.abs(ran.nextInt()%100000));
            ClubInfoItem cii = null;
            cii = ci.clubInfo();
            String clubSmtp = cii.getClubSmtp();
            String clubSmtpID = cii.getClubSmtpID();
            String clubSmtpPass = cii.getClubSmtpPass();
            String clubSmtpPort = cii.getClubSmtpPort();
            int clubSmtpSSL = cii.getClubSmtpSSL();
            int clubSmtpUsePass = cii.getClubSmtpUsePass();
            String clubName = cii.getClubName();
            String clubEmailSend = cii.getClubEmailSend();
            String clubEmail = cii.getClubEmail();
            
            if(clubSmtpUsePass==1){
                gm.setNeedAuth("true");
            }else{
                gm.setNeedAuth("false");
            }
            gm.setSmtpServer(clubSmtp);
            gm.setSmtpID(clubSmtpID);
            gm.setSmtpPass(clubSmtpPass);
            gm.setSmtpPort(clubSmtpPort); //验证服务器端口
            gm.setNeedSSL(clubSmtpSSL); //验证服务器要加密
            gm.setFromEmail(clubEmail);
            gm.setFromName(clubEmailSend);           
            gm.setToEmail(userEmail);
            gm.setToName(userName);
            gm.setSubject("来自<"+clubName+">  的密码找回提示");
            
            content.append("您在 "+ clubName + " 执行了密码找回,以下是系统为您生成的新密码!<br/>");
            content.append(userPass);
            content.append("<br/>请牢记,并使用新密码登陆!");
            
            gm.setContent(content.toString());
            boolean bea = gm.mailSender();
            if(bea){
                userPassUpdate(userName, userPass);
            }else{
                message = "密码找回失败,无法发送Email通知您的新密码!<br/>";
                message += gm.getMessage();
            }
        }      

    }
    
    public void userPassUpdate(String username, String userpass){
        userpass = EncodeString.encodeString("md5of16",userpass);
        Session session = ConnClub.getSession();
        StringBuffer hql = new StringBuffer();
        Transaction tran = session.beginTransaction();
        try{
            hql.append("update ClubUserItem set userPass=?");
            hql.append(" where userName=?");
            Query query = session.createQuery(hql.toString())
            .setString(0, userpass)
            .setString(1, username);
            query.executeUpdate();
            tran.commit();
            message = "密码找回成功,已经发送到注册信箱!";
        }catch(HibernateException e){
            message = e.toString();
        }  
    }
    
    public void setAnswer(String answer) {
        this.answer = answer;
    }

    public void setQuestion(String question) {
        this.question = question;
    }
    public String getMessage() {
        return message;
    }

}

⌨️ 快捷键说明

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