package com.xingxi.business.News.service.impl;

import com.xingxi.common.core.text.Convert;
import com.xingxi.common.utils.DateUtils;
import com.xingxi.business.News.domain.News;
import com.xingxi.business.News.mapper.NewsMapper;
import com.xingxi.business.News.service.INewsService;
import org.springframework.stereotype.Service;

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

/**
 * 新闻广告Service业务层处理
 *
 * @author xingxi
 * @date 2025-03-06
 */
@Service
public class NewsServiceImpl implements INewsService {
    @Resource
    private NewsMapper newsMapper;

    /**
     * 查询新闻广告
     *
     * @param newsId 新闻广告主键
     * @return 新闻广告
     */
    @Override
    public News selectNewsByNewsId(Long newsId) {
        return newsMapper.selectNewsByNewsId(newsId);
    }

    /**
     * 查询新闻广告列表
     *
     * @param news 新闻广告
     * @return 新闻广告
     */
    @Override
    public List<News> selectNewsList(News news) {
        return newsMapper.selectNewsList(news);
    }

    /**
     * 新增新闻广告
     *
     * @param news 新闻广告
     * @return 结果
     */
    @Override
    public int insertNews(News news) {
        news.setCreateTime(DateUtils.getNowDate());
        return newsMapper.insertNews(news);
    }

    /**
     * 新增新闻广告
     *
     * @param newsList 新闻广告
     * @return 结果
     */
    @Override
    public int batchInsertNews(List<News> newsList) {
        return newsMapper.batchInsertNews(newsList);
    }

    /**
     * 修改新闻广告
     *
     * @param news 新闻广告
     * @return 结果
     */
    @Override
    public int updateNews(News news) {
        news.setUpdateTime(DateUtils.getNowDate());
        return newsMapper.updateNews(news);
    }

    /**
     * 批量删除新闻广告
     *
     * @param newsIds 需要删除的新闻广告主键
     * @return 结果
     */
    @Override
    public int deleteNewsByNewsIds(String newsIds) {
        return newsMapper.deleteNewsByNewsIds(Convert.toStrArray(newsIds));
    }

    /**
     * 删除新闻广告信息
     *
     * @param newsId 新闻广告主键
     * @return 结果
     */
    @Override
    public int deleteNewsByNewsId(Long newsId) {
        return newsMapper.deleteNewsByNewsId(newsId);
    }

    /**
     * 逻辑删除新闻广告
     *
     * @param newsId 新闻广告主键
     * @return 结果
     */
    @Override
    public int logicDeleteNewsByNewsId(Long newsId) {
        return newsMapper.logicDeleteNewsByNewsId(newsId);
    }

    /**
     * 逻辑批量删除新闻广告
     *
     * @param newsIds 需要删除的数据主键集合
     * @return 结果
     */
    @Override
    public int logicDeleteNewsByNewsIds(String[] newsIds) {
        return newsMapper.logicDeleteNewsByNewsIds(newsIds);
    }

    /**
     * 逻辑批量删除新闻广告
     *
     * @param news 新闻广告
     * @return 结果
     */
    @Override
    public int logicDeleteNewsByCondition(News news) {
        return newsMapper.logicDeleteNewsByCondition(news);
    }
}
