diff --git a/api/service/wx/bot.go b/api/service/wx/bot.go index 0feb097c..ddbdcd41 100644 --- a/api/service/wx/bot.go +++ b/api/service/wx/bot.go @@ -69,7 +69,7 @@ func (b *Bot) messageHandler(msg *openwechat.Message) { logger.Infof("解析到收款信息:%+v", transaction) var item model.Reward res := b.db.Where("tx_id = ?", transaction.TransId).First(&item) - if res.Error == nil { + if item.Id > 0 { logger.Error("当前交易 ID 己经存在!") return } diff --git a/api/service/wx/tranaction.go b/api/service/wx/tranaction.go index 0b1bca4d..e2ff4984 100644 --- a/api/service/wx/tranaction.go +++ b/api/service/wx/tranaction.go @@ -47,6 +47,20 @@ func parseTransactionMessage(xmlData string) *Message { } } } + + // 兼容旧版消息记录 + if message.Url == "" { + var msg struct { + XMLName xml.Name `xml:"msg"` + AppMsg struct { + Des string `xml:"des"` + Url string `xml:"url"` + } `xml:"appmsg"` + } + if err := xml.Unmarshal([]byte(xmlData), &msg); err == nil { + message.Url = msg.AppMsg.Url + } + } return &message } @@ -81,5 +95,6 @@ func extractTransaction(message *Message) Transaction { if err == nil { tx.TransId = parse.Query().Get("id") } + return tx } diff --git a/web/src/views/admin/Functions.vue b/web/src/views/admin/Functions.vue index 2e35045b..274325c8 100644 --- a/web/src/views/admin/Functions.vue +++ b/web/src/views/admin/Functions.vue @@ -202,6 +202,7 @@ const fetch = () => { // 编辑 const curIndex = ref(0) const rowEdit = function (index, row) { + title.value = "编辑函数" curIndex.value = index item.value = copyObj(row) // initialize parameters