package com.xinelu.manage.service.batchsendtaskvariableinfo.impl;

import com.xinelu.manage.domain.batchsendtaskvariableinfo.BatchSendTaskVariableInfo;
import com.xinelu.manage.mapper.batchsendtaskvariableinfo.BatchSendTaskVariableInfoMapper;
import com.xinelu.manage.service.batchsendtaskvariableinfo.IBatchSendTaskVariableInfoService;
import org.springframework.stereotype.Service;

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

/**
 * 批量推送任务记录变量属性Service业务层处理
 *
 * @author zh
 * @date 2026-04-26
 */
@Service
public class BatchSendTaskVariableInfoServiceImpl implements IBatchSendTaskVariableInfoService {
    @Resource
    private BatchSendTaskVariableInfoMapper batchSendTaskVariableInfoMapper;

    /**
     * 查询批量推送任务记录变量属性
     *
     * @param id 批量推送任务记录变量属性主键
     * @return 批量推送任务记录变量属性
     */
    @Override
    public BatchSendTaskVariableInfo selectBatchSendTaskVariableInfoById(Long id) {
        return batchSendTaskVariableInfoMapper.selectBatchSendTaskVariableInfoById(id);
    }

    /**
     * 查询批量推送任务记录变量属性列表
     *
     * @param batchSendTaskVariableInfo 批量推送任务记录变量属性
     * @return 批量推送任务记录变量属性
     */
    @Override
    public List<BatchSendTaskVariableInfo> selectBatchSendTaskVariableInfoList(BatchSendTaskVariableInfo batchSendTaskVariableInfo) {
        return batchSendTaskVariableInfoMapper.selectBatchSendTaskVariableInfoList(batchSendTaskVariableInfo);
    }

    /**
     * 新增批量推送任务记录变量属性
     *
     * @param batchSendTaskVariableInfo 批量推送任务记录变量属性
     * @return 结果
     */
    @Override
    public int insertBatchSendTaskVariableInfo(BatchSendTaskVariableInfo batchSendTaskVariableInfo) {
        batchSendTaskVariableInfo.setCreateTime(LocalDateTime.now());
        return batchSendTaskVariableInfoMapper.insertBatchSendTaskVariableInfo(batchSendTaskVariableInfo);
    }

    /**
     * 修改批量推送任务记录变量属性
     *
     * @param batchSendTaskVariableInfo 批量推送任务记录变量属性
     * @return 结果
     */
    @Override
    public int updateBatchSendTaskVariableInfo(BatchSendTaskVariableInfo batchSendTaskVariableInfo) {
        return batchSendTaskVariableInfoMapper.updateBatchSendTaskVariableInfo(batchSendTaskVariableInfo);
    }

    /**
     * 批量删除批量推送任务记录变量属性
     *
     * @param ids 需要删除的批量推送任务记录变量属性主键
     * @return 结果
     */
    @Override
    public int deleteBatchSendTaskVariableInfoByIds(Long[] ids) {
        return batchSendTaskVariableInfoMapper.deleteBatchSendTaskVariableInfoByIds(ids);
    }

    /**
     * 删除批量推送任务记录变量属性信息
     *
     * @param id 批量推送任务记录变量属性主键
     * @return 结果
     */
    @Override
    public int deleteBatchSendTaskVariableInfoById(Long id) {
        return batchSendTaskVariableInfoMapper.deleteBatchSendTaskVariableInfoById(id);
    }
}
