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<TEvaluationAutoReplyMapper, TEvaluationAutoReply> implements TEvaluationAutoReplyService {
|
|
@Override
|
public PageInfo<TEvaluationAutoReply> pageList(TEvaluationAutoReplyQuery query) {
|
PageInfo<TEvaluationAutoReply> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize());
|
LambdaQueryWrapper<TEvaluationAutoReply> wrapper = new LambdaQueryWrapper<TEvaluationAutoReply>()
|
.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<TEvaluationAutoReply>) 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<TEvaluationAutoReply> rules = this.list(new LambdaQueryWrapper<TEvaluationAutoReply>()
|
.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;
|
}
|
|
|
}
|