|
@@ -4,6 +4,8 @@ import (
|
|
|
"bytes"
|
|
|
"encoding/json"
|
|
|
logger "eta/eta_mini_ht_api/common/component/log"
|
|
|
+ "eta/eta_mini_ht_api/domian/message"
|
|
|
+ messageDao "eta/eta_mini_ht_api/models/message"
|
|
|
userDao "eta/eta_mini_ht_api/models/user"
|
|
|
"fmt"
|
|
|
"strconv"
|
|
@@ -38,34 +40,54 @@ type MessageInfo struct {
|
|
|
analyst string
|
|
|
}
|
|
|
|
|
|
-func CreateMessage(meta MetaInfoDTO) (err error) {
|
|
|
- messageType := userDao.SourceType(meta.SourceType)
|
|
|
+func createRefundMessage(meta message.MetaInfoDTO) (err error) {
|
|
|
+ var content messageDao.RefundMetaData
|
|
|
+ err = json.Unmarshal([]byte(meta.Meta), &content)
|
|
|
+ messageInfo, _ := generateMessage(content, RefundMessageTemplate)
|
|
|
+ userId, _ := strconv.Atoi(meta.To)
|
|
|
+ userMessage := userDao.UserMessage{
|
|
|
+ UserId: userId,
|
|
|
+ Message: messageInfo,
|
|
|
+ Type: messageDao.RefundSourceType,
|
|
|
+ Status: userDao.UnReadStatus,
|
|
|
+ }
|
|
|
+ if err = userDao.CreateMessage(userMessage); err == nil {
|
|
|
+ messageDao.FinishMetaInfo(meta.Id)
|
|
|
+ } else {
|
|
|
+ logger.Error("生成消息信息失败:%v", err)
|
|
|
+ messageDao.FailedMetaInfo(meta.Id)
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+func CreateMessage(meta message.MetaInfoDTO) (err error) {
|
|
|
+ if messageDao.SourceType(meta.SourceType) == messageDao.RefundSourceType {
|
|
|
+ return createRefundMessage(meta)
|
|
|
+ }
|
|
|
+ messageType := messageDao.SourceType(meta.SourceType)
|
|
|
var messageList []userDao.UserMessage
|
|
|
users := strings.Split(meta.To, ",")
|
|
|
- var message string
|
|
|
- var content MetaData
|
|
|
+ var messageInfo string
|
|
|
+ var content messageDao.MetaData
|
|
|
err = json.Unmarshal([]byte(meta.Meta), &content)
|
|
|
if err != nil {
|
|
|
logger.Error("生成消息信息失败:%v", err)
|
|
|
- userDao.FailedMetaInfo(meta.Id)
|
|
|
+ messageDao.FailedMetaInfo(meta.Id)
|
|
|
}
|
|
|
- switch userDao.SourceType(meta.SourceType) {
|
|
|
- case userDao.ReportSourceType:
|
|
|
- message = fmt.Sprintf(ReportMessageTemplate, content.AuthorName)
|
|
|
- messageType = userDao.ReportSourceType
|
|
|
- case userDao.VideoSourceType:
|
|
|
- message = fmt.Sprintf(VideoMessageTemplate, content.AuthorName)
|
|
|
- case userDao.AudioSourceType:
|
|
|
- message = fmt.Sprintf(AudioMessageTemplate, content.AuthorName)
|
|
|
- case userDao.RefundSourceType:
|
|
|
- message, _ = generateMessage(nil, RefundMessageTemplate)
|
|
|
+ switch messageDao.SourceType(meta.SourceType) {
|
|
|
+ case messageDao.ReportSourceType:
|
|
|
+ messageInfo = fmt.Sprintf(ReportMessageTemplate, content.AuthorName)
|
|
|
+ messageType = messageDao.ReportSourceType
|
|
|
+ case messageDao.VideoSourceType:
|
|
|
+ messageInfo = fmt.Sprintf(VideoMessageTemplate, content.AuthorName)
|
|
|
+ case messageDao.AudioSourceType:
|
|
|
+ messageInfo = fmt.Sprintf(AudioMessageTemplate, content.AuthorName)
|
|
|
}
|
|
|
for _, user := range users {
|
|
|
id, _ := strconv.Atoi(user)
|
|
|
userMessage := userDao.UserMessage{
|
|
|
AnalystId: content.AuthorId,
|
|
|
UserId: id,
|
|
|
- Message: message,
|
|
|
+ Message: messageInfo,
|
|
|
SourceId: content.SourceId,
|
|
|
Type: messageType,
|
|
|
Status: userDao.UnReadStatus,
|
|
@@ -73,10 +95,10 @@ func CreateMessage(meta MetaInfoDTO) (err error) {
|
|
|
messageList = append(messageList, userMessage)
|
|
|
}
|
|
|
if userDao.BatchInsertMessage(messageList) {
|
|
|
- userDao.FinishMetaInfo(meta.Id)
|
|
|
+ messageDao.FinishMetaInfo(meta.Id)
|
|
|
} else {
|
|
|
logger.Error("生成消息信息失败:%v", err)
|
|
|
- userDao.FailedMetaInfo(meta.Id)
|
|
|
+ messageDao.FailedMetaInfo(meta.Id)
|
|
|
}
|
|
|
return
|
|
|
}
|