Commit 5250fd5b authored by alex yao's avatar alex yao

feat: Agent应用点击事件

parent 940760bf
...@@ -20,6 +20,8 @@ import cn.com.poc.common.utils.UUIDTool; ...@@ -20,6 +20,8 @@ import cn.com.poc.common.utils.UUIDTool;
import cn.com.poc.expose.aggregate.AgentApplicationService; import cn.com.poc.expose.aggregate.AgentApplicationService;
import cn.com.poc.expose.dto.*; import cn.com.poc.expose.dto.*;
import cn.com.poc.expose.rest.AgentApplicationRest; import cn.com.poc.expose.rest.AgentApplicationRest;
import cn.com.poc.message.entity.AgentApplicationClickEventMessage;
import cn.com.poc.message.service.AgentApplicationProducerService;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity; import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.yict.framemax.core.i18n.I18nMessageException; import cn.com.yict.framemax.core.i18n.I18nMessageException;
import cn.com.yict.framemax.data.model.PagingInfo; import cn.com.yict.framemax.data.model.PagingInfo;
...@@ -55,7 +57,7 @@ public class AgentApplicationRestImpl implements AgentApplicationRest { ...@@ -55,7 +57,7 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
private BizAgentApplicationDialoguesRecordService bizAgentApplicationDialoguesRecordService; private BizAgentApplicationDialoguesRecordService bizAgentApplicationDialoguesRecordService;
@Resource @Resource
private AgentApplicationMallService agentApplicationMallService; private AgentApplicationProducerService agentApplicationProducerService;
@Override @Override
public List<String> getRecommendQuestions(HttpServletRequest httpServletRequest) throws Exception { public List<String> getRecommendQuestions(HttpServletRequest httpServletRequest) throws Exception {
...@@ -87,15 +89,9 @@ public class AgentApplicationRestImpl implements AgentApplicationRest { ...@@ -87,15 +89,9 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
@Override @Override
public String createDialogues(String agentId) { public String createDialogues(String agentId) {
if (StringUtils.isNotBlank(agentId)) { if (StringUtils.isNotBlank(agentId)) {
try { AgentApplicationClickEventMessage agentApplicationClickEventMessage = new AgentApplicationClickEventMessage();
BizAgentApplicationPublishEntity agentApplicationPublishEntity = bizAgentApplicationPublishService.getByAgentId(agentId); agentApplicationClickEventMessage.setAgentId(agentId);
if (agentApplicationPublishEntity != null) { agentApplicationProducerService.clickEvent(agentApplicationClickEventMessage);
Integer publishId = agentApplicationPublishEntity.getId();
agentApplicationMallService.addClickNumber(publishId);
}
} catch (Exception e) {
logger.error(e.getMessage());
}
} }
return "DIA_" + UUIDTool.getUUID(); return "DIA_" + UUIDTool.getUUID();
} }
......
package cn.com.poc.message.entity;
import java.io.Serializable;
public class AgentApplicationClickEventMessage implements Serializable {
private String agentId;
public String getAgentId() {
return agentId;
}
public void setAgentId(String agentId) {
this.agentId = agentId;
}
}
package cn.com.poc.message.service;
import cn.com.poc.message.entity.AgentApplicationClickEventMessage;
import cn.com.yict.framemax.core.service.BaseService;
public interface AgentApplicationConsumerService extends BaseService {
void clickEvent(AgentApplicationClickEventMessage message) throws Exception;
}
package cn.com.poc.message.service;
import cn.com.poc.message.entity.AgentApplicationClickEventMessage;
import cn.com.yict.framemax.core.service.BaseService;
public interface AgentApplicationProducerService extends BaseService {
AgentApplicationClickEventMessage clickEvent(AgentApplicationClickEventMessage message);
}
package cn.com.poc.message.service.impl;
import cn.com.poc.agent_application.aggregate.AgentApplicationMallService;
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.message.entity.AgentApplicationClickEventMessage;
import cn.com.poc.message.service.AgentApplicationConsumerService;
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 org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class AgentApplicationConsumerServiceImpl implements AgentApplicationConsumerService {
@Resource
private BizAgentApplicationPublishService bizAgentApplicationPublishService;
@Resource
private AgentApplicationMallService agentApplicationMallService;
@Override
@Consumer(topic = AgentApplicationTopic.AGENT_APPLICATION_CLICK_EVENT, retry = true)
public void clickEvent(AgentApplicationClickEventMessage message) throws Exception {
BizAgentApplicationPublishEntity agentApplicationPublishEntity = bizAgentApplicationPublishService.getByAgentId(message.getAgentId());
if (agentApplicationPublishEntity != null) {
Integer publishId = agentApplicationPublishEntity.getId();
agentApplicationMallService.addClickNumber(publishId);
}
}
}
package cn.com.poc.message.service.impl;
import cn.com.poc.message.entity.AgentApplicationClickEventMessage;
import cn.com.poc.message.service.AgentApplicationProducerService;
import cn.com.poc.message.topic.AgentApplicationTopic;
import cn.com.yict.framemax.core.service.BaseService;
import cn.com.yict.framemax.tumbleweed.client.annotation.Producer;
import org.springframework.stereotype.Service;
@Service
public class AgentApplicationProducerServiceImpl implements AgentApplicationProducerService {
@Override
@Producer(topic = AgentApplicationTopic.AGENT_APPLICATION_CLICK_EVENT)
public AgentApplicationClickEventMessage clickEvent(AgentApplicationClickEventMessage message) {
return message;
}
}
package cn.com.poc.message.topic;
public interface AgentApplicationTopic {
/**
* Agent application click event.
*/
String AGENT_APPLICATION_CLICK_EVENT = "agent_application_click_event";
}
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