puzhibing
8 小时以前 e1c8c9d51f1c6e42c9868743f16fa8e52bb419cd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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;
    }
 
 
}