package com.yiqi.system.service.impl;

import java.util.List;
import com.yiqi.common.utils.DateUtils;
import com.yiqi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yiqi.system.mapper.SysFeedbackMapper;
import com.yiqi.system.domain.SysFeedback;
import com.yiqi.system.service.ISysFeedbackService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

/**
 * 意见反馈Service业务层处理
 *
 * @author xiaohei
 * @date 2023-11-02
 */
@Service
public class SysFeedbackServiceImpl extends ServiceImpl<SysFeedbackMapper,SysFeedback> implements ISysFeedbackService {

    /**
     * 查询意见反馈
     *
     * @param id 意见反馈主键
     * @return 意见反馈
     */
    @Override
    public SysFeedback selectSysFeedbackById(Long id) {
        return baseMapper.selectSysFeedbackById(id);
    }

    /**
     * 查询意见反馈列表
     *
     * @param sysFeedback 意见反馈
     * @return 意见反馈
     */
    @Override
    public List<SysFeedback> selectSysFeedbackList(SysFeedback sysFeedback) {
        return baseMapper.selectSysFeedbackList(sysFeedback);
    }

    /**
     * 新增意见反馈
     *
     * @param sysFeedback 意见反馈
     * @return 结果
     */
    @Override
    public int insertSysFeedback(SysFeedback sysFeedback) {
        sysFeedback.setCreateTime(DateUtils.getNowDate());
        return baseMapper.insertSysFeedback(sysFeedback);
    }

    /**
     * 修改意见反馈
     *
     * @param sysFeedback 意见反馈
     * @return 结果
     */
    @Override
    public int updateSysFeedback(SysFeedback sysFeedback) {
        sysFeedback.setUpdateTime(DateUtils.getNowDate());
        return baseMapper.updateSysFeedback(sysFeedback);
    }

    /**
     * 批量删除意见反馈
     *
     * @param ids 需要删除的意见反馈主键
     * @return 结果
     */
    @Override
    public int deleteSysFeedbackByIds(Long[] ids) {
        return baseMapper.deleteSysFeedbackByIds(ids);
    }

    /**
     * 删除意见反馈信息
     *
     * @param id 意见反馈主键
     * @return 结果
     */
    @Override
    public int deleteSysFeedbackById(Long id) {
        return baseMapper.deleteSysFeedbackById(id);
    }

    /**
     * 修改意见反馈状态
     *
     * @param sysFeedback 意见反馈
     * @return 结果
     */
    @Override
    public int updateSysFeedbackStatus(SysFeedback sysFeedback) {
        sysFeedback.setUpdateById(SecurityUtils.getUserId());
        sysFeedback.setUpdateBy(SecurityUtils.getUsername());
        sysFeedback.setUpdateTime(DateUtils.getNowDate());
        return baseMapper.updateSysFeedback(sysFeedback);
    }


}
