package com.fang.bbks.modules.social.service; import java.util.Date; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.fang.bbks.modules.social.dao.MessageDao; import com.fang.bbks.modules.social.entity.Message; import com.fang.bbks.modules.sys.dao.UserDao; import com.fang.bbks.modules.sys.entity.User; /** * @Intro Book service Component * @author Lee * @Date 2013-8-1 */ @Service("messageService") @Transactional(readOnly = true) public class MessageService{ @SuppressWarnings("unused") private static Logger logger = LoggerFactory.getLogger(MessageService.class); @Autowired private MessageDao messageDao; @Autowired private UserDao userDao; /** * 传送一则消息 * @param content * @param from * @param to */ @Transactional(readOnly = false) public void sendMessage(String content,Long from,Long to){ Message m = new Message(); m.setContent(content); m.setFromu(from); m.setTou(to); m.setIsReply(Message.READ_HIDE);//非回复消息 m.setIsRead(Message.READ_HIDE); m.setCreatAt(new Date()); User ufrom = userDao.findOne(from); User uto = userDao.findOne(to); m.setFromavatar(ufrom.getAvatar()); m.setToavatar(uto.getAvatar()); m.setFromname(ufrom.getUsername()); m.setToname(uto.getUsername()); messageDao.save(m); } @Transactional(readOnly = false) public void replyMessage(Long from,Long to,String content,Long messageId){ Message m = new Message(); m.setIsReply(Message.READ_SHOW);//表示回复 m.setContent(content); m.setFromu(from); m.setTou(to); m.setIsRead(Message.READ_HIDE); m.setCreatAt(new Date()); User ufrom = userDao.findOne(from); User uto = userDao.findOne(to); m.setFromavatar(ufrom.getAvatar()); m.setToavatar(uto.getAvatar()); m.setFromname(ufrom.getUsername()); m.setToname(uto.getUsername()); messageDao.save(m); } /** * 我发出的消息 * @param from * @return */ public List<Message> ISend(Long from){ return messageDao.findByFrom(from); } /** * 我收到的所有消息 * @param to * @return */ public List<Message> IRecived(Long to){ return messageDao.findByTo(to); } /** * 我的未读消息 * @param to * @return */ public List<Message> unRead(Long to){ return messageDao.findUnRead(to); } /** * 获取单一信息详情 * @param id * @return */ public Message findOne(Long id){ return messageDao.findOne(id); } @Transactional(readOnly = false) public void delete(Long id) { messageDao.deleteById(id); } }