添加饿了退单,美团账单刷新

This commit is contained in:
邹宗楠
2023-04-27 14:20:26 +08:00
parent 3a49c8ca25
commit 2ce4bee032
5 changed files with 91 additions and 86 deletions

View File

@@ -1,8 +1,6 @@
package ebaiapi package ebaiapi
import ( import (
"encoding/json"
"fmt"
"testing" "testing"
) )
@@ -20,29 +18,29 @@ func TestAPI_GetImOnlineStatus(t *testing.T) {
} }
func TestParseMultilayerJson(t *testing.T) { func TestParseMultilayerJson(t *testing.T) {
//var data1 = `{"subBizType": "SEND_MESSAGE","bizType": "IM","payload": {"senderId":"20235760123","receiverIds":["105872382789","30506545123","20235760456"],"createTime":1642647893901,"groupId":"$2$10514249123$PNM","msgId": "1654907240123.PNM","contentType": "1","content":"{"text":"测试消息"}"},"platformShopId": "32267818868"}` // //var data1 = `{"subBizType": "SEND_MESSAGE","bizType": "IM","payload": {"senderId":"20235760123","receiverIds":["105872382789","30506545123","20235760456"],"createTime":1642647893901,"groupId":"$2$10514249123$PNM","msgId": "1654907240123.PNM","contentType": "1","content":"{"text":"测试消息"}"},"platformShopId": "32267818868"}`
var data8 = `{ // var data8 = `{
"subBizType": "SEND_MESSAGE", // "subBizType": "SEND_MESSAGE",
"bizType": "IM", // "bizType": "IM",
"payload": { // "payload": {
"senderId": "102000022769889", // "senderId": "102000022769889",
"receiverIds": ["102000022769889", "30507511668"], // "receiverIds": ["102000022769889", "30507511668"],
"createTime": 1680579669946, // "createTime": 1680579669946,
"groupId": "$2$10996707119$PNM", // "groupId": "$2$10996707119$PNM",
"msgId": "1734454964456.PNM", // "msgId": "1734454964456.PNM",
"contentType": 8, // "contentType": 8,
"content": "{\"elements\":[{\"elementContent\":\"{\\\"atAll\\\":false,\\\"defaultNick\\\":\\\"\\\",\\\"uid\\\":{\\\"appUid\\\":\\\"30507511668\\\",\\\"domain\\\":\\\"eleme\\\"}}\",\"elementType\":3},{\"elementContent\":\"{\\\"extensions\\\":{},\\\"text\\\":\\\"@商家 我选的就是退一个杯子呀\\\"}\",\"elementType\":1}]}" // "content": "{\"elements\":[{\"elementContent\":\"{\\\"atAll\\\":false,\\\"defaultNick\\\":\\\"\\\",\\\"uid\\\":{\\\"appUid\\\":\\\"30507511668\\\",\\\"domain\\\":\\\"eleme\\\"}}\",\"elementType\":3},{\"elementContent\":\"{\\\"extensions\\\":{},\\\"text\\\":\\\"@商家 我选的就是退一个杯子呀\\\"}\",\"elementType\":1}]}"
}, // },
"platformShopId": "507511668" // "platformShopId": "507511668"
}` //}`
//retVal1 := ParseMultilayerJson(data1) // //retVal1 := ParseMultilayerJson(data1)
//fmt.Println(utils.Format4Output(retVal1, false)) // //fmt.Println(utils.Format4Output(retVal1, false))
//retVal8 := ParseMultilayerJson(data8) // //retVal8 := ParseMultilayerJson(data8)
//fmt.Println(utils.Format4Output(retVal8, false)) // //fmt.Println(utils.Format4Output(retVal8, false))
temp := ImMessageSent{} // temp := ImMessageSent{}
err := json.Unmarshal([]byte(data8), &temp) // err := json.Unmarshal([]byte(data8), &temp)
if err != nil { // if err != nil {
fmt.Println(err) // fmt.Println(err)
} // }
fmt.Println(temp) // fmt.Println(temp)
} }

View File

@@ -1,6 +1,7 @@
package ebaiapi package ebaiapi
import ( import (
"fmt"
"time" "time"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
@@ -618,11 +619,13 @@ func (a *API) OrderAgreeReturnGoods(orderID, refundOrderID string) (err error) {
//售后 拒绝退货退款 //售后 拒绝退货退款
func (a *API) OrderDisagreeReturnGoods(orderID, refundOrderID, reason string) (err error) { func (a *API) OrderDisagreeReturnGoods(orderID, refundOrderID, reason string) (err error) {
_, err = a.AccessAPI("order.disagreereturngoods", map[string]interface{}{ data, err := a.AccessAPI("order.disagreereturngoods", map[string]interface{}{
"order_id": orderID, "order_id": orderID,
"refund_order_id": refundOrderID, "refund_order_id": refundOrderID,
"reason": reason, "refuse_code": "5",
"refuse_reason": reason,
}) })
fmt.Println(data)
return err return err
} }

View File

@@ -7,6 +7,11 @@ import (
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
) )
func TestCancelOrder(t *testing.T) {
err := api.OrderDisagreeReturnGoods("4007560108986061407", "1939575364735607", "1")
fmt.Println(err)
}
func TestOrderGet(t *testing.T) { func TestOrderGet(t *testing.T) {
result, err := api.OrderGet("4055150105296238277") result, err := api.OrderGet("4055150105296238277")
if err != nil { if err != nil {

View File

@@ -31,17 +31,46 @@ type Bill struct {
3想要实现的效果 3想要实现的效果
4预计开发周期和上线时间 4预计开发周期和上线时间
5商家公司授权开通日账单接口的证明。点击下载授权证明模板授权证明以附件形式提供。*/ 5商家公司授权开通日账单接口的证明。点击下载授权证明模板授权证明以附件形式提供。*/
func (a *API) GetStoreBillList(param *Bill) (*StoreBillListRes, error) { func (a *API) GetStoreBillList(param *Bill) (map[string]*SettleOrderList, error) {
result, err := a.AccessAPI3("bill/list", true, utils.Struct2Map(param, "", false)) orderSettle := make(map[string]*SettleOrderList, 0)
if err != nil {
return nil, err for {
result, err := a.AccessAPI3("bill/list", true, utils.Struct2Map(param, "", false))
if err != nil {
return nil, err
}
var data *StoreBillListRes
if err := utils.Map2StructByJson(result, &data, false); err != nil {
return nil, err
}
for _, v := range data.Data {
settle, ok := orderSettle[v.WmOrderViewId]
if !ok {
settle = &SettleOrderList{OrderId: v.WmOrderViewId}
}
switch v.BillChargeType {
case BillChargeTypeOrder: // 平台结算
settle.PlatformSettlement = v.SettleAmount
case BillChargeTypeWayBillFee: // 运费
settle.DeliveryFee = v.SettleAmount
case BillChargeTypeTimingFee: // 定时宝
settle.TimingFee = v.SettleAmount
default:
continue
}
orderSettle[v.WmOrderViewId] = settle
}
if int64(data.ExtraInfo.TotalCount) >= (param.Offset * param.Limit) {
param.Offset += param.Limit
} else {
break
}
} }
var data *StoreBillListRes return orderSettle, nil
if err := utils.Map2StructByJson(result, &data, false); err != nil {
return nil, err
}
return data, nil
} }
// StoreBillListReq 门店结算查询条件 // StoreBillListReq 门店结算查询条件
@@ -129,7 +158,7 @@ type WmAppOrderSkuBenefitDetailList struct {
} }
type wmAppOrderActDetails struct { type wmAppOrderActDetails struct {
actId int64 `json:"act_id"` // 商品参与活动的活动id ActId int64 `json:"act_id"` // 商品参与活动的活动id
MTType int `json:"type"` // 参与活动的活动类型参考值1-首单立减2-满减优惠4-套餐惠赠优惠9-美团红包11-提前下单减优惠17-折扣商品18-美团专送再减20-第二份半价优惠22-门店新客立减27-指定商品满减40-加价购43-X元M件46-超值换购66-会员折扣商品101-商家代金券优惠117-商品优惠券118-商品折扣券900-首单红包优惠。 MTType int `json:"type"` // 参与活动的活动类型参考值1-首单立减2-满减优惠4-套餐惠赠优惠9-美团红包11-提前下单减优惠17-折扣商品18-美团专送再减20-第二份半价优惠22-门店新客立减27-指定商品满减40-加价购43-X元M件46-超值换购66-会员折扣商品101-商家代金券优惠117-商品优惠券118-商品折扣券900-首单红包优惠。
PoiCharge float64 `json:"poiCharge"` // 本活动id及活动类型下商家承担的金额单位分。 PoiCharge float64 `json:"poiCharge"` // 本活动id及活动类型下商家承担的金额单位分。
} }
@@ -138,12 +167,20 @@ type MedicalInsuranceFee struct {
Name string `json:"name"` // 商品名称。 Name string `json:"name"` // 商品名称。
SkuId string `json:"sku_id"` // 商品sku的规格编码SKU码/货号。 SkuId string `json:"sku_id"` // 商品sku的规格编码SKU码/货号。
Count int `json:"count"` // 商品数量 注当字段count=0时此账单记录为商家发起的按重量退差价但结算类型仍为“26-闪购品类订单部分退款”billChargeType=26 Count int `json:"count"` // 商品数量 注当字段count=0时此账单记录为商家发起的按重量退差价但结算类型仍为“26-闪购品类订单部分退款”billChargeType=26
totalOriginPrice float64 `json:"totalOriginPrice"` // 商品原价总价(含商品包装盒费),单位分。 TotalOriginPrice float64 `json:"totalOriginPrice"` // 商品原价总价(含商品包装盒费),单位分。
totalPoiCharge float64 `json:"totalPoiCharge"` // 配送费优惠商家承担总金额,单位分。 TotalPoiCharge float64 `json:"totalPoiCharge"` // 配送费优惠商家承担总金额,单位分。
wmAppOrderShippingActDetailList []wmAppOrderShippingActDetailList `json:"wmAppOrderShippingActDetailList"` // sku商品参与的配送费活动详情。 WmAppOrderShippingActDetailList []wmAppOrderShippingActDetailList `json:"wmAppOrderShippingActDetailList"` // sku商品参与的配送费活动详情。
} }
type wmAppOrderShippingActDetailList struct { type wmAppOrderShippingActDetailList struct {
MTType int `json:"type"` // 参与配送费活动的活动类型参考值9-美团红包21-会员免配送费25-立减配送费30-满减配送费36-新人减配送费54-新客专享减配送费59-新客专享减配送费300-商家会员减配送费302-预订单减配送费304-减免运费券101-商家代金券优惠305-津贴优惠。 MTType int `json:"type"` // 参与配送费活动的活动类型参考值9-美团红包21-会员免配送费25-立减配送费30-满减配送费36-新人减配送费54-新客专享减配送费59-新客专享减配送费300-商家会员减配送费302-预订单减配送费304-减免运费券101-商家代金券优惠305-津贴优惠。
PoiCharge float64 `json:"poiCharge"` // 商家承担金额,单位分。 PoiCharge float64 `json:"poiCharge"` // 商家承担金额,单位分。
} }
// SettleOrderList 返回值
type SettleOrderList struct {
OrderId string `json:"order_id"` // 订单id
TimingFee int64 `json:"timing_fee"` // 准时保险费
DeliveryFee int64 `json:"delivery_fee"` // 配送费
PlatformSettlement int64 `json:"platform_settlement"` // 平台结算金额
}

View File

@@ -1,9 +1,8 @@
package mtwmapi package mtwmapi
import ( import (
"git.rosy.net.cn/baseapi/utils" "fmt"
"git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals"
"sort"
"testing" "testing"
"time" "time"
) )
@@ -26,50 +25,13 @@ func TestBillList(t *testing.T) {
return return
} }
var reallyData = make([]BillListData, 0) for _, v := range data {
for _, v := range data.Data { globals.SugarLogger.Debugf("OrderId : %s , TimingFee : %d , DeliveryFee : %d , PlatformSettlement : %d ", v.OrderId, v.TimingFee, v.DeliveryFee, v.PlatformSettlement)
if v.WmOrderViewId != "" {
reallyData = append(reallyData, v)
}
} }
sort.Slice(reallyData, func(i, j int) bool {
return utils.Str2Int64(reallyData[i].WmOrderViewId) < utils.Str2Int64(reallyData[j].WmOrderViewId)
})
for _, v := range reallyData {
globals.SugarLogger.Debugf("OrderId := %s,TimingFee:%d, DeliveryFee : %s, PlatformSettlement : %d", v.WmOrderViewId, v.BillChargeType, v.ChargeFeeDesc, v.SettleAmount)
}
//orderSettle := make(map[string]*SettleOrderList, 0)
//for _, v := range data.Data {
// settle, ok := orderSettle[v.WmOrderViewId]
// if !ok {
// settle = &SettleOrderList{OrderId: v.WmOrderViewId}
// }
// if settle.OrderId == "" {
// settle.OrderId = v.WmOrderViewId
// }
// switch v.BillChargeType {
// case BillChargeTypeOrder:
// settle.PlatformSettlement = v.SettleAmount
// case BillChargeTypeWayBillFee:
// settle.DeliveryFee = v.SettleAmount
// case BillChargeTypeTimingFee:
// settle.TimingFee = v.SettleAmount
// default:
// continue
// }
// orderSettle[v.WmOrderViewId] = settle
//}
//for _, v := range orderSettle {
// //globals.SugarLogger.Debugf("%s:%s", v.OrderId, utils.Format4Output(v, false))
// globals.SugarLogger.Debugf("OrderId := %s,TimingFee:%d, DeliveryFee : %d, PlatformSettlement : %d", v.OrderId, v.TimingFee, v.DeliveryFee, v.PlatformSettlement)
//}
} }
type SettleOrderList struct { func TestA1(t *testing.T) {
OrderId string `json:"order_id"` // 订单id a := -20
TimingFee int64 `json:"timing_fee"` // 准时保险费 fmt.Println(a * -1)
DeliveryFee int64 `json:"delivery_fee"` // 配送费
PlatformSettlement int64 `json:"platform_settlement"` // 平台结算金额
} }