1
This commit is contained in:
@@ -2,6 +2,8 @@ package ddmsg
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/enterprise_msg"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
|
||||
"git.rosy.net.cn/baseapi/utils/errlist"
|
||||
@@ -32,7 +34,14 @@ func SendUserMessage(msgType, userID, title, content string) (err error) {
|
||||
if len(content) > dingdingapi.MaxWorkContentLen {
|
||||
content = content[:dingdingapi.MaxWorkContentLen-4] + "..."
|
||||
}
|
||||
err = SendDDUserMessage(msgType, auth.AuthID, title, content)
|
||||
if err := SendDDUserMessage(msgType, auth.AuthID, title, content); err != nil {
|
||||
userInfo, err := dao.GetUserByID(dao.GetDB(), "user_id", auth.UserID)
|
||||
if err != nil || userInfo == nil {
|
||||
globals.SugarLogger.Errorf("get user err %v", err)
|
||||
continue
|
||||
}
|
||||
enterprise_msg.SendUserMessage(*userInfo.Mobile, title, "", content)
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -43,6 +52,7 @@ func SendUserMessage(msgType, userID, title, content string) (err error) {
|
||||
if err != nil {
|
||||
globals.SugarLogger.Infof("SendUserMessage userID:%s, title:%s, content:%s failed with error:%v", userID, title, content, err)
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
)
|
||||
|
||||
// SendUserMessage 发送文本卡片
|
||||
func SendUserMessage(phone, title, description, url string) error {
|
||||
// 根据电话号码获取用户touserId
|
||||
enterpriseUserId, err := api.EnterpriseChatMin.GetUserIdByMobile(phone)
|
||||
@@ -15,7 +16,7 @@ func SendUserMessage(phone, title, description, url string) error {
|
||||
msg := &enterprise.EnterpriseSendMsgReq{
|
||||
Touser: enterpriseUserId,
|
||||
Msgtype: enterprise.MsgTypeTextCard,
|
||||
Agentid: 1000005,
|
||||
Agentid: enterprise.EnterpriseAgentid,
|
||||
Textcard: enterprise.TextCardObject{
|
||||
Title: title,
|
||||
Description: description,
|
||||
@@ -25,3 +26,44 @@ func SendUserMessage(phone, title, description, url string) error {
|
||||
}
|
||||
return api.EnterpriseChatMin.SendMsgToUser(msg)
|
||||
}
|
||||
|
||||
// SendUserMessageText 发送文本消息
|
||||
func SendUserMessageText() {
|
||||
|
||||
}
|
||||
|
||||
func SendEnterpriseUserMessage(msgType, phone, title, content string) (err error) {
|
||||
// 根据电话号码获取用户touserId
|
||||
enterpriseUserId, err := api.EnterpriseChatMin.GetUserIdByMobile(phone)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if msgType == enterprise.MsgTypeText {
|
||||
err = api.EnterpriseChatMin.SendMsgToUserTypeText(&enterprise.SendTextMsgReq{
|
||||
Touser: enterpriseUserId,
|
||||
Msgtype: enterprise.MsgTypeText,
|
||||
Agentid: enterprise.EnterpriseAgentid,
|
||||
Text: struct {
|
||||
Content string `json:"content"`
|
||||
}{Content: title + ":" + content},
|
||||
Safe: 0,
|
||||
EnableIdTrans: 0,
|
||||
EnableDuplicateCheck: 0,
|
||||
DuplicateCheckInterval: 0,
|
||||
})
|
||||
} else if msgType == enterprise.MsgTypeMarkdown {
|
||||
err = api.EnterpriseChatMin.SendMsgToUserMarkdown(&enterprise.SendMarkdownMsgReq{
|
||||
Touser: enterpriseUserId,
|
||||
Msgtype: enterprise.MsgTypeMarkdown,
|
||||
Agentid: enterprise.EnterpriseAgentid,
|
||||
Markdown: struct {
|
||||
Content string `json:"content"`
|
||||
}{Content: title + ":" + content},
|
||||
Safe: 0,
|
||||
EnableIdTrans: 0,
|
||||
EnableDuplicateCheck: 0,
|
||||
DuplicateCheckInterval: 0,
|
||||
})
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package msg
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/enterprise_msg"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
||||
@@ -30,7 +31,12 @@ func SendUserMessage(msgType string, user *model.User, title, content string) (e
|
||||
if title != "" {
|
||||
content = title + "\n" + content
|
||||
}
|
||||
err = ddmsg.SendDDUserMessage(msgType, auth.AuthID, title, content)
|
||||
if err2 := ddmsg.SendDDUserMessage(msgType, auth.AuthID, title, content); err2 != nil {
|
||||
if msgType == "txt" {
|
||||
msgType = "text"
|
||||
}
|
||||
err = enterprise_msg.SendEnterpriseUserMessage(msgType, auth.AuthID, title, content)
|
||||
}
|
||||
} else if auth.Type == weixin.AuthTypeMP && msgType != dingdingapi.MsgTypeMarkdown {
|
||||
err = weixinmsg.NotifyStoreStatusChanged(auth.AuthID, title, content)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user