Class WeChatTemplateMessageBot
java.lang.Object
com.flowable.engage.external.system.wechat.WeChatTemplateMessageBot
- All Implemented Interfaces:
BotService
An action bot handling the action definition to send a WeChat template message based on a template handled by the template engine.
- Author:
- Micha Kiener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ConversationPermissionService
protected final ConversationService
protected final JmsMessageOperations
protected final MessageService
protected final PlatformIdentityService
protected final TemplateService
protected final UserAccountService
static final String
static final String
protected final WeChatProperties
-
Constructor Summary
ConstructorsConstructorDescriptionWeChatTemplateMessageBot
(TemplateService templateService, ConversationService conversationService, ConversationPermissionService conversationPermissionService, MessageService messageService, PlatformIdentityService platformIdentityService, JmsMessageOperations jmsMessageOperations, WeChatProperties weChatProperties, UserAccountService userAccountService) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
checkTemplateParametersSize
(Map<String, String> templateParameters) Check if the total size of all the template parameters do not exceed the maximum allowed size which is given by WeChat.extractTemplateParameters
(List<TemplateParameter> templateParameters, Map<String, Object> payload) Extract all the template parameters from the payload.Returns the optional description of this bot, describing its capabilities or prerequisites.getKey()
Returns the key of this bot which is used to linkActionDefinition
s to this bot.getName()
Returns the name of this bot, typically used as the label for it.invokeBot
(HistoricActionInstance actionInstance, ActionDefinition actionDefinition, Map<String, Object> payload) Whenever an action definition is triggered, an action instance is created and this method is invoked in order to execute the action.protected void
sendExternalTemplateMessage
(Conversation conversation, Message internalMessage, Map<String, String> templateParameters, String weChatTemplateId) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.flowable.action.api.bot.BotService
invokeBot
-
Field Details
-
WECHAT_TEMPLATE_KEY
- See Also:
-
WECHAT_TEMPLATE_ACTION_DEFINITION_KEY
- See Also:
-
templateService
-
conversationService
-
conversationPermissionService
-
messageService
-
platformIdentityService
-
jmsMessagingOperations
-
weChatProperties
-
userAccountService
-
-
Constructor Details
-
WeChatTemplateMessageBot
public WeChatTemplateMessageBot(TemplateService templateService, ConversationService conversationService, ConversationPermissionService conversationPermissionService, MessageService messageService, PlatformIdentityService platformIdentityService, JmsMessageOperations jmsMessageOperations, WeChatProperties weChatProperties, UserAccountService userAccountService)
-
-
Method Details
-
getKey
Description copied from interface:BotService
Returns the key of this bot which is used to linkActionDefinition
s to this bot.- Specified by:
getKey
in interfaceBotService
- Returns:
- the key of this bot, which needs to be unique amongst other bots
-
getName
Description copied from interface:BotService
Returns the name of this bot, typically used as the label for it.- Specified by:
getName
in interfaceBotService
- Returns:
- the name of this bot
-
getDescription
Description copied from interface:BotService
Returns the optional description of this bot, describing its capabilities or prerequisites.- Specified by:
getDescription
in interfaceBotService
- Returns:
- the optional description of this bot
-
invokeBot
public BotActionResult invokeBot(HistoricActionInstance actionInstance, ActionDefinition actionDefinition, Map<String, Object> payload) Description copied from interface:BotService
Whenever an action definition is triggered, an action instance is created and this method is invoked in order to execute the action. You need to provide an action result according the execution and follow up needed.API NOTE: Prefer overriding
BotService.invokeBot(BotInvocationContext)
instead and leave this empty. Alternatively useContextAwareBotService
instead, to avoid overriding an empty method.- Specified by:
invokeBot
in interfaceBotService
- Parameters:
actionInstance
- the action instance to runactionDefinition
- the action definition where the action instance is based onpayload
- the optional payload containing the necessary information to run the action
-
sendExternalTemplateMessage
-
extractTemplateParameters
protected Map<String,String> extractTemplateParameters(List<TemplateParameter> templateParameters, Map<String, Object> payload) Extract all the template parameters from the payload.- Parameters:
templateParameters
-payload
-- Returns:
- a map of the extracted parameters
-
checkTemplateParametersSize
Check if the total size of all the template parameters do not exceed the maximum allowed size which is given by WeChat.- Parameters:
templateParameters
-
-