MessageServiceImpl.java 2.26 KB
package com.sincere.student.service.impl;

import com.github.pagehelper.PageHelper;
import com.sincere.student.dto.MessageSearchDto;
import com.sincere.student.mapper.UniversityMessageMapper;
import com.sincere.student.mapper.UniversityReplyMapper;
import com.sincere.student.model.Message;
import com.sincere.student.model.Reply;
import com.sincere.student.service.MessageService;
import com.sincere.student.utils.DateUtils;
import com.sincere.student.utils.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

@Service
public class MessageServiceImpl implements MessageService {

    @Autowired
    UniversityMessageMapper messageMapper ;

    @Autowired
    UniversityReplyMapper replyMapper ;

    @Override
    public Page<Message> getList(MessageSearchDto messageSearchDto) {
        Page<Message> page = new Page<>(messageSearchDto.getPage(),messageSearchDto.getPageSize());
        if(StringUtils.isNotBlank(messageSearchDto.getSearch())){
            messageSearchDto.setSearch("%"+messageSearchDto.getSearch()+"%");
        }
        PageHelper.startPage(messageSearchDto.getPage(),messageSearchDto.getPageSize());
        List<Message> list = messageMapper.getList(messageSearchDto) ;
        for(Message message : list){
            message.setDistanceTimes(DateUtils.getDistanceTimes(new Date(),message.getCreateTime()));
        }
        page.setList(list);
        page.setCount(messageMapper.getListCount(messageSearchDto));
        return page;
    }

    @Override
    public int deleteMessage(int id) {
        messageMapper.deleteByPrimaryKey(id);
        replyMapper.deleteByMessageId(id);
        return 1;
    }

    @Override
    public int reply(Reply reply) {
        return replyMapper.insert(reply);
    }

    @Override
    public int deleteReply(int id) {
        return replyMapper.deleteByPrimaryKey(id);
    }

    @Override
    public Message getDetail(int id) {
        Message message = messageMapper.getDetail(id);
        message.setList(replyMapper.selectByMessageId(id));
        return message ;
    }

    @Override
    public int create(Message message) {
        return messageMapper.insert(message);
    }
}