308 lines
13 KiB
Go
308 lines
13 KiB
Go
package tao_vegetable
|
|
|
|
import (
|
|
"encoding/json"
|
|
"errors"
|
|
"fmt"
|
|
domain3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/domain"
|
|
request3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/request"
|
|
domain591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/domain"
|
|
request591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/request"
|
|
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util"
|
|
"git.rosy.net.cn/baseapi/utils"
|
|
"git.rosy.net.cn/jx-callback/business/model"
|
|
"git.rosy.net.cn/jx-callback/globals"
|
|
"strconv"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestName(t *testing.T) {
|
|
fmt.Println(len("http://image.jxc4.com/c8e6b01cd8aa6528f40d0719084e238d.png"))
|
|
}
|
|
func TestGetOrderDetail(t *testing.T) {
|
|
requestParam := &request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{
|
|
StoreId: utils.String2Pointer("JX100236"),
|
|
BizOrderId: utils.Int64ToPointer(8000245939558000686),
|
|
}}
|
|
|
|
data, err := apiTao.QueryOrderDetail(requestParam)
|
|
var skuPrice int64 = 0 // 商品原价
|
|
var skuMemberPrice int64 = 0 // 商户优惠价
|
|
for _, v := range *data.SubOrderResponseList {
|
|
skuPrice += *v.OriginalFee
|
|
skuMemberPrice += *v.DiscountMerchantFee
|
|
}
|
|
var platformPrice = *data.PlatformDeduction.BaseLogisticsFee + *data.PlatformDeduction.TechnicalServiceFee + *data.PlatformDeduction.PayServiceFee + *data.PlatformDeduction.ThirdpartnarFee
|
|
|
|
jieSuanPrice := skuPrice + *data.PostFee - skuMemberPrice - platformPrice
|
|
|
|
fmt.Println(jieSuanPrice)
|
|
globals.SugarLogger.Debugf("data := %s", utils.Format4Output(data, false))
|
|
globals.SugarLogger.Debugf("err := %s", utils.Format4Output(err, false))
|
|
globals.SugarLogger.Debugf("errdatadatadata := %s", utils.Format4Output(utils.Str2Int(*data.StoreId), false))
|
|
}
|
|
|
|
func TestPartialRefundReason(t *testing.T) {
|
|
param := &request3156.AlibabaTclsAelophyRefundCsapplyrenderRequest{
|
|
RefundCsApplyRenderDTO: &domain3156.AlibabaTclsAelophyRefundCsapplyrenderRefundCsApplyRenderDto{
|
|
OutOrderId: utils.String2Pointer("1930521002382804887"),
|
|
StoreId: utils.String2Pointer("JX668998"),
|
|
OutSubOrderIds: &[]string{"1930521002384804887"},
|
|
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(TaoVegetableChannelCode)),
|
|
},
|
|
}
|
|
apiTao.PartialRefundReason(param)
|
|
}
|
|
|
|
func TestQueryAfsOrderDetail(t *testing.T) {
|
|
param := &request591.AlibabaWdkOrderRefundGetRequest{
|
|
OrderFrom: utils.Int64ToPointer(31),
|
|
ShopId: nil,
|
|
StoreId: utils.String2Pointer("JX100705"),
|
|
RefundIds: &[]int64{1313780273},
|
|
}
|
|
data, err := apiTao.QueryAfsOrderDetail(param)
|
|
globals.SugarLogger.Debugf("data := %s", utils.Format4Output(data, false))
|
|
globals.SugarLogger.Debugf("err := %s", utils.Format4Output(err, false))
|
|
|
|
}
|
|
|
|
func Test222(t *testing.T) {
|
|
fmt.Println((3 & 1) != 0)
|
|
}
|
|
|
|
// 接单
|
|
func TestDeliveryFinishACCEPTED(t *testing.T) {
|
|
orderID := 8000253695335600623
|
|
storeID := "JX666900"
|
|
param := &request591.AlibabaAelophyOrderWorkCallbackRequest{}
|
|
param.WorkCallbackRequest = &domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackRequest{
|
|
StoreId: utils.String2Pointer(storeID),
|
|
BizOrderId: utils.Int64ToPointer(int64(orderID)),
|
|
Status: utils.String2Pointer(OrderStatusPickedUp),
|
|
StatusRemark: nil,
|
|
//DelivererName: utils.String2Pointer("张廷"),
|
|
//DelivererPhone: utils.String2Pointer("SIGN"),
|
|
WorkCallbackSubOrderInfoList: nil,
|
|
DelivererCompany: nil,
|
|
LogisticsNo: nil,
|
|
}
|
|
|
|
workCallbackSubOrderInfoList := make([]domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo, 0, 0)
|
|
orderDetail, err := apiTao.QueryOrderDetail(&request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{
|
|
StoreId: utils.String2Pointer(storeID),
|
|
BizOrderId: utils.Int64ToPointer(utils.Str2Int64(utils.Int2Str(orderID))),
|
|
}})
|
|
if err != nil {
|
|
return
|
|
}
|
|
for _, v := range *orderDetail.SubOrderResponseList {
|
|
workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
|
BizSubOrderId: v.BizSubOrderId,
|
|
SkuCode: v.SkuCode,
|
|
PickSaleQuantity: utils.String2Pointer(utils.Float64ToStr(*v.BuySaleQuantity)),
|
|
PickStockQuantity: utils.String2Pointer(utils.Float64ToStr(*v.BuyStockQuantity)),
|
|
}
|
|
workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo)
|
|
}
|
|
param.WorkCallbackRequest.WorkCallbackSubOrderInfoList = &workCallbackSubOrderInfoList
|
|
apiTao.SetToken("50000C00e13l3SYxqadamvelw15656b52A0xeXfaS8nyVCgitlzIq1nDwFzYdcQpIsVz")
|
|
//apiTao.SetToken("50002C01524csKWniqfypk8dbshKRTeFIOIy1a46c0cfgsvodWjsseMsXqpvWvECMj1")
|
|
err = apiTao.DeliveryFinish(param)
|
|
fmt.Println(err)
|
|
}
|
|
|
|
// 取消订单
|
|
func TestDeliveryFinishREJECTED(t *testing.T) {
|
|
// 发送取消状态,商户取消
|
|
err := apiTao.DeliveryFinish(&request591.AlibabaAelophyOrderWorkCallbackRequest{
|
|
WorkCallbackRequest: &domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackRequest{
|
|
StoreId: utils.String2Pointer("JX668594"),
|
|
BizOrderId: utils.Int64ToPointer(5000897098078620922),
|
|
Status: utils.String2Pointer("REJECTED"),
|
|
},
|
|
})
|
|
|
|
fmt.Println(err)
|
|
}
|
|
|
|
func TestGetTransactionOrderList(t *testing.T) {
|
|
queryData := time.Now().AddDate(0, 0, 0)
|
|
create := time.Date(queryData.Year(), queryData.Month(), queryData.Day(), 0, 0, 0, 0, queryData.Location())
|
|
end := time.Date(queryData.Year(), queryData.Month(), queryData.Day(), 23, 59, 59, 59, queryData.Location())
|
|
createTime := util.LocalTime(create)
|
|
endTime := util.LocalTime(end)
|
|
var pageIndex int64 = 1
|
|
var PageSize int64 = 20
|
|
param := &request591.AlibabaWdkOrderListRequest{
|
|
BatchQueryRequest: &domain591.AlibabaWdkOrderListBatchQueryRequest{
|
|
StoreIds: &[]string{"JX102751"},
|
|
StartTime: &createTime,
|
|
EndTime: &endTime,
|
|
OrderFrom: utils.Int64ToPointer(ChannelCome),
|
|
ShopId: nil,
|
|
StoreId: utils.String2Pointer("JX102751"),
|
|
BizType: nil,
|
|
},
|
|
}
|
|
param.BatchQueryRequest.SetPageSize(PageSize)
|
|
param.BatchQueryRequest.SetPageIndex(pageIndex)
|
|
|
|
data, err := apiTao.GetTransactionOrderList(param)
|
|
if err != nil {
|
|
globals.SugarLogger.Debugf("err := %s", utils.Format4Output(err, false))
|
|
return
|
|
}
|
|
globals.SugarLogger.Debugf("data := %s", utils.Format4Output(data, false))
|
|
|
|
// 取消订单
|
|
//for _, v := range *data.Orders {
|
|
// err := apiTao.DeliveryFinish(&request591.AlibabaAelophyOrderWorkCallbackRequest{
|
|
// WorkCallbackRequest: &domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackRequest{
|
|
// StoreId: utils.String2Pointer("JX668594"),
|
|
// BizOrderId: utils.Int64ToPointer(*v.BizOrderId),
|
|
// Status: utils.String2Pointer("REJECTED"),
|
|
// },
|
|
// })
|
|
// if err != nil {
|
|
// fmt.Println(err)
|
|
// }
|
|
//}
|
|
}
|
|
|
|
func TestPickUp(t *testing.T) {
|
|
param := &request591.AlibabaAelophyOrderWorkCallbackRequest{}
|
|
param.WorkCallbackRequest = &domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackRequest{
|
|
StoreId: utils.String2Pointer("JX666844"),
|
|
BizOrderId: utils.Int64ToPointer(5000921376234590432),
|
|
Status: utils.String2Pointer(OrderStatusDeliveryOver),
|
|
}
|
|
|
|
workCallbackSubOrderInfoList := make([]domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo, 0, 0)
|
|
workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
|
BizSubOrderId: utils.Int64ToPointer(5000921376234590432),
|
|
SkuCode: utils.String2Pointer("22832"),
|
|
PickSaleQuantity: utils.String2Pointer("1"),
|
|
PickStockQuantity: utils.String2Pointer("1"),
|
|
}
|
|
workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo)
|
|
|
|
// 出库
|
|
param.WorkCallbackRequest.WorkCallbackSubOrderInfoList = &workCallbackSubOrderInfoList
|
|
|
|
err := apiTao.DeliveryFinish(param)
|
|
fmt.Println(err)
|
|
}
|
|
|
|
func TestString(t *testing.T) {
|
|
skuSt := `{\"income\":\"1\",\"sub_discount_merchant_item_fee\":\"0\",\"afterRefund\":\"false\",\"reverseCaseId\":\"1000010862920670044\",\"discount\":\"[]\",\"sub_refund_item_fee\":\"1800\",\"scenarioGroup\":\"TB\",\"saleUnit\":\"份\",\"refundPostFee\":\"0\",\"refundPlatformFee\":\"0\",\"skuName\":\"西兰花 500g/份\",\"wdkrfqr\":\"{\\\"operatorType\\\":1,\\\"operatorId\\\":3460808748,\\\"operatorName\\\":\\\"BUYER\\\"}\",\"skuBrandSubsidyFee\":\"0\",\"refundSaleQuantity\":\"3\",\"wdkrc\":\"{\\\"operatorType\\\":2,\\\"operatorId\\\":\\\"SYSTEM\\\",\\\"operatorName\\\":\\\"系统\\\"}\",\"price\":\"900\",\"orderClient\":\"2\",\"wdkdfqrrr\":\"补差退款\",\"refundTotalSubCount\":\"1\",\"discount_merchant_fee\":\"0\",\"skuMerchantOfflineSubsidyFee\":\"0\",\"barcode\":\"19930827\",\"refundExpectRefundQuantity\":\"0.0\",\"wdkRefundSource\":\"3\",\"tbBizOrderId\":\"1930802089555804887\",\"wdkrfqrmemo\":\"系统代发起补差退款\",\"gmtDisputeEndTime\":\"2023-07-10 15:53:07\",\"sub_discount_platform_brand_item_fee\":\"0\",\"discount_platform_fee\":\"0\",\"stockUnit\":\"份\",\"tbBizParentId\":\"1930802089553804887\",\"sub_refund_fee\":\"1800\",\"sub_discount_platform_channel_item_fee\":\"0\",\"sub_discount_platform_agent_item_fee\":\"0\",\"weightItem\":\"0\",\"sub_discount_platform_item_fee\":\"0\",\"skuMerchantOnlineSubsidyFee\":\"0\"}`
|
|
str2, err := strconv.Unquote("\"" + skuSt + "\"")
|
|
fmt.Println("err111", err)
|
|
data := &GoodsScarceRefund{}
|
|
if err := json.Unmarshal([]byte(str2), &data); err != nil {
|
|
fmt.Println("err = ", err)
|
|
return
|
|
}
|
|
fmt.Println("data = ", data)
|
|
//a2 := strings.Index(skuSt, "skuName")
|
|
//a3 := strings.Index(skuSt, "wdkrfqr")
|
|
//skuName := skuSt[a2+12 : a3-5]
|
|
//fmt.Println(skuName)
|
|
}
|
|
|
|
// 骑手变更
|
|
func TestDelivererChange(t *testing.T) {
|
|
param := &request591.AlibabaAelophyOrderDelivererChangeRequest{
|
|
DelivererChangeRequest: &domain591.AlibabaAelophyOrderDelivererChangeDelivererChangeRequest{
|
|
StoreId: utils.String2Pointer("JX668594"),
|
|
BizOrderId: utils.Int64ToPointer(5000900610990770922),
|
|
DelivererName: utils.String2Pointer("张廷"),
|
|
DelivererPhone: utils.String2Pointer("13302290396"),
|
|
DelivererCompany: utils.String2Pointer(TaoDeliveryTypeSELF),
|
|
LogisticsNo: utils.String2Pointer("1504611792359260160"),
|
|
},
|
|
}
|
|
apiTao.DelivererChange(param)
|
|
}
|
|
|
|
// 骑手坐标
|
|
func TestDeliveryTrajectory(t *testing.T) {
|
|
param := &request591.AlibabaAelophyOrderLogisticsTraceCallbackRequest{
|
|
LogisticsTraceCallbackRequest: &domain591.AlibabaAelophyOrderLogisticsTraceCallbackLogisticsTraceCallbackRequest{
|
|
StoreId: utils.String2Pointer("JX668594"),
|
|
BizOrderId: utils.Int64ToPointer(5000900574962430922),
|
|
Longitude: utils.String2Pointer("104045460"),
|
|
Latitude: utils.String2Pointer("30693001"),
|
|
UpdateTime: (*util.LocalTime)(utils.Time2Pointer(time.Now())),
|
|
},
|
|
}
|
|
apiTao.DeliveryTrajectory(param)
|
|
}
|
|
|
|
func TestQueryBillList(t *testing.T) {
|
|
queryData := time.Now()
|
|
create := time.Date(queryData.Year(), queryData.Month(), queryData.Day()-17, 0, 0, 0, 0, queryData.Location())
|
|
end := time.Date(queryData.Year(), queryData.Month(), queryData.Day()-15, 23, 59, 59, 59, queryData.Location())
|
|
|
|
data, err := GetOrderTotalShopMoney("", "JX668429", create, end)
|
|
|
|
globals.SugarLogger.Debugf("data:= %s", utils.Format4Output(data, false))
|
|
globals.SugarLogger.Debugf("data:= %s", utils.Format4Output(err, false))
|
|
}
|
|
|
|
// GetOrderTotalShopMoney 获取门店结算信息
|
|
func GetOrderTotalShopMoney(appOrgCode string, vendorStoreID string, start, end time.Time) (map[string]string, error) {
|
|
if start.IsZero() || end.IsZero() {
|
|
return nil, errors.New("开始时间和结束时间不能为空")
|
|
}
|
|
|
|
settlement := make(map[string]string, 0)
|
|
|
|
api := apiTao
|
|
startBillDate := util.LocalTime(start)
|
|
endBillDate := util.LocalTime(end)
|
|
pageSize := 200
|
|
pageIndex := 1
|
|
|
|
param := &request591.AlibabaWdkBillListRequest{
|
|
TxdBillListGetRequest: &domain591.AlibabaWdkBillListTxdBillListGetRequest{
|
|
EndBillDate: &endBillDate,
|
|
StartBillDate: &startBillDate,
|
|
ShopCode: utils.String2Pointer(vendorStoreID),
|
|
PageSize: utils.Int64ToPointer(int64(pageSize)),
|
|
PageIndex: utils.Int64ToPointer(int64(pageIndex)),
|
|
},
|
|
}
|
|
|
|
var totalIndex int64 = 0
|
|
result, err := api.QueryBillList(param)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
for _, v := range *result.TxdBillDetailBOS {
|
|
if *v.OrderType == "positive" {
|
|
settlement[*v.BizOrderId] = *v.ReceivableAmount
|
|
}
|
|
}
|
|
|
|
if *result.Total > int64(pageSize) {
|
|
totalIndex = *result.Total / int64(pageSize)
|
|
if *result.Total%int64(pageSize) != model.NO {
|
|
totalIndex += 1
|
|
}
|
|
|
|
for i := 2; i <= int(totalIndex); i++ {
|
|
param.TxdBillListGetRequest.PageIndex = utils.Int64ToPointer(int64(i))
|
|
result2, _ := api.QueryBillList(param)
|
|
for _, v := range *result2.TxdBillDetailBOS {
|
|
if *v.OrderType == "positive" {
|
|
settlement[*v.BizOrderId] = *v.ReceivableAmount
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return settlement, nil
|
|
}
|