package com.miaxis.app.news.service.impl;


import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.miaxis.app.news.domain.NewsInfo;
import com.miaxis.app.news.mapper.NewsInfoMapper;
import com.miaxis.app.news.service.INewsInfoService;
import com.miaxis.common.utils.DateUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 新闻(首页资讯、通知、公告相关)Service业务层处理
 *
 * @author miaxis
 * @date 2020-12-22
 */
@Service
public class NewsInfoServiceImpl extends ServiceImpl<NewsInfoMapper, NewsInfo> implements INewsInfoService {
    @Resource
    private NewsInfoMapper newsInfoMapper;

    /**
     * 查询新闻(首页资讯、通知、公告相关)
     *
     * @param id 新闻(首页资讯、通知、公告相关)ID
     * @return 新闻(首页资讯、通知、公告相关)
     */
    @Override
    public NewsInfo selectNewsInfoById(Long id){
        return newsInfoMapper.selectNewsInfoById(id);
    }

    /**
     * 查询新闻(首页资讯、通知、公告相关)列表
     *
     * @param newsInfo 新闻(首页资讯、通知、公告相关)
     * @return 新闻(首页资讯、通知、公告相关)
     */
    @Override
    public List<NewsInfo> selectNewsInfoList(NewsInfo newsInfo){
        return newsInfoMapper.selectNewsInfoList(newsInfo);
    }

    /**
     * 新增新闻(首页资讯、通知、公告相关)
     *
     * @param newsInfo 新闻(首页资讯、通知、公告相关)
     * @return 结果
     */
    @Override
    public int insertNewsInfo(NewsInfo newsInfo){
        newsInfo.setCreateTime(DateUtils.getNowDate());
        return newsInfoMapper.insertNewsInfo(newsInfo);
    }

    /**
     * 修改新闻(首页资讯、通知、公告相关)
     *
     * @param newsInfo 新闻(首页资讯、通知、公告相关)
     * @return 结果
     */
    @Override
    public int updateNewsInfo(NewsInfo newsInfo){
        newsInfo.setUpdateTime(DateUtils.getNowDate());
        return newsInfoMapper.updateNewsInfo(newsInfo);
    }

    /**
     * 批量删除新闻(首页资讯、通知、公告相关)
     *
     * @param ids 需要删除的新闻(首页资讯、通知、公告相关)ID
     * @return 结果
     */
    @Override
    public int deleteNewsInfoByIds(Long[] ids){
        return newsInfoMapper.deleteNewsInfoByIds(ids);
    }

    /**
     * 删除新闻(首页资讯、通知、公告相关)信息
     *
     * @param id 新闻(首页资讯、通知、公告相关)ID
     * @return 结果
     */
    @Override
    public int deleteNewsInfoById(Long id){
        return newsInfoMapper.deleteNewsInfoById(id);
    }
}
