package org.jk.system.service.impl;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.jk.common.core.utils.DateUtils;
import org.jk.common.mybatis.core.page.PageQuery;
import org.jk.system.domain.DocumentAuditInfo;
import org.jk.system.mapper.DocumentAuditInfoMapper;
import org.jk.system.service.IDocumentAuditInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 【请填写功能名称】Service业务层处理
 *
 * @author takai
 * @date 2025-05-29
 */
@Service
@RequiredArgsConstructor
public class DocumentAuditInfoServiceImpl implements IDocumentAuditInfoService
{

    private final DocumentAuditInfoMapper documentAuditInfoMapper;

    /**
     * 查询【请填写功能名称】
     *
     * @param documentId 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    @Override
    public DocumentAuditInfo selectDocumentAuditInfoByDocumentId(String documentId)
    {
        return documentAuditInfoMapper.selectDocumentAuditInfoByDocumentId(documentId);
    }

    /**
     * 查询【请填写功能名称】列表
     *
     * @param documentAuditInfo 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<DocumentAuditInfo> selectDocumentAuditInfoList(DocumentAuditInfo documentAuditInfo)
    {
        return documentAuditInfoMapper.selectDocumentAuditInfoList(documentAuditInfo);
    }

    /**
     * 新增【请填写功能名称】
     *
     * @param documentAuditInfo 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertDocumentAuditInfo(DocumentAuditInfo documentAuditInfo)
    {
        documentAuditInfo.setCreateTime(DateUtils.getNowDate());
        return documentAuditInfoMapper.insertDocumentAuditInfo(documentAuditInfo);
    }

    /**
     * 修改【请填写功能名称】
     *
     * @param documentAuditInfo 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateDocumentAuditInfo(DocumentAuditInfo documentAuditInfo)
    {
        documentAuditInfo.setUpdateTime(DateUtils.getNowDate());
        return documentAuditInfoMapper.updateDocumentAuditInfo(documentAuditInfo);
    }

    /**
     * 批量删除【请填写功能名称】
     *
     * @param documentIds 需要删除的【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteDocumentAuditInfoByDocumentIds(String[] documentIds)
    {
        return documentAuditInfoMapper.deleteDocumentAuditInfoByDocumentIds(documentIds);
    }

    /**
     * 删除【请填写功能名称】信息
     *
     * @param documentId 【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteDocumentAuditInfoByDocumentId(String documentId)
    {
        return documentAuditInfoMapper.deleteDocumentAuditInfoByDocumentId(documentId);
    }

    @Override
    public Page<DocumentAuditInfo> selectPageList(DocumentAuditInfo documentAuditInfo, PageQuery pageQuery)
    {
        return documentAuditInfoMapper.selectPageList(documentAuditInfo,pageQuery.build());
    }
}
