package com.ruoyi.system.service.remind.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysNotice;
import com.ruoyi.system.domain.remind.WaitRemind;
import com.ruoyi.system.service.remind.IWaitRemindService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.WaitRemindMapper;

/**
 * 待办提醒Service业务层处理
 * 
 * @author boman
 * @date 2024-04-29
 */
@Service
public class WaitRemindServiceImpl implements IWaitRemindService
{
    @Autowired
    private WaitRemindMapper waitRemindMapper;

    /**
     * 查询待办提醒
     * 
     * @param remindId 待办提醒主键
     * @return 待办提醒
     */
    @Override
    public WaitRemind selectWaitRemindByRemindId(Integer remindId)
    {
        WaitRemind waitRemind = waitRemindMapper.selectWaitRemindByRemindId(remindId);
        waitRemind.setIsRead("Y");
        waitRemindMapper.updateWaitRemind(waitRemind);
        return waitRemind;
    }

    /**
     * 查询待办提醒列表
     * 
     * @param waitRemind 待办提醒
     * @return 待办提醒
     */
    @Override
    public List<WaitRemind> selectWaitRemindList(WaitRemind waitRemind)
    {
        Long userId = SecurityUtils.getUserId();
        waitRemind.setReadUserId(userId.toString());
        List<WaitRemind> waitReminds = waitRemindMapper.selectWaitRemindList(waitRemind);
        return waitReminds;
    }

    /**
     * 新增待办提醒
     * 
     * @param waitRemind 待办提醒
     * @return 结果
     */
    @Override
    public int insertWaitRemind(WaitRemind waitRemind)
    {
        waitRemind.setCreateTime(DateUtils.getNowDate());
        return waitRemindMapper.insertWaitRemind(waitRemind);
    }

    /**
     * 修改待办提醒
     * 
     * @param waitRemind 待办提醒
     * @return 结果
     */
    @Override
    public int updateWaitRemind(WaitRemind waitRemind)
    {
        waitRemind.setUpdateTime(DateUtils.getNowDate());
        return waitRemindMapper.updateWaitRemind(waitRemind);
    }

    /**
     * 批量删除待办提醒
     * 
     * @param remindIds 需要删除的待办提醒主键
     * @return 结果
     */
    @Override
    public int deleteWaitRemindByRemindIds(Integer[] remindIds)
    {
        return waitRemindMapper.deleteWaitRemindByRemindIds(remindIds);
    }

    /**
     * 删除待办提醒信息
     * 
     * @param remindId 待办提醒主键
     * @return 结果
     */
    @Override
    public int deleteWaitRemindByRemindId(Integer remindId)
    {
        return waitRemindMapper.deleteWaitRemindByRemindId(remindId);
    }
}
