Commit cadc8739 authored by Roger Wu's avatar Roger Wu

获取数字人token接口

parent 00ddf186
...@@ -359,6 +359,12 @@ ...@@ -359,6 +359,12 @@
<version>5.0.1</version> <version>5.0.1</version>
</dependency> </dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.12</version>
</dependency>
</dependencies> </dependencies>
......
...@@ -210,13 +210,15 @@ public class AgentApplicationInfoConvert { ...@@ -210,13 +210,15 @@ public class AgentApplicationInfoConvert {
if (ObjectUtil.isNotEmpty(entity.getDigitalhumanConfig())) { if (ObjectUtil.isNotEmpty(entity.getDigitalhumanConfig())) {
digitalhumanConfig.setEnable(entity.getDigitalhumanConfig().getEnable()); digitalhumanConfig.setEnable(entity.getDigitalhumanConfig().getEnable());
digitalhumanConfig.setTimbreId(entity.getDigitalhumanConfig().getTimbreId()); 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()); digitalhumanConfig.setFigureId(entity.getDigitalhumanConfig().getFigureId());
} else { } else {
digitalhumanConfig.setEnable(CommonConstant.YOrN.N); digitalhumanConfig.setEnable(CommonConstant.YOrN.N);
digitalhumanConfig.setTimbreId(StringUtils.EMPTY); digitalhumanConfig.setTimbreId(StringUtils.EMPTY);
digitalhumanConfig.setFigureId(StringUtils.EMPTY); digitalhumanConfig.setFigureId(StringUtils.EMPTY);
digitalhumanConfig.setToken(StringUtils.EMPTY); digitalhumanConfig.setAppKey(StringUtils.EMPTY);
digitalhumanConfig.setAppId(StringUtils.EMPTY);
} }
AgentApplicationInfoDto dto = new AgentApplicationInfoDto(); AgentApplicationInfoDto dto = new AgentApplicationInfoDto();
...@@ -295,13 +297,15 @@ public class AgentApplicationInfoConvert { ...@@ -295,13 +297,15 @@ public class AgentApplicationInfoConvert {
if (ObjectUtil.isNotEmpty(dto.getDigitalhumanConfig())) { if (ObjectUtil.isNotEmpty(dto.getDigitalhumanConfig())) {
digitalhumanConfig.setEnable(dto.getDigitalhumanConfig().getEnable()); digitalhumanConfig.setEnable(dto.getDigitalhumanConfig().getEnable());
digitalhumanConfig.setTimbreId(dto.getDigitalhumanConfig().getTimbreId()); 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()); digitalhumanConfig.setFigureId(dto.getDigitalhumanConfig().getFigureId());
} else { } else {
digitalhumanConfig.setEnable(CommonConstant.YOrN.N); digitalhumanConfig.setEnable(CommonConstant.YOrN.N);
digitalhumanConfig.setTimbreId(StringUtils.EMPTY); digitalhumanConfig.setTimbreId(StringUtils.EMPTY);
digitalhumanConfig.setFigureId(StringUtils.EMPTY); digitalhumanConfig.setFigureId(StringUtils.EMPTY);
digitalhumanConfig.setToken(StringUtils.EMPTY); digitalhumanConfig.setAppId(StringUtils.EMPTY);
digitalhumanConfig.setAppKey(StringUtils.EMPTY);
} }
entity.setDigitalhumanConfig(digitalhumanConfig); entity.setDigitalhumanConfig(digitalhumanConfig);
......
...@@ -189,13 +189,15 @@ public class BizAgentApplicationPublishConvert { ...@@ -189,13 +189,15 @@ public class BizAgentApplicationPublishConvert {
if (ObjectUtil.isNotEmpty(dto.getDigitalhumanConfig())) { if (ObjectUtil.isNotEmpty(dto.getDigitalhumanConfig())) {
digitalhumanConfig.setEnable(dto.getDigitalhumanConfig().getEnable()); digitalhumanConfig.setEnable(dto.getDigitalhumanConfig().getEnable());
digitalhumanConfig.setTimbreId(dto.getDigitalhumanConfig().getTimbreId()); 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()); digitalhumanConfig.setFigureId(dto.getDigitalhumanConfig().getFigureId());
} else { } else {
digitalhumanConfig.setEnable(CommonConstant.YOrN.N); digitalhumanConfig.setEnable(CommonConstant.YOrN.N);
digitalhumanConfig.setTimbreId(StringUtils.EMPTY); digitalhumanConfig.setTimbreId(StringUtils.EMPTY);
digitalhumanConfig.setFigureId(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; ...@@ -7,10 +7,20 @@ package cn.com.poc.agent_application.entity;
*/ */
public class DigitalhumanConfig { public class DigitalhumanConfig {
// /**
// * 令牌
// */
// private String token;
/** /**
* 令牌 *
*/ */
private String token; private String appId;
/**
*
*/
private String appKey;
/** /**
* 是否开启数字人 * 是否开启数字人
...@@ -27,14 +37,30 @@ public class DigitalhumanConfig { ...@@ -27,14 +37,30 @@ public class DigitalhumanConfig {
*/ */
private String timbreId; private String timbreId;
public String getToken() { public String getAppId() {
return token; return appId;
} }
public void setToken(String token) { public void setAppId(String appId) {
this.token = token; 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() { public String getEnable() {
return enable; return enable;
} }
......
...@@ -136,4 +136,12 @@ public interface AgentApplicationInfoRest extends BaseRest { ...@@ -136,4 +136,12 @@ public interface AgentApplicationInfoRest extends BaseRest {
* @param agentId agent应用id * @param agentId agent应用id
*/ */
void deleteLongMemory(@RequestParam String agentId) throws Exception; 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; ...@@ -24,6 +24,7 @@ import cn.com.poc.equity.entity.BizPointDeductionRulesEntity;
import cn.com.poc.equity.service.BizPointDeductionRulesService; import cn.com.poc.equity.service.BizPointDeductionRulesService;
import cn.com.poc.knowledge.aggregate.KnowledgeService; import cn.com.poc.knowledge.aggregate.KnowledgeService;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity; 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.constants.KnowledgeSearchTypeEnum;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool; import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.AgentLongMemoryEntity; import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.AgentLongMemoryEntity;
...@@ -281,7 +282,7 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest { ...@@ -281,7 +282,7 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
//调用应用服务 //调用应用服务
agentApplicationService.callAgentApplication(agentId, dialogueId, model, agentApplicationService.callAgentApplication(agentId, dialogueId, model,
agentSystem, kdIds.toArray(new Integer[0]), databaseIds, communicationTurn, topP, 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()), infoEntity.getKnowledgeSimilarity(), infoEntity.getKnowledgeNResult(), KnowledgeSearchTypeEnum.valueOf(infoEntity.getKnowledgeSearchType()),
superclassProblemConfig, httpServletResponse); superclassProblemConfig, httpServletResponse);
//数据采集 //数据采集
...@@ -503,4 +504,24 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest { ...@@ -503,4 +504,24 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
Assert.notNull(agentId); Assert.notNull(agentId);
LongMemory.clean(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; ...@@ -2,6 +2,11 @@ package cn.com.poc.thirdparty.resource.baidu.utils;
import cn.com.poc.thirdparty.resource.baidu.constants.BaiduApiErrorEnum; 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 * @author alex.yao
...@@ -17,4 +22,11 @@ public class BaiduUtils { ...@@ -17,4 +22,11 @@ public class BaiduUtils {
} }
return "Invocation error"; 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