This commit is contained in:
邹宗楠
2023-01-29 15:38:17 +08:00
parent bd27c16c38
commit 69ac19b7cc
3 changed files with 61 additions and 3 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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)
}