package com.ruoyi.generator.service;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.generator.mapper.SysModuleMapper;
import com.ruoyi.generator.domain.SysModule;
import com.ruoyi.generator.service.ISysModuleService;

/**
 * 功能模块Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-05-09
 */
@Service
public class SysModuleServiceImpl implements ISysModuleService 
{
    @Autowired
    private SysModuleMapper sysModuleMapper;

    /**
     * 查询功能模块
     * 
     * @param moduleId 功能模块主键
     * @return 功能模块
     */
    @Override
    public SysModule selectSysModuleByModuleId(Long moduleId)
    {
        return sysModuleMapper.selectSysModuleByModuleId(moduleId);
    }

    /**
     * 查询功能模块列表
     * 
     * @param sysModule 功能模块
     * @return 功能模块
     */
    @Override
    public List<SysModule> selectSysModuleList(SysModule sysModule)
    {
        return sysModuleMapper.selectSysModuleList(sysModule);
    }

    /**
     * 新增功能模块
     * 
     * @param sysModule 功能模块
     * @return 结果
     */
    @Override
    public int insertSysModule(SysModule sysModule)
    {
        sysModule.setCreateTime(DateUtils.getNowDate());
        return sysModuleMapper.insertSysModule(sysModule);
    }

    /**
     * 修改功能模块
     * 
     * @param sysModule 功能模块
     * @return 结果
     */
    @Override
    public int updateSysModule(SysModule sysModule)
    {
        sysModule.setUpdateTime(DateUtils.getNowDate());
        return sysModuleMapper.updateSysModule(sysModule);
    }

    /**
     * 批量删除功能模块
     * 
     * @param moduleIds 需要删除的功能模块主键
     * @return 结果
     */
    @Override
    public int deleteSysModuleByModuleIds(Long[] moduleIds)
    {
        return sysModuleMapper.deleteSysModuleByModuleIds(moduleIds);
    }

    /**
     * 删除功能模块信息
     * 
     * @param moduleId 功能模块主键
     * @return 结果
     */
    @Override
    public int deleteSysModuleByModuleId(Long moduleId)
    {
        return sysModuleMapper.deleteSysModuleByModuleId(moduleId);
    }
}
