This commit is contained in:
邹宗楠
2025-11-10 09:51:45 +08:00
parent ab98ad1cd0
commit d2996db7cf
9 changed files with 221 additions and 13 deletions

View File

@@ -1,7 +1,11 @@
package jdapi
import (
"fmt"
"git.rosy.net.cn/baseapi"
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
"git.rosy.net.cn/jx-callback/globals"
"io/ioutil"
"net/http"
"strings"
@@ -95,8 +99,9 @@ const (
CallbackMsgOrderInfoChange = "orderInfoChange" //订单售前用户改变收货地址电话等
// 账务
CallbackMsgEndOrderFinance = "endOrderFinance" // 订单金额拆分完成消息
CallbackMsgFinanceAdjustment = "financeAdjustment" // 财务调整单消息
CallbackMsgEndOrderFinance = "endOrderFinance" // 订单金额拆分完成消息
CallbackMsgFinanceAdjustment = "financeAdjustment" // 财务调整单消息
CallbackMsgApplyInvoice = "applyOrderInvoiceStatus" // 发票消息
// 售后
CallbackMsgNewApplyAfterSaleBill = "newApplyAfterSaleBill" // 新建售后单申请消息
@@ -196,6 +201,15 @@ type CallbackStoreStockMsg struct {
OperSource int `json:"operSource"`
}
type CallbackInvoiceMsg struct {
*CallbackMsg
BillID string `json:"billId"` // 消息单据ID
Id string `json:"id"` // 主键id
InvoiceStatus string `json:"invoiceStatus"` // 更新后的发票状态 1:待开票 3:开票中 4:开票成功 5:开票失败 6:冲红中 7:冲红成功 8:冲红失败 9:已驳回 11:蓝票审核失败 12:红票审核失败 13:待换开 14:换开中 15:换开驳回 16:退款关闭 17:协商关闭
Modified string `json:"modified"` // 发票状态更新时刻
StoreId string `json:"storeId"` // 门店id非必需当状态变化来自秒送门店的时候才会携带
}
const (
OpenSourceJDLSP = 1
OpenSourceJDMedicineCity = 2
@@ -262,6 +276,10 @@ func GetCallbackMsg(request *http.Request) (callbackMsg *CallbackMsg, mapData ma
if err != nil {
return nil, nil, Err2CallbackResponse(err, "")
}
if msgURL == CallbackMsgApplyInvoice {
globals.SugarLogger.Debugf("-jd-----Invoice:= %s", utils.Format4Output(data, false))
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "jdController发票推送", utils.Format4Output(data, false))
}
values, err := utils.HTTPBody2Values(data, needDecodeMap[msgURL])
if err != nil {
@@ -295,6 +313,14 @@ func GetCallbackMsg(request *http.Request) (callbackMsg *CallbackMsg, mapData ma
callbackMsg.Param = orderInfoMsg
orderInfoMsg.CallbackMsg = callbackMsg
}
} else if msgURL == CallbackMsgApplyInvoice {
var orderInfoMsg *CallbackInvoiceMsg
if err = utils.UnmarshalUseNumber([]byte(callbackMsg.JdParamJSON), &orderInfoMsg); err == nil {
callbackMsg.Param = orderInfoMsg
orderInfoMsg.CallbackMsg = callbackMsg
}
fmt.Println(orderInfoMsg)
} else {
var orderMsg *CallbackOrderMsg
if err = utils.UnmarshalUseNumber([]byte(callbackMsg.JdParamJSON), &orderMsg); err == nil {