package com.ruoyi.system.service.impl; import java.util.List; import javax.annotation.Resource; import com.ruoyi.common.core.exception.ServiceException; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.SysFaqMapper; import com.ruoyi.system.domain.SysFaq; import com.ruoyi.system.service.ISysFaqService; /** * 常见问题Service业务层处理 * * @author ruoyi * @date 2026-06-25 */ @Service public class SysFaqServiceImpl implements ISysFaqService { private static final String FAULT_PULL_TUTORIAL = "故障拔枪教程"; @Resource private SysFaqMapper sysFaqMapper; /** * 查询常见问题 * * @param faqId 常见问题ID * @return 常见问题 */ @Override public SysFaq selectSysFaqById(Long faqId) { return sysFaqMapper.selectSysFaqById(faqId); } /** * 查询常见问题列表 * * @param sysFaq 常见问题 * @return 常见问题 */ @Override public List selectSysFaqList(SysFaq sysFaq) { sysFaqMapper.ensureFaultPullTutorial(); return sysFaqMapper.selectSysFaqList(sysFaq); } /** * 新增常见问题 * * @param sysFaq 常见问题 * @return 结果 */ @Override public int insertSysFaq(SysFaq sysFaq) { return sysFaqMapper.insertSysFaq(sysFaq); } /** * 修改常见问题 * * @param sysFaq 常见问题 * @return 结果 */ @Override public int updateSysFaq(SysFaq sysFaq) { return sysFaqMapper.updateSysFaq(sysFaq); } /** * 批量删除常见问题 * * @param faqIds 需要删除的常见问题ID * @return 结果 */ @Override public int deleteSysFaqByIds(Long[] faqIds) { for (Long faqId : faqIds) { SysFaq faq = sysFaqMapper.selectSysFaqById(faqId); if (faq != null && FAULT_PULL_TUTORIAL.equals(faq.getQuestion())) { throw new ServiceException("故障拔枪教程为固定内容,只能编辑"); } } return sysFaqMapper.deleteSysFaqByIds(faqIds); } /** * 删除常见问题信息 * * @param faqId 常见问题ID * @return 结果 */ @Override public int deleteSysFaqById(Long faqId) { SysFaq faq = sysFaqMapper.selectSysFaqById(faqId); if (faq != null && FAULT_PULL_TUTORIAL.equals(faq.getQuestion())) { throw new ServiceException("故障拔枪教程为固定内容,只能编辑"); } return sysFaqMapper.deleteSysFaqById(faqId); } /** * 检查问题是否已存在 * * @param question 问题标题 * @return 结果 */ @Override public boolean isQuestionExists(String question) { SysFaq queryFaq = new SysFaq(); queryFaq.setQuestion(question); List list = sysFaqMapper.selectSysFaqList(queryFaq); return list != null && !list.isEmpty(); } }