package com.fs.hisStore.service.impl;

import java.util.List;
import com.fs.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.fs.hisStore.mapper.FsMenuScrmMapper;
import com.fs.hisStore.domain.FsMenuScrm;
import com.fs.hisStore.service.IFsMenuScrmService;

/**
 * 用户端菜单管理Service业务层处理
 *
 * @author fs
 * @date 2022-03-15
 */
@Service
public class FsMenuScrmServiceImpl implements IFsMenuScrmService
{
    @Autowired
    private FsMenuScrmMapper fsMenuMapper;

    /**
     * 查询用户端菜单管理
     *
     * @param menuId 用户端菜单管理ID
     * @return 用户端菜单管理
     */
    @Override
    public FsMenuScrm selectFsMenuById(Long menuId)
    {
        return fsMenuMapper.selectFsMenuById(menuId);
    }

    /**
     * 查询用户端菜单管理列表
     *
     * @param param 用户端菜单管理
     * @return 用户端菜单管理
     */
    @Override
    @Cacheable(value = "selectFsMenuList", key = "#param")
    public List<FsMenuScrm> selectFsMenuList(FsMenuScrm param)
    {
        return fsMenuMapper.selectFsMenuList(param);
    }

    /**
     * 新增用户端菜单管理
     *
     * @param fsMenu 用户端菜单管理
     * @return 结果
     */
    @Override
    @CacheEvict(value = "selectFsMenuList",allEntries = true)
    public int insertFsMenu(FsMenuScrm fsMenu)
    {
        fsMenu.setCreateTime(DateUtils.getNowDate());
        return fsMenuMapper.insertFsMenu(fsMenu);
    }

    /**
     * 修改用户端菜单管理
     *
     * @param fsMenu 用户端菜单管理
     * @return 结果
     */
    @Override
    @CacheEvict(value = "selectFsMenuList",allEntries = true)
    public int updateFsMenu(FsMenuScrm fsMenu)
    {
        fsMenu.setUpdateTime(DateUtils.getNowDate());
        return fsMenuMapper.updateFsMenu(fsMenu);
    }

    /**
     * 批量删除用户端菜单管理
     *
     * @param menuIds 需要删除的用户端菜单管理ID
     * @return 结果
     */
    @Override
    @CacheEvict(value = "selectFsMenuList",allEntries = true)
    public int deleteFsMenuByIds(Long[] menuIds)
    {
        return fsMenuMapper.deleteFsMenuByIds(menuIds);
    }

    /**
     * 删除用户端菜单管理信息
     *
     * @param menuId 用户端菜单管理ID
     * @return 结果
     */
    @Override
    @CacheEvict(value = "selectFsMenuList",allEntries = true)
    public int deleteFsMenuById(Long menuId)
    {
        return fsMenuMapper.deleteFsMenuById(menuId);
    }
}
