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;
|
}
|
}
|