[update] 删除模型服务校验应用
This commit is contained in:
parent
3150a4e715
commit
545551bec7
@ -99,4 +99,12 @@ public interface ApplicationService {
|
||||
* @return 应用
|
||||
*/
|
||||
Map<Long, String> getApplicationByBaseModelId (Long baseModelId);
|
||||
|
||||
/**
|
||||
* 根据 模型服务id 获取 应用
|
||||
*
|
||||
* @param modelServiceId 模型服务id
|
||||
* @return 应用
|
||||
*/
|
||||
Map<Long, String> getApplicationByModelServiceId (Long modelServiceId);
|
||||
}
|
||||
|
@ -385,11 +385,22 @@ public class ApplicationServiceImpl implements ApplicationService {
|
||||
return getApplicationByBaseModelIdAndType(baseModelId, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 模型服务id 获取 应用
|
||||
*
|
||||
* @param modelServiceId 模型服务id
|
||||
* @return 应用
|
||||
*/
|
||||
@Override
|
||||
public Map<Long, String> getApplicationByModelServiceId (Long modelServiceId) {
|
||||
return getApplicationByBaseModelIdAndType(modelServiceId, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 模型id 和模型类型 获取 应用
|
||||
*
|
||||
* @param modelId 模型id
|
||||
* @param appModelType 应用模型类型 1:预制模型 2:我的模型
|
||||
* @param appModelType 应用模型类型 0:我的模型 1:预制模型
|
||||
* @return 应用
|
||||
*/
|
||||
public Map<Long, String> getApplicationByBaseModelIdAndType (Long modelId, Integer appModelType) {
|
||||
|
@ -1,19 +1,27 @@
|
||||
package cn.iocoder.yudao.module.llm.service.modelservice;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelservice.vo.ModelServicePageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelservice.vo.ModelServiceRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelservice.vo.ModelServiceSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.finetuningtask.FineTuningTaskDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelservice.ModelServiceDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.finetuningtask.FineTuningTaskMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper;
|
||||
import cn.iocoder.yudao.module.llm.framework.backend.config.LLMBackendProperties;
|
||||
import cn.iocoder.yudao.module.llm.service.application.ApplicationService;
|
||||
import cn.iocoder.yudao.module.llm.service.async.AsyncModelServiceService;
|
||||
import cn.iocoder.yudao.module.llm.service.finetuningtask.FineTuningTaskService;
|
||||
import cn.iocoder.yudao.module.llm.service.http.ModelService;
|
||||
import cn.iocoder.yudao.module.llm.service.modelassesstaskauto.ModelAssessTaskAutoService;
|
||||
import cn.iocoder.yudao.module.llm.service.modelassesstaskmanual.ModelAssessTaskManualService;
|
||||
import cn.iocoder.yudao.module.llm.service.modelassesstaskmanualbackup.ModelAssessTaskManualBackupService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -52,6 +60,19 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
@Resource
|
||||
private ModelService modelService;
|
||||
|
||||
@Lazy
|
||||
@Resource
|
||||
private ApplicationService applicationService;
|
||||
|
||||
@Resource
|
||||
private ModelAssessTaskManualService modelAssessTaskManualService;
|
||||
|
||||
@Resource
|
||||
private ModelAssessTaskAutoService modelAssessTaskAutoService;
|
||||
|
||||
@Resource
|
||||
private ModelAssessTaskManualBackupService modelAssessTaskManualBackupService;
|
||||
|
||||
|
||||
@Override
|
||||
public Long createModelService(ModelServiceSaveReqVO createReqVO) {
|
||||
@ -104,10 +125,41 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
public void deleteModelService(Long id) {
|
||||
// 校验存在
|
||||
validateModelServiceExists(id);
|
||||
// 校验使用
|
||||
validateModelUse(id);
|
||||
// 删除
|
||||
modelServiceMapper.deleteById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验模型使用情况
|
||||
*
|
||||
* @param id 模型ID
|
||||
*/
|
||||
private void validateModelUse (Long id) {
|
||||
ModelServiceDO modelDO = modelServiceMapper.selectById(id);
|
||||
String modelName = modelDO.getServiceName();
|
||||
|
||||
// 校验 基座模型 是否在 应用中心 有使用
|
||||
validateModelUsesInApplicationCenter(id, modelName);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验模型是否在 应用中心 有使用
|
||||
*
|
||||
* @param id 模型ID
|
||||
* @param modelName 模型名称
|
||||
*/
|
||||
private void validateModelUsesInApplicationCenter (Long id, String modelName) {
|
||||
Map<Long, String> application = applicationService.getApplicationByModelServiceId(id);
|
||||
if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(application)) {
|
||||
String msg = String.format("模型【%s】在应用中心 %s 有使用,请先取消使用", modelName, application.values());
|
||||
throw exception(new ErrorCode(10003_001, msg));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void validateModelServiceExists(Long id) {
|
||||
if (modelServiceMapper.selectById(id) == null) {
|
||||
throw exception(MODEL_SERVICE_NOT_EXISTS);
|
||||
|
Loading…
x
Reference in New Issue
Block a user