package com.ruoyi.order.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TEvaluationAutoReply; import com.ruoyi.order.api.query.TEvaluationAutoReplyQuery; import com.ruoyi.order.mapper.TEvaluationAutoReplyMapper; import com.ruoyi.order.service.TEvaluationAutoReplyService; import org.springframework.stereotype.Service; import java.util.List; @Service public class TEvaluationAutoReplyServiceImpl extends ServiceImpl implements TEvaluationAutoReplyService { @Override public PageInfo pageList(TEvaluationAutoReplyQuery query) { PageInfo pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .like(StringUtils.isNotEmpty(query.getKeyword()), TEvaluationAutoReply::getKeyword, query.getKeyword()) .eq(query.getMark() != null, TEvaluationAutoReply::getMark, query.getMark()) .eq(StringUtils.isNotEmpty(query.getStatus()), TEvaluationAutoReply::getStatus, query.getStatus()) .orderByAsc(TEvaluationAutoReply::getSortOrder) .orderByDesc(TEvaluationAutoReply::getUpdateTime) .orderByDesc(TEvaluationAutoReply::getId); return (PageInfo) this.page(pageInfo, wrapper); } @Override public TEvaluationAutoReply matchRule(String content, Integer mark) { if (StringUtils.isEmpty(content) || mark == null || mark < 1 || mark > 5) { return null; } List rules = this.list(new LambdaQueryWrapper() .eq(TEvaluationAutoReply::getStatus, "0") .eq(TEvaluationAutoReply::getMark, mark) .orderByAsc(TEvaluationAutoReply::getSortOrder) .orderByDesc(TEvaluationAutoReply::getUpdateTime) .orderByDesc(TEvaluationAutoReply::getId)); for (TEvaluationAutoReply rule : rules) { if (StringUtils.isNotEmpty(rule.getKeyword()) && content.contains(rule.getKeyword())) { return rule; } } return null; } }