1
This commit is contained in:
@@ -2,6 +2,8 @@ package ddmsg
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"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/platformapi/dingdingapi"
|
||||||
"git.rosy.net.cn/baseapi/utils/errlist"
|
"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 {
|
if len(content) > dingdingapi.MaxWorkContentLen {
|
||||||
content = content[:dingdingapi.MaxWorkContentLen-4] + "..."
|
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
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -43,6 +52,7 @@ func SendUserMessage(msgType, userID, title, content string) (err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
globals.SugarLogger.Infof("SendUserMessage userID:%s, title:%s, content:%s failed with error:%v", userID, title, content, err)
|
globals.SugarLogger.Infof("SendUserMessage userID:%s, title:%s, content:%s failed with error:%v", userID, title, content, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import (
|
|||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// SendUserMessage 发送文本卡片
|
||||||
func SendUserMessage(phone, title, description, url string) error {
|
func SendUserMessage(phone, title, description, url string) error {
|
||||||
// 根据电话号码获取用户touserId
|
// 根据电话号码获取用户touserId
|
||||||
enterpriseUserId, err := api.EnterpriseChatMin.GetUserIdByMobile(phone)
|
enterpriseUserId, err := api.EnterpriseChatMin.GetUserIdByMobile(phone)
|
||||||
@@ -15,7 +16,7 @@ func SendUserMessage(phone, title, description, url string) error {
|
|||||||
msg := &enterprise.EnterpriseSendMsgReq{
|
msg := &enterprise.EnterpriseSendMsgReq{
|
||||||
Touser: enterpriseUserId,
|
Touser: enterpriseUserId,
|
||||||
Msgtype: enterprise.MsgTypeTextCard,
|
Msgtype: enterprise.MsgTypeTextCard,
|
||||||
Agentid: 1000005,
|
Agentid: enterprise.EnterpriseAgentid,
|
||||||
Textcard: enterprise.TextCardObject{
|
Textcard: enterprise.TextCardObject{
|
||||||
Title: title,
|
Title: title,
|
||||||
Description: description,
|
Description: description,
|
||||||
@@ -25,3 +26,44 @@ func SendUserMessage(phone, title, description, url string) error {
|
|||||||
}
|
}
|
||||||
return api.EnterpriseChatMin.SendMsgToUser(msg)
|
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 (
|
import (
|
||||||
"fmt"
|
"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/ddmsg"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
"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 != "" {
|
if title != "" {
|
||||||
content = title + "\n" + content
|
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 {
|
} else if auth.Type == weixin.AuthTypeMP && msgType != dingdingapi.MsgTypeMarkdown {
|
||||||
err = weixinmsg.NotifyStoreStatusChanged(auth.AuthID, title, content)
|
err = weixinmsg.NotifyStoreStatusChanged(auth.AuthID, title, content)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user