75 lines
3.0 KiB
Go
75 lines
3.0 KiB
Go
package enterprise
|
||
|
||
import (
|
||
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
||
"git.rosy.net.cn/baseapi/utils"
|
||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||
"git.rosy.net.cn/jx-callback/business/model"
|
||
"git.rosy.net.cn/jx-callback/globals"
|
||
"testing"
|
||
)
|
||
|
||
func TestOOO(t *testing.T) {
|
||
product := map[string]interface{}{
|
||
"apply_quantity": 1,
|
||
"apply_refund_time": 1711447475000,
|
||
"apply_refund_user_amount": 143,
|
||
"commodity_type": 2,
|
||
"custom_sku_id": "25381",
|
||
"custom_sku_spec_id": "",
|
||
"discount_detail": map[string]interface{}{
|
||
"agent_discount_amount": 0,
|
||
"discount_total_amount": 577,
|
||
"merchant_discount_amount": 563,
|
||
"platform_discount_amount": 14,
|
||
"total_price": 720,
|
||
"user_discount_amount": 0,
|
||
},
|
||
"free_gift": false,
|
||
"fund_calculate_type": 0,
|
||
"gift_related_sub_biz_order_id_list": nil,
|
||
"is_combine": false,
|
||
"last_refund_status": 0,
|
||
"platform_sku_id": 16319366072214214,
|
||
"refund_order_id": 2403269635888396215,
|
||
"refund_quantity": 1,
|
||
"refund_status": 50,
|
||
"refund_user_amount": 143,
|
||
"refund_weight": 350,
|
||
"sku_name": "【尽享好价】西红柿 番茄约300~350g/组",
|
||
"sku_spec_id": "null",
|
||
"sub_biz_order_id": "4006435770425226215",
|
||
"upc": "upc-25381",
|
||
"virtual_type": "0",
|
||
}
|
||
skuList := aa(product)
|
||
globals.SugarLogger.Debugf("=====skulist := %s", utils.Format4Output(skuList, false))
|
||
|
||
}
|
||
|
||
func aa(product map[string]interface{}) (skuList []*model.OrderSku) {
|
||
skuList = make([]*model.OrderSku, 0, 0)
|
||
if product["virtual_type"] == ebaiapi.OrderVirtualType {
|
||
skuName := product["sku_name"].(string)
|
||
_, _, _, specUnit, _, specQuality := jxutils.SplitSkuName(skuName)
|
||
number := int(utils.MustInterface2Int64(product["apply_quantity"]))
|
||
sku := &model.OrderSku{
|
||
VendorOrderID: "1",
|
||
VendorID: model.VendorIDEBAI,
|
||
Count: number,
|
||
SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(product[ebaiapi.KeyCustomSkuID]), 0)),
|
||
VendorSkuID: utils.Int2Str(product["platform_sku_id"].(int)),
|
||
SkuName: skuName,
|
||
Weight: int(utils.Interface2Int64WithDefault(product["refund_weight"], 0)) / number, // 退单这里的total_weight有BUG,这里的total_weight还是没有退单时的值
|
||
VendorPrice: utils.MustInterface2Int64(product["refund_user_amount"]),
|
||
}
|
||
//sku.SalePrice, _, sku.StoreSubName = getSkuSalePrice(product)
|
||
sku.SalePrice = utils.Interface2Int64WithDefault(product["discount_detail"].(map[string]interface{})["total_price"], 0)
|
||
if sku.Weight == 0 {
|
||
sku.Weight = jxutils.FormatSkuWeight(specQuality, specUnit) // 订单信息里没有重量,只有名字里尝试找
|
||
}
|
||
skuList = append(skuList, sku)
|
||
}
|
||
return skuList
|
||
}
|