Split model URLs for personal and corporate clients
This commit is contained in:
@@ -3,12 +3,11 @@ package com.ruoyi.loanpricing.service;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.alibaba.fastjson2.TypeReference;
|
||||
import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||
import com.ruoyi.common.core.redis.RedisCache;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.http.HttpUtils;
|
||||
import com.ruoyi.loanpricing.domain.dto.ModelInvokeDTO;
|
||||
import com.ruoyi.loanpricing.domain.entity.LoanPricingWorkflow;
|
||||
import com.ruoyi.loanpricing.domain.entity.ModelCorpOutputFields;
|
||||
import com.ruoyi.loanpricing.domain.entity.ModelRetailOutputFields;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
|
||||
|
||||
@@ -28,19 +27,29 @@ import java.util.Objects;
|
||||
@EnableAsync
|
||||
public class ModelService {
|
||||
|
||||
@Value("${model.url}")
|
||||
private String modelUrl;
|
||||
@Value("${model.personal-url}")
|
||||
private String personalModelUrl;
|
||||
|
||||
@Value("${model.corporate-url}")
|
||||
private String corporateModelUrl;
|
||||
|
||||
|
||||
public ModelRetailOutputFields invokePersonalModel(ModelInvokeDTO modelInvokeDTO) {
|
||||
JSONObject mappingOutputFields = invokeModel(personalModelUrl, modelInvokeDTO);
|
||||
return JSON.parseObject(mappingOutputFields.toJSONString(), ModelRetailOutputFields.class);
|
||||
}
|
||||
|
||||
public JSONObject invokeModel(ModelInvokeDTO modelInvokeDTO) {
|
||||
public ModelCorpOutputFields invokeCorporateModel(ModelInvokeDTO modelInvokeDTO) {
|
||||
JSONObject mappingOutputFields = invokeModel(corporateModelUrl, modelInvokeDTO);
|
||||
return JSON.parseObject(mappingOutputFields.toJSONString(), ModelCorpOutputFields.class);
|
||||
}
|
||||
|
||||
private JSONObject invokeModel(String modelUrl, ModelInvokeDTO modelInvokeDTO) {
|
||||
Map<String, String> requestBody = entityToMap(modelInvokeDTO);
|
||||
JSONObject response = HttpUtils.doPostFormUrlEncoded(modelUrl, requestBody, null, JSONObject.class);
|
||||
log.info("------------------->调用模型返回结果:" + JSON.toJSONString(response));
|
||||
if(Objects.nonNull(response) && response.containsKey("code") && response.getInteger("code") == 10000){
|
||||
JSONObject mappingOutputFields = response.getJSONObject("data").getJSONObject("mappingOutputFields");
|
||||
// return JSON.parseObject(mappingOutputFields.toJSONString(), ModelOutputFields.class);
|
||||
return mappingOutputFields;
|
||||
return response.getJSONObject("data").getJSONObject("mappingOutputFields");
|
||||
}else{
|
||||
log.error("------------------->调用模型失败,失败原因为:" + response.getString("message"));
|
||||
throw new ServiceException("调用模型失败");
|
||||
|
||||
Reference in New Issue
Block a user