|
@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.alert.service.model.impl; |
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
import cn.iocoder.yudao.framework.common.util.http.HttpUtils; |
|
|
import cn.iocoder.yudao.framework.common.util.http.HttpUtils; |
|
|
import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
|
|
import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
|
@ -12,21 +13,24 @@ import cn.iocoder.yudao.module.alert.common.enums.ModelVisible; |
|
|
import cn.iocoder.yudao.module.alert.controller.admin.model.model.ModelInfo; |
|
|
import cn.iocoder.yudao.module.alert.controller.admin.model.model.ModelInfo; |
|
|
import cn.iocoder.yudao.module.alert.controller.admin.model.vo.*; |
|
|
import cn.iocoder.yudao.module.alert.controller.admin.model.vo.*; |
|
|
import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg; |
|
|
import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg; |
|
|
|
|
|
import cn.iocoder.yudao.module.alert.dao.domain.ModelVersion; |
|
|
import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; |
|
|
import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; |
|
|
import cn.iocoder.yudao.module.alert.dao.service.ModelCfgService; |
|
|
import cn.iocoder.yudao.module.alert.dao.service.ModelCfgService; |
|
|
|
|
|
import cn.iocoder.yudao.module.alert.dao.service.ModelVersionService; |
|
|
import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService; |
|
|
import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService; |
|
|
import cn.iocoder.yudao.module.alert.param.ModelTestParam; |
|
|
import cn.iocoder.yudao.module.alert.param.ModelTestParam; |
|
|
import cn.iocoder.yudao.module.alert.param.TrainParam; |
|
|
import cn.iocoder.yudao.module.alert.param.TrainParam; |
|
|
import cn.iocoder.yudao.module.alert.service.model.ModelService; |
|
|
import cn.iocoder.yudao.module.alert.service.model.ModelService; |
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
import com.fasterxml.jackson.core.type.TypeReference; |
|
|
import com.fasterxml.jackson.core.type.TypeReference; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.util.StringUtils; |
|
|
import org.springframework.util.StringUtils; |
|
|
import org.springframework.web.bind.annotation.RequestBody; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
@ -44,6 +48,8 @@ public class ModelServiceImpl implements ModelService { |
|
|
|
|
|
|
|
|
private final SystemCfgService systemCfgService; |
|
|
private final SystemCfgService systemCfgService; |
|
|
|
|
|
|
|
|
|
|
|
private final ModelVersionService modelVersionService; |
|
|
|
|
|
|
|
|
@Value("${algorithm.host}") |
|
|
@Value("${algorithm.host}") |
|
|
private String algorithmHost; |
|
|
private String algorithmHost; |
|
|
|
|
|
|
|
@ -147,16 +153,36 @@ public class ModelServiceImpl implements ModelService { |
|
|
new TypeReference<Map<String, String>>() { |
|
|
new TypeReference<Map<String, String>>() { |
|
|
}).get("error_msg")); |
|
|
}).get("error_msg")); |
|
|
} |
|
|
} |
|
|
return JsonUtils.parseObject(trainBody, new TypeReference<TrainInfo>() { |
|
|
return JsonUtils.parseObject(trainBody, new TypeReference<>() { |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public ModelTestData getModelTestData(ModelTestParam param) { |
|
|
public ModelTestData getModelTestData(ModelTestParam param) { |
|
|
String result = HttpUtils.post(algorithmHost + "/api/test/Test", null, JsonUtils.toJsonString(param)) |
|
|
String result = HttpUtils.post(algorithmHost + "/api/test/Test", null, JsonUtils.toJsonString(param)) |
|
|
.replace("NaN", "-1").replace("Infinity", "1"); |
|
|
.replace("NaN", "-1").replace("Infinity", "1"); |
|
|
return JsonUtils.parseObject(result, ModelTestData.class); |
|
|
return JsonUtils.parseObject(result, ModelTestData.class); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
|
public ModelInfoVO bottomModel(Integer id) { |
|
|
|
|
|
ModelCfg modelCfg = modelCfgService.getById(id); |
|
|
|
|
|
ModelInfoVO modelInfo = JSON.parseObject(modelCfg.getModelInfo(), ModelInfoVO.class); |
|
|
|
|
|
modelInfo.setBtmState(ModelStatus.FINISH.desc); |
|
|
|
|
|
modelInfo.setVersion("v-" + DateUtil.now()); |
|
|
|
|
|
modelInfo.setModifier(SecurityFrameworkUtils.getLoginUserNickname()); |
|
|
|
|
|
modelInfo.setModifiedTime(new Date()); |
|
|
|
|
|
modelCfg.setModelInfo(JSON.toJSONString(modelInfo)); |
|
|
|
|
|
modelCfg.setUpdateTime(new Date()); |
|
|
|
|
|
modelCfg.setStatus(ModelStatus.FINISH.code); |
|
|
|
|
|
modelCfgService.updateById(modelCfg); |
|
|
|
|
|
|
|
|
|
|
|
ModelVersion modelVersion = BeanUtil.copyProperties(modelCfg, ModelVersion.class); |
|
|
|
|
|
modelVersion.setId(null); |
|
|
|
|
|
modelVersion.setModelId(id); |
|
|
|
|
|
modelVersionService.save(modelVersion); |
|
|
|
|
|
return modelInfo; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|