Commit cadc8739 authored by Roger Wu's avatar Roger Wu

获取数字人token接口

parent 00ddf186
......@@ -359,6 +359,12 @@
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.12</version>
</dependency>
</dependencies>
......
......@@ -210,13 +210,15 @@ public class AgentApplicationInfoConvert {
if (ObjectUtil.isNotEmpty(entity.getDigitalhumanConfig())) {
digitalhumanConfig.setEnable(entity.getDigitalhumanConfig().getEnable());
digitalhumanConfig.setTimbreId(entity.getDigitalhumanConfig().getTimbreId());
digitalhumanConfig.setToken(entity.getDigitalhumanConfig().getToken());
digitalhumanConfig.setAppId(entity.getDigitalhumanConfig().getAppId());
digitalhumanConfig.setAppKey(entity.getDigitalhumanConfig().getAppKey());
digitalhumanConfig.setFigureId(entity.getDigitalhumanConfig().getFigureId());
} else {
digitalhumanConfig.setEnable(CommonConstant.YOrN.N);
digitalhumanConfig.setTimbreId(StringUtils.EMPTY);
digitalhumanConfig.setFigureId(StringUtils.EMPTY);
digitalhumanConfig.setToken(StringUtils.EMPTY);
digitalhumanConfig.setAppKey(StringUtils.EMPTY);
digitalhumanConfig.setAppId(StringUtils.EMPTY);
}
AgentApplicationInfoDto dto = new AgentApplicationInfoDto();
......@@ -295,13 +297,15 @@ public class AgentApplicationInfoConvert {
if (ObjectUtil.isNotEmpty(dto.getDigitalhumanConfig())) {
digitalhumanConfig.setEnable(dto.getDigitalhumanConfig().getEnable());
digitalhumanConfig.setTimbreId(dto.getDigitalhumanConfig().getTimbreId());
digitalhumanConfig.setToken(dto.getDigitalhumanConfig().getToken());
digitalhumanConfig.setAppId(dto.getDigitalhumanConfig().getAppId());
digitalhumanConfig.setAppKey(dto.getDigitalhumanConfig().getAppKey());
digitalhumanConfig.setFigureId(dto.getDigitalhumanConfig().getFigureId());
} else {
digitalhumanConfig.setEnable(CommonConstant.YOrN.N);
digitalhumanConfig.setTimbreId(StringUtils.EMPTY);
digitalhumanConfig.setFigureId(StringUtils.EMPTY);
digitalhumanConfig.setToken(StringUtils.EMPTY);
digitalhumanConfig.setAppId(StringUtils.EMPTY);
digitalhumanConfig.setAppKey(StringUtils.EMPTY);
}
entity.setDigitalhumanConfig(digitalhumanConfig);
......
......@@ -189,13 +189,15 @@ public class BizAgentApplicationPublishConvert {
if (ObjectUtil.isNotEmpty(dto.getDigitalhumanConfig())) {
digitalhumanConfig.setEnable(dto.getDigitalhumanConfig().getEnable());
digitalhumanConfig.setTimbreId(dto.getDigitalhumanConfig().getTimbreId());
digitalhumanConfig.setToken(dto.getDigitalhumanConfig().getToken());
digitalhumanConfig.setAppId(dto.getDigitalhumanConfig().getAppId());
digitalhumanConfig.setAppKey(dto.getDigitalhumanConfig().getAppKey());
digitalhumanConfig.setFigureId(dto.getDigitalhumanConfig().getFigureId());
} else {
digitalhumanConfig.setEnable(CommonConstant.YOrN.N);
digitalhumanConfig.setTimbreId(StringUtils.EMPTY);
digitalhumanConfig.setFigureId(StringUtils.EMPTY);
digitalhumanConfig.setToken(StringUtils.EMPTY);
digitalhumanConfig.setAppId(StringUtils.EMPTY);
digitalhumanConfig.setAppKey(StringUtils.EMPTY);
}
......
......@@ -7,10 +7,20 @@ package cn.com.poc.agent_application.entity;
*/
public class DigitalhumanConfig {
// /**
// * 令牌
// */
// private String token;
/**
* 令牌
*
*/
private String token;
private String appId;
/**
*
*/
private String appKey;
/**
* 是否开启数字人
......@@ -27,14 +37,30 @@ public class DigitalhumanConfig {
*/
private String timbreId;
public String getToken() {
return token;
public String getAppId() {
return appId;
}
public void setToken(String token) {
this.token = token;
public void setAppId(String appId) {
this.appId = appId;
}
public String getAppKey() {
return appKey;
}
public void setAppKey(String appKey) {
this.appKey = appKey;
}
// public String getToken() {
// return token;
// }
//
// public void setToken(String token) {
// this.token = token;
// }
public String getEnable() {
return enable;
}
......
......@@ -136,4 +136,12 @@ public interface AgentApplicationInfoRest extends BaseRest {
* @param agentId agent应用id
*/
void deleteLongMemory(@RequestParam String agentId) throws Exception;
/**
* 生成数字人token
* @param agentId
* @throws Exception
*/
String generalDigitalhumanToken(@RequestParam String agentId) throws Exception;
}
\ No newline at end of file
......@@ -24,6 +24,7 @@ import cn.com.poc.equity.entity.BizPointDeductionRulesEntity;
import cn.com.poc.equity.service.BizPointDeductionRulesService;
import cn.com.poc.knowledge.aggregate.KnowledgeService;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.poc.thirdparty.resource.baidu.utils.BaiduUtils;
import cn.com.poc.thirdparty.resource.demand.ai.constants.KnowledgeSearchTypeEnum;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.AgentLongMemoryEntity;
......@@ -281,7 +282,7 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
//调用应用服务
agentApplicationService.callAgentApplication(agentId, dialogueId, model,
agentSystem, kdIds.toArray(new Integer[0]), databaseIds, communicationTurn, topP,
temperature, dto.getMessages(), tools, checkPluginUseEntity.getFunctionCallResult(),true,
temperature, dto.getMessages(), tools, checkPluginUseEntity.getFunctionCallResult(), true,
infoEntity.getKnowledgeSimilarity(), infoEntity.getKnowledgeNResult(), KnowledgeSearchTypeEnum.valueOf(infoEntity.getKnowledgeSearchType()),
superclassProblemConfig, httpServletResponse);
//数据采集
......@@ -503,4 +504,24 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
Assert.notNull(agentId);
LongMemory.clean(agentId);
}
/**
* 生成数字人token
*
* @param agentId
* @throws Exception
*/
@Override
public String generalDigitalhumanToken(String agentId) throws Exception {
Assert.notNull(agentId);
AgentApplicationInfoDto info = getInfo(agentId);
if (info == null) {
return StringUtils.EMPTY;
}
DigitalhumanConfig digitalhumanConfig = info.getDigitalhumanConfig();
if (StringUtils.isBlank(digitalhumanConfig.getAppId()) || StringUtils.isBlank(digitalhumanConfig.getAppKey())) {
return StringUtils.EMPTY;
}
return BaiduUtils.getDigitalhuman(digitalhumanConfig.getAppId(), digitalhumanConfig.getAppKey());
}
}
\ No newline at end of file
......@@ -2,6 +2,11 @@ package cn.com.poc.thirdparty.resource.baidu.utils;
import cn.com.poc.thirdparty.resource.baidu.constants.BaiduApiErrorEnum;
import org.apache.commons.codec.digest.HmacAlgorithms;
import org.apache.commons.codec.digest.HmacUtils;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
/**
* @author alex.yao
......@@ -17,4 +22,11 @@ public class BaiduUtils {
}
return "Invocation error";
}
public static String getDigitalhuman(String appId, String appKey) {
String expiredTime = ZonedDateTime.now().plusHours(1).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
// token eg: i-khpg99yk2j3gk/7dcefadebec0ee51f312ef1344d1d1cda9db4e35de7279ac7438823b5db96887/2020-10-28T19:40:58.963441+08:00
HmacUtils hmac = new HmacUtils(HmacAlgorithms.HMAC_SHA_256, appKey);
return appId + "/" + hmac.hmacHex(appId + expiredTime) + "/" + expiredTime;
}
}
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