/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.plugin.message.manager.service; import java.util.Calendar; import java.util.Date; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.Assert; import com.ewcms.plugin.message.manager.dao.MsgReceiveDAO; import com.ewcms.plugin.message.model.MsgReceive; import com.ewcms.web.util.EwcmsContextUtil; /** * * @author wu_zhijun * */ @Service public class MsgReceiveService implements MsgReceiveServiceable { @Autowired private MsgReceiveDAO msgReceiveDAO; @Override public void delMsgReceive(Long msgReceiveId) { msgReceiveDAO.removeByPK(msgReceiveId); } @Override public MsgReceive findMsgReceive(Long msgReceiveId) { return msgReceiveDAO.get(msgReceiveId); } @Override public List<MsgReceive> findMsgReceiveByUserName() { return msgReceiveDAO.findMsgReceiveByUserName(EwcmsContextUtil.getUserName()); } @Override public void markReadMsgReceive(Long msgReceiveId, Boolean read) { MsgReceive msgReceive = msgReceiveDAO.findMsgReceiveByUserNameAndId(EwcmsContextUtil.getUserName(), msgReceiveId); Assert.notNull(msgReceive); if (msgReceive.getRead() != read){ msgReceive.setRead(read); if (read){ msgReceive.setReadTime(new Date(Calendar.getInstance().getTime().getTime())); }else{ msgReceive.setReadTime(null); } msgReceiveDAO.merge(msgReceive); } } @Override public List<MsgReceive> findMsgReceiveByUnRead(String userName) { return msgReceiveDAO.findMsgReceiveByUserNameAndUnRead(userName); } @Override public void readMsgReceive(Long msgReceiveId) { MsgReceive msgReceive = msgReceiveDAO.findMsgReceiveByUserNameAndId(EwcmsContextUtil.getUserName(), msgReceiveId); Assert.notNull(msgReceive); msgReceive.setRead(true); msgReceive.setReadTime(new Date(Calendar.getInstance().getTime().getTime())); msgReceiveDAO.merge(msgReceive); } @Override public Long findUnReadMessageCountByUserName(String userName) { return msgReceiveDAO.findUnReadMessageCountByUserName(userName); } }