package com.qxgmat.service.inline; import com.github.pagehelper.Page; import com.nuliji.tools.AbstractService; import com.nuliji.tools.exception.ParameterException; import com.nuliji.tools.exception.SystemException; import com.nuliji.tools.mybatis.Example; import com.qxgmat.data.constants.enums.module.InsideModule; import com.qxgmat.data.dao.FaqMapper; import com.qxgmat.data.dao.entity.Faq; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Collection; import java.util.List; @Service public class FaqService extends AbstractService { private static final Logger logger = LoggerFactory.getLogger(FaqService.class); @Resource private FaqMapper faqMapper; public Page listAdmin(int page, int size, Boolean user, String channel, String position, Integer answerStatus, Boolean isSpecial){ Example example = new Example(Faq.class); if (user != null){ example.and(user ? example.createCriteria().andGreaterThan("userId", 0): example.createCriteria().andEqualTo("user", 0) ); } if (channel != null){ example.and( example.createCriteria().andEqualTo("channel", channel) ); if (position != null){ example.and( example.createCriteria().andEqualTo("position", position) ); } } if (answerStatus != null){ example.and( example.createCriteria().andEqualTo("answerStatus", answerStatus) ); } if(isSpecial != null){ example.and( example.createCriteria().andEqualTo("isSpecial", isSpecial ? 1 : 0) ); } return select(faqMapper, example, page, size); } public Page list(int page, int size, String channel, String position){ Example example = new Example(Faq.class); if (channel != null){ example.and( example.createCriteria().andEqualTo("channel", channel) ); if (position != null){ example.and( example.createCriteria().andEqualTo("position", position) ); } } example.and( example.createCriteria() .orEqualTo("isShow", 1) ); return select(faqMapper, example, page, size); } public Faq add(Faq faq){ int result = insert(faqMapper, faq); faq = one(faqMapper, faq.getId()); if(faq == null){ throw new SystemException("faq添加失败"); } return faq; } public Faq edit(Faq faq){ Faq in = one(faqMapper, faq.getId()); if(in == null){ throw new ParameterException("faq不存在"); } int result = update(faqMapper, faq); return faq; } public boolean delete(Number id){ Faq in = one(faqMapper, id); if(in == null){ throw new ParameterException("faq不存在"); } int result = delete(faqMapper, id); return result > 0; } public Faq get(Number id){ Faq in = one(faqMapper, id); if(in == null){ throw new ParameterException("faq不存在"); } return in; } public Page select(int page, int pageSize){ return select(faqMapper, page, pageSize); } public Page select(Integer[] ids){ return page(()->select(faqMapper, ids), 1, ids.length); } public List select(Collection ids){ return select(faqMapper, ids); } }