Commit 5c14255a authored by alex yao's avatar alex yao

feat: database chain 异常处理

parent df3ff71a
...@@ -10,12 +10,21 @@ import java.io.Serializable; ...@@ -10,12 +10,21 @@ import java.io.Serializable;
*/ */
public class DBChainResult extends AbstractResult implements Serializable { public class DBChainResult extends AbstractResult implements Serializable {
private String status;
private String sql; private String sql;
private String sqlResult; private String sqlResult;
private String result; private String result;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getSql() { public String getSql() {
return sql; return sql;
...@@ -40,4 +49,14 @@ public class DBChainResult extends AbstractResult implements Serializable { ...@@ -40,4 +49,14 @@ public class DBChainResult extends AbstractResult implements Serializable {
public void setResult(String result) { public void setResult(String result) {
this.result = result; this.result = result;
} }
@Override
public String toString() {
return "DBChainResult{" +
"status='" + status + '\'' +
", sql='" + sql + '\'' +
", sqlResult='" + sqlResult + '\'' +
", result='" + result + '\'' +
'}';
}
} }
...@@ -25,7 +25,12 @@ public class ChainServiceImpl implements ChainService { ...@@ -25,7 +25,12 @@ public class ChainServiceImpl implements ChainService {
@Override @Override
public DBChainResult dbChain(DBChainResponse response) { public DBChainResult dbChain(DBChainResponse response) {
logger.info("dbChain response : {}", response); logger.info("dbChain response : {}", response);
return aiDialogueService.dbChain(response); DBChainResult dbChainResult = aiDialogueService.dbChain(response);
if (dbChainResult == null || dbChainResult.getStatus().equals("error")) {
logger.error("dbChain result error : {} , response:{}", dbChainResult, response);
return null;
}
return dbChainResult;
} }
} }
package cn.com.poc.thirdparty.resource.demand.ai.service;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dbchain.DBChainResponse;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dbchain.DBChainResult;
import cn.com.poc.thirdparty.service.ChainService;
import cn.com.yict.framemax.core.spring.SingleContextInitializer;
import com.alibaba.fastjson.JSONObject;
import org.junit.runner.RunWith;
import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import javax.annotation.Resource;
/**
* @author alex.yao
* @date 2025/4/28
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(initializers = SingleContextInitializer.class)
@WebAppConfiguration
public class ChainServiceTest {
@Resource
private ChainService chainService;
@Test
public void test_dbChain(){
DBChainResponse response = new DBChainResponse();
response.setQuestion("查询百度插件详情");
// response.setPrompt();
// response.setTableFilters();
response.setMysqlUser("dmgm_ai_root");
response.setMysqlPassword("8253f3862ab6");
response.setMysqlHost("192.168.21.31");
response.setMysqlPort(3306);
response.setMysqlDatabase("dgmg_ai_sit");
DBChainResult dbChainResult = chainService.dbChain(response);
System.out.println(JSONObject.toJSONString(dbChainResult));
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment