📄 messages.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的 */package biz.tbuy.message.bean;import biz.tbuy.common.Constants;import biz.tbuy.common.Utils;import biz.tbuy.common.Visitor;import biz.tbuy.common.logs.Elog;import biz.tbuy.common.page.DataPage;import biz.tbuy.common.page.PagedListDataModel;import biz.tbuy.message.MessageAction;import biz.tbuy.message.MessageModel;import java.util.ArrayList;import java.util.List;import javax.faces.component.UIData;import javax.faces.event.ActionEvent;import javax.faces.model.DataModel;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b><a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b><a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class Messages extends BaseBean{ private DataModel _messages; private int _pageSize = 10; private UIData _uiMessages; /** Creates a new instance of Messages */ public Messages() {} public void setMessages(DataModel messages) { _messages = messages; } public DataModel getMessages() { if (_messages == null) { _messages = new LocalDataModel(_pageSize); } return _messages; } public void setPageSize(int pageSize) { _pageSize = pageSize; } public int getPageSize() { return _pageSize; } public void setUiMessages(UIData uiMessages) { _uiMessages = uiMessages; } public UIData getUiMessages() { return _uiMessages; } // -----------------------------------------------------------action /** * 选定短讯,并转到显示页面,数据绑定已经在页面中进行, * 这里只是返回success即可, (但需要将信息更新为“已读”,如果未读) */ public String toShow() { MessageModel message = (MessageModel)_uiMessages.getRowData(); afterViewMessage(message); return Constants.OUT_SUCCESS; } /** * 删除选定的一条记录 */ public String delete() { MessageModel message = (MessageModel)_uiMessages.getRowData(); if (MessageAction.deleteMessage(message)) { Utils.addInfoMessage(getBundle(), "删除信息成功!"); afterDeleteMessage(); // 重新检查用户是否有短讯件 return Constants.OUT_SUCCESS; } else { Utils.addErrorMessage(getBundle(), "删除信息时遇到问题!"); return Constants.OUT_FAILURE; } } /** * 删除多个已经选中的短讯息 */ public String deleteMany() { DataModel dataList = (DataModel)_uiMessages.getValue(); List<MessageModel> messages = (ArrayList<MessageModel>)dataList.getWrappedData(); List<MessageModel> messRevokes = new ArrayList<MessageModel>(); for (MessageModel message : messages) { if (message.getBeRevoke()) { messRevokes.add(message); } } if (!messRevokes.isEmpty()) { MessageAction.deleteMessages(messRevokes); Utils.addInfoMessage(getBundle(), "删除成功!"); afterDeleteMessage(); // 重新检查用户是否有短讯件 } return Constants.OUT_SUCCESS; } /** * 作用:在用户查看短讯息后的一系列可能的更新等 * 1.更新短消息为已读 * 2.重新判断用户是否有新的短信件 * @param message 被发送的信件 */ public void afterViewMessage(MessageModel message) { if (!message.getBeRead()) { // 1 message.setBeRead(true); if (!MessageAction.updateMessage(message)) { Elog.log("出错,系统在更新“短消息”为已读的时候遇到问题!"); } // 2 Visitor visitor = getVisitor(); if (visitor != null) { visitor.setNews(MessageAction.isNewMessages(visitor.getUser().getId())); } } } /** * 作用:在用户删除短讯息后的一系列可能的更新等 * 1.重新判断用户是否有新的短信件 */ private void afterDeleteMessage() { // 1 Visitor visitor = getVisitor(); if (visitor != null) { visitor.setNews(MessageAction.isNewMessages(visitor.getUser().getId())); } } // -----------------------------------------------------------页面跳转 private int _jumpTo; public void setJumpTo(int jumpTo) { _jumpTo = jumpTo; } public int getJumpTo() { return _jumpTo; } /** * 关于页面的跳转 */ public void jump(ActionEvent e) { double totalPage = Math.ceil((double)_uiMessages.getRowCount() / _pageSize); out("totalPage=" + totalPage); if (_jumpTo > 0 && _jumpTo <= totalPage) { int first = (_jumpTo - 1) * _pageSize; _uiMessages.setFirst(first); } } // -----------------------------------------------------------page about protected DataPage getDataPage(int startRow, int pageSize) { if (!getVisitor().isLogin()) { return null; } String userId = getVisitor().getUser().getId(); int total = MessageAction.getTotalByToUser(userId); List<MessageModel> dataList = MessageAction.getMessagesByToUser(userId, startRow, pageSize); return new DataPage(total, startRow, dataList); } private class LocalDataModel extends PagedListDataModel { public LocalDataModel(int pageSize) { super (pageSize); } public DataPage fetchPage(int startRow,int pageSize) { // call enclosing managed bean method to fetch the data return getDataPage(startRow, pageSize); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -