package com.iailab.module.ai.service.schedulesuggest;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import org.springframework.stereotype.Service;
|
import jakarta.annotation.Resource;
|
import org.springframework.validation.annotation.Validated;
|
|
import com.iailab.module.ai.controller.admin.schedulesuggest.vo.*;
|
import com.iailab.module.ai.dal.dataobject.schedulesuggest.ScheduleSuggestDO;
|
import com.iailab.framework.common.pojo.PageResult;
|
import com.iailab.framework.common.util.object.BeanUtils;
|
|
import com.iailab.module.ai.dal.mysql.schedulesuggest.ScheduleSuggestMapper;
|
|
import java.util.List;
|
|
import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.iailab.module.ai.enums.ErrorCodeConstants.*;
|
|
/**
|
* 大模型调度建议 Service 实现类
|
*
|
* @author 超级管理员
|
*/
|
@Service
|
@Validated
|
public class ScheduleSuggestServiceImpl implements ScheduleSuggestService {
|
|
@Resource
|
private ScheduleSuggestMapper scheduleSuggestMapper;
|
|
@Override
|
public Long createScheduleSuggest(ScheduleSuggestSaveReqVO createReqVO) {
|
// 插入
|
ScheduleSuggestDO scheduleSuggest = BeanUtils.toBean(createReqVO, ScheduleSuggestDO.class);
|
scheduleSuggestMapper.insert(scheduleSuggest);
|
// 返回
|
return scheduleSuggest.getId();
|
}
|
|
@Override
|
public void updateScheduleSuggest(ScheduleSuggestSaveReqVO updateReqVO) {
|
// 校验存在
|
validateScheduleSuggestExists(updateReqVO.getId());
|
// 更新
|
ScheduleSuggestDO updateObj = BeanUtils.toBean(updateReqVO, ScheduleSuggestDO.class);
|
scheduleSuggestMapper.updateById(updateObj);
|
}
|
|
@Override
|
public void deleteScheduleSuggest(Long id) {
|
// 校验存在
|
validateScheduleSuggestExists(id);
|
// 删除
|
scheduleSuggestMapper.deleteById(id);
|
}
|
|
private void validateScheduleSuggestExists(Long id) {
|
if (scheduleSuggestMapper.selectById(id) == null) {
|
throw exception(SCHEDULE_SUGGEST_NOT_EXISTS);
|
}
|
}
|
|
@Override
|
public ScheduleSuggestDO getScheduleSuggest(Long id) {
|
return scheduleSuggestMapper.selectById(id);
|
}
|
|
@Override
|
public void operateScheduleSuggest(ScheduleSuggestDO scheduleSuggestDO) {
|
scheduleSuggestMapper.updateById(scheduleSuggestDO);
|
}
|
|
@Override
|
public List<ScheduleSuggestDO> getTopScheduleSuggests(Long top) {
|
return scheduleSuggestMapper.selectList(new LambdaQueryWrapper<ScheduleSuggestDO>()
|
.orderByDesc(ScheduleSuggestDO::getCreateTime)
|
.last("limit " + top));
|
}
|
|
@Override
|
public PageResult<ScheduleSuggestDO> getScheduleSuggestPage(ScheduleSuggestPageReqVO pageReqVO) {
|
return scheduleSuggestMapper.selectPage(pageReqVO);
|
}
|
|
}
|