package com.pnkx.service.impl;

import com.pnkx.common.utils.DateUtils;
import com.pnkx.domain.po.PxDiary;
import com.pnkx.mapper.PxDiaryMapper;
import com.pnkx.service.IPxDiaryService;
import org.springframework.stereotype.Service;

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

/**
 * @author PHY
 * @classname PxDiaryServiceImpl
 * @data 2021/12/30 0030 17:54
 * @description 日记Service业务层处理
 */
@Service
public class PxDiaryServiceImpl implements IPxDiaryService {

    @Resource
    private PxDiaryMapper pxDiaryMapper;

    /**
     * 查询日记
     *
     * @param id 日记ID
     * @return 日记
     */
    @Override
    public PxDiary selectPxDiaryById(Long id) {
        return pxDiaryMapper.selectPxDiaryById(id);
    }

    /**
     * 查询日记列表
     *
     * @param pxDiary 日记
     * @return 日记
     */
    @Override
    public List<PxDiary> selectPxDiaryList(PxDiary pxDiary) {
        return pxDiaryMapper.selectPxDiaryList(pxDiary);
    }

    /**
     * 新增日记
     *
     * @param pxDiary 日记
     * @return 结果
     */
    @Override
    public int insertPxDiary(PxDiary pxDiary) {
        pxDiary.setCreateTime(DateUtils.getNowDate());
        return pxDiaryMapper.insertPxDiary(pxDiary);
    }

    /**
     * 修改日记
     *
     * @param pxDiary 日记
     * @return 结果
     */
    @Override
    public int updatePxDiary(PxDiary pxDiary) {
        pxDiary.setUpdateTime(DateUtils.getNowDate());
        return pxDiaryMapper.updatePxDiary(pxDiary);
    }

    /**
     * 批量删除日记
     *
     * @param ids 需要删除的日记ID
     * @return 结果
     */
    @Override
    public int deletePxDiaryByIds(Long[] ids) {
        return pxDiaryMapper.deletePxDiaryByIds(ids);
    }

    /**
     * 删除日记信息
     *
     * @param id 日记ID
     * @return 结果
     */
    @Override
    public int deletePxDiaryById(Long id) {
        return pxDiaryMapper.deletePxDiaryById(id);
    }

    /**
     * 全局检索日记
     * @param searchCode
     * @return
     */
    @Override
    public List<PxDiary> retrieval(String searchCode) {
        return pxDiaryMapper.retrieval(searchCode);
    }
}
