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

📄 memberserviceimpl.java

📁 跑步社区网站
💻 JAVA
字号:
package com.briup.run.service;import java.sql.Date;import java.util.Calendar;import java.util.List;import com.briup.run.common.exception.DataAccessException;import com.briup.run.common.exception.MemberServiceException;import com.briup.run.common.transaction.HibernateTransaction;import com.briup.run.common.util.BeanFactory;import com.briup.run.common.util.MD5;import com.briup.run.dao.IMemberDao;import com.briup.run.pojos.Graderecord;import com.briup.run.pojos.Memberinfo;import com.briup.run.pojos.Memberspace;import com.briup.run.pojos.Pointaction;import com.briup.run.pojos.Pointrecord;public class MemberServiceImpl implements IMemberService {	IMemberDao memberDao = 		(IMemberDao) BeanFactory.getBean(BeanFactory.MEMBERDAO);	public Memberinfo findMemberinfoByName(String nickname)			throws MemberServiceException {		Memberinfo memberinfo = null;		try {			 memberinfo = memberDao.findMemberinfoByName(nickname);		} catch (DataAccessException e) {			e.printStackTrace();			throw new MemberServiceException("数据查找失败");		}		return memberinfo;	}	public List<Memberinfo> findMemberinfoByNum(int number)			throws MemberServiceException {		HibernateTransaction ht = new HibernateTransaction();		ht.beginTransaction();		try {			List<Memberinfo> list = memberDao.findMemberinfoByNum(number);			return list;		} catch (DataAccessException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		return null;	}	public Graderecord findMemberinfoLevel(Long point)			throws MemberServiceException {		HibernateTransaction ht = new HibernateTransaction();		ht.beginTransaction();	   Graderecord grader = null;	   try {		    grader = memberDao.findMemberinfoLevel(point);		    ht.commit();	   } catch (DataAccessException e) {		    e.printStackTrace();		    ht.rollback();		    throw new MemberServiceException("等级查找失败!");	   }		return grader;	}	public int findMemberinfoOnline() throws MemberServiceException {		HibernateTransaction ht = new HibernateTransaction();		ht.beginTransaction();		try {			Integer integer = memberDao.findMemberinfoOnline();			ht.commit();			return integer;		} catch (DataAccessException e) {			e.printStackTrace();			ht.rollback();		}		return 0;	}	public Memberinfo login(String username, String passwd)			throws MemberServiceException {			HibernateTransaction ht = new HibernateTransaction();			ht.beginTransaction();		//查看登陆的用户名是否存在			Memberinfo member = null;			try {			member =  memberDao.findMemberinfoByName(username);		//判断用户是否存在		if(member == null){			throw new MemberServiceException("用户名不存在");		}		 String newpasswd =		    	MD5.getInstance().getMD5ofStr(passwd);		//判断密码是否正确			if(!member.getPassword().equals(newpasswd)){			throw new MemberServiceException("密码不正确");		}		//查看登陆的用户是否是注销状态。//		if(member.getStatus()== 1L){//			throw new MemberServiceException(username+"用户已经注销");//		}		//查看登陆的用户是否现在已经是在线状态	//		if(member.getIsonline()==1L){//			throw new MemberServiceException(username+"用户已经在线");		//		}		//判断是否同一天登录		if(member.getLatestdate() == null				|| !isSameDate(member.getLatestdate())){			 Pointaction pointaction = 				 memberDao.findPointactionByPointAction("LOGIN");				member.setPoint(member.getPoint()+pointaction.getPoint());				Pointrecord record = new Pointrecord();				record.setNickname(member.getNickname());				record.setPointaction(pointaction);				record.setReceivedate(new Date(System.currentTimeMillis()));				memberDao.saveOrUpdatePointrecord(record);				Graderecord graderecord=					memberDao.findMemberinfoLevel(member.getPoint());				member.setGraderecord(graderecord);		}		//保存memberinfo信息			    java.util.Date oldDate = member.getLatestdate();	    	    		member.setLatestdate(new Date(System.currentTimeMillis()));		member.setIsonline(1L);		memberDao.saveOrUpdateMemberinfo(member);		ht.commit();        member.setLatestdate(oldDate);						} catch (DataAccessException e) {				e.printStackTrace();				ht.rollback();				throw new MemberServiceException("数据访问异常");			}								return member;	}	public void registerMemberinfo(Memberinfo memberinfo)			throws MemberServiceException {			HibernateTransaction ht = new HibernateTransaction();		ht.beginTransaction();		try {	//判断用户名是否存在	Memberinfo info =			memberDao.findMemberinfoByName(memberinfo.getNickname());    if(info!=null){    	throw new MemberServiceException("用户已经存在");    }    //取到注册可以获取的积米数    Pointaction pointaction =     	memberDao.findPointactionByPointAction("REGISTER");    memberinfo.setPoint(pointaction.getPoint());    //通过MD5加密密码    String newpasswd =    	MD5.getInstance().getMD5ofStr(memberinfo.getPassword());    memberinfo.setPassword(newpasswd);    //获取会员的初始等级  Graderecord recode = 	  memberDao.findMemberinfoLevel(memberinfo.getPoint());    memberinfo.setGraderecord(recode);   //将获取积米的信息记录下来   Pointrecord  precord = new Pointrecord();   precord.setNickname(memberinfo.getNickname());   precord.setPointaction(pointaction);   precord.setReceivedate(new Date(System.currentTimeMillis()));   memberDao.saveOrUpdatePointrecord(precord);   //判断注册的用户有无推荐人      if(!memberinfo.getRecommender().equals("")){	   Memberinfo member = 		 memberDao.findMemberinfoByName(memberinfo.getRecommender());	   if(member == null){		   throw new MemberServiceException("推荐人不存在");	   }	   pointaction = memberDao.findPointactionByPointAction("RECOMMEND");	   member.setPoint(member.getPoint()+pointaction.getPoint());	   recode = memberDao.findMemberinfoLevel(member.getPoint());	   member.setGraderecord(recode);	   precord = new Pointrecord();	   precord.setNickname(member.getNickname());	   precord.setPointaction(pointaction);	   precord.setReceivedate(new Date(System.currentTimeMillis()));	   memberDao.saveOrUpdatePointrecord(precord);	   //添加	   memberDao.saveOrUpdateMemberinfo(member);   }   //最后将注册信息保存到数据库   memberinfo.setRegisterdate(new Date(System.currentTimeMillis()));      memberinfo.setStatus(0L);   memberinfo.setIsonline(0L);   memberDao.saveOrUpdateMemberinfo(memberinfo);   ht.commit();   } catch (DataAccessException e) {	e.printStackTrace();	ht.rollback();	throw new MemberServiceException("数据访问异常");	}									}	public void saveOrUpDate(Memberinfo memberinfo)			throws MemberServiceException {		HibernateTransaction ht = new HibernateTransaction();		ht.beginTransaction();		try {			memberDao.saveOrUpdateMemberinfo(memberinfo);			ht.commit();		} catch (DataAccessException e) {			// TODO Auto-generated catch block			e.printStackTrace();			ht.rollback();			throw new MemberServiceException("memberinfo保存失败");		}			}		private boolean isSameDate(java.util.Date latestdate) {		Calendar calendar = Calendar.getInstance();		int today = calendar.get(Calendar.DAY_OF_YEAR);		calendar.setTime(latestdate);		int lastDate = calendar.get(Calendar.DAY_OF_YEAR);		return today == lastDate;	}	public void saveModify(Memberinfo member,String oldPassword) throws MemberServiceException {			HibernateTransaction ht = new HibernateTransaction();		ht.beginTransaction();			try {			Memberinfo memberinfo = memberDao.findMemberinfoByName(member.getNickname());		    String newOldPasswd = MD5.getInstance().getMD5ofStr(oldPassword);		    if(!memberinfo.getPassword().equals(newOldPasswd)){		    	throw new MemberServiceException("旧密码不正确!");		    }            String newPassword = MD5.getInstance().getMD5ofStr(member.getPassword());		    memberinfo.setAddress(member.getAddress());		    memberinfo.setAge(member.getAge());		    memberinfo.setEmail(member.getEmail());		    memberinfo.setGender(member.getGender());		    memberinfo.setPassword(newPassword);		    memberinfo.setPasswordanswer(member.getPasswordanswer());		    memberinfo.setPasswordquestion(member.getPasswordquestion());		    memberinfo.setPhone(member.getPhone());		    memberinfo.setProvincecity(member.getProvincecity());				    memberDao.saveOrUpdateMemberinfo(memberinfo);				    ht.commit();				} catch (DataAccessException e) {			// TODO Auto-generated catch block			e.printStackTrace();			ht.rollback();			throw new MemberServiceException("数据访问异常");		}	}	public String getNewPasswd(String userName, String question, String answer)			throws MemberServiceException {		HibernateTransaction ht = new HibernateTransaction();		ht.beginTransaction();		try {			Memberinfo memberinfo = memberDao.findMemberinfoByName(userName);			if(!memberinfo.getPasswordquestion().equals(question)){				throw new MemberServiceException("密码提示问题不正确!");			}			if(!memberinfo.getPasswordanswer().equals(answer)){				throw new MemberServiceException("密码提示答案不正确!");			}		    String newPasswd = "briup"+(int)(Math.random()*100+1);		    String passwd = MD5.getInstance().getMD5ofStr(newPasswd);		    memberinfo.setPassword(passwd);		    memberDao.saveOrUpdateMemberinfo(memberinfo);		    ht.commit();		    return newPasswd;		} catch (DataAccessException e) {			e.printStackTrace();			ht.rollback();			throw new MemberServiceException("数据访问异常");		}		}	public boolean isSpace(String name) throws MemberServiceException {		HibernateTransaction ht = new HibernateTransaction();		ht.beginTransaction();	try {		Memberinfo member = memberDao.findMemberinfoByName(name);		if(member != null&&member.getMemberspace()!=null){			return true;		}		ht.commit();	} catch (DataAccessException e) {		// TODO Auto-generated catch block		e.printStackTrace();		ht.rollback();		throw new MemberServiceException("数据访问异常");	}		return false;	}	public void logout(Memberinfo member) throws MemberServiceException {		HibernateTransaction ht = new HibernateTransaction();		ht.beginTransaction();	    member.setIsonline(0L);	    try {			memberDao.saveOrUpdateMemberinfo(member);			ht.commit();		} catch (DataAccessException e) {			// TODO Auto-generated catch block			e.printStackTrace();			ht.rollback();			throw new MemberServiceException("数据访问异常");		}			}}

⌨️ 快捷键说明

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