2
yangbin
2024-08-28 2166c1a14f9629aa49a5f3bb849ce878df4c4892
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package org.jeecg.modules.ai.service.imp;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.ai.entity.LanguageModel;
import org.jeecg.modules.ai.mapper.LanguageModelMapper;
import org.jeecg.modules.ai.service.ILanguageModelService;
import org.jeecg.modules.system.util.SecurityUtil;
import org.jeecg.modules.utils.BeanMapper;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
/**
 * @author clown
 * * @date 2024/8/19
 */
@Service
public class LanguageModelServiceImpl extends ServiceImpl<LanguageModelMapper,LanguageModel> implements ILanguageModelService {
 
    @Override
    public boolean addLanguageModel(LanguageModel languageModel) {
        if (languageModel == null || languageModel.getAiType() == null) {
            return false;
        }
        LanguageModel model = new LanguageModel();
        if (languageModel.getAiType() == 1) {
            boolean one =super.save(languageModel);
            if (one) {
                model.setProblem(languageModel.getProblem());
                model.setParentId(languageModel.getId());
                model.setAiType(2);
                super.save(model);
                return true;
            }
        }
        else  if (languageModel.getAiType() == 2 || languageModel.getAiType() == 3) {
            //查询父类ID
            super.save(languageModel);
            return true;
        }
        return false;
    }
 
    @Override
    public LanguageModel selectParentId(Integer aiType, String aiId) {
        LanguageModel info = new LanguageModel();
        List<LanguageModel> list = super.list(new LambdaQueryWrapper<LanguageModel>().
                eq(LanguageModel::getAiType, aiType).
                eq(LanguageModel::getAiId, aiId).
                orderByDesc(LanguageModel::getCreateTime)
        );
        if (list == null || list.isEmpty()) {
            return null;
        }
        BeanMapper.copy(list.get(0),info);
        return info;
    }
 
    @Override
    public List<LanguageModel> findListAiTitles() {
        LoginUser user = (LoginUser)SecurityUtils.getSubject().getPrincipal();
        List<LanguageModel> list = super.list(new LambdaQueryWrapper<LanguageModel>().
                eq(LanguageModel::getAiType, 1).
                eq(LanguageModel::getCreateBy, user.getUsername()).
                orderByDesc(LanguageModel::getCreateTime)
        );
        if (list == null || list.isEmpty()) {
            return null;
        }
        return list;
    }
 
    @Override
    public List<LanguageModel> languageProblems(String id) {
        LoginUser user = (LoginUser)SecurityUtils.getSubject().getPrincipal();
        LambdaQueryWrapper<LanguageModel> wrapperL = new LambdaQueryWrapper<>();
        wrapperL.eq(LanguageModel::getCreateBy, user.getUsername());
        wrapperL.eq(LanguageModel::getParentId, id);
        wrapperL.and((wrapper)->wrapper.eq(LanguageModel::getAiType, 2).
                        or().
                        eq(LanguageModel::getAiType, 3));
        wrapperL.orderByAsc(LanguageModel::getCreateTime);
        List<LanguageModel> list = super.list(wrapperL);
        if (list == null || list.isEmpty()) {
            return null;
        }
        return list;
    }
}