📄 messgeserviceimpl.java
字号:
package com.wondersgroup.basemodule.messagemanage.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import com.wondersgroup.basemodule.messagemanage.bo.BaseMessageBO;
import com.wondersgroup.basemodule.messagemanage.bo.MessageReceiverBo;
import com.wondersgroup.basemodule.messagemanage.bo.UnSendMessageBo;
import com.wondersgroup.basemodule.messagemanage.bo.UserBo;
import com.wondersgroup.basemodule.messagemanage.dao.BaseMessageDAO;
import com.wondersgroup.basemodule.messagemanage.dao.MessageReceiverDAO;
import com.wondersgroup.basemodule.messagemanage.dao.UnSendMessageDAO;
import com.wondersgroup.basemodule.messagemanage.dao.UserDAO;
import com.wondersgroup.basemodule.messagemanage.service.MessageService;
public class MessgeServiceImpl implements MessageService {
private BaseMessageDAO baseMessageDAO;
private UserDAO userDAO;
private UnSendMessageDAO unSendMessageDAO;
private MessageReceiverDAO messageReceiverDAO;
/**
* 定时发送消息
*/
public void sendMessage() {
// TODO Auto-generated method stub
ArrayList list = (ArrayList) this.unSendMessageDAO.findAll();
Date date = new Date();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
UnSendMessageBo unSendMessage = (UnSendMessageBo) iterator.next();
if (date.after(unSendMessage.getSendTime())) {
// 发送消息
long messageID = unSendMessage.getBaseMessageBo().getId();
List messageRecerverList = this.messageReceiverDAO
.getMessageReceiverByMessageId(messageID);
for (Iterator it = messageRecerverList.iterator(); it.hasNext();) {
MessageReceiverBo messageReceiverBo = (MessageReceiverBo) it
.next();
messageReceiverBo.setSend_flag(true);// 1表示发送,0表示未发送
this.messageReceiverDAO.update(messageReceiverBo);
}
this.unSendMessageDAO.delete(unSendMessage);// 发送完后,删除该条待发消息
}
}
}
public BaseMessageDAO getBaseMessageDAO() {
return baseMessageDAO;
}
public void setBaseMessageDAO(BaseMessageDAO baseMessageDAO) {
this.baseMessageDAO = baseMessageDAO;
}
public MessageReceiverDAO getMessageReceiverDAO() {
return messageReceiverDAO;
}
public void setMessageReceiverDAO(MessageReceiverDAO messageReceiverDAO) {
this.messageReceiverDAO = messageReceiverDAO;
}
public UnSendMessageDAO getUnSendMessageDAO() {
return unSendMessageDAO;
}
public void setUnSendMessageDAO(UnSendMessageDAO unSendMessageDAO) {
this.unSendMessageDAO = unSendMessageDAO;
}
public UserDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
/**
* 定时发送消息;
* users 接受消息人员ID数组;
*/
public void sendMessageByTime(BaseMessageBO baseMessage, long[] users) {
// TODO Auto-generated method stub
this.baseMessageDAO.save(baseMessage);
UnSendMessageBo unSendMessageBo = new UnSendMessageBo();
unSendMessageBo.setBaseMessageBo(baseMessage);
unSendMessageBo.setSendTime(baseMessage.getSendTime());
this.unSendMessageDAO.save(unSendMessageBo);
for (int i = 0; i < users.length; i++) {
UserBo userbo = (UserBo) this.userDAO.load(new Long(users[i]));
MessageReceiverBo messageReceiverBo = new MessageReceiverBo();
messageReceiverBo.setReceiver(userbo);
messageReceiverBo.setBaseMessage(baseMessage);
messageReceiverBo.setRead_flag(0);
messageReceiverBo.setSend_flag(false);
this.messageReceiverDAO.save(messageReceiverBo);
}
}
/**
* 直接发送消息;
*/
public void sendMessageDirectly(BaseMessageBO baseMessage, long[] users) {
// TODO Auto-generated method stub
this.baseMessageDAO.save(baseMessage);
for (int i = 0; i < users.length; i++) {
UserBo userbo = (UserBo) this.userDAO.load(new Long(users[i]));
MessageReceiverBo messageReceiverBo = new MessageReceiverBo();
messageReceiverBo.setReceiver(userbo);
messageReceiverBo.setBaseMessage(baseMessage);
messageReceiverBo.setRead_flag(0);
messageReceiverBo.setSend_flag(true);
messageReceiverBo.setRespond(false);
this.messageReceiverDAO.save(messageReceiverBo);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -