📄 messengerserviceimpl.java
字号:
package com.briup.run.service;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Map;import com.briup.run.common.exception.DataAccessException;import com.briup.run.common.exception.MessengerServiceException;import com.briup.run.common.transaction.HibernateTransaction;import com.briup.run.common.util.BeanFactory;import com.briup.run.common.util.Page;import com.briup.run.dao.IMemberDao;import com.briup.run.dao.IMessengerDao;import com.briup.run.pojos.Blackrecord;import com.briup.run.pojos.Friendrecord;import com.briup.run.pojos.Memberinfo;import com.briup.run.pojos.Messagerecord;import com.opensymphony.xwork2.ActionContext;public class MessengerServiceImpl implements IMessengerService { IMessengerDao messengerDao = (IMessengerDao) BeanFactory .getBean(BeanFactory.MESSENGERDAO); IMemberDao memberDao = (IMemberDao) BeanFactory .getBean(BeanFactory.MEMBERDAO); public Integer findNewMessageNum(String nickname) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { Integer integer = messengerDao.findNewMessageNum(nickname); ht.commit(); return integer; } catch (DataAccessException e) { e.printStackTrace(); ht.rollback(); } return 0; } public Memberinfo findOneFriend() throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { int sum = memberDao.findMemberinfoNum(); Memberinfo member = memberDao.findOneMemberinfo(sum); ht.commit(); return member; } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public List<Memberinfo> findFriends(String age, String gender, String city) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { List<Memberinfo> list = memberDao.findFriends(age, gender, city); ht.commit(); return list; } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public void addFriend(String name) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); Map session = ActionContext.getContext().getSession(); ht.beginTransaction(); try { Friendrecord f = messengerDao.findFriendByName(name); Blackrecord b = messengerDao.findBlackByName(name); if (f != null) { throw new MessengerServiceException("您已经添加" + name + "好友了"); } if (b != null) { throw new MessengerServiceException("您已经添加" + name + "到黑名单"); } Memberinfo member = (Memberinfo) session.get("memberinfo"); Friendrecord friend = new Friendrecord(); friend.setFriendname(name); friend.setSelfname(member.getNickname()); messengerDao.saveOrUpdateFriend(friend); ht.commit(); } catch (DataAccessException e) { e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public List<Memberinfo> findAllFriend(String name) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { List<Friendrecord> list = messengerDao.findAllFriend(name); List<Memberinfo> mlist = new ArrayList<Memberinfo>(); for(Friendrecord f:list){ Memberinfo member = memberDao.findMemberinfoByName(f.getFriendname()); mlist.add(member); } ht.commit(); return mlist; } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public List<Memberinfo> findAllBlack(String name) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { List<Blackrecord> list = messengerDao.findAllBlack(name); List<Memberinfo> mlist = new ArrayList<Memberinfo>(); for(Blackrecord f:list){ Memberinfo member = memberDao.findMemberinfoByName(f.getBlackname()); mlist.add(member); } ht.commit(); return mlist; } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public void moveToBlack(String name) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); Map session = ActionContext.getContext().getSession(); List<Memberinfo> list = (List<Memberinfo>) session.get("memberlist"); try { Friendrecord f = messengerDao.findFriendByName(name); Blackrecord black = new Blackrecord(); black.setBlackname(f.getFriendname()); black.setSelfname(f.getSelfname()); messengerDao.saveOrUpdateBlack(black); for(Memberinfo m:list){ if(m.getNickname().equals(name)){ list.remove(m); break; } } session.put("memberlist", list); messengerDao.removeFriend(f); ht.commit(); } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public void moveToFriend(String name) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); Map session = ActionContext.getContext().getSession(); List<Memberinfo> list = (List<Memberinfo>) session.get("memberlist"); try { Blackrecord b = messengerDao.findBlackByName(name); Friendrecord f = new Friendrecord(); f.setFriendname(b.getBlackname()); f.setSelfname(b.getSelfname()); messengerDao.saveOrUpdateFriend(f); for(Memberinfo m:list){ if(m.getNickname().equals(name)){ list.remove(m); break; } } messengerDao.removeBlack(b); session.put("memberlist", list); ht.commit(); } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public void delbuddy(String name) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); Map session = ActionContext.getContext().getSession(); List<Memberinfo> list = (List<Memberinfo>) session.get("memberlist"); ht.beginTransaction(); try { Friendrecord friend = messengerDao.findFriendByName(name); messengerDao.removeFriend(friend); for(Memberinfo m:list){ if(m.getNickname().equals(name)){ list.remove(m); break; } } session.put("memberlist", list); ht.commit(); } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public void delblack(String name) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); Map session = ActionContext.getContext().getSession(); List<Memberinfo> list = (List<Memberinfo>) session.get("memberlist"); ht.beginTransaction(); try { Blackrecord black = messengerDao.findBlackByName(name); messengerDao.removeBlack(black); for(Memberinfo m:list){ if(m.getNickname().equals(name)){ list.remove(m); break; } } session.put("memberlist", list); ht.commit(); } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public void sendMessage(String receiver, String title, String content,String sender) throws MessengerServiceException { if(receiver.equals("")){ throw new MessengerServiceException("收件人不能为空"); } HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { Memberinfo m =memberDao.findMemberinfoByName(receiver); if(m==null){ throw new MessengerServiceException("收件人不存在"); } Messagerecord message = new Messagerecord(); message.setContent(content); message.setReceiver(receiver); message.setReceiverstatus(0L); message.setSenddate(new Date()); message.setSender(sender); message.setSenderstatus(0L); message.setStatus(0L); message.setTitle(title); messengerDao.saveOrUpdateMessange(message); ht.commit(); } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public List<Messagerecord> findReceiverMessageByName(String name) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { List<Messagerecord> list = messengerDao.findReceiverMessageByName(name); ht.commit(); return list; } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public List<Messagerecord> findSenderMessageByName(String name) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { List<Messagerecord> list = messengerDao.findSenderMessageByName(name); ht.commit(); return list; } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public Messagerecord findMessageByTitle(String title) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { Messagerecord m = messengerDao.findMessagerecordByTitle(title); m.setStatus(1L); messengerDao.saveOrUpdateMessange(m); ht.commit(); return m; } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public void delMessage(String title,String type) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { Messagerecord m = messengerDao.findMessagerecordByTitle(title); if(type.equals("recevier")){ if(m.getSenderstatus()==1L){ messengerDao.removeMessage(m); }else{ m.setReceiverstatus(1L); messengerDao.saveOrUpdateMessange(m); } ht.commit(); return; } if(type.equals("sender")){ if(m.getReceiverstatus()==1L){ messengerDao.removeMessage(m); }else{ m.setSenderstatus(1L); messengerDao.saveOrUpdateMessange(m); } ht.commit(); return; } } catch (DataAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } } public Page findreceiverMessageByName(String name,int findPage) throws MessengerServiceException { HibernateTransaction ht = new HibernateTransaction(); ht.beginTransaction(); try { Page page = Page.findPage("from Messagerecord where receiver="+name+" and receiverstatus=0", findPage); return page; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); ht.rollback(); throw new MessengerServiceException("数据查找异常"); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -