[Bug] [ALERT-9224] fix wechat alert functions: app and group chat (#9225)
* fix wechat alert with app and group chat * add apache header and fix imports * delete wechat alert 'userSendMsg' property code * delete wechat alert 'userSendMsg' property code in Test * delete wechat alert 'userSendMsg' property code in factory Test * change `getSubWorkFlowParam` from private to protectedmigrate-dev-docs-to-main
parent
0d0674df1f
commit
03a0c9f544
|
|
@ -62,13 +62,6 @@ public final class WeChatAlertChannelFactory implements AlertChannelFactory {
|
||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
InputParam userSendMsgParam = InputParam.newBuilder(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_USER_SEND_MSG, WeChatAlertParamsConstants.ENTERPRISE_WE_CHAT_USER_SEND_MSG)
|
|
||||||
.setPlaceholder("please input corp id ")
|
|
||||||
.addValidate(Validate.newBuilder()
|
|
||||||
.setRequired(true)
|
|
||||||
.build())
|
|
||||||
.build();
|
|
||||||
|
|
||||||
InputParam agentIdParam = InputParam.newBuilder(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_AGENT_ID, WeChatAlertParamsConstants.ENTERPRISE_WE_CHAT_AGENT_ID)
|
InputParam agentIdParam = InputParam.newBuilder(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_AGENT_ID, WeChatAlertParamsConstants.ENTERPRISE_WE_CHAT_AGENT_ID)
|
||||||
.setPlaceholder("please input agent id ")
|
.setPlaceholder("please input agent id ")
|
||||||
.addValidate(Validate.newBuilder()
|
.addValidate(Validate.newBuilder()
|
||||||
|
|
@ -90,7 +83,7 @@ public final class WeChatAlertChannelFactory implements AlertChannelFactory {
|
||||||
.addValidate(Validate.newBuilder().setRequired(true).build())
|
.addValidate(Validate.newBuilder().setRequired(true).build())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
return Arrays.asList(corpIdParam, secretParam, usersParam, userSendMsgParam, agentIdParam, sendType, showType);
|
return Arrays.asList(corpIdParam, secretParam, usersParam, agentIdParam, sendType, showType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,18 @@ public final class WeChatAlertConstants {
|
||||||
|
|
||||||
static final String WE_CHAT_TOKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpId}&corpsecret={secret}";
|
static final String WE_CHAT_TOKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpId}&corpsecret={secret}";
|
||||||
|
|
||||||
|
static final String WE_CHAT_CONTENT_KEY = "content";
|
||||||
|
|
||||||
|
static final String WE_CHAT_MESSAGE_TYPE_TEXT = "text";
|
||||||
|
|
||||||
|
static final Integer WE_CHAT_MESSAGE_SAFE_PUBLICITY = 0;
|
||||||
|
|
||||||
|
static final Integer WE_CHAT_MESSAGE_SAFE_PRIVACY = 1;
|
||||||
|
|
||||||
|
static final Integer WE_CHAT_ENABLE_ID_TRANS = 0;
|
||||||
|
|
||||||
|
static final Integer WE_CHAT_DUPLICATE_CHECK_INTERVAL_ZERO = 0;
|
||||||
|
|
||||||
private WeChatAlertConstants() {
|
private WeChatAlertConstants() {
|
||||||
throw new UnsupportedOperationException("This is a utility class and cannot be instantiated");
|
throw new UnsupportedOperationException("This is a utility class and cannot be instantiated");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,9 @@ public final class WeChatAlertParamsConstants {
|
||||||
static final String NAME_ENTERPRISE_WE_CHAT_SECRET = "secret";
|
static final String NAME_ENTERPRISE_WE_CHAT_SECRET = "secret";
|
||||||
static final String ENTERPRISE_WE_CHAT_TEAM_SEND_MSG = "$t('teamSendMsg')";
|
static final String ENTERPRISE_WE_CHAT_TEAM_SEND_MSG = "$t('teamSendMsg')";
|
||||||
static final String NAME_ENTERPRISE_WE_CHAT_TEAM_SEND_MSG = "teamSendMsg";
|
static final String NAME_ENTERPRISE_WE_CHAT_TEAM_SEND_MSG = "teamSendMsg";
|
||||||
static final String ENTERPRISE_WE_CHAT_USER_SEND_MSG = "$t('userSendMsg')";
|
|
||||||
static final String NAME_ENTERPRISE_WE_CHAT_USER_SEND_MSG = "userSendMsg";
|
|
||||||
static final String ENTERPRISE_WE_CHAT_AGENT_ID = "$t('agentId')";
|
static final String ENTERPRISE_WE_CHAT_AGENT_ID = "$t('agentId')";
|
||||||
static final String NAME_ENTERPRISE_WE_CHAT_AGENT_ID = "agentId";
|
static final String NAME_ENTERPRISE_WE_CHAT_AGENT_ID = "agentId";
|
||||||
|
static final String NAME_ENTERPRISE_WE_CHAT_CHAT_ID = "chatId";
|
||||||
static final String ENTERPRISE_WE_CHAT_USERS = "$t('users')";
|
static final String ENTERPRISE_WE_CHAT_USERS = "$t('users')";
|
||||||
static final String NAME_ENTERPRISE_WE_CHAT_USERS = "users";
|
static final String NAME_ENTERPRISE_WE_CHAT_USERS = "users";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
package org.apache.dolphinscheduler.plugin.alert.wechat;
|
package org.apache.dolphinscheduler.plugin.alert.wechat;
|
||||||
|
|
||||||
import static java.util.Objects.requireNonNull;
|
import static java.util.Objects.requireNonNull;
|
||||||
|
import static org.apache.dolphinscheduler.plugin.alert.wechat.WeChatAlertConstants.*;
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.alert.api.AlertConstants;
|
import org.apache.dolphinscheduler.alert.api.AlertConstants;
|
||||||
import org.apache.dolphinscheduler.alert.api.AlertResult;
|
import org.apache.dolphinscheduler.alert.api.AlertResult;
|
||||||
|
|
@ -35,8 +36,6 @@ import org.apache.http.impl.client.HttpClients;
|
||||||
import org.apache.http.util.EntityUtils;
|
import org.apache.http.util.EntityUtils;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
|
@ -59,8 +58,8 @@ public final class WeChatSender {
|
||||||
private static final String SECRET_REGEX = "{secret}";
|
private static final String SECRET_REGEX = "{secret}";
|
||||||
private static final String TOKEN_REGEX = "{token}";
|
private static final String TOKEN_REGEX = "{token}";
|
||||||
private final String weChatAgentId;
|
private final String weChatAgentId;
|
||||||
|
private final String weChatChatId;
|
||||||
private final String weChatUsers;
|
private final String weChatUsers;
|
||||||
private final String weChatUserSendMsg;
|
|
||||||
private final String weChatTokenUrlReplace;
|
private final String weChatTokenUrlReplace;
|
||||||
private final String weChatToken;
|
private final String weChatToken;
|
||||||
private final String sendType;
|
private final String sendType;
|
||||||
|
|
@ -68,11 +67,11 @@ public final class WeChatSender {
|
||||||
|
|
||||||
WeChatSender(Map<String, String> config) {
|
WeChatSender(Map<String, String> config) {
|
||||||
weChatAgentId = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_AGENT_ID);
|
weChatAgentId = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_AGENT_ID);
|
||||||
|
weChatChatId = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_CHAT_ID);
|
||||||
weChatUsers = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_USERS);
|
weChatUsers = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_USERS);
|
||||||
String weChatCorpId = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_CORP_ID);
|
String weChatCorpId = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_CORP_ID);
|
||||||
String weChatSecret = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_SECRET);
|
String weChatSecret = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_SECRET);
|
||||||
String weChatTokenUrl = WeChatAlertConstants.WE_CHAT_TOKEN_URL;
|
String weChatTokenUrl = WeChatAlertConstants.WE_CHAT_TOKEN_URL;
|
||||||
weChatUserSendMsg = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_USER_SEND_MSG);
|
|
||||||
sendType = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_SEND_TYPE);
|
sendType = config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_SEND_TYPE);
|
||||||
showType = config.get(AlertConstants.NAME_SHOW_TYPE);
|
showType = config.get(AlertConstants.NAME_SHOW_TYPE);
|
||||||
requireNonNull(showType, AlertConstants.NAME_SHOW_TYPE + MUST_NOT_NULL);
|
requireNonNull(showType, AlertConstants.NAME_SHOW_TYPE + MUST_NOT_NULL);
|
||||||
|
|
@ -96,7 +95,7 @@ public final class WeChatSender {
|
||||||
response.close();
|
response.close();
|
||||||
}
|
}
|
||||||
logger.info("Enterprise WeChat send [{}], param:{}, resp:{}",
|
logger.info("Enterprise WeChat send [{}], param:{}, resp:{}",
|
||||||
url, data, resp);
|
url, data, resp);
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -228,21 +227,6 @@ public final class WeChatSender {
|
||||||
return alertResult;
|
return alertResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* make user multi user message
|
|
||||||
*
|
|
||||||
* @param toUser the toUser
|
|
||||||
* @param agentId the agentId
|
|
||||||
* @param msg the msg
|
|
||||||
* @return Enterprise WeChat send message
|
|
||||||
*/
|
|
||||||
private String makeUserSendMsg(Collection<String> toUser, String agentId, String msg) {
|
|
||||||
String listUser = mkString(toUser);
|
|
||||||
return weChatUserSendMsg.replace(USER_REG_EXP, listUser)
|
|
||||||
.replace(AGENT_ID_REG_EXP, agentId)
|
|
||||||
.replace(MSG_REG_EXP, msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* send Enterprise WeChat
|
* send Enterprise WeChat
|
||||||
*
|
*
|
||||||
|
|
@ -250,9 +234,7 @@ public final class WeChatSender {
|
||||||
*/
|
*/
|
||||||
public AlertResult sendEnterpriseWeChat(String title, String content) {
|
public AlertResult sendEnterpriseWeChat(String title, String content) {
|
||||||
AlertResult alertResult;
|
AlertResult alertResult;
|
||||||
List<String> userList = Arrays.asList(weChatUsers.split(","));
|
|
||||||
String data = markdownByAlert(title, content);
|
String data = markdownByAlert(title, content);
|
||||||
String msg = makeUserSendMsg(userList, weChatAgentId, data);
|
|
||||||
if (null == weChatToken) {
|
if (null == weChatToken) {
|
||||||
alertResult = new AlertResult();
|
alertResult = new AlertResult();
|
||||||
alertResult.setMessage("send we chat alert fail,get weChat token error");
|
alertResult.setMessage("send we chat alert fail,get weChat token error");
|
||||||
|
|
@ -260,14 +242,21 @@ public final class WeChatSender {
|
||||||
return alertResult;
|
return alertResult;
|
||||||
}
|
}
|
||||||
String enterpriseWeChatPushUrlReplace = "";
|
String enterpriseWeChatPushUrlReplace = "";
|
||||||
|
Map<String,String> contentMap=new HashMap<>();
|
||||||
|
contentMap.put(WeChatAlertConstants.WE_CHAT_CONTENT_KEY,data);
|
||||||
|
String msgJson="";
|
||||||
if (sendType.equals(WeChatType.APP.getDescp())) {
|
if (sendType.equals(WeChatType.APP.getDescp())) {
|
||||||
enterpriseWeChatPushUrlReplace = WeChatAlertConstants.WE_CHAT_PUSH_URL.replace(TOKEN_REGEX, weChatToken);
|
enterpriseWeChatPushUrlReplace = WeChatAlertConstants.WE_CHAT_PUSH_URL.replace(TOKEN_REGEX, weChatToken);
|
||||||
|
WechatAppMessage wechatAppMessage=new WechatAppMessage(weChatUsers, WE_CHAT_MESSAGE_TYPE_TEXT, Integer.valueOf(weChatAgentId),contentMap, WE_CHAT_MESSAGE_SAFE_PUBLICITY, WE_CHAT_ENABLE_ID_TRANS, WE_CHAT_DUPLICATE_CHECK_INTERVAL_ZERO);
|
||||||
|
msgJson=JSONUtils.toJsonString(wechatAppMessage);
|
||||||
} else if (sendType.equals(WeChatType.APPCHAT.getDescp())) {
|
} else if (sendType.equals(WeChatType.APPCHAT.getDescp())) {
|
||||||
enterpriseWeChatPushUrlReplace = WeChatAlertConstants.WE_CHAT_APP_CHAT_PUSH_URL.replace(TOKEN_REGEX, weChatToken);
|
enterpriseWeChatPushUrlReplace = WeChatAlertConstants.WE_CHAT_APP_CHAT_PUSH_URL.replace(TOKEN_REGEX, weChatToken);
|
||||||
|
WechatAppChatMessage wechatAppChatMessage=new WechatAppChatMessage(weChatChatId, WE_CHAT_MESSAGE_TYPE_TEXT, contentMap, WE_CHAT_MESSAGE_SAFE_PUBLICITY);
|
||||||
|
msgJson=JSONUtils.toJsonString(wechatAppChatMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return checkWeChatSendMsgResult(post(enterpriseWeChatPushUrlReplace, msg));
|
return checkWeChatSendMsgResult(post(enterpriseWeChatPushUrlReplace, msgJson));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.info("send we chat alert msg exception : {}", e.getMessage());
|
logger.info("send we chat alert msg exception : {}", e.getMessage());
|
||||||
alertResult = new AlertResult();
|
alertResult = new AlertResult();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright ownership.
|
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
* (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.plugin.alert.wechat;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class WechatAppChatMessage {
|
||||||
|
|
||||||
|
private String chatid;
|
||||||
|
private String msgtype;
|
||||||
|
private Map<String,String> text;
|
||||||
|
private Integer safe;
|
||||||
|
|
||||||
|
public String getChatid() {
|
||||||
|
return chatid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChatid(String chatid) {
|
||||||
|
this.chatid = chatid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMsgtype() {
|
||||||
|
return msgtype;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMsgtype(String msgtype) {
|
||||||
|
this.msgtype = msgtype;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getText() {
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setText(Map<String, String> text) {
|
||||||
|
this.text = text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSafe() {
|
||||||
|
return safe;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSafe(Integer safe) {
|
||||||
|
this.safe = safe;
|
||||||
|
}
|
||||||
|
|
||||||
|
public WechatAppChatMessage() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public WechatAppChatMessage(String chatid, String msgtype, Map<String, String> text, Integer safe) {
|
||||||
|
this.chatid = chatid;
|
||||||
|
this.msgtype = msgtype;
|
||||||
|
this.text = text;
|
||||||
|
this.safe = safe;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,100 @@
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright ownership.
|
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
* (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.apache.dolphinscheduler.plugin.alert.wechat;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class WechatAppMessage {
|
||||||
|
|
||||||
|
private String touser;
|
||||||
|
private String msgtype;
|
||||||
|
private Integer agentid;
|
||||||
|
private Map<String,String> text;
|
||||||
|
private Integer safe;
|
||||||
|
private Integer enable_id_trans;
|
||||||
|
private Integer enable_duplicate_check;
|
||||||
|
|
||||||
|
public String getTouser() {
|
||||||
|
return touser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTouser(String touser) {
|
||||||
|
this.touser = touser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMsgtype() {
|
||||||
|
return msgtype;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMsgtype(String msgtype) {
|
||||||
|
this.msgtype = msgtype;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getAgentid() {
|
||||||
|
return agentid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAgentid(Integer agentid) {
|
||||||
|
this.agentid = agentid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getText() {
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setText(Map<String, String> text) {
|
||||||
|
this.text = text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSafe() {
|
||||||
|
return safe;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSafe(Integer safe) {
|
||||||
|
this.safe = safe;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getEnable_id_trans() {
|
||||||
|
return enable_id_trans;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnable_id_trans(Integer enable_id_trans) {
|
||||||
|
this.enable_id_trans = enable_id_trans;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getEnable_duplicate_check() {
|
||||||
|
return enable_duplicate_check;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnable_duplicate_check(Integer enable_duplicate_check) {
|
||||||
|
this.enable_duplicate_check = enable_duplicate_check;
|
||||||
|
}
|
||||||
|
|
||||||
|
public WechatAppMessage() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public WechatAppMessage(String touser, String msgtype, Integer agentid, Map<String, String> text, Integer safe, Integer enable_id_trans, Integer enable_duplicate_check) {
|
||||||
|
this.touser = touser;
|
||||||
|
this.msgtype = msgtype;
|
||||||
|
this.agentid = agentid;
|
||||||
|
this.text = text;
|
||||||
|
this.safe = safe;
|
||||||
|
this.enable_id_trans = enable_id_trans;
|
||||||
|
this.enable_duplicate_check = enable_duplicate_check;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -36,7 +36,7 @@ public class WeChatAlertChannelFactoryTest {
|
||||||
WeChatAlertChannelFactory weChatAlertChannelFactory = new WeChatAlertChannelFactory();
|
WeChatAlertChannelFactory weChatAlertChannelFactory = new WeChatAlertChannelFactory();
|
||||||
List<PluginParams> params = weChatAlertChannelFactory.params();
|
List<PluginParams> params = weChatAlertChannelFactory.params();
|
||||||
JSONUtils.toJsonString(params);
|
JSONUtils.toJsonString(params);
|
||||||
Assert.assertEquals(7, params.size());
|
Assert.assertEquals(6, params.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
||||||
|
|
@ -61,10 +61,6 @@ public class WeChatSenderTest {
|
||||||
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_AGENT_ID, "100000");
|
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_AGENT_ID, "100000");
|
||||||
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_CORP_ID, "NAME_ENTERPRISE_WE_CHAT_CORP_ID");
|
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_CORP_ID, "NAME_ENTERPRISE_WE_CHAT_CORP_ID");
|
||||||
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_SECRET, "NAME_ENTERPRISE_WE_CHAT_SECRET");
|
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_SECRET, "NAME_ENTERPRISE_WE_CHAT_SECRET");
|
||||||
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_USER_SEND_MSG, "{\"touser\":\"{toUser}\",\"agentid\":{agentId}"
|
|
||||||
+
|
|
||||||
",\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"{msg}\"}}"
|
|
||||||
);
|
|
||||||
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_USERS, "Kris");
|
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_USERS, "Kris");
|
||||||
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_TEAM_SEND_MSG, "msg");
|
weChatConfig.put(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_TEAM_SEND_MSG, "msg");
|
||||||
weChatConfig.put(AlertConstants.NAME_SHOW_TYPE, ShowType.TABLE.getDescp());
|
weChatConfig.put(AlertConstants.NAME_SHOW_TYPE, ShowType.TABLE.getDescp());
|
||||||
|
|
|
||||||
|
|
@ -1307,7 +1307,7 @@ public class ProcessService {
|
||||||
/**
|
/**
|
||||||
* complement data needs transform parent parameter to child.
|
* complement data needs transform parent parameter to child.
|
||||||
*/
|
*/
|
||||||
private String getSubWorkFlowParam(ProcessInstanceMap instanceMap, ProcessInstance parentProcessInstance, Map<String, String> fatherParams) {
|
protected String getSubWorkFlowParam(ProcessInstanceMap instanceMap, ProcessInstance parentProcessInstance, Map<String, String> fatherParams) {
|
||||||
// set sub work process command
|
// set sub work process command
|
||||||
String processMapStr = JSONUtils.toJsonString(instanceMap);
|
String processMapStr = JSONUtils.toJsonString(instanceMap);
|
||||||
Map<String, String> cmdParam = JSONUtils.toMap(processMapStr);
|
Map<String, String> cmdParam = JSONUtils.toMap(processMapStr);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue