Java tutorial
/** * * * Licensed under the Apache License, Version 2.0 (the "License"); */ package com.daphne.es.personal.message.service; import com.daphne.es.common.service.BaseService; import com.daphne.es.personal.message.entity.Message; import com.daphne.es.personal.message.entity.MessageState; import com.daphne.es.personal.message.repository.MessageRepository; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; /** * <p>User: * <p>Date: 13-5-22 ?2:40 * <p>Version: 1.0 */ @Service public class MessageService extends BaseService<Message, Long> { private MessageRepository getMessageRepository() { return (MessageRepository) baseRepository; } /** * ?? ??? * * @param senderId * @param oldState * @param newState */ public Integer changeSenderState(Long senderId, MessageState oldState, MessageState newState) { Date changeDate = new Date(); return getMessageRepository().changeSenderState(senderId, oldState, newState, changeDate); } /** * ? ??? * * @param receiverId * @param oldState * @param newState */ public Integer changeReceiverState(Long receiverId, MessageState oldState, MessageState newState) { Date changeDate = new Date(); return getMessageRepository().changeReceiverState(receiverId, oldState, newState, changeDate); } /** * ??? ? * * @param deletedState */ public Integer clearDeletedMessage(MessageState deletedState) { return getMessageRepository().clearDeletedMessage(deletedState); } /** * ? * * @param oldStates * @param newState * @param expireDays ?- ???? */ public Integer changeState(ArrayList<MessageState> oldStates, MessageState newState, int expireDays) { Date changeDate = new Date(); Integer count = getMessageRepository().changeSenderState(oldStates, newState, changeDate, DateUtils.addDays(changeDate, -expireDays)); count += getMessageRepository().changeReceiverState(oldStates, newState, changeDate, DateUtils.addDays(changeDate, -expireDays)); return count; } /** * ? * * @param userId * @return */ public Long countUnread(Long userId) { return getMessageRepository().countUnread(userId, MessageState.in_box); } public void markRead(final Long userId, final Long[] ids) { if (ArrayUtils.isEmpty(ids)) { return; } getMessageRepository().markRead(userId, Arrays.asList(ids)); } }