Commit 68777b48 authored by alex yao's avatar alex yao

feat:Agent应用-配置应用音频自动播放

parent 87555dfb
...@@ -151,7 +151,12 @@ ...@@ -151,7 +151,12 @@
<version>4.12</version> <version>4.12</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.7.7</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId> <artifactId>spring-test</artifactId>
......
...@@ -12,7 +12,7 @@ public interface BizAgentApplicationPublishService extends BaseService { ...@@ -12,7 +12,7 @@ public interface BizAgentApplicationPublishService extends BaseService {
BizAgentApplicationPublishEntity get(java.lang.Integer id) throws Exception; BizAgentApplicationPublishEntity get(java.lang.Integer id) throws Exception;
BizAgentApplicationPublishEntity getByAgentId(String agentId) throws Exception; BizAgentApplicationPublishEntity getByAgentId(String agentId);
List<BizAgentApplicationPublishEntity> findByExample(BizAgentApplicationPublishEntity example, PagingInfo pagingInfo) throws Exception; List<BizAgentApplicationPublishEntity> findByExample(BizAgentApplicationPublishEntity example, PagingInfo pagingInfo) throws Exception;
......
...@@ -14,8 +14,6 @@ import cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity; ...@@ -14,8 +14,6 @@ import cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity;
import cn.com.poc.agent_application.convert.BizAgentApplicationPublishConvert; import cn.com.poc.agent_application.convert.BizAgentApplicationPublishConvert;
import cn.com.poc.agent_application.repository.BizAgentApplicationPublishRepository; import cn.com.poc.agent_application.repository.BizAgentApplicationPublishRepository;
import cn.com.yict.framemax.data.model.PagingInfo; import cn.com.yict.framemax.data.model.PagingInfo;
import cn.hutool.core.bean.BeanUtil;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -52,7 +50,7 @@ public class BizAgentApplicationPublishServiceImpl extends BaseServiceImpl ...@@ -52,7 +50,7 @@ public class BizAgentApplicationPublishServiceImpl extends BaseServiceImpl
} }
@Override @Override
public BizAgentApplicationPublishEntity getByAgentId(String agentId) throws Exception { public BizAgentApplicationPublishEntity getByAgentId(String agentId) {
Assert.notNull(agentId); Assert.notNull(agentId);
BizAgentApplicationPublishModel model = new BizAgentApplicationPublishModel(); BizAgentApplicationPublishModel model = new BizAgentApplicationPublishModel();
model.setAgentId(agentId); model.setAgentId(agentId);
......
...@@ -2,6 +2,7 @@ package cn.com.poc.expose.aggregate; ...@@ -2,6 +2,7 @@ package cn.com.poc.expose.aggregate;
import cn.com.poc.agent_application.query.MemberCollectQueryItem; import cn.com.poc.agent_application.query.MemberCollectQueryItem;
import cn.com.yict.framemax.data.model.PagingInfo; import cn.com.yict.framemax.data.model.PagingInfo;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
...@@ -46,4 +47,21 @@ public interface AgentApplicationService { ...@@ -46,4 +47,21 @@ public interface AgentApplicationService {
*/ */
List<MemberCollectQueryItem> getCollectedApplications(Long memberId, PagingInfo pagingInfo); List<MemberCollectQueryItem> getCollectedApplications(Long memberId, PagingInfo pagingInfo);
/**
* 获取用户在当前应用的自动播放配置
*
* @param memberId 用户ID
* @param agentId 应用ID
*/
String autoPlayByAgentId(Long memberId, String agentId);
/**
* 设置用户在当前应用的自动播放配置
*
* @param memberId 用户ID
* @param agentId 应用ID
* @param autoPlay 自动播放配置 Y/N
*/
String enableAutoPlay(Long memberId, String agentId, String autoPlay);
} }
...@@ -6,6 +6,7 @@ import cn.com.poc.agent_application.constant.AgentApplicationGCConfigConstants; ...@@ -6,6 +6,7 @@ import cn.com.poc.agent_application.constant.AgentApplicationGCConfigConstants;
import cn.com.poc.agent_application.entity.BizAgentApplicationDialoguesRecordEntity; import cn.com.poc.agent_application.entity.BizAgentApplicationDialoguesRecordEntity;
import cn.com.poc.agent_application.entity.BizAgentApplicationGcConfigEntity; import cn.com.poc.agent_application.entity.BizAgentApplicationGcConfigEntity;
import cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity; import cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity;
import cn.com.poc.agent_application.entity.VoiceConfig;
import cn.com.poc.agent_application.query.MemberCollectQueryCondition; import cn.com.poc.agent_application.query.MemberCollectQueryCondition;
import cn.com.poc.agent_application.query.MemberCollectQueryItem; import cn.com.poc.agent_application.query.MemberCollectQueryItem;
import cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordService; import cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordService;
...@@ -62,6 +63,11 @@ public class AgentApplicationServiceImpl implements AgentApplicationService { ...@@ -62,6 +63,11 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
*/ */
final private String MEMBER_RECOMMEND_QUESTIONS_LAST = AGENT_APPLICATION_RECOMMEND_QUESTIONS + "MEMBER_LAST:"; final private String MEMBER_RECOMMEND_QUESTIONS_LAST = AGENT_APPLICATION_RECOMMEND_QUESTIONS + "MEMBER_LAST:";
/**
* 应用自动播放Key
*/
final private String AGENT_APPLICATION_AUTO_PLAY = "AGENT_APPLICATION_AUTO_PLAY:";
@Resource @Resource
private BizMemberAgentApplicationCollectService bizMemberAgentApplicationCollectService; private BizMemberAgentApplicationCollectService bizMemberAgentApplicationCollectService;
...@@ -266,6 +272,33 @@ public class AgentApplicationServiceImpl implements AgentApplicationService { ...@@ -266,6 +272,33 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
return memberCollectQueryItems; return memberCollectQueryItems;
} }
@Override
public String autoPlayByAgentId(Long memberId, String agentId) {
String result = CommonConstant.YOrN.N;
String redisKey = AGENT_APPLICATION_RECOMMEND_QUESTIONS + memberId + ":" + agentId;
if (redisService.hasKey(redisKey)) {
result = (String) redisService.get(redisKey);
} else {
BizAgentApplicationPublishEntity publishEntity = bizAgentApplicationPublishService.getByAgentId(agentId);
if (publishEntity == null) {
throw new I18nMessageException("exception/application.does.not.exist");
}
VoiceConfig voiceConfig = publishEntity.getVoiceConfig();
if (voiceConfig != null) {
String isAutoPlay = voiceConfig.getDefaultOpen();
result = isAutoPlay;
}
redisService.set(redisKey, result, 30 * 60 * 60 * 24);
}
return result;
}
@Override
public String enableAutoPlay(Long memberId, String agentId, String autoPlay) {
String redisKey = AGENT_APPLICATION_RECOMMEND_QUESTIONS + memberId + ":" + agentId;
redisService.set(redisKey, autoPlay, 30 * 60 * 60 * 24);
return autoPlay;
}
private void createCNQuestion() { private void createCNQuestion() {
Message message = new Message(); Message message = new Message();
......
...@@ -86,4 +86,18 @@ public interface AgentApplicationRest extends BaseRest { ...@@ -86,4 +86,18 @@ public interface AgentApplicationRest extends BaseRest {
*/ */
List<DialoguesContextDto> getDialogueContext(@RequestParam String dialogueId) throws Exception; List<DialoguesContextDto> getDialogueContext(@RequestParam String dialogueId) throws Exception;
/**
* 获取用户在当前应用的自动播放配置
*
* @param agentId 应用ID
*/
String autoPlayByAgentId(@RequestParam String agentId);
/**
* 设置用户在当前应用的自动播放配置
*
* @param agentId 应用ID
* @param autoPlay 自动播放配置 Y/N
*/
String enableAutoPlay(@RequestParam String agentId, @RequestParam String autoPlay);
} }
package cn.com.poc.expose.rest.impl; package cn.com.poc.expose.rest.impl;
import cn.com.poc.agent_application.aggregate.AgentApplicationInfoService; import cn.com.poc.agent_application.aggregate.AgentApplicationInfoService;
import cn.com.poc.agent_application.aggregate.AgentApplicationMallService;
import cn.com.poc.agent_application.convert.AgentApplicationInfoConvert; import cn.com.poc.agent_application.convert.AgentApplicationInfoConvert;
import cn.com.poc.agent_application.convert.BizAgentApplicationPublishConvert; import cn.com.poc.agent_application.convert.BizAgentApplicationPublishConvert;
import cn.com.poc.agent_application.dto.AgentApplicationCreateContinueQuesDto; import cn.com.poc.agent_application.dto.AgentApplicationCreateContinueQuesDto;
...@@ -232,4 +231,20 @@ public class AgentApplicationRestImpl implements AgentApplicationRest { ...@@ -232,4 +231,20 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
} }
return null; return null;
} }
@Override
public String autoPlayByAgentId(String agentId) {
Assert.notBlank(agentId);
UserBaseEntity currentUser = BlContext.getCurrentUser();
return agentApplicationService.autoPlayByAgentId(currentUser.getUserId(), agentId);
}
@Override
public String enableAutoPlay(String agentId, String autoPlay) {
Assert.notBlank(agentId);
Assert.notBlank(autoPlay);
Assert.isTrue(CommonConstant.YOrN.N.equals(autoPlay) || CommonConstant.YOrN.Y.equals(autoPlay));
UserBaseEntity currentUser = BlContext.getCurrentUser();
return agentApplicationService.enableAutoPlay(currentUser.getUserId(), agentId, autoPlay);
}
} }
...@@ -2,12 +2,10 @@ package cn.com.poc.message.service.impl; ...@@ -2,12 +2,10 @@ package cn.com.poc.message.service.impl;
import cn.com.poc.agent_application.aggregate.AgentApplicationMallService; import cn.com.poc.agent_application.aggregate.AgentApplicationMallService;
import cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity; import cn.com.poc.agent_application.entity.BizAgentApplicationPublishEntity;
import cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordService;
import cn.com.poc.agent_application.service.BizAgentApplicationPublishService; import cn.com.poc.agent_application.service.BizAgentApplicationPublishService;
import cn.com.poc.message.entity.AgentApplicationClickEventMessage; import cn.com.poc.message.entity.AgentApplicationClickEventMessage;
import cn.com.poc.message.service.AgentApplicationConsumerService; import cn.com.poc.message.service.AgentApplicationConsumerService;
import cn.com.poc.message.topic.AgentApplicationTopic; import cn.com.poc.message.topic.AgentApplicationTopic;
import cn.com.yict.framemax.core.service.BaseService;
import cn.com.yict.framemax.tumbleweed.client.annotation.Consumer; import cn.com.yict.framemax.tumbleweed.client.annotation.Consumer;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
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