From a24dc5fb5450c4ef92685f2a31ac017aa681667f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Sep 2020 16:17:46 +0800 Subject: [PATCH 01/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=B7=E6=9C=80?= =?UTF-8?q?=E5=A4=9A18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index cb876dc82..af24d1680 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1595,6 +1595,7 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) order.VendorOrderID2 = order.VendorOrderID2[0:12] } order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*100000) + utils.Int2Str(suffix) + order.VendorOrderID = order.VendorOrderID[0:18] } for _, sku := range skus { sku.VendorOrderID = order.VendorOrderID From 4f63859087951a64b43ba415056052658541bd47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Sep 2020 16:20:18 +0800 Subject: [PATCH 02/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=B7=E6=9C=80?= =?UTF-8?q?=E5=A4=9A18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/jxutils.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index a76972b8a..c578cd043 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -161,7 +161,7 @@ func GetPossibleVendorIDFromVendorOrderID(vendorOrderID string) (vendorID int) { vendorID = model.VendorIDWSC } else if orderIDLen == len("1000004390") { vendorID = model.VendorIDJX - } else if orderIDLen == len("124557362562000001") { + } else if orderIDLen == len("124557362562000001") || orderIDLen == len("13153183146800000100") { vendorID = model.VendorIDJDShop } } From bccf10d8f56f6f330d2b4e45c2f1151a04b53865 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Sep 2020 16:20:35 +0800 Subject: [PATCH 03/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=B7=E6=9C=80?= =?UTF-8?q?=E5=A4=9A18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index af24d1680..97c58f7bc 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1595,7 +1595,7 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) order.VendorOrderID2 = order.VendorOrderID2[0:12] } order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*100000) + utils.Int2Str(suffix) - order.VendorOrderID = order.VendorOrderID[0:18] + // order.VendorOrderID = order.VendorOrderID[0:18] } for _, sku := range skus { sku.VendorOrderID = order.VendorOrderID From a7c33aa79e412a622f0dd14d0301a30654cfc2fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Sep 2020 16:27:38 +0800 Subject: [PATCH 04/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=B7=E6=9C=80?= =?UTF-8?q?=E5=A4=9A18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 97c58f7bc..af24d1680 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1595,7 +1595,7 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) order.VendorOrderID2 = order.VendorOrderID2[0:12] } order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*100000) + utils.Int2Str(suffix) - // order.VendorOrderID = order.VendorOrderID[0:18] + order.VendorOrderID = order.VendorOrderID[0:18] } for _, sku := range skus { sku.VendorOrderID = order.VendorOrderID From 82b96a6920a8b89c8f42600386edab39e02a2e2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Sep 2020 16:30:47 +0800 Subject: [PATCH 05/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=B7=E6=9C=80?= =?UTF-8?q?=E5=A4=9A18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index af24d1680..b99a3328e 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1414,7 +1414,7 @@ func MergeJdsOrders(ctx *jxcontext.Context, vendorOrderIDs []string) (vendorOrde order.SalePrice = salePrice order.ShopPrice = shopPrice order.TotalShopMoney = totalShop - order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(orders[0].VendorOrderID2)*10000) + utils.Int2Str(99) + order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(orders[0].VendorOrderID2)*10000) + utils.Int2Str(time.Now().Second()) order.VendorOrderID2 = strings.Join(orderIDs, ",") order.Status = model.OrderStatusNew setJdsOrderSeq(order) From 8ef481c323b6d90cd65799ad86fffb0cc678aa2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Sep 2020 16:34:42 +0800 Subject: [PATCH 06/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=B7=E6=9C=80?= =?UTF-8?q?=E5=A4=9A18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index b99a3328e..94dccb518 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1589,12 +1589,12 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) if goodsOrders[0].Status != model.OrderStatusCanceled { err = jdshop.ChangeOrderStatus(goodsOrders[0].VendorOrderID, model.OrderStatusCanceled, "订单转移被取消") } - suffix := utils.Str2Int(goodsOrders[0].VendorOrderID[12:len(goodsOrders[0].VendorOrderID)]) - suffix++ + // suffix := utils.Str2Int(goodsOrders[0].VendorOrderID[12:len(goodsOrders[0].VendorOrderID)]) + // suffix++ if len(order.VendorOrderID2) > 18 { order.VendorOrderID2 = order.VendorOrderID2[0:12] } - order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*100000) + utils.Int2Str(suffix) + order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*100000) + utils.Int2Str(time.Now().Second()) order.VendorOrderID = order.VendorOrderID[0:18] } for _, sku := range skus { From e2a8b6582473326790b65371c1eb63fe7e66971a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Sep 2020 16:44:36 +0800 Subject: [PATCH 07/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=94=AE=E5=90=8E=E5=8D=95=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 94dccb518..98677272b 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1415,6 +1415,9 @@ func MergeJdsOrders(ctx *jxcontext.Context, vendorOrderIDs []string) (vendorOrde order.ShopPrice = shopPrice order.TotalShopMoney = totalShop order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(orders[0].VendorOrderID2)*10000) + utils.Int2Str(time.Now().Second()) + if len(order.VendorOrderID) < 18 { + order.VendorOrderID = order.VendorOrderID + "0" + } order.VendorOrderID2 = strings.Join(orderIDs, ",") order.Status = model.OrderStatusNew setJdsOrderSeq(order) @@ -1594,8 +1597,10 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) if len(order.VendorOrderID2) > 18 { order.VendorOrderID2 = order.VendorOrderID2[0:12] } - order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*100000) + utils.Int2Str(time.Now().Second()) - order.VendorOrderID = order.VendorOrderID[0:18] + order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*10000) + utils.Int2Str(time.Now().Second()) + if len(order.VendorOrderID) < 18 { + order.VendorOrderID = order.VendorOrderID + "0" + } } for _, sku := range skus { sku.VendorOrderID = order.VendorOrderID From 7a32fb84fa0f6f66be61a8e9b3259c29ebf52ecf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 7 Sep 2020 10:22:59 +0800 Subject: [PATCH 08/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/orderman_ext.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 3bf1bd679..fb4c35bb9 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -314,6 +314,7 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS for _, v := range orders { if afsInfo := afsSkuMap[jxutils.ComposeUniversalOrderID(v.VendorOrderID, v.VendorID)]; afsInfo != nil { if afsInfo[v.SkuID] != nil && afsInfo[v.SkuID].Count > 0 { + fmt.Println("test333333333333333333333333333333333333333333333333333333333", utils.Format4Output(afsInfo[v.SkuID], false)) minus := afsInfo[v.SkuID].Count if minus > v.SkuCount2 { minus = v.SkuCount2 @@ -322,6 +323,7 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS afsInfo[v.SkuID].Count -= minus } } + fmt.Println("test22222222222222222222222222222222222222222222", v.SkuCount2) if v.SkuCount2 > 0 { var skuStr string if beego.BConfig.RunMode == "jxgy" { @@ -363,6 +365,7 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS } } orders = orders2 + fmt.Println("test111111111111111111111111111111111111111111111111", utils.Format4Output(orders, false)) case 3: excelConf := &excel.Obj2ExcelSheetConfig{ Title: "订单导出", From 039405b735228e350e16d2c7c6443908508df592 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 7 Sep 2020 10:35:12 +0800 Subject: [PATCH 09/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/orderman_ext.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index fb4c35bb9..4a359a0f0 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -314,7 +314,6 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS for _, v := range orders { if afsInfo := afsSkuMap[jxutils.ComposeUniversalOrderID(v.VendorOrderID, v.VendorID)]; afsInfo != nil { if afsInfo[v.SkuID] != nil && afsInfo[v.SkuID].Count > 0 { - fmt.Println("test333333333333333333333333333333333333333333333333333333333", utils.Format4Output(afsInfo[v.SkuID], false)) minus := afsInfo[v.SkuID].Count if minus > v.SkuCount2 { minus = v.SkuCount2 @@ -323,7 +322,6 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS afsInfo[v.SkuID].Count -= minus } } - fmt.Println("test22222222222222222222222222222222222222222222", v.SkuCount2) if v.SkuCount2 > 0 { var skuStr string if beego.BConfig.RunMode == "jxgy" { @@ -365,7 +363,6 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS } } orders = orders2 - fmt.Println("test111111111111111111111111111111111111111111111111", utils.Format4Output(orders, false)) case 3: excelConf := &excel.Obj2ExcelSheetConfig{ Title: "订单导出", @@ -949,6 +946,7 @@ func (c *OrderManager) getAfsOrderSkuInfo4ExportOrders(ctx *jxcontext.Context, f toDate, model.AfsOrderStatusFinished, } + fmt.Println("test6666666666666666666666666666666666", fromDate, toDate) var skus []*model.OrderSkuFinancial if err = dao.GetRows(dao.GetDB(), &skus, sql, sqlParams...); err == nil { skuMap = make(map[string]map[int]*model.OrderSkuFinancial) From a5469eb183de359bc66d41c0a236ba1eae5a7680 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 7 Sep 2020 10:54:57 +0800 Subject: [PATCH 10/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/orderman_ext.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 4a359a0f0..9f0de1131 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -938,7 +938,7 @@ func (c *OrderManager) getAfsOrderSkuInfo4ExportOrders(ctx *jxcontext.Context, f sql := ` SELECT t2.* FROM afs_order t1 - JOIN order_sku_financial t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.is_afs_order = 1 + JOIN order_sku_financial t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.is_afs_order = 1 AND t1.afs_order_id = t2.afs_order_id WHERE t1.afs_finished_at >= ? AND t1.afs_finished_at <= ? AND t1.status = ? ` sqlParams := []interface{}{ @@ -946,7 +946,6 @@ func (c *OrderManager) getAfsOrderSkuInfo4ExportOrders(ctx *jxcontext.Context, f toDate, model.AfsOrderStatusFinished, } - fmt.Println("test6666666666666666666666666666666666", fromDate, toDate) var skus []*model.OrderSkuFinancial if err = dao.GetRows(dao.GetDB(), &skus, sql, sqlParams...); err == nil { skuMap = make(map[string]map[int]*model.OrderSkuFinancial) From a05cac31852d3472ef97b258b2257e9cb5fcbad1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 7 Sep 2020 11:27:35 +0800 Subject: [PATCH 11/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E6=9A=82=E5=81=9C=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 93a86a059..1edf56b70 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -115,7 +115,9 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err // 如果是暂停,表示是预订单 if msg.OrderState == jdshopapi.OrderStatusPause || msg.OrderState == jdshopapi.OrderStatusPopPause { order.BusinessType = model.BusinessTypeDingshida - // order.ExpectedDeliveredTime = utils.Str2Time(orderDetail.ExpectedDeliveredTime) + if time, err := api.JdShopAPI.GetOrderExtInfoByOrderId(order.VendorOrderID2); err == nil { + order.ExpectedDeliveredTime = utils.Str2Time(time) + } order.PickDeadline = order.ExpectedDeliveredTime.Add(-time.Hour) } else if msg.OrderState == jdshopapi.OrderStatusWait { order.ExpectedDeliveredTime = order.OrderCreatedAt.Add(time.Hour) From b6454df08a159e84d606d0ecbd4b5bd7b3c36b86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 7 Sep 2020 14:15:10 +0800 Subject: [PATCH 12/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=95=86=E5=93=81id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 1edf56b70..2666468fa 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -112,7 +112,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err if len(storeMaps) > 0 { order.VendorStoreID = storeMaps[0].VendorStoreID } - // 如果是暂停,表示是预订单 + // 如果是暂停,表示是预订单g if msg.OrderState == jdshopapi.OrderStatusPause || msg.OrderState == jdshopapi.OrderStatusPopPause { order.BusinessType = model.BusinessTypeDingshida if time, err := api.JdShopAPI.GetOrderExtInfoByOrderId(order.VendorOrderID2); err == nil { @@ -153,7 +153,10 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err SkuName: v.SkuName, VendorPrice: jxutils.StandardPrice2Int(utils.Str2Float64(v.JdPrice)), SalePrice: jxutils.StandardPrice2Int(utils.Str2Float64(v.JdPrice)), - SkuID: utils.Str2Int(v.OuterSkuID), + // SkuID: utils.Str2Int(v.OuterSkuID), + } + if v.OuterSkuID != "" { + sku.SkuID = utils.Str2Int(v.OuterSkuID) } _, _, _, specUnit, _, specQuality := jxutils.SplitSkuName(v.SkuName) sku.Weight = jxutils.FormatSkuWeight(specQuality, specUnit) From e984d42e64c4f77641fb566342c59a841f26486b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 7 Sep 2020 14:42:52 +0800 Subject: [PATCH 13/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=95=86=E5=93=81id=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 98677272b..598adf926 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -493,7 +493,10 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db *dao. v.JxSkuID = skuBindInfo.SkuID //京东商城的话,门店里可能取不到对应商品 if order.VendorID == model.VendorIDJDShop { - v.JxSkuID = v.SkuID + if v.SkuID == 0 && v.JxSkuID != 0 { + v.SkuID = v.JxSkuID + } + // v.JxSkuID = v.SkuID storeSkus, _ := dao.GetStoresSkusInfo(db, []int{order.StoreID}, []int{v.SkuID}) if len(storeSkus) > 0 { v.ShopPrice = int64(storeSkus[0].Price) From 6bda593cb441b01eedde270a9d0da86ee8012cb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 7 Sep 2020 16:46:10 +0800 Subject: [PATCH 14/95] =?UTF-8?q?=E4=B8=8D=E5=9C=A8=E9=97=A8=E5=BA=97?= =?UTF-8?q?=E8=90=A5=E4=B8=9A=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4=E5=86=85?= =?UTF-8?q?=E8=A6=81=E5=8F=96=E6=B6=88=E8=BF=90=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/defsch/defsch.go | 28 ++++++++++++++++++- business/partner/partner.go | 1 + 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 629ba16ff..1fed69dcc 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -556,6 +556,8 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo } s.updateOrderByBill(order, bill, false) s.cancelOtherWaybillsCheckOrderDeliveryFlag(savedOrderInfo, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime) + //若接单时间不在门店的营业时间范围内要取消运单 + s.cancelWaybillNotInStoreOpentime(savedOrderInfo, bill) //京东商城的话,需要去把订单出库,如果是转移过的订单,则需要修改转移订单号 if order.VendorID == model.VendorIDJDShop { s.solutionJdsOrder(bill) @@ -677,6 +679,31 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo return err } +func (s *DefScheduler) cancelWaybillNotInStoreOpentime(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) (err error) { + if savedOrderInfo != nil { + //TODO 2020-09-07 不在门店的营业时间内取消运单 + order := savedOrderInfo.order + if savedOrderInfo.storeDetail != nil { + if savedOrderInfo.storeDetail.OpenTime1 != 0 && savedOrderInfo.storeDetail.CloseTime1 != 0 { + time1 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime1, time.Now()) + time2 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime1, time.Now()) + if time.Now().Sub(time1) < 0 || time.Now().Sub(time2) > 0 { + if savedOrderInfo.storeDetail.OpenTime2 != 0 && savedOrderInfo.storeDetail.CloseTime2 != 0 { + time3 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime2, time.Now()) + time4 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime2, time.Now()) + if time.Now().Sub(time3) < 0 || time.Now().Sub(time4) > 0 { + s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonNotInStoreOpenTime) + } + } else { + s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonNotInStoreOpenTime) + } + } + } + } + } + return err +} + func (s *DefScheduler) sendCourierOrderSMS(bill *model.Waybill) (err error) { err = smsmsg.NotifyNewCourierOrder(bill) return err @@ -766,7 +793,6 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf } else { err = fmt.Errorf("不在门店营业时间范围内!") } - } } } diff --git a/business/partner/partner.go b/business/partner/partner.go index bd4e9d041..030d2fe75 100644 --- a/business/partner/partner.go +++ b/business/partner/partner.go @@ -71,6 +71,7 @@ var ( CancelWaybillReasonStrSwitch2SelfFailed = "转自送失败" CancelWaybillReasonStrOrderAlreadyFinished = "订单已经结束" CancelWaybillReasonStrActive = "操作由人员主动发起" + CancelWaybillReasonNotInStoreOpenTime = "不在门店的营业时间范围内" ) var ( From d40a281b2e70afbc987def59475ac3e0c1d17f04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 8 Sep 2020 15:24:23 +0800 Subject: [PATCH 15/95] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=9B=B4=E9=99=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 6 +- business/jxstore/act/act.go | 2 + business/jxstore/cms/store_sku.go | 176 ++++++++++++++++++++++++++ 3 files changed, 181 insertions(+), 3 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 598adf926..47f3a9dcb 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1317,15 +1317,15 @@ func setJdsOrderSeq(order *model.GoodsOrder) (err error) { type tCount struct { Count int `json:"count"` } - var count = &tCount{} + var counts []*tCount sql := ` SELECT count(*) count FROM goods_order WHERE store_id = ? AND order_create_at >= ? AND order_create_at <= ? AND vendor_id = ? ` sqlParams := []interface{}{ order.StoreID, utils.Time2Date(time.Now()), utils.Time2Date(time.Now().AddDate(0, 0, 1)), order.VendorID, } - err = dao.GetRow(dao.GetDB(), &count, sql, sqlParams) - order.OrderSeq = count.Count + 1 + err = dao.GetRows(dao.GetDB(), &counts, sql, sqlParams) + order.OrderSeq = counts[0].Count + 1 return err } diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index fcc8e98d6..f28c60e9f 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -1682,3 +1682,5 @@ func checkPriceDefendOrderByPrice(db *dao.DaoDB, storeID, skuID, stock, jxPrice } return stock } + + diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 7ba20c673..0d6ed6567 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -206,6 +206,14 @@ type MatterStock struct { Stock int `json:"stock"` } +type ActStoreSkuParam struct { + model.ActStoreSku + + ActualActPrice int64 `json:"actualActPrice,omitempty"` // 单品级活动用,创建活动时商品的活动价格 + VendorPrice int64 `json:"vendorPrice,omitempty"` // 创建活动时的平台价格 + ErrMsg string `json:"errMsg,omitempty"` +} + const ( maxStoreNameBind = 10000 // 最大门店SkuName bind个数 maxStoreNameBind2 = 10000 // 最大门店乘SkuName个数 @@ -1285,6 +1293,9 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs skuBind.JxPrice = jxPrice updateFieldMap["UnitPrice"] = 1 updateFieldMap["JxPrice"] = 1 + + //TODO 2020-09-08 如果改价时商品在做直降,要取消这个商品的直降,再通过改价比例修改活动价,再上这个直降 + // checkActDirectDown(ctx, skuBind, beforeMsg) } } if skuBindInfo.StatusSaleBegin != 0 && skuBindInfo.StatusSaleEnd != 0 { @@ -1350,6 +1361,47 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs return skuIDs, err } +// func checkActDirectDown(ctx *jxcontext.Context, skuBind *model.StoreSkuBind, beforeSkuBind tStoreSkuBindAndSpec) (err error) { +// var ( +// originPrice = beforeSkuBind.Price +// price = skuBind.Price +// db = dao.GetDB() +// pageSize = 9999 +// // percent = price / originPrice +// ) +// if paged, _ := dao.QueryActs(db, 0, 0, pageSize, -1, "", -1, []int{model.ActStatusCreated}, []int{model.ActSkuDirectDown}, nil, skuBind.StoreID, []int{skuBind.SkuID}, 0, utils.ZeroTimeValue, utils.ZeroTimeValue, time.Now().AddDate(0, -2, 0), time.Now()); len(paged.Data) > 0 { +// for _, act := range paged.Data { +// if _, actStoreSkus, err := dao.GetActStoreSkuVendorList(db, act.ID, nil, []int{skuBind.StoreID}, []int{skuBind.SkuID}, "", 0, pageSize); err == nil && len(actStoreSkus) > 0 { +// var ( +// handler = partner.GetPurchasePlatformFromVendorID(actStoreSkus[0].VendorID).(partner.IPurchasePlatformActHandler) +// actStoreSkuParam []*ActStoreSkuParam +// ) +// for _, actStoreSku := range actStoreSkus { +// aa := &ActStoreSkuParam{ +// ActStoreSku: model.ActStoreSku{ +// StoreID: skuBind.StoreID, +// SkuID: actStoreSku.SkuID, +// ActID: act.ID, +// }, +// } +// actStoreSkuParam = append(actStoreSkuParam, aa) +// } +// DeleteActStoreSkuBind(ctx, db, act.ID, actStoreSkuParam) +// actMap, err := dao.GetActVendorInfo(db, act.ID, []int{actStoreSkus[0].VendorID}) +// if err != nil { +// return err +// } +// actStoreSkuMap, err := dao.GetActStoreSkuVendorInfo(db, act.ID, nil, nil, nil) +// if err != nil { +// return err +// } +// handler.SyncAct(ctx, nil, actMap[actStoreSkus[0].VendorID], nil, actStoreSkuMap[actStoreSkus[0].VendorID]) +// } +// } +// } +// return err +// } + func getSkuSaleStatus(inSkuBind *StoreSkuBindSkuInfo, skuNameBindInfo *StoreSkuBindInfo) int { tempSale := 0 if inSkuBind != nil { @@ -4940,3 +4992,127 @@ func GetSpecialtyStoreSkus(ctx *jxcontext.Context, storeIDs, vendorIDs []int) (e } return err } + +func checkActUpdate(actID int, actMap map[int]*model.Act2) (err error) { + if len(actMap) == 0 { + return fmt.Errorf("活动%d不存在或已被取消", actID) + } + errList := errlist.New() + for vendorID, act := range actMap { + if vendorID == model.VendorIDEBAI && act.CreateType != model.ActCreateTypeAPI { + errList.AddErr(fmt.Errorf("饿百平台不支持修改或取消网页活动")) + } + } + return errList.GetErrListAsOne() +} + +func DeleteActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, actStoreSkuParam []*ActStoreSkuParam) (originSyncStatus int8, err error) { + actMap, err := dao.GetActVendorInfo(db, actID, nil) + if err != nil { + return 0, err + } + if err = checkActUpdate(actID, actMap); err != nil { + return 0, err + } + + actStoreSkuMap, err := dao.GetActStoreSkuVendorInfo(db, actID, nil, nil, nil) + if err != nil { + return 0, err + } + act := actMap[partner.GetVendorIDsFromActMap(actMap)[0]] + if act.Status != model.ActStatusCreated || time.Now().Sub(act.EndAt) > 0 { + return 0, fmt.Errorf("当前活动状态:%s,不能进行此操作,或已过期", model.ActStatusName[act.Status]) + } + + dao.Begin(db) + defer func() { + if r := recover(); r != nil || err != nil { + dao.Rollback(db) + if r != nil { + panic(r) + } + } + }() + actStoreSkuParamMap := make(map[int64]*ActStoreSkuParam) + for _, v := range actStoreSkuParam { + actStoreSkuParamMap[jxutils.Combine2Int(v.StoreID, v.SkuID)] = v + if _, err = dao.DeleteEntityLogically(db, &model.ActStoreSku{}, nil, ctx.GetUserName(), + map[string]interface{}{ + model.FieldActID: actID, + model.FieldStoreID: v.StoreID, + model.FieldSkuID: v.SkuID, + }); err != nil { + return 0, err + } + } + + isNeedCancelAct := true + for vendorID, act := range actMap { + originSyncStatus |= act.SyncStatus + isDeleteAll := true + isDeleteAtLeastOne := false + if true { //actStoreSkuParam != nil { + actStoreSkuMap := partner.SplitActStoreSku(actStoreSkuMap[vendorID]) + for storeID := range actStoreSkuMap { + for _, actStoreSku := range actStoreSkuMap[storeID] { + if actStoreSkuParam == nil || actStoreSkuParamMap[jxutils.Combine2Int(actStoreSku.StoreID, actStoreSku.SkuID)] != nil { + if act.Type == model.ActSkuFake { + _, err = dao.DeleteEntityLogically(db, &model.ActStoreSkuMap{}, nil, ctx.GetUserName(), + map[string]interface{}{ + model.FieldActID: actID, + model.FieldStoreID: actStoreSku.StoreID, + model.FieldSkuID: actStoreSku.SkuID, + }) + } else { + _, err = dao.UpdateEntityLogically(db, partner.ActStoreSku2ActStoreSkuMap(actStoreSku), + map[string]interface{}{ + model.FieldSyncStatus: actStoreSku.SyncStatus | model.SyncFlagDeletedMask, + }, ctx.GetUserName(), nil) + } + if err != nil { + return 0, err + } + isDeleteAtLeastOne = true + } else { + isNeedCancelAct = false + isDeleteAll = false + } + } + } + } else { + isDeleteAll = true + isDeleteAtLeastOne = true + } + if isDeleteAll || isDeleteAtLeastOne { + syncStatus := int8(model.SyncFlagModifiedMask) + if isDeleteAll { + syncStatus = model.SyncFlagDeletedMask + } + syncStatus |= act.SyncStatus + if act.Type != model.ActSkuFake && vendorID != model.VendorIDJX { + if _, err = dao.UpdateEntityLogically(db, partner.Act2ActMap(act), + map[string]interface{}{ + model.FieldSyncStatus: syncStatus, + }, ctx.GetUserName(), nil); err != nil { + return 0, err + } + } + } + if isDeleteAll != isNeedCancelAct { + globals.SugarLogger.Warnf("deleteActStoreBind, actID:%d isDeleteAll:%t != isNeedCancelAct:%t", act.ID, isDeleteAll, isNeedCancelAct) + } + } + + if isNeedCancelAct { + act := &model.Act{} + act.ID = actID + if _, err = dao.UpdateEntityLogically(db, act, + map[string]interface{}{ + model.FieldStatus: model.ActStatusCanceled, + }, ctx.GetUserName(), nil); err != nil { + return 0, err + } + } + dao.Commit(db) + return originSyncStatus, err +} From 84c84b13b2009ada649f533865185bf75f401973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 08:51:36 +0800 Subject: [PATCH 16/95] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/dao_order.go | 4 ++++ business/partner/purchase/jdshop/callback.go | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 40d942cc4..94d73f4a9 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -962,6 +962,10 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat Begin(db) defer Commit(db) + if params["keyword"] != nil { + fmt.Println(sql) + fmt.Println(sqlParams) + } if err = GetRows(db, &orders, sql, sqlParams...); err == nil { totalCount = GetLastTotalRowCount(db) } diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 2666468fa..810aa72f6 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -41,6 +41,17 @@ func OnCallbackMsg(msg *jdshopapi.CallBackResult) (err error) { } } }) + case jcqapi.TopicOrderOut: + utils.CallFuncAsync(func() { + order := getRealOrderID(msg.OrderID) + if order != nil { + if order.ActualPayPrice == 0 { + if jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderPayment)) == 0 { + + } + } + } + }) default: return fmt.Errorf("暂不支持的topic类型!topic: %v", msgType) } From ba280df5a8dff41436e3fcf5abb9b90e61bad71c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 09:13:33 +0800 Subject: [PATCH 17/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=BA=8F=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 47f3a9dcb..f8630f4e6 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1319,7 +1319,7 @@ func setJdsOrderSeq(order *model.GoodsOrder) (err error) { } var counts []*tCount sql := ` - SELECT count(*) count FROM goods_order WHERE store_id = ? AND order_create_at >= ? AND order_create_at <= ? AND vendor_id = ? + SELECT count(*) count FROM goods_order WHERE store_id = ? AND order_created_at >= ? AND order_created_at <= ? AND vendor_id = ? ` sqlParams := []interface{}{ order.StoreID, utils.Time2Date(time.Now()), utils.Time2Date(time.Now().AddDate(0, 0, 1)), order.VendorID, From e5751eb03b1ecfa4e549f80d1f7fd46cd7bf811e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 09:26:47 +0800 Subject: [PATCH 18/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=AF=94=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/order.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/model/order.go b/business/model/order.go index a8f841c35..62422c6cf 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -120,6 +120,7 @@ type GoodsOrder struct { AddressID int64 `orm:"column(address_id)" json:"addressID"` //配送地址ID EarningType int `json:"earningType"` //订单结算方式,2为扣点,1为报价 OrderType int `json:"orderType"` //订单类型,0为普通订单,1为物料订单,2为进货订单 + PayPercentage int `json:"payPercentage"` // 以下只是用于传递数据 OriginalData string `orm:"-" json:"-"` From 7f7920c30fcd71517c020e5f9751cfb8abbb6d82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 09:37:32 +0800 Subject: [PATCH 19/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=AF=94=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/order.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/business/model/order.go b/business/model/order.go index 62422c6cf..4c6eeb301 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -111,16 +111,16 @@ type GoodsOrder struct { ModelTimeInfo `json:"-"` Flag int `json:"flag"` //非运单调整相关的其它状态 - InvoiceTitle string `orm:"size(64)" json:"invoiceTitle"` // 发票抬头 - InvoiceTaxerID string `orm:"size(32);column(invoice_taxer_id)" json:"invoiceTaxerID"` // 发票纳税人识别码 - InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱 - VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空 - FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` //物料配送门店 - EclpOutID string `orm:"column(eclp_out_id)" json:"eclpOutID"` //物料配送的出库单号 - AddressID int64 `orm:"column(address_id)" json:"addressID"` //配送地址ID - EarningType int `json:"earningType"` //订单结算方式,2为扣点,1为报价 - OrderType int `json:"orderType"` //订单类型,0为普通订单,1为物料订单,2为进货订单 - PayPercentage int `json:"payPercentage"` + InvoiceTitle string `orm:"size(64)" json:"invoiceTitle"` // 发票抬头 + InvoiceTaxerID string `orm:"size(32);column(invoice_taxer_id)" json:"invoiceTaxerID"` // 发票纳税人识别码 + InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱 + VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空 + FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` //物料配送门店 + EclpOutID string `orm:"column(eclp_out_id)" json:"eclpOutID"` //物料配送的出库单号 + AddressID int64 `orm:"column(address_id)" json:"addressID"` //配送地址ID + EarningType int `json:"earningType"` //订单结算方式,2为扣点,1为报价 + OrderType int `json:"orderType"` //订单类型,0为普通订单,1为物料订单,2为进货订单 + OrderPayPercentage int `json:"orderPayPercentage"` // 以下只是用于传递数据 OriginalData string `orm:"-" json:"-"` From 4e04d391874658a23b5310d4f2cf09e8667424b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 09:45:38 +0800 Subject: [PATCH 20/95] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=AF=94=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index f8630f4e6..f7655a986 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -630,6 +630,7 @@ func (c *OrderManager) updateOrderOtherInfo(order *model.GoodsOrder, db *dao.Dao } else { order.EarningType = model.EarningTypeQuote } + order.OrderPayPercentage = payPercentage } if err = c.updateOrderSkuOtherInfo(order, db, payPercentage, changePriceType); err == nil { jxutils.RefreshOrderSkuRelated(order) From d7344970fb0458040338c8a0a565b773d82b5c60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 10:58:05 +0800 Subject: [PATCH 21/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/dao_order.go | 2 +- business/partner/purchase/jdshop/callback.go | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 94d73f4a9..15eb63040 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -787,7 +787,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat } sql += ` FROM goods_order t1 - LEFT JOIN waybill t2 ON t1.vendor_waybill_id = t2.vendor_waybill_id AND t1.waybill_vendor_id = t2.waybill_vendor_id + LEFT JOIN waybill t2 ON t1.vendor_waybill_id = t2.vendor_waybill_id AND t1.waybill_vendor_id = t2.waybill_vendor_id AND t1.vendor_order_id = t2.vendor_order_id LEFT JOIN store t5 ON t5.id = IF(t1.jx_store_id <> 0, t1.jx_store_id, t1.store_id) LEFT JOIN place city ON city.code = t5.city_code LEFT JOIN place district ON district.code = t5.district_code` diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 810aa72f6..d4eaaecc7 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -47,8 +47,12 @@ func OnCallbackMsg(msg *jdshopapi.CallBackResult) (err error) { if order != nil { if order.ActualPayPrice == 0 { if jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderPayment)) == 0 { - + order.ActualPayPrice = jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderTotalPrice) + utils.Str2Float64(msg.FreightPrice) - utils.Str2Float64(msg.SellerDiscount)) + } else { + order.ActualPayPrice = jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderPayment)) } + order.TotalShopMoney = utils.Float64TwoInt64(float64(order.ActualPayPrice) * jdshopapi.JdsPayPercentage) + partner.CurOrderManager.UpdateOrderFields(order, []string{"ActualPayPrice", "TotalShopMoney"}) } } }) From d71edfbd6d02ee13959e0fe4c5c0d3ed26c8d7fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 14:10:25 +0800 Subject: [PATCH 22/95] =?UTF-8?q?=E9=A5=BF=E7=99=BE=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E7=9A=84=E5=9D=90=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/delivery/dada/waybill.go | 2 +- business/partner/delivery/mtps/waybill.go | 2 +- business/partner/purchase/ebai/order.go | 13 ++++++------- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/business/partner/delivery/dada/waybill.go b/business/partner/delivery/dada/waybill.go index f74e1dd9a..c66233cf1 100644 --- a/business/partner/delivery/dada/waybill.go +++ b/business/partner/delivery/dada/waybill.go @@ -235,7 +235,7 @@ func (c *DeliveryHandler) getBillParams(db *dao.DaoDB, order *model.GoodsOrder) // storeTel = ",门店电话:" + storeDeatail.Tel2 // } billParams.ReceiverLng, billParams.ReceiverLat, _ = jxutils.IntCoordinate2MarsStandard(order.ConsigneeLng, order.ConsigneeLat, order.CoordinateType) - billParams.Info = fmt.Sprintf("%s第%d号订单, %s", model.VendorChineseNames[order.VendorID], order.OrderSeq, utils.FilterMb4(order.BuyerComment+"取货失败或配送遇到问题请联系18048531223,禁止未配送直接完成定单!")) + billParams.Info = fmt.Sprintf("%s第%d号订单, %s", model.VendorChineseNames[order.VendorID], order.OrderSeq, utils.FilterMb4("客户电话:"+order.ConsigneeMobile+","+order.BuyerComment+"取货失败或配送遇到问题请联系18048531223,禁止未配送直接完成定单!")) billParams.CargoType = dadaapi.CargoTypeFresh billParams.CargoWeight = float64(jxutils.IntWeight2Float(limitOrderWeight(order.Weight))) billParams.CargoNum = order.GoodsCount diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index 5d18a4190..bdb727f75 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -244,7 +244,7 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee // if storeDeatail.Tel2 != "" { // storeTel = ",门店电话:" + storeDeatail.Tel2 // } - billParams.Note = utils.FilterMb4(order.BuyerComment + ",取货失败或配送遇到问题请联系18048531223,禁止未配送直接完成定单!") + billParams.Note = utils.FilterMb4("客户电话:" + order.ConsigneeMobile + "," + order.BuyerComment + ",取货失败或配送遇到问题请联系18048531223,禁止未配送直接完成定单!") billParams.GoodsDetail = string(utils.MustMarshal(goods)) billParams.GoodsPickupInfo = fmt.Sprintf("%s第%d号单", model.VendorChineseNames[order.VendorID], order.OrderSeq) billParams.PoiSeq = fmt.Sprintf("#%d", order.OrderSeq) diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index ea00102c0..2b792e126 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -8,7 +8,6 @@ import ( "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" - "git.rosy.net.cn/baseapi/platformapi/autonavi" "git.rosy.net.cn/baseapi/platformapi/ebaiapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler" @@ -269,12 +268,12 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo deliveryGeo := userMap["coord_amap"].(map[string]interface{}) originalLng := utils.Interface2Float64WithDefault(deliveryGeo["longitude"], 0.0) // 饿百的订单在过一段时间后,经纬度信息会变成字符串"**" originalLat := utils.Interface2Float64WithDefault(deliveryGeo["latitude"], 0.0) - lng, lat, err2 := api.AutonaviAPI.CoordinateConvert(originalLng, originalLat, autonavi.CoordSysBaidu) - if err2 == nil { - originalLng = lng - originalLat = lat - order.CoordinateType = model.CoordinateTypeMars - } + // lng, lat, err2 := api.AutonaviAPI.CoordinateConvert(originalLng, originalLat, autonavi.CoordSysBaidu) + // if err2 == nil { + // originalLng = lng + // originalLat = lat + // order.CoordinateType = model.CoordinateTypeMars + // } order.ConsigneeLng = jxutils.StandardCoordinate2Int(originalLng) order.ConsigneeLat = jxutils.StandardCoordinate2Int(originalLat) From bc902cdebf354e3c52f08d31c21928e59c7abe30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 14:26:53 +0800 Subject: [PATCH 23/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/dao_order.go | 4 ---- business/model/dao/sku.go | 3 --- 2 files changed, 7 deletions(-) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 15eb63040..e95398189 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -962,10 +962,6 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat Begin(db) defer Commit(db) - if params["keyword"] != nil { - fmt.Println(sql) - fmt.Println(sqlParams) - } if err = GetRows(db, &orders, sql, sqlParams...); err == nil { totalCount = GetLastTotalRowCount(db) } diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index 87f96bd53..0b511a55c 100644 --- a/business/model/dao/sku.go +++ b/business/model/dao/sku.go @@ -1,7 +1,6 @@ package dao import ( - "fmt" "time" "git.rosy.net.cn/baseapi/platformapi/aliupcapi" @@ -231,8 +230,6 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, sqlParams = append(sqlParams, parentCatID) } sql += " ORDER BY t1.seq" - fmt.Println(sql) - fmt.Println(sqlParams) err = GetRows(db, &catList, sql, sqlParams...) return catList, err } From a6d39c2f188968ddc8a10af23eb2a758f02dff83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 14:43:35 +0800 Subject: [PATCH 24/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/store_sku.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index e6d380909..8a704e1b2 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -549,6 +549,8 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo sql = fmt.Sprintf(sql, fmtParams...) sql += " ORDER BY t1.price" // globals.SugarLogger.Debug(sql) + fmt.Println(sql) + fmt.Println(sqlParams) if err = GetRows(db, &skus, sql, sqlParams...); err != nil { return nil, err } From 79387398f7db8377d3d8b6680b3a9cbc98f6eb78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 14:51:25 +0800 Subject: [PATCH 25/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 3 +++ business/model/dao/store_sku.go | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index aeb6478bc..d04b27dcc 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -645,6 +645,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag updateList = rList2 } } + if ctx.GetUserName() == "suyl" { + fmt.Println(utils.Format4Output(priceList, false)) + } task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { step := batchItemList[0].(int) diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 8a704e1b2..e6d380909 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -549,8 +549,6 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo sql = fmt.Sprintf(sql, fmtParams...) sql += " ORDER BY t1.price" // globals.SugarLogger.Debug(sql) - fmt.Println(sql) - fmt.Println(sqlParams) if err = GetRows(db, &skus, sql, sqlParams...); err != nil { return nil, err } From 901761a70eb61480f031b74db76dcffaad1b2dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 15:00:17 +0800 Subject: [PATCH 26/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index d04b27dcc..1a499d498 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -646,7 +646,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } } if ctx.GetUserName() == "suyl" { - fmt.Println(utils.Format4Output(priceList, false)) + fmt.Println("testprice", utils.Format4Output(priceList, false)) } task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { From 6ec96a5f709d0b9c0044cc20a1fc5ec81b099e87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 15:54:47 +0800 Subject: [PATCH 27/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 1a499d498..400936f3c 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -539,6 +539,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag updateList = append(updateList, calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) } } + if ctx.GetUserName() == "suyl" { + fmt.Println("testupdate", utils.Format4Output(sku, false)) + } if model.IsSyncStatusPrice(sku.SkuSyncStatus) { bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) priceList = append(priceList, bareSku) @@ -645,9 +648,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag updateList = rList2 } } - if ctx.GetUserName() == "suyl" { - fmt.Println("testprice", utils.Format4Output(priceList, false)) - } + task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { step := batchItemList[0].(int) From 64091710a463ef63e12d3a26986609adcf9979ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 16:03:01 +0800 Subject: [PATCH 28/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 400936f3c..397020ebe 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -539,9 +539,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag updateList = append(updateList, calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) } } - if ctx.GetUserName() == "suyl" { - fmt.Println("testupdate", utils.Format4Output(sku, false)) - } if model.IsSyncStatusPrice(sku.SkuSyncStatus) { bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) priceList = append(priceList, bareSku) From 697a95edaa87693408907a546e2af74408d2a7c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 16:25:53 +0800 Subject: [PATCH 29/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 397020ebe..0e7fb5f71 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -411,6 +411,9 @@ func isSkuLockTimeValid(sku *dao.StoreSkuSyncInfo) bool { } func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag int, isFull bool, vendorID, storeID int, nameIDs, skuIDs, excludeSkuIDs []int, useVendorPriceDirectly, isContinueWhenError bool) (err error) { + if storeID == 667481 { + fmt.Println("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee") + } globals.SugarLogger.Debugf("syncStoreSkuNew causeFlag:%d", causeFlag) db := dao.GetDB() storeDetail, err := dao.GetStoreDetail(db, storeID, vendorID) From 6c6d1d78b697b578128ad55f2055135073e23529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 16:30:58 +0800 Subject: [PATCH 30/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 3 --- business/model/dao/store_sku.go | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 0e7fb5f71..397020ebe 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -411,9 +411,6 @@ func isSkuLockTimeValid(sku *dao.StoreSkuSyncInfo) bool { } func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag int, isFull bool, vendorID, storeID int, nameIDs, skuIDs, excludeSkuIDs []int, useVendorPriceDirectly, isContinueWhenError bool) (err error) { - if storeID == 667481 { - fmt.Println("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee") - } globals.SugarLogger.Debugf("syncStoreSkuNew causeFlag:%d", causeFlag) db := dao.GetDB() storeDetail, err := dao.GetStoreDetail(db, storeID, vendorID) diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index e6d380909..8d6084a8f 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -409,6 +409,10 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level in sql += " AND t4.level = ?" sqlParams = append(sqlParams, level) } + if storeID == 667481 { + fmt.Println(sql) + fmt.Println(sqlParams) + } if err = GetRows(db, &cats, fmt.Sprintf(sql, fieldPrefixParams...), sqlParams...); err != nil { return nil, err } From d5868492ee77900f395453214662c3a771215eb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 16:31:37 +0800 Subject: [PATCH 31/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 3 +++ business/model/dao/store_sku.go | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 397020ebe..0e7fb5f71 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -411,6 +411,9 @@ func isSkuLockTimeValid(sku *dao.StoreSkuSyncInfo) bool { } func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag int, isFull bool, vendorID, storeID int, nameIDs, skuIDs, excludeSkuIDs []int, useVendorPriceDirectly, isContinueWhenError bool) (err error) { + if storeID == 667481 { + fmt.Println("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee") + } globals.SugarLogger.Debugf("syncStoreSkuNew causeFlag:%d", causeFlag) db := dao.GetDB() storeDetail, err := dao.GetStoreDetail(db, storeID, vendorID) diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 8d6084a8f..27417d2a6 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -409,10 +409,10 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level in sql += " AND t4.level = ?" sqlParams = append(sqlParams, level) } - if storeID == 667481 { - fmt.Println(sql) - fmt.Println(sqlParams) - } + // if storeID == 667481 { + // fmt.Println(sql) + // fmt.Println(sqlParams) + // } if err = GetRows(db, &cats, fmt.Sprintf(sql, fieldPrefixParams...), sqlParams...); err != nil { return nil, err } From b1fb265c2a43a035a991917a601f5981b7b93f04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 16:37:00 +0800 Subject: [PATCH 32/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 12 +++++++++--- business/model/dao/store_sku.go | 4 ---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 0e7fb5f71..6468b1dfe 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -411,9 +411,6 @@ func isSkuLockTimeValid(sku *dao.StoreSkuSyncInfo) bool { } func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag int, isFull bool, vendorID, storeID int, nameIDs, skuIDs, excludeSkuIDs []int, useVendorPriceDirectly, isContinueWhenError bool) (err error) { - if storeID == 667481 { - fmt.Println("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee") - } globals.SugarLogger.Debugf("syncStoreSkuNew causeFlag:%d", causeFlag) db := dao.GetDB() storeDetail, err := dao.GetStoreDetail(db, storeID, vendorID) @@ -520,6 +517,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } isNeedReorder = true } else { + if storeID == 667481 { + fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff") + } if dao.IsVendorThingIDEmpty(sku.VendorSkuID) && vendorID != model.VendorIDJDShop { // err = fmt.Errorf("门店:%d,修改没有创建的商品:%d", storeID, sku.SkuID) if vendorID != model.VendorIDJDShop || (vendorID == model.VendorIDJDShop && storeID == model.JdShopMainStoreID && sku.StoreSkuStatus != model.SkuStatusDontSale) { @@ -542,7 +542,13 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag updateList = append(updateList, calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) } } + if storeID == 667481 { + fmt.Println("hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh", sku.SkuSyncStatus) + } if model.IsSyncStatusPrice(sku.SkuSyncStatus) { + if storeID == 667481 { + fmt.Println("gggggggggggggggggggggggggggggggggggggggg", sku.SkuSyncStatus) + } bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) priceList = append(priceList, bareSku) } diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 27417d2a6..e6d380909 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -409,10 +409,6 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level in sql += " AND t4.level = ?" sqlParams = append(sqlParams, level) } - // if storeID == 667481 { - // fmt.Println(sql) - // fmt.Println(sqlParams) - // } if err = GetRows(db, &cats, fmt.Sprintf(sql, fieldPrefixParams...), sqlParams...); err != nil { return nil, err } From d2ba87920f46d2856dcecde9e7b1fa69d96281e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 16:45:10 +0800 Subject: [PATCH 33/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 6468b1dfe..9875c9e52 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -476,6 +476,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } var bareSku *partner.StoreSkuInfo isNeedReorder := false + if storeID == 667481 { + fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff", *sku) + } if isStoreSkuSyncNeedDelete(sku) { if !dao.IsVendorThingIDEmpty(sku.VendorSkuID) { bareSku = storeSkuSyncInfo2Bare(sku) @@ -517,9 +520,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } isNeedReorder = true } else { - if storeID == 667481 { - fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff") - } if dao.IsVendorThingIDEmpty(sku.VendorSkuID) && vendorID != model.VendorIDJDShop { // err = fmt.Errorf("门店:%d,修改没有创建的商品:%d", storeID, sku.SkuID) if vendorID != model.VendorIDJDShop || (vendorID == model.VendorIDJDShop && storeID == model.JdShopMainStoreID && sku.StoreSkuStatus != model.SkuStatusDontSale) { @@ -542,13 +542,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag updateList = append(updateList, calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) } } - if storeID == 667481 { - fmt.Println("hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh", sku.SkuSyncStatus) - } if model.IsSyncStatusPrice(sku.SkuSyncStatus) { - if storeID == 667481 { - fmt.Println("gggggggggggggggggggggggggggggggggggggggg", sku.SkuSyncStatus) - } bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) priceList = append(priceList, bareSku) } From 2cb81c5abd9aff4a7ec71e3c6ae751fafbfec1a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 16:49:07 +0800 Subject: [PATCH 34/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 9875c9e52..326035182 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -460,6 +460,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } now := jxutils.OperationTime2HourMinuteFormat(time.Now()) var failedList []*partner.StoreSkuInfoWithErr + if storeID == 667481 { + fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff", len(skus)) + } for _, sku := range skus { if vendorID == model.VendorIDJDShop && storeID != model.JdShopMainStoreID { if sku.SkuSyncStatus != 0 { @@ -476,9 +479,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } var bareSku *partner.StoreSkuInfo isNeedReorder := false - if storeID == 667481 { - fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff", *sku) - } if isStoreSkuSyncNeedDelete(sku) { if !dao.IsVendorThingIDEmpty(sku.VendorSkuID) { bareSku = storeSkuSyncInfo2Bare(sku) From 9763a89b82cb9860e797ef6ee273370db0b37e92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 16:51:29 +0800 Subject: [PATCH 35/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 326035182..7b10a7d50 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -424,9 +424,15 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } else { skus, err = dao.GetStoreSkus(db, vendorID, storeID, skuIDs) } + if storeID == 667481 { + fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff1", len(skus)) + } if err != nil || len(skus) == 0 { return err } + if storeID == 667481 { + fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff2", len(skus)) + } if len(excludeSkuIDs) > 0 { excludeSkuMap := jxutils.IntList2Map(excludeSkuIDs) var skus2 []*dao.StoreSkuSyncInfo @@ -443,7 +449,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag // if vendorID == model.VendorIDJDShop { // formalizeStoreSkuListForJds(skus) // } - + if storeID == 667481 { + fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff3", len(skus)) + } singleStoreHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) storeSkuHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler) reorderHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IStoreSkuSorter) @@ -460,9 +468,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } now := jxutils.OperationTime2HourMinuteFormat(time.Now()) var failedList []*partner.StoreSkuInfoWithErr - if storeID == 667481 { - fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff", len(skus)) - } for _, sku := range skus { if vendorID == model.VendorIDJDShop && storeID != model.JdShopMainStoreID { if sku.SkuSyncStatus != 0 { From e17383807a12413ec429f9de5a8e6188d60b5044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Sep 2020 16:55:38 +0800 Subject: [PATCH 36/95] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 7b10a7d50..2441dbbe8 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -300,7 +300,7 @@ func formalizeStoreSkuList(inSkuList []*dao.StoreSkuSyncInfo) []*dao.StoreSkuSyn skuItem.MergedStatus = jxutils.MergeSkuStatus(jxutils.MergeSkuStatus(skuItem.NameStatus, skuItem.Status), skuItem.StoreSkuStatus) skuItem.SkuName = jxutils.ComposeSkuNameSync(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0, skuItem.ExPrefix, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd) skuItem.SkuNameOrigin = jxutils.ComposeSkuNameOriginal(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0) - if skuItem.ImgWatermark != "" { + if skuItem.ImgWatermark != "" && model.IsSyncStatusUpdate(skuItem.SkuSyncStatus) { if utils.Time2Date(time.Now().Add(6*time.Hour)).Sub(*skuItem.ExPrefixBegin) >= 0 && utils.Time2Date(time.Now()).Sub(*skuItem.ExPrefixEnd) <= 0 { downLoad, _ := uploadImgStandard(skuItem.ImgWatermark) skuItem.ImgMix = jxutils.MixWatermarkImg(downLoad, skuItem.ImgOrigin, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd) @@ -424,15 +424,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } else { skus, err = dao.GetStoreSkus(db, vendorID, storeID, skuIDs) } - if storeID == 667481 { - fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff1", len(skus)) - } if err != nil || len(skus) == 0 { return err } - if storeID == 667481 { - fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff2", len(skus)) - } if len(excludeSkuIDs) > 0 { excludeSkuMap := jxutils.IntList2Map(excludeSkuIDs) var skus2 []*dao.StoreSkuSyncInfo @@ -443,6 +437,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } skus = skus2 } + if storeID == 667481 { + fmt.Println("gggggggggggggggggggggg1", len(skus)) + } formalizeStoreSkuList(skus) //京东商城的商品名规则不同 // name,空格,comment,约xxg @@ -450,7 +447,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag // formalizeStoreSkuListForJds(skus) // } if storeID == 667481 { - fmt.Println("fffffffffffffffffffffffffffffffffffffffffffffff3", len(skus)) + fmt.Println("gggggggggggggggggggggg2", len(skus)) } singleStoreHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) storeSkuHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler) From 1f9c3ae763a478880461c7757808dfc825458d67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 10 Sep 2020 08:56:51 +0800 Subject: [PATCH 37/95] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E9=80=81?= =?UTF-8?q?=E8=B4=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 21 +++++++++++++++++++-- business/jxstore/cms/sync_store_sku.go | 6 ------ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index f7655a986..bb0cb3ad1 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1,6 +1,7 @@ package orderman import ( + "crypto/md5" "errors" "fmt" "math" @@ -1755,7 +1756,7 @@ func UpdateWaybillDesiredFee(ctx *jxcontext.Context, vendorOrderID string, desir waybill := &model.Waybill{ VendorOrderID: order.VendorOrderID, OrderVendorID: order.VendorID, - VendorWaybillID: "-1", + VendorWaybillID: GenOrderNo(ctx), WaybillVendorID: -1, Status: model.WaybillStatusDelivered, WaybillCreatedAt: time.Now(), @@ -1765,7 +1766,7 @@ func UpdateWaybillDesiredFee(ctx *jxcontext.Context, vendorOrderID string, desir DesiredFee: int64(desiredFee), } dao.CreateEntity(db, waybill) - order.VendorWaybillID = "-1" + order.VendorWaybillID = waybill.VendorWaybillID dao.UpdateEntity(db, order, "VendorWaybillID") } else { bill.DesiredFee = int64(desiredFee) @@ -1779,3 +1780,19 @@ func AcceptOrRefuseOrder(ctx *jxcontext.Context, vendorOrderID string, vendorID handler := partner.GetPurchaseOrderHandlerFromVendorID(vendorID) return handler.AcceptOrRefuseOrder(order, isAccept, ctx.GetUserName()) } + +func GenOrderNo(ctx *jxcontext.Context) (orderNo int64) { + const prefix = 88 + const randPartNum = 1000 + orderNo = time.Now().Unix() - orderNoBeginTimestamp + // fmt.Println(orderNo) + orderNo = orderNo * randPartNum + md5Bytes := md5.Sum([]byte(utils.GetUUID())) + randPart := 0 + for k, v := range md5Bytes { + randPart += int(v) << ((k % 3) * 8) + } + orderNo += int64(randPart % randPartNum) + orderNo += int64(math.Pow10(int(math.Log10(float64(orderNo)))+1)) * prefix + return orderNo +} diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 2441dbbe8..014b2a965 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -437,18 +437,12 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } skus = skus2 } - if storeID == 667481 { - fmt.Println("gggggggggggggggggggggg1", len(skus)) - } formalizeStoreSkuList(skus) //京东商城的商品名规则不同 // name,空格,comment,约xxg // if vendorID == model.VendorIDJDShop { // formalizeStoreSkuListForJds(skus) // } - if storeID == 667481 { - fmt.Println("gggggggggggggggggggggg2", len(skus)) - } singleStoreHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) storeSkuHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler) reorderHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IStoreSkuSorter) From 4cc9c788e3c0f575082c7390579fa31a200ec442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 10 Sep 2020 08:59:58 +0800 Subject: [PATCH 38/95] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E9=80=81?= =?UTF-8?q?=E8=B4=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index bb0cb3ad1..8b21f6aaa 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -30,7 +30,12 @@ import ( "github.com/astaxie/beego/orm" ) +var ( + orderNoBeginTimestamp int64 +) + func init() { + orderNoBeginTimestamp = utils.Str2Time("2010-01-01 00:00:00").Unix() } type tSkuCountPrice struct { @@ -1756,7 +1761,7 @@ func UpdateWaybillDesiredFee(ctx *jxcontext.Context, vendorOrderID string, desir waybill := &model.Waybill{ VendorOrderID: order.VendorOrderID, OrderVendorID: order.VendorID, - VendorWaybillID: GenOrderNo(ctx), + VendorWaybillID: utils.Int64ToStr(GenOrderNo(ctx)), WaybillVendorID: -1, Status: model.WaybillStatusDelivered, WaybillCreatedAt: time.Now(), From afbd3a569d257d196d951474eec6f4d7fe173612 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 10 Sep 2020 09:08:11 +0800 Subject: [PATCH 39/95] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=8D=A1=E4=BD=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/store_sku.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index e6d380909..defbc58af 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -409,6 +409,10 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level in sql += " AND t4.level = ?" sqlParams = append(sqlParams, level) } + if storeID == 100002 { + fmt.Println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", sql) + fmt.Println(sqlParams) + } if err = GetRows(db, &cats, fmt.Sprintf(sql, fieldPrefixParams...), sqlParams...); err != nil { return nil, err } From 5ba44f71b0d1b6d69e278d3a6bd3fe00e87c2824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 10 Sep 2020 09:30:56 +0800 Subject: [PATCH 40/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 2 +- business/model/dao/store_sku.go | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 014b2a965..6d4374a8b 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -300,7 +300,7 @@ func formalizeStoreSkuList(inSkuList []*dao.StoreSkuSyncInfo) []*dao.StoreSkuSyn skuItem.MergedStatus = jxutils.MergeSkuStatus(jxutils.MergeSkuStatus(skuItem.NameStatus, skuItem.Status), skuItem.StoreSkuStatus) skuItem.SkuName = jxutils.ComposeSkuNameSync(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0, skuItem.ExPrefix, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd) skuItem.SkuNameOrigin = jxutils.ComposeSkuNameOriginal(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0) - if skuItem.ImgWatermark != "" && model.IsSyncStatusUpdate(skuItem.SkuSyncStatus) { + if skuItem.ImgWatermark != "" && model.IsSyncStatusUpdate(skuItem.SkuSyncStatus) && skuItem.VendorID != model.VendorIDJD { if utils.Time2Date(time.Now().Add(6*time.Hour)).Sub(*skuItem.ExPrefixBegin) >= 0 && utils.Time2Date(time.Now()).Sub(*skuItem.ExPrefixEnd) <= 0 { downLoad, _ := uploadImgStandard(skuItem.ImgWatermark) skuItem.ImgMix = jxutils.MixWatermarkImg(downLoad, skuItem.ImgOrigin, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd) diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index defbc58af..e6d380909 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -409,10 +409,6 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level in sql += " AND t4.level = ?" sqlParams = append(sqlParams, level) } - if storeID == 100002 { - fmt.Println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", sql) - fmt.Println(sqlParams) - } if err = GetRows(db, &cats, fmt.Sprintf(sql, fieldPrefixParams...), sqlParams...); err != nil { return nil, err } From 642b1a2730786cedab66e2828a68d01368b107d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 11 Sep 2020 11:17:16 +0800 Subject: [PATCH 41/95] =?UTF-8?q?=E9=9D=9E=E5=95=86=E5=9F=8E=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E4=B8=8D=E5=90=8C=E6=AD=A5=E4=BA=AC=E4=B8=9C=E5=95=86?= =?UTF-8?q?=E5=9F=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 6d4374a8b..ff48de932 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -461,9 +461,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag var failedList []*partner.StoreSkuInfoWithErr for _, sku := range skus { if vendorID == model.VendorIDJDShop && storeID != model.JdShopMainStoreID { - if sku.SkuSyncStatus != 0 { - sku.SkuSyncStatus = model.SyncFlagSaleMask - } + return } if !useVendorPriceDirectly && !isSkuLockTimeValid(sku) { From d05b37e762ee82659d9823cc1af7f3f80784c7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 11 Sep 2020 17:10:10 +0800 Subject: [PATCH 42/95] push api --- .../eventhub/syseventhub/syseventhub.go | 21 +++++++++-- business/jxutils/tasks/configrefresh.go | 37 +++++++++++++++++++ conf/app.conf | 7 ++++ controllers/sys.go | 17 +++++++++ globals/api/api.go | 5 +++ globals/globals.go | 2 + main.go | 5 ++- routers/commentsRouter_controllers.go | 9 +++++ 8 files changed, 98 insertions(+), 5 deletions(-) diff --git a/business/jxutils/eventhub/syseventhub/syseventhub.go b/business/jxutils/eventhub/syseventhub/syseventhub.go index 373d62240..1c2f75635 100644 --- a/business/jxutils/eventhub/syseventhub/syseventhub.go +++ b/business/jxutils/eventhub/syseventhub/syseventhub.go @@ -13,10 +13,10 @@ import ( const ( EventCategory = "sys" - EventTypeWXToken = "wxToken" - EventTypeWX2Token = "wx2Token" - EventTypeWX3Token = "wx3Token" - + EventTypeWXToken = "wxToken" + EventTypeWX2Token = "wx2Token" + EventTypeWX3Token = "wx3Token" + EventTypePushToken = "pushToken" EventTypeYLYToken = "ylyToken" EventTypeWeimobToken = "weimobToken" ) @@ -67,6 +67,13 @@ func (h *Hub) OnNewWX2Token(token string) { }) } +func (h *Hub) OnNewPushToken(token string) { + h.eventHub.PostNewEvent(EventCategory, &eventhub.EventInfo{ + Type: EventTypePushToken, + Data: token, + }) +} + func (h *Hub) OnNewWX3Token(token string) { h.eventHub.PostNewEvent(EventCategory, &eventhub.EventInfo{ Type: EventTypeWX3Token, @@ -99,6 +106,8 @@ func (h *Hub) GetToken(tokenType, oldToken string, waitTime time.Duration) (toke if weimobToken := api.WeimobAPI.GetToken(); weimobToken != nil { token = string(utils.MustMarshal(weimobToken)) } + case EventTypePushToken: + token = api.PushAPI.CBGetToken() case EventTypeWX2Token: token = api.WeixinMiniAPI2.CBGetToken() } @@ -136,3 +145,7 @@ func (h *Hub) GetYLYToken(oldToken string, waitTime time.Duration) (tokenInfo *T func (h *Hub) GetWeimobToken(oldToken string, waitTime time.Duration) (tokenInfo *TokenInfo) { return h.GetToken(EventTypeWeimobToken, oldToken, waitTime) } + +func (h *Hub) GetPushToken(oldToken string, waitTime time.Duration) (tokenInfo *TokenInfo) { + return h.GetToken(EventTypePushToken, oldToken, waitTime) +} diff --git a/business/jxutils/tasks/configrefresh.go b/business/jxutils/tasks/configrefresh.go index 9086c72a4..ced368d0a 100644 --- a/business/jxutils/tasks/configrefresh.go +++ b/business/jxutils/tasks/configrefresh.go @@ -28,6 +28,7 @@ const ( dingdingTokenExpires = 7200 * time.Second weimobTokenExpires = 7200 * time.Second yilianyunTokenExpires = 30 * 24 * 3600 * time.Second + pushTokenExpires = 7200 * time.Second maxRefreshGap = 5 * 60 * time.Second errRefreshGap = 10 * time.Second @@ -165,6 +166,33 @@ func RefreshWeixin2Token() (err error) { return err } +func RefreshPushToken() (err error) { + if api.PushAPI != nil { + err = RefreshConfig("push", pushTokenExpires, func() (token string, expireTimeStr string) { + globals.SugarLogger.Debugf("RefreshPushToken RunMode:%s", beego.BConfig.RunMode) + if globals.IsMainProductEnv() { + if tokenInfo, err := api.PushAPI.CBRetrieveToken(); err == nil { + globals.SugarLogger.Debugf("RefreshPushToken tokenInfo:%s", utils.Format4Output(tokenInfo, true)) + token = tokenInfo.Token + } else { + globals.SugarLogger.Errorf("RefreshPushToken RefreshToken failed with error:%v", err) + } + } else { + if tokenInfo := getPushTokenFromRemote(api.PushAPI.CBGetToken()); tokenInfo != nil { + expireTimeStr = utils.Time2Str(time.Now().Add(-pushTokenExpires)) + token = tokenInfo.Token + } + } + return token, expireTimeStr + }, func(value string) { + globals.SugarLogger.Debugf("RefreshPushToken setter value:%s", value) + syseventhub.SysEventHub.OnNewPushToken(value) + api.PushAPI.CBSetToken(value) + }) + } + return err +} + func RefreshWeixin3Token() (err error) { // if api.WeixinMiniAPI3 != nil { // err = RefreshConfig("wechat3", weixinTokenExpires, func() (token string, expireTimeStr string) { @@ -342,6 +370,15 @@ func getWX2TokenFromRemote(oldToken string) (tokenInfo *syseventhub.TokenInfo) { return tokenInfo } +func getPushTokenFromRemote(oldToken string) (tokenInfo *syseventhub.TokenInfo) { + if !globals.IsMainProductEnv() && globals.GetWeixinTokenKey != "" && globals.GetPushTokenURL != "" { + tokenInfo = PollingRemotEvent(globals.GetPushTokenURL, 0, map[string]interface{}{ + "oldToken": oldToken, + }) + } + return tokenInfo +} + func getWX3TokenFromRemote(oldToken string) (tokenInfo *syseventhub.TokenInfo) { if !globals.IsMainProductEnv() && globals.GetWeixinTokenKey != "" && globals.GetWeixinTokenURL != "" { tokenInfo = PollingRemotEvent(globals.GetWeixinTokenURL, 0, map[string]interface{}{ diff --git a/conf/app.conf b/conf/app.conf index 9df9a53e6..14f9362b3 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -243,6 +243,11 @@ dingdingSecret = "LWrZAFeqUfuVv7n_tc8vPpCAx6PT4CwManx2XCVhJOqGsx2L5XCDuX1sAN_Jtv dingdingCallbackURL = "http://callback.jxc4.com/dingding/msg" +pushAppID = "5lyyrvHODG6wC8Sdr3a9h" +pushAppKey = "iFrkUDmR2g5eqQpfh2kQ57" +pushAppSecret = "WTn53qd6WAAdLMXfmXvzb7" +pushMasterSecret= "dGZcR0XGGg7H5Pd7FR3n47" + [jxgy] httpport = 8088 EnableDocs = false @@ -310,6 +315,7 @@ dingdingCallbackURL = "http://callback-jxgy.jxc4.com/dingding/msg" getWeixinTokenURL = "http://www.jxc4.com/v2/sys/GetWXToken" getYLYTokenURL = "http://www.jxc4.com/v2/sys/GetYLYToken" +getPushTokenURL = "http://www.jxc4.com/v2/sys/GetPushToken" jdEclpAccessToken = "bcb6201b5b3c45a0976dcda5e2dea8aejiwm" jdEclpAppKey = "0D397F05CF11C51BCDCC81744680EBC3" @@ -445,6 +451,7 @@ disableWeimob = false getWeixinTokenURL = "http://www.jxc4.com/v2/sys/GetWXToken" getWeixin2TokenURL = "http://www.jxc4.com/v2/sys/GetWX2Token" getWeimobTokenURL = "http://www.jxc4.com/v2/sys/GetWeimobToken" +getPushTokenURL = "http://www.jxc4.com/v2/sys/GetPushToken" dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true" diff --git a/controllers/sys.go b/controllers/sys.go index 6c7160961..089f2156f 100644 --- a/controllers/sys.go +++ b/controllers/sys.go @@ -71,6 +71,23 @@ func (c *SysController) GetYLYToken() { }) } +// @Title 得到个推token +// @Description 得到个推token +// @Param accessKey query string true "假token" +// @Param oldToken query string false "之前的token" +// @Param waitSecond query int false "等待秒数" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetPushToken [get] +func (c *SysController) GetPushToken() { + c.callGetPushToken(func(params *tSysGetPushTokenParams) (retVal interface{}, errCode string, err error) { + if params.AccessKey == globals.GetWeixinTokenKey { + retVal = syseventhub.SysEventHub.GetPushToken(params.OldToken, time.Duration(params.WaitSecond)*time.Second) + } + return retVal, "", err + }) +} + // @Title 得到微盟token // @Description 得到微盟token // @Param accessKey query string true "假token" diff --git a/globals/api/api.go b/globals/api/api.go index 60e077ed4..3c3c99a53 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -3,6 +3,8 @@ package api import ( "time" + "git.rosy.net.cn/baseapi/platformapi/unipushapi" + "git.rosy.net.cn/baseapi/platformapi/jdshopapi" "git.rosy.net.cn/baseapi/platformapi/aliupcapi" @@ -87,6 +89,8 @@ var ( YilianyunAPI2 *yilianyunapi.API ZhongwuAPI *zhongwuapi.API + PushAPI *unipushapi.API + Cacher cache.ICacher SMSClient *aliyunsmsclient.SmsClient ) @@ -243,6 +247,7 @@ func Init() { YilianyunAPI = yilianyunapi.New(beego.AppConfig.DefaultString("yilianyunClientID", ""), beego.AppConfig.DefaultString("yilianyunClientSecret", "")) YilianyunAPI2 = yilianyunapi.New(beego.AppConfig.DefaultString("yilianyunClientID2", ""), beego.AppConfig.DefaultString("yilianyunClientSecret2", "")) ZhongwuAPI = zhongwuapi.New(beego.AppConfig.DefaultInt("zhongwuAppID", 0), beego.AppConfig.DefaultString("zhongwuAppSecret", "")) + PushAPI = unipushapi.New(beego.AppConfig.DefaultString("pushAppID", ""), beego.AppConfig.DefaultString("pushAppKey", ""), beego.AppConfig.DefaultString("pushAppSecret", ""), beego.AppConfig.DefaultString("pushMasterSecret", "")) SMSClient = aliyunsmsclient.New("http://dysmsapi.aliyuncs.com/") } diff --git a/globals/globals.go b/globals/globals.go index 022333e7b..00e1a6b68 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -38,6 +38,7 @@ var ( GetWeixin2TokenURL string GetWeixinTokenKey string GetYLYTokenURL string + GetPushTokenURL string GetWeimobTokenURL string StoreName string @@ -111,6 +112,7 @@ func Init() { GetYLYTokenURL = beego.AppConfig.DefaultString("getYLYTokenURL", "") GetWeimobTokenURL = beego.AppConfig.DefaultString("getWeimobTokenURL", "") GetWeixinTokenKey = beego.AppConfig.DefaultString("getWeixinTokenKey", "") + GetPushTokenURL = beego.AppConfig.DefaultString("getPushTokenURL", "") StoreName = beego.AppConfig.String("storeName") StoreNameMtwm = beego.AppConfig.String("storeNameMtwm") diff --git a/main.go b/main.go index f11b45595..51f9f9eec 100644 --- a/main.go +++ b/main.go @@ -147,7 +147,10 @@ func main() { if err := tasks.RefreshYilianyunToken(); err != nil { globals.SugarLogger.Errorf("RefreshYilianyunToken failed with error:%s", err) return - + } + if err := tasks.RefreshPushToken(); err != nil { + globals.SugarLogger.Errorf("RefreshPushToken failed with error:%s", err) + return } // if globals.IsProductEnv() { // orderman.SaveJdsOrders(nil, time.Now().Add(-2*time.Hour), time.Now()) diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 20f774aea..eccffbe17 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -2583,6 +2583,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"], + beego.ControllerComments{ + Method: "GetPushToken", + Router: `/GetPushToken`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"], beego.ControllerComments{ Method: "GetWX2Token", From 059b0c7557e0454bbd9eff9bb660156444e2b352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 11 Sep 2020 17:16:26 +0800 Subject: [PATCH 43/95] =?UTF-8?q?=E9=97=A8=E5=BA=97cid=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/store.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/business/model/store.go b/business/model/store.go index 3e72193cd..2e281bb68 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -685,3 +685,15 @@ func (*StoreCategoryMap) TableUnique() [][]string { []string{"StoreID", "CategoryID", "DeletedAt"}, } } + +type StoreClientPush struct { + ModelIDCULD + StoreID int `orm:"column(store_id)" json:"storeID"` + ClientID string `orm:"column(client_id);size(255)" json:"clientID"` +} + +func (*StoreClientPush) TableUnique() [][]string { + return [][]string{ + []string{"StoreID", "ClientID"}, + } +} From 1d6ad5f06d0d88edd633c28afdf2e8ace2c8a26f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 11 Sep 2020 17:29:56 +0800 Subject: [PATCH 44/95] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=97=A8=E5=BA=97cid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 19 +++++++++++++++++++ business/model/dao/store.go | 24 ++++++++++++++++++++++++ business/model/store.go | 4 ++-- controllers/cms_store.go | 15 +++++++++++++++ globals/beegodb/beegodb.go | 1 + routers/commentsRouter_controllers.go | 9 +++++++++ 6 files changed, 70 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index a0ce88a6d..d98df918a 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -3534,3 +3534,22 @@ func GetJdDeliveryArea(ctx *jxcontext.Context, storeIDs []int) (err error) { } return err } + +func UpdateStorePushClient(ctx *jxcontext.Context, storeID int, cID string) (err error) { + var ( + db = dao.GetDB() + ) + storePushClients, err := dao.GetStorePushClient(db, storeID, cID) + if err != nil { + return err + } + if len(storePushClients) == 0 { + storePushClient := &model.StorePushClient{ + StoreID: storeID, + ClientID: cID, + } + dao.WrapAddIDCULDEntity(storePushClient, ctx.GetUserName()) + dao.CreateEntity(db, storePushClient) + } + return err +} diff --git a/business/model/dao/store.go b/business/model/dao/store.go index b14feb9dd..0c6662663 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -813,3 +813,27 @@ func DeleteStoreCategroies(db *DaoDB, userName string, storeID int) (err error) _, err = ExecuteSQL(db, sql, sqlParams) return err } + +func GetStorePushClient(db *DaoDB, storeID int, cID string) (storePushClient []*model.StorePushClient, err error) { + sql := ` + SELECT * + FROM store_push_client + WHERE deleted_at = ? + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + } + if storeID > 0 { + sql += " AND store_id = ?" + sqlParams = append(sqlParams, storeID) + } + if cID != "" { + sql += " AND client_id = ?" + sqlParams = append(sqlParams, cID) + } + err = GetRows(db, &storePushClient, sql, sqlParams) + if err != nil { + return nil, err + } + return storePushClient, err +} diff --git a/business/model/store.go b/business/model/store.go index 2e281bb68..f82f83a04 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -686,13 +686,13 @@ func (*StoreCategoryMap) TableUnique() [][]string { } } -type StoreClientPush struct { +type StorePushClient struct { ModelIDCULD StoreID int `orm:"column(store_id)" json:"storeID"` ClientID string `orm:"column(client_id);size(255)" json:"clientID"` } -func (*StoreClientPush) TableUnique() [][]string { +func (*StorePushClient) TableUnique() [][]string { return [][]string{ []string{"StoreID", "ClientID"}, } diff --git a/controllers/cms_store.go b/controllers/cms_store.go index c15db3963..3e81008c3 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -825,3 +825,18 @@ func (c *StoreController) GetJdDeliveryArea() { return retVal, "", err }) } + +// @Title 修改门店对应Cid(个推推送uniapp消息用) +// @Description 修改门店对应Cid(个推推送uniapp消息用) +// @Param token header string true "认证token" +// @Param storeID formData int true "门店ID" +// @Param clientID formData string true "cID" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /UpdateStorePushClient [post] +func (c *StoreController) UpdateStorePushClient() { + c.callUpdateStorePushClient(func(params *tStoreUpdateStorePushClientParams) (retVal interface{}, errCode string, err error) { + err = cms.UpdateStorePushClient(params.Ctx, params.StoreID, params.ClientID) + return retVal, "", err + }) +} diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index be52e1e91..df24cfd6b 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -38,6 +38,7 @@ func Init() { orm.RegisterModel(&model.SkuCategory{}) orm.RegisterModel(&model.ThingMap{}) orm.RegisterModel(&model.SkuExinfoMap{}) + orm.RegisterModel(&model.StorePushClient{}) orm.RegisterModel(&model.AuthBind{}, &model.User{}) diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index eccffbe17..02272a803 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -2079,6 +2079,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], + beego.ControllerComments{ + Method: "UpdateStorePushClient", + Router: `/UpdateStorePushClient`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], beego.ControllerComments{ Method: "UpdateStoreVendorMap", From 10ab67bbf6aae1d23d421c6d560a078325c5f81a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 11 Sep 2020 17:44:31 +0800 Subject: [PATCH 45/95] =?UTF-8?q?=E6=8E=A8=E9=80=81app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/unipush/unipush.go | 72 +++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 business/jxutils/unipush/unipush.go diff --git a/business/jxutils/unipush/unipush.go b/business/jxutils/unipush/unipush.go new file mode 100644 index 000000000..656d004da --- /dev/null +++ b/business/jxutils/unipush/unipush.go @@ -0,0 +1,72 @@ +package unipush + +import ( + "strings" + + "git.rosy.net.cn/baseapi/platformapi/unipushapi" + "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/business/model/dao" + "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/jx-callback/globals/api" + "github.com/astaxie/beego" +) + +func NotifyNewOrder(order *model.GoodsOrder) { + var ( + db = dao.GetDB() + ) + storePushs, err := dao.GetStorePushClient(db, jxutils.GetSaleStoreIDFromOrder(order), "") + if err != nil { + return + } + for _, v := range storePushs { + sb := new(strings.Builder) + sb.WriteString("老板,") + sb.WriteString(order.ConsigneeName) + sb.WriteString("购买了商品") + sb.WriteString(getOrderDetailBrief(order)) + status, err2 := api.PushAPI.PushToSingle(v.ClientID, false, &unipushapi.Notification{ + Title: "京西菜市新订单推送", + Body: sb.String(), + }) + if err = err2; err != nil { + globals.SugarLogger.Debugf("NotifyNewOrder push error: [%v]", err) + continue + } + if status == unipushapi.SuccessOffLine { + _, err = api.PushAPI.PushToSingle(v.ClientID, true, &unipushapi.Notification{ + Body: sb.String(), + }) + if err != nil { + globals.SugarLogger.Debugf("NotifyNewOrder push2 error: [%v]", err) + continue + } + } + } +} + +func getOrderDetailBrief(order *model.GoodsOrder) (brief string) { + sb := new(strings.Builder) + sb.WriteString(order.Skus[0].SkuName) + sb.WriteString("等共") + sb.WriteString(utils.Int2Str(order.Skus[0].Count)) + sb.WriteString("份(") + sb.WriteString(jxutils.IntPrice2StandardString(order.Skus[0].SalePrice)) + sb.WriteString("元/份)等,预计收入") + //TODO 2020-07-20 果园和菜市不同 + var price int64 + if beego.BConfig.RunMode == "jxgy" { + price = order.EarningPrice + } else { + if order.EarningType == model.EarningTypePoints { + price = order.ActualPayPrice + } else { + price = order.ShopPrice + } + } + sb.WriteString(jxutils.IntPrice2StandardString(price)) + sb.WriteString("元") + return sb.String() +} From 4d395f8b8566aee212ef091ca0af0143c9841e80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 11 Sep 2020 17:45:43 +0800 Subject: [PATCH 46/95] =?UTF-8?q?=E6=8E=A8=E9=80=81app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/unipush/unipush.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxutils/unipush/unipush.go b/business/jxutils/unipush/unipush.go index 656d004da..4203defe2 100644 --- a/business/jxutils/unipush/unipush.go +++ b/business/jxutils/unipush/unipush.go @@ -44,6 +44,7 @@ func NotifyNewOrder(order *model.GoodsOrder) { continue } } + } } From cea55d8722b6fba237d54bc123c1ce7e7b7539f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 11 Sep 2020 17:54:06 +0800 Subject: [PATCH 47/95] =?UTF-8?q?=E6=8E=A8=E9=80=81app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/unipush/unipush.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxutils/unipush/unipush.go b/business/jxutils/unipush/unipush.go index 4203defe2..278db43a4 100644 --- a/business/jxutils/unipush/unipush.go +++ b/business/jxutils/unipush/unipush.go @@ -17,6 +17,7 @@ func NotifyNewOrder(order *model.GoodsOrder) { var ( db = dao.GetDB() ) + globals.SugarLogger.Debugf("NotifyNewOrder push begin orderID :[%v]", order.VendorOrderID) storePushs, err := dao.GetStorePushClient(db, jxutils.GetSaleStoreIDFromOrder(order), "") if err != nil { return From f77bf064dcdd77f6e11b366b0e4a8f5c8b989469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 11 Sep 2020 17:56:48 +0800 Subject: [PATCH 48/95] =?UTF-8?q?=E6=8E=A8=E9=80=81app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/scheduler/defsch/defsch.go | 2 ++ business/jxutils/unipush/{unipush.go => push.go} | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) rename business/jxutils/unipush/{unipush.go => push.go} (99%) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 1fed69dcc..d03f0a066 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -1,6 +1,7 @@ package defsch import ( + "git.rosy.net.cn/jx-callback/business/jxutils/unipush" "fmt" "math/rand" "sync" @@ -1470,6 +1471,7 @@ func (s *DefScheduler) notifyNewOrder(order *model.GoodsOrder) { smsmsg.NotifyNewOrder(order) smsmsg.NotifyNewUserOrder(order) } + push.NotifyNewOrder(order) }) } } diff --git a/business/jxutils/unipush/unipush.go b/business/jxutils/unipush/push.go similarity index 99% rename from business/jxutils/unipush/unipush.go rename to business/jxutils/unipush/push.go index 278db43a4..288bc68e3 100644 --- a/business/jxutils/unipush/unipush.go +++ b/business/jxutils/unipush/push.go @@ -1,4 +1,4 @@ -package unipush +package push import ( "strings" From d7a451043bbc49909c5dc618f2c2c07b11b53770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 09:05:16 +0800 Subject: [PATCH 49/95] =?UTF-8?q?=E9=A5=BF=E7=99=BE=E5=9D=90=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/ebai/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index 2b792e126..0b2e6ec8c 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -217,7 +217,7 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo ConsigneeName: utils.Interface2String(userMap["name"]), ConsigneeMobile: jxutils.FormalizeMobile(utils.Interface2String(userMap["phone"])), ConsigneeAddress: utils.Interface2String(userMap["address"]), - CoordinateType: model.CoordinateTypeBaiDu, + CoordinateType: model.CoordinateTypeMars, BuyerComment: utils.TrimBlankChar(utils.Interface2String(orderMap["remark"])), ExpectedDeliveredTime: getExpectedDeliveredTime(orderMap), PickDeadline: utils.DefaultTimeValue, From 7061133f01e5ab424343e2639d016d30dab97b65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 09:38:00 +0800 Subject: [PATCH 50/95] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 0d6ed6567..64ba4678e 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4695,7 +4695,8 @@ func doStoreSkuAudit(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*Sto // globals.SugarLogger.Debugf("doStoreSkuAudit return2 storeID : %v nameID: %v", storeID, skuBindInfo.NameID) // return false, err // } - if ctx.GetLoginType() != weixin.AuthTypeMP && ctx.GetLoginType() != weixin.AuthTypeMini { + if ctx.GetLoginType() != weixin.AuthTypeMP && ctx.GetLoginType() != weixin.AuthTypeMini && ctx.GetLoginType() != weixin.AuthTypeWxApp { + globals.SugarLogger.Debugf("doStoreSkuAudit return3 storeID : %v loginType: %v", storeID, ctx.GetLoginType()) authInfo, err := ctx.GetV2AuthInfo() if err == nil && authInfo != nil { if len(storeAudits) > 0 { From 7999fa8a7349d1ade3135301e94830209d5f9d8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 09:49:33 +0800 Subject: [PATCH 51/95] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E4=B9=9F=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 64ba4678e..aed0e04dd 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -13,6 +13,8 @@ import ( "time" "unicode" + "git.rosy.net.cn/jx-callback/business/auth2" + "github.com/astaxie/beego" "git.rosy.net.cn/baseapi/platformapi/jdshopapi" @@ -4695,7 +4697,7 @@ func doStoreSkuAudit(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*Sto // globals.SugarLogger.Debugf("doStoreSkuAudit return2 storeID : %v nameID: %v", storeID, skuBindInfo.NameID) // return false, err // } - if ctx.GetLoginType() != weixin.AuthTypeMP && ctx.GetLoginType() != weixin.AuthTypeMini && ctx.GetLoginType() != weixin.AuthTypeWxApp { + if ctx.GetLoginType() != weixin.AuthTypeMP && ctx.GetLoginType() != weixin.AuthTypeMini && ctx.GetLoginType() != weixin.AuthTypeWxApp && ctx.GetLoginType() != auth2.AuthTypeMobile { globals.SugarLogger.Debugf("doStoreSkuAudit return3 storeID : %v loginType: %v", storeID, ctx.GetLoginType()) authInfo, err := ctx.GetV2AuthInfo() if err == nil && authInfo != nil { From afd11d02c67bcdc0d8be8395c43a31e957c76f80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 09:59:54 +0800 Subject: [PATCH 52/95] =?UTF-8?q?=E9=A5=BF=E7=99=BE=E9=97=A8=E5=BA=97?= =?UTF-8?q?=E5=8C=85=E8=A3=85=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/ebai/store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/ebai/store.go b/business/partner/purchase/ebai/store.go index 17e01b310..e2591a6b7 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -402,7 +402,7 @@ func genStoreMapFromStore(store *tEbaiStoreInfo) map[string]interface{} { } } boxFee, _ := dao.GetSysConfigAsInt64(dao.GetDB(), model.ConfigSysEbaiBoxFee) - params["package_box_price"] = boxFee + params["package_box_price"] = jxutils.IntPrice2Standard(boxFee) params["service_phone"] = store.Tel1 params["address"] = store.Address // todo 饿百 开店审核通过后不允许修改商户信息 From 65b2525a029c723d26ee6acdd0f3d3f483fbafc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 11:30:59 +0800 Subject: [PATCH 53/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=94=AE=E5=89=8D=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/order.go | 28 +++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 0e605f0e6..865d988a9 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -7,6 +7,8 @@ import ( "strings" "time" + "git.rosy.net.cn/jx-callback/business/model/dao" + "git.rosy.net.cn/baseapi" "git.rosy.net.cn/baseapi/platformapi" "git.rosy.net.cn/baseapi/platformapi/jdshopapi" @@ -116,6 +118,32 @@ func (p *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.Goods return err } func (p *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) { + var ( + db = dao.GetDB() + diffShopPrice int64 + diffSalePrice int64 + ) + if order.Status >= model.OrderStatusDelivering { + return fmt.Errorf("配送中以后的订单无法进行售前退款!") + } + //1、删除原order_sku 中售前调整的商品 + for _, sku := range removedSkuList { + sql := `DELETE FROM order_sku WHERE vendor_order_id = ? AND vendor_id = ? AND sku_id = ?` + sqlParams := []interface{}{order.VendorOrderID, order.VendorID, sku.SkuID} + dao.ExecuteSQL(db, sql, sqlParams) + + diffShopPrice += sku.ShopPrice + diffSalePrice += sku.SalePrice + } + //2、修改goods_order 中的shopprice,若是扣点的订单,还要改new_earning_price和total_shop_money + order.AdjustCount += 1 + order.ShopPrice = order.ShopPrice - diffShopPrice + if order.EarningType == model.EarningTypePoints { + order.TotalShopMoney = utils.Float64TwoInt64(float64(float64(order.TotalShopMoney)/jdshopapi.JdsPayPercentage-float64(diffSalePrice)) * jdshopapi.JdsPayPercentage) + jxutils.RefreshOrderEarningPrice2(order, order.OrderPayPercentage) + partner.CurOrderManager.UpdateOrderFields(order, []string{"TotalShopMoney", "NewEarningPrice"}) + } + partner.CurOrderManager.UpdateOrderFields(order, []string{"AdjustCount", "ShopPrice"}) return err } From 0f737cd73e5ef7f687ebd7a1840288cee66302c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 14:59:43 +0800 Subject: [PATCH 54/95] =?UTF-8?q?=E5=88=B7=E6=96=B0=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E5=95=86=E5=9F=8E=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 13 +++++++++++++ business/partner/purchase/jdshop/order.go | 17 +++++++++++------ controllers/act.go | 2 +- controllers/jx_order.go | 14 ++++++++++++++ 4 files changed, 39 insertions(+), 7 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 8b21f6aaa..5abc4ea14 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1801,3 +1801,16 @@ func GenOrderNo(ctx *jxcontext.Context) (orderNo int64) { orderNo += int64(math.Pow10(int(math.Log10(float64(orderNo)))+1)) * prefix return orderNo } + +func RefreshJdsOrderConsigneeInfo(ctx *jxcontext.Context, vendorOrderID string) (err error) { + var ( + db = dao.GetDB() + ) + order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJDShop) + waybill, err := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID) + if waybill != nil { + return fmt.Errorf("已经创建了三方运单不允许修改联系人信息!") + } + + return err +} diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 865d988a9..b97781162 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -49,12 +49,7 @@ func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID string) (order * return p.Map2Order(utils.Struct2FlatMap(resultOrders)), err } func (p *PurchaseHandler) GetOrderStatus(vendorOrgCode, vendorOrderID string) (status int, err error) { - params := make(map[string]interface{}) - params["orderID"] = vendorOrderID - params["token"] = "JxCaIsHiGetJsdOrderTmpToken_20200731" - result, err := apiToYd("order/GetJdsOrder", params) - jdsOrder := &jdshopapi.GetOrderResult{} - json.Unmarshal([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder) + jdsOrder, err := GetJdsOrder(vendorOrderID) return status2Jxstatus(jdsOrder.OrderState), err } @@ -236,3 +231,13 @@ func apiToYd(url string, params map[string]interface{}) (retVal map[string]inter }) return retVal, err } + +func GetJdsOrder(vendorOrderID string) (jdsOrder *jdshopapi.GetOrderResult, err error) { + params := make(map[string]interface{}) + params["orderID"] = vendorOrderID + params["token"] = jdshopapi.JdsYdToken + result, err := apiToYd("order/GetJdsOrder", params) + jdsOrder = &jdshopapi.GetOrderResult{} + json.Unmarshal([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder) + return jdsOrder, err +} diff --git a/controllers/act.go b/controllers/act.go index 8fc2c00fa..89e6843a2 100644 --- a/controllers/act.go +++ b/controllers/act.go @@ -189,7 +189,7 @@ func (c *ActController) CancelAct() { // @Param pageSize query int false "表页大小(缺省全部)" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult -// @router /GetActStoreSkuInfo [get] +// @router /GetActStoreSkuInfo [get,post] func (c *ActController) GetActStoreSkuInfo() { c.callGetActStoreSkuInfo(func(params *tActGetActStoreSkuInfoParams) (retVal interface{}, errCode string, err error) { var vendorIDs []int diff --git a/controllers/jx_order.go b/controllers/jx_order.go index 3bcf028cc..d88564eae 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -1168,3 +1168,17 @@ func (c *OrderController) AcceptOrRefuseOrder() { return retVal, "", err }) } + +// @Title 刷新京东商城订单收货人信息 +// @Description 刷新京东商城订单收货人信息 +// @Param token header string true "认证token" +// @Param vendorOrderID formData string true "订单ID" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /RefreshJdsOrderConsigneeInfo [put] +func (c *OrderController) RefreshJdsOrderConsigneeInfo() { + c.callRefreshJdsOrderConsigneeInfo(func(params *tOrderRefreshJdsOrderConsigneeInfoParams) (retVal interface{}, errCode string, err error) { + err = orderman.RefreshJdsOrderConsigneeInfo(params.Ctx, params.VendorOrderID) + return retVal, "", err + }) +} From f21fadc3774eec929813786b0988441bbcc04bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 15:00:10 +0800 Subject: [PATCH 55/95] =?UTF-8?q?=E5=88=B7=E6=96=B0=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E5=95=86=E5=9F=8E=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 5abc4ea14..dce7ad147 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1804,7 +1804,7 @@ func GenOrderNo(ctx *jxcontext.Context) (orderNo int64) { func RefreshJdsOrderConsigneeInfo(ctx *jxcontext.Context, vendorOrderID string) (err error) { var ( - db = dao.GetDB() + // db = dao.GetDB() ) order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJDShop) waybill, err := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID) From b9f6a0ba299afd4b14df78479afcac816f47667e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 15:09:02 +0800 Subject: [PATCH 56/95] =?UTF-8?q?=E5=88=B7=E6=96=B0=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E5=95=86=E5=9F=8E=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 22 ++++++++++++++++++---- routers/commentsRouter_controllers.go | 11 ++++++++++- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index dce7ad147..5323dafa7 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1803,14 +1803,28 @@ func GenOrderNo(ctx *jxcontext.Context) (orderNo int64) { } func RefreshJdsOrderConsigneeInfo(ctx *jxcontext.Context, vendorOrderID string) (err error) { - var ( - // db = dao.GetDB() - ) order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJDShop) waybill, err := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID) if waybill != nil { return fmt.Errorf("已经创建了三方运单不允许修改联系人信息!") } - + jdsOrder, err := jdshop.GetJdsOrder(order.VendorOrderID2) + if err != nil { + return err + } + if jdsOrder == nil { + return fmt.Errorf("未查询到对应的京东商城订单!") + } + order.ConsigneeAddress = jdshop.Decrypt(jdsOrder.ConsigneeInfo.FullAddress) + order.ConsigneeName = jdshop.Decrypt(jdsOrder.ConsigneeInfo.Fullname) + order.ConsigneeMobile = jdshop.Decrypt(jdsOrder.ConsigneeInfo.Mobile) + order.ConsigneeMobile2 = jdshop.Decrypt(jdsOrder.ConsigneeInfo.Telephone) + order.BuyerComment = jdsOrder.OrderRemark + if order.ConsigneeAddress != "" { + lng, lat, _ := api.AutonaviAPI.GetCoordinateFromAddress(order.ConsigneeAddress, "") + order.ConsigneeLng = jxutils.StandardCoordinate2Int(lng) + order.ConsigneeLat = jxutils.StandardCoordinate2Int(lat) + } + partner.CurOrderManager.UpdateOrderFields(order, []string{"ConsigneeAddress", "ConsigneeName", "ConsigneeMobile", "ConsigneeMobile2", "BuyerComment", "ConsigneeLng", "ConsigneeLat"}) return err } diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 02272a803..52cdbcc15 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -65,7 +65,7 @@ func init() { beego.ControllerComments{ Method: "GetActStoreSkuInfo", Router: `/GetActStoreSkuInfo`, - AllowHTTPMethods: []string{"get"}, + AllowHTTPMethods: []string{"get","post"}, MethodParams: param.Make(), Filters: nil, Params: nil}) @@ -1278,6 +1278,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"], + beego.ControllerComments{ + Method: "RefreshJdsOrderConsigneeInfo", + Router: `/RefreshJdsOrderConsigneeInfo`, + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"], beego.ControllerComments{ Method: "RefreshOrderFinancial", From 69c617e87aec3350a712e1103543187b2ea7248a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 15:30:44 +0800 Subject: [PATCH 57/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/misc/misc.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index 39f79a2af..f8a69a1e0 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -454,6 +454,25 @@ func doDailyWork() { cms.RefreshJdsSkusStatus(jxcontext.AdminCtx) //同步美团配送与否状态及美团门店是否存在 cms.SetMTPSStatus(jxcontext.AdminCtx, 0, 0) + //售后单如果超过12小时没有审核,就自动通过 + RefreshAfsOrderStatusAccess(jxcontext.AdminCtx) +} + +func RefreshAfsOrderStatusAccess(ctx *jxcontext.Context) { + var ( + offset = 0 + pageSize = 9999 + db = dao.GetDB() + ) + afsOrderList, _, err := dao.GetAfsOrdersByPage(db, "", "", "", time.Now().AddDate(0, 0, -7), time.Now(), offset, pageSize) + if err != nil { + return + } + for _, v := range afsOrderList { + if v.Status == model.AfsOrderStatusWait4Approve && time.Now().Sub(v.AfsCreatedAt).Hours() > 12 { + defsch.FixedScheduler.AgreeOrRefuseRefund(ctx, v.AfsOrderID, v.VendorID, model.AfsTypePartRefund, "超时系统同意") + } + } } func RefreshRealMobile(ctx *jxcontext.Context, vendorID int, fromTime, toTime time.Time, isAsync, isContinueWhenError bool) (hint string, err error) { From e681e406a0cec1fc1f572ea3c7bafc16bc8ab5dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 17:24:25 +0800 Subject: [PATCH 58/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 3 + business/partner/purchase/jdshop/callback.go | 86 ++++++++++++-------- 2 files changed, 53 insertions(+), 36 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 5323dafa7..e3d5a191b 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1804,6 +1804,9 @@ func GenOrderNo(ctx *jxcontext.Context) (orderNo int64) { func RefreshJdsOrderConsigneeInfo(ctx *jxcontext.Context, vendorOrderID string) (err error) { order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJDShop) + if order == nil { + return fmt.Errorf("未查询到此京东商城订单!") + } waybill, err := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID) if waybill != nil { return fmt.Errorf("已经创建了三方运单不允许修改联系人信息!") diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index d4eaaecc7..cb48c2789 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -67,10 +67,6 @@ func SaveJdsOrders(msg *jdshopapi.CallBackResult) (err error) { if err != nil || order == nil { return err } - order.StoreID = 102919 - order.JxStoreID = 102919 - order.StoreName = "商城模板(成都发货)" - order.VendorStoreID = model.JdShopMainVendorStoreID partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order)) noticeMsg := fmt.Sprintf("京东商城新订单,订单号:[%v] ,将要发到的门店id:[%v] , 门店名:[%v]", order.VendorOrderID, order.StoreID, order.StoreName) ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "DDC5657B43EE11E9A9FF525400E86DC0", "京东商城来新订单了!", noticeMsg) @@ -102,7 +98,6 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err ActualPayPrice: jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderPayment)), Status: model.OrderStatusNew, TotalShopMoney: utils.Float64TwoInt64(math.Round(float64(jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderPayment))) * jdshopapi.JdsPayPercentage)), - DeliveryFlag: model.OrderDeliveryFlagMaskScheduleDisabled, DeliveryType: model.OrderDeliveryTypeStoreSelf, StatusTime: utils.Str2Time(msg.OrderStartTime), OrderSeq: 0, @@ -114,15 +109,61 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err lng, lat, _ := api.AutonaviAPI.GetCoordinateFromAddress(order.ConsigneeAddress, "") order.ConsigneeLng = jxutils.StandardCoordinate2Int(lng) order.ConsigneeLat = jxutils.StandardCoordinate2Int(lat) + order.CoordinateType = model.CoordinateTypeMars } - storeList, err := common.GetStoreListByLocation(jxcontext.AdminCtx, jxutils.IntCoordinate2Standard(order.ConsigneeLng), jxutils.IntCoordinate2Standard(order.ConsigneeLat), 5000, false, true) + var skuIDs []int + for _, v := range msg.ItemInfoList { + sku := &model.OrderSku{ + VendorID: model.VendorIDJDShop, + VendorOrderID: order.VendorOrderID, + Count: utils.Str2Int(v.ItemTotal), + VendorSkuID: v.SkuID, + SkuName: v.SkuName, + VendorPrice: jxutils.StandardPrice2Int(utils.Str2Float64(v.JdPrice)), + SalePrice: jxutils.StandardPrice2Int(utils.Str2Float64(v.JdPrice)), + // SkuID: utils.Str2Int(v.OuterSkuID), + } + if v.OuterSkuID != "" { + sku.SkuID = utils.Str2Int(v.OuterSkuID) + } + _, _, _, specUnit, _, specQuality := jxutils.SplitSkuName(v.SkuName) + sku.Weight = jxutils.FormatSkuWeight(specQuality, specUnit) + order.Skus = append(order.Skus, sku) + skuIDs = append(skuIDs, sku.SkuID) + } + storeList, err := common.GetStoreListByLocation(jxcontext.AdminCtx, jxutils.IntCoordinate2Standard(order.ConsigneeLng), jxutils.IntCoordinate2Standard(order.ConsigneeLat), 3000, false, true) if err != nil { globals.SugarLogger.Debugf("jds GetStoreListByLocation error: %v", err.Error()) return order, err } - order.StoreID = storeList[0].ID - order.StoreName = storeList[0].Name - globals.SugarLogger.Debugf("jds GetStoreListByLocation, orderID: %v storeID :%v", order.VendorOrderID, order.StoreID) + if len(storeList) > 0 { + order.StoreID = storeList[0].ID + order.JxStoreID = storeList[0].ID + order.StoreName = storeList[0].Name + globals.SugarLogger.Debugf("jds GetStoreListByLocation, orderID: %v storeID :%v", order.VendorOrderID, order.StoreID) + //结算类型 + storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop) + if storeDetail != nil { + if storeDetail.PayPercentage < 50 { + order.EarningType = model.EarningTypePoints + } else { + order.EarningType = model.EarningTypeQuote + } + } + if order.EarningType == model.EarningTypeQuote { + var shopPriceSum int + storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, skuIDs) + for _, storeSku := range storeSkuList { + shopPriceSum += storeSku.Price + } + } + } else { + order.StoreID = 102919 + order.JxStoreID = 102919 + order.StoreName = "商城模板(成都发货)" + order.VendorStoreID = model.JdShopMainVendorStoreID + order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled + } storeMaps, _ := dao.GetStoresMapList(dao.GetDB(), []int{model.VendorIDJDShop}, []int{order.StoreID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "") if len(storeMaps) > 0 { order.VendorStoreID = storeMaps[0].VendorStoreID @@ -149,34 +190,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err } } - //结算类型 - storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop) - if storeDetail != nil { - if storeDetail.PayPercentage < 50 { - order.EarningType = model.EarningTypePoints - } else { - order.EarningType = model.EarningTypeQuote - } - } setJdsOrderSeq(order) - for _, v := range msg.ItemInfoList { - sku := &model.OrderSku{ - VendorID: model.VendorIDJDShop, - VendorOrderID: order.VendorOrderID, - Count: utils.Str2Int(v.ItemTotal), - VendorSkuID: v.SkuID, - SkuName: v.SkuName, - VendorPrice: jxutils.StandardPrice2Int(utils.Str2Float64(v.JdPrice)), - SalePrice: jxutils.StandardPrice2Int(utils.Str2Float64(v.JdPrice)), - // SkuID: utils.Str2Int(v.OuterSkuID), - } - if v.OuterSkuID != "" { - sku.SkuID = utils.Str2Int(v.OuterSkuID) - } - _, _, _, specUnit, _, specQuality := jxutils.SplitSkuName(v.SkuName) - sku.Weight = jxutils.FormatSkuWeight(specQuality, specUnit) - order.Skus = append(order.Skus, sku) - } return order, err } From ae1ab21089e48e97d8e67db43b24a595045adfb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 17:45:27 +0800 Subject: [PATCH 59/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/misc/misc.go | 6 +-- business/partner/purchase/jdshop/callback.go | 39 +++++++++++--------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index f8a69a1e0..ce8925a4a 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -287,9 +287,9 @@ func Init() { "04:05:06", }) //京东的订单信息解密密钥获取 - // ScheduleTimerFuncByInterval(func() { - // jdshop.InitKey() - // }, 10*time.Second, 8*time.Hour) + ScheduleTimerFuncByInterval(func() { + jdshop.InitKey() + }, 10*time.Second, 8*time.Hour) ScheduleTimerFunc("ChangeJxPriceByDiscountAct", func() { act.ChangeJxPriceByDiscountAct(jxcontext.AdminCtx) }, discountActJxList) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index cb48c2789..9d225d05e 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -137,24 +137,29 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err return order, err } if len(storeList) > 0 { - order.StoreID = storeList[0].ID - order.JxStoreID = storeList[0].ID - order.StoreName = storeList[0].Name - globals.SugarLogger.Debugf("jds GetStoreListByLocation, orderID: %v storeID :%v", order.VendorOrderID, order.StoreID) - //结算类型 - storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop) - if storeDetail != nil { - if storeDetail.PayPercentage < 50 { - order.EarningType = model.EarningTypePoints - } else { - order.EarningType = model.EarningTypeQuote + for _, store := range storeList { + order.StoreID = store.ID + order.JxStoreID = store.ID + order.StoreName = store.Name + globals.SugarLogger.Debugf("jds GetStoreListByLocation, orderID: %v storeID :%v", order.VendorOrderID, order.StoreID) + //结算类型 + storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop) + if storeDetail != nil { + if storeDetail.PayPercentage < 50 { + order.EarningType = model.EarningTypePoints + } else { + order.EarningType = model.EarningTypeQuote + } } - } - if order.EarningType == model.EarningTypeQuote { - var shopPriceSum int - storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, skuIDs) - for _, storeSku := range storeSkuList { - shopPriceSum += storeSku.Price + if order.EarningType == model.EarningTypeQuote { + var shopPriceSum int + storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, skuIDs) + for _, storeSku := range storeSkuList { + shopPriceSum += storeSku.Price + } + if shopPriceSum+700 > order.TotalShopMoney { + + } } } } else { From 066b9e391a8d71800927978db9f856c8bc8387d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 17:47:14 +0800 Subject: [PATCH 60/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 9d225d05e..024c0f558 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -157,7 +157,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err for _, storeSku := range storeSkuList { shopPriceSum += storeSku.Price } - if shopPriceSum+700 > order.TotalShopMoney { + if shopPriceSum+700 > int(order.TotalShopMoney) { } } From fe42a2537e2ff6e5cc3b99fc0f8f2c0d92fa3f99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 17:55:25 +0800 Subject: [PATCH 61/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 024c0f558..b1e744088 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -221,6 +221,7 @@ func Decrypt(p string) (result string) { } data, _ := base64.StdEncoding.DecodeString(strings.ReplaceAll(p, " ", "+")) key := GetKey(hex.EncodeToString(data)[4:36]) + globals.SugarLogger.Debugf("Decrypt keys : %v", key) data2, _ := base64.StdEncoding.DecodeString(key) b := bytes.NewBuffer(data) b.Next(18) From 5159dbbf511a742c5453c743c63a83dcf50714c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 17:58:15 +0800 Subject: [PATCH 62/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index e3d5a191b..c75de1042 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1818,6 +1818,7 @@ func RefreshJdsOrderConsigneeInfo(ctx *jxcontext.Context, vendorOrderID string) if jdsOrder == nil { return fmt.Errorf("未查询到对应的京东商城订单!") } + fmt.Println("test1", utils.Format4Output(jdsOrder, false)) order.ConsigneeAddress = jdshop.Decrypt(jdsOrder.ConsigneeInfo.FullAddress) order.ConsigneeName = jdshop.Decrypt(jdsOrder.ConsigneeInfo.Fullname) order.ConsigneeMobile = jdshop.Decrypt(jdsOrder.ConsigneeInfo.Mobile) From a38a0e8d849636b8118c20c79a69ffc369a68efd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 18:04:32 +0800 Subject: [PATCH 63/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 1 - business/partner/purchase/jdshop/order.go | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index c75de1042..e3d5a191b 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1818,7 +1818,6 @@ func RefreshJdsOrderConsigneeInfo(ctx *jxcontext.Context, vendorOrderID string) if jdsOrder == nil { return fmt.Errorf("未查询到对应的京东商城订单!") } - fmt.Println("test1", utils.Format4Output(jdsOrder, false)) order.ConsigneeAddress = jdshop.Decrypt(jdsOrder.ConsigneeInfo.FullAddress) order.ConsigneeName = jdshop.Decrypt(jdsOrder.ConsigneeInfo.Fullname) order.ConsigneeMobile = jdshop.Decrypt(jdsOrder.ConsigneeInfo.Mobile) diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index b97781162..68e18e661 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -237,7 +237,7 @@ func GetJdsOrder(vendorOrderID string) (jdsOrder *jdshopapi.GetOrderResult, err params["orderID"] = vendorOrderID params["token"] = jdshopapi.JdsYdToken result, err := apiToYd("order/GetJdsOrder", params) - jdsOrder = &jdshopapi.GetOrderResult{} - json.Unmarshal([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder) - return jdsOrder, err + jdsOrder2 := &jdshopapi.GetOrderResult{} + json.Unmarshal([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder2) + return jdsOrder2, err } From 51bdd9b0809758ec75643c24f0b455d0f1b48ce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 18:14:15 +0800 Subject: [PATCH 64/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/order.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 68e18e661..0517da353 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -238,6 +238,8 @@ func GetJdsOrder(vendorOrderID string) (jdsOrder *jdshopapi.GetOrderResult, err params["token"] = jdshopapi.JdsYdToken result, err := apiToYd("order/GetJdsOrder", params) jdsOrder2 := &jdshopapi.GetOrderResult{} + fmt.Println("test", utils.Format4Output(result, false)) json.Unmarshal([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder2) + fmt.Println("test1", utils.Format4Output(jdsOrder2, false)) return jdsOrder2, err } From b06c3ca50caae49d9c95a3d5d09b9301015c4c9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 18:18:25 +0800 Subject: [PATCH 65/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/order.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 0517da353..5ea06e0d7 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -1,7 +1,6 @@ package jdshop import ( - "encoding/json" "fmt" "net/http" "strings" @@ -239,7 +238,11 @@ func GetJdsOrder(vendorOrderID string) (jdsOrder *jdshopapi.GetOrderResult, err result, err := apiToYd("order/GetJdsOrder", params) jdsOrder2 := &jdshopapi.GetOrderResult{} fmt.Println("test", utils.Format4Output(result, false)) - json.Unmarshal([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder2) + err = utils.UnmarshalUseNumber([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder2) + if err != nil { + fmt.Println("tessssss", err) + return nil, err + } fmt.Println("test1", utils.Format4Output(jdsOrder2, false)) return jdsOrder2, err } From 8642c05a72f67996d8ff0f0ecf9ef7fa955762f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 14 Sep 2020 18:30:54 +0800 Subject: [PATCH 66/95] =?UTF-8?q?=E8=B6=8512=E5=B0=8F=E6=97=B6=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=AE=A1=E6=A0=B8=E5=94=AE=E5=90=8E=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/order.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 5ea06e0d7..5a49d619a 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -237,12 +237,6 @@ func GetJdsOrder(vendorOrderID string) (jdsOrder *jdshopapi.GetOrderResult, err params["token"] = jdshopapi.JdsYdToken result, err := apiToYd("order/GetJdsOrder", params) jdsOrder2 := &jdshopapi.GetOrderResult{} - fmt.Println("test", utils.Format4Output(result, false)) err = utils.UnmarshalUseNumber([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder2) - if err != nil { - fmt.Println("tessssss", err) - return nil, err - } - fmt.Println("test1", utils.Format4Output(jdsOrder2, false)) return jdsOrder2, err } From 8d44b1ca1cc010339a861730a95b9b19b411f444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 09:18:17 +0800 Subject: [PATCH 67/95] =?UTF-8?q?=E7=BE=8E=E5=9B=A2=E9=85=8D=E9=80=81?= =?UTF-8?q?=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index 61aa4846a..5f6df4614 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -1331,9 +1331,9 @@ func SetMTPSStatus(ctx *jxcontext.Context, storeId, courierStatus int) { goto ifExist } else { /*如果通过名字找不到,那就先通过ID去找名字*/ - ShopInfo, _ := api.MtpsAPI.ShopQuery(strconv.Itoa(storeId)) + ShopInfo, _ := api.MtpsAPI.GetStoreInfo(storeId) if ShopInfo != nil { - ShopName = ShopInfo.ShopName + ShopName = ShopInfo[0].PoiName if ShopName == "" { ShopName = StoreLists[0].Name[:len(StoreLists[0].Name)-3] } From 2757e20771240e3d0696cc3c3672bd8dca4c87bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 09:32:22 +0800 Subject: [PATCH 68/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 53 +++++++++++--------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index b1e744088..cf0d39d2a 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -67,6 +67,11 @@ func SaveJdsOrders(msg *jdshopapi.CallBackResult) (err error) { if err != nil || order == nil { return err } + order.StoreID = 102919 + order.JxStoreID = 102919 + order.StoreName = "商城模板(成都发货)" + order.VendorStoreID = model.JdShopMainVendorStoreID + order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order)) noticeMsg := fmt.Sprintf("京东商城新订单,订单号:[%v] ,将要发到的门店id:[%v] , 门店名:[%v]", order.VendorOrderID, order.StoreID, order.StoreName) ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "DDC5657B43EE11E9A9FF525400E86DC0", "京东商城来新订单了!", noticeMsg) @@ -137,31 +142,31 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err return order, err } if len(storeList) > 0 { - for _, store := range storeList { - order.StoreID = store.ID - order.JxStoreID = store.ID - order.StoreName = store.Name - globals.SugarLogger.Debugf("jds GetStoreListByLocation, orderID: %v storeID :%v", order.VendorOrderID, order.StoreID) - //结算类型 - storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop) - if storeDetail != nil { - if storeDetail.PayPercentage < 50 { - order.EarningType = model.EarningTypePoints - } else { - order.EarningType = model.EarningTypeQuote - } - } - if order.EarningType == model.EarningTypeQuote { - var shopPriceSum int - storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, skuIDs) - for _, storeSku := range storeSkuList { - shopPriceSum += storeSku.Price - } - if shopPriceSum+700 > int(order.TotalShopMoney) { + // for _, store := range storeList { + // order.StoreID = store.ID + // order.JxStoreID = store.ID + // order.StoreName = store.Name + // globals.SugarLogger.Debugf("jds GetStoreListByLocation, orderID: %v storeID :%v", order.VendorOrderID, order.StoreID) + // //结算类型 + // storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop) + // if storeDetail != nil { + // if storeDetail.PayPercentage < 50 { + // order.EarningType = model.EarningTypePoints + // } else { + // order.EarningType = model.EarningTypeQuote + // } + // } + // if order.EarningType == model.EarningTypeQuote { + // var shopPriceSum int + // storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, skuIDs) + // for _, storeSku := range storeSkuList { + // shopPriceSum += storeSku.Price + // } + // if shopPriceSum+700 > int(order.TotalShopMoney) { - } - } - } + // } + // } + // } } else { order.StoreID = 102919 order.JxStoreID = 102919 From c7557fec8b801580c12971c5f93ced291c207e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 09:42:46 +0800 Subject: [PATCH 69/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 64 +++++++++++--------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index cf0d39d2a..8db21adc9 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -67,11 +67,11 @@ func SaveJdsOrders(msg *jdshopapi.CallBackResult) (err error) { if err != nil || order == nil { return err } - order.StoreID = 102919 - order.JxStoreID = 102919 - order.StoreName = "商城模板(成都发货)" - order.VendorStoreID = model.JdShopMainVendorStoreID - order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled + // order.StoreID = 102919 + // order.JxStoreID = 102919 + // order.StoreName = "商城模板(成都发货)" + // order.VendorStoreID = model.JdShopMainVendorStoreID + // order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order)) noticeMsg := fmt.Sprintf("京东商城新订单,订单号:[%v] ,将要发到的门店id:[%v] , 门店名:[%v]", order.VendorOrderID, order.StoreID, order.StoreName) ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "DDC5657B43EE11E9A9FF525400E86DC0", "京东商城来新订单了!", noticeMsg) @@ -142,31 +142,35 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err return order, err } if len(storeList) > 0 { - // for _, store := range storeList { - // order.StoreID = store.ID - // order.JxStoreID = store.ID - // order.StoreName = store.Name - // globals.SugarLogger.Debugf("jds GetStoreListByLocation, orderID: %v storeID :%v", order.VendorOrderID, order.StoreID) - // //结算类型 - // storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop) - // if storeDetail != nil { - // if storeDetail.PayPercentage < 50 { - // order.EarningType = model.EarningTypePoints - // } else { - // order.EarningType = model.EarningTypeQuote - // } - // } - // if order.EarningType == model.EarningTypeQuote { - // var shopPriceSum int - // storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, skuIDs) - // for _, storeSku := range storeSkuList { - // shopPriceSum += storeSku.Price - // } - // if shopPriceSum+700 > int(order.TotalShopMoney) { - - // } - // } - // } + for _, store := range storeList { + order.StoreID = store.ID + order.JxStoreID = store.ID + order.StoreName = store.Name + globals.SugarLogger.Debugf("jds GetStoreListByLocation, orderID: %v storeID :%v", order.VendorOrderID, order.StoreID) + //结算类型 + storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop) + if storeDetail != nil { + if storeDetail.PayPercentage < 50 { + order.EarningType = model.EarningTypePoints + } else { + order.EarningType = model.EarningTypeQuote + } + } + if order.EarningType == model.EarningTypeQuote { + var shopPriceSum int + storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, skuIDs) + for _, storeSku := range storeSkuList { + shopPriceSum += storeSku.Price + } + if shopPriceSum+700 > int(order.TotalShopMoney) { + order.StoreID = 102919 + order.JxStoreID = 102919 + order.StoreName = "商城模板(成都发货)" + order.VendorStoreID = model.JdShopMainVendorStoreID + order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled + } + } + } } else { order.StoreID = 102919 order.JxStoreID = 102919 From ff1fb5046d6d2568ce21811a313816260d22c442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 09:49:07 +0800 Subject: [PATCH 70/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/defsch/defsch.go | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index d03f0a066..c71c94152 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -1,12 +1,13 @@ package defsch import ( - "git.rosy.net.cn/jx-callback/business/jxutils/unipush" "fmt" "math/rand" "sync" "time" + push "git.rosy.net.cn/jx-callback/business/jxutils/unipush" + "github.com/astaxie/beego" "git.rosy.net.cn/jx-callback/business/jxstore/cms" @@ -834,14 +835,14 @@ func (s *DefScheduler) cancelOtherWaybillsCheckOrderDeliveryFlag(savedOrderInfo func (s *DefScheduler) solutionJdsOrder(bill *model.Waybill) (err error) { if len(bill.VendorOrderID) > 12 { //表示此订单是京东商城2次转移的订单,不用出库,但要去修改运单号 - if utils.Str2Int(bill.VendorOrderID[12:len(bill.VendorOrderID)]) > 2 { - err = jdshop.CurPurchaseHandler.OrderTransfer(jxcontext.AdminCtx, bill.VendorOrderID, bill.VendorWaybillID, true) - if err != nil { - globals.SugarLogger.Errorf("京东商城订单自动转移失败!", err) - } - } else { - err = jdshop.CurPurchaseHandler.OrderExport(jxcontext.AdminCtx, bill.VendorOrderID, bill.VendorWaybillID, true) - } + // if utils.Str2Int(bill.VendorOrderID[12:len(bill.VendorOrderID)]) > 2 { + // err = jdshop.CurPurchaseHandler.OrderTransfer(jxcontext.AdminCtx, bill.VendorOrderID, bill.VendorWaybillID, true) + // if err != nil { + // globals.SugarLogger.Errorf("京东商城订单自动转移失败!", err) + // } + // } else { + err = jdshop.CurPurchaseHandler.OrderExport(jxcontext.AdminCtx, bill.VendorOrderID, bill.VendorWaybillID, true) + // } } return err } From c64d780fa601a05dad5e2272bbd936f300e3a362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 13:45:53 +0800 Subject: [PATCH 71/95] =?UTF-8?q?=E9=87=8D=E5=8F=91=E7=89=A9=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 389ca3740..4f5cac55f 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1620,7 +1620,7 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result } queryOrderStatus, err := api.JdEclpAPI.QueryOrderStatus(order.EclpOutID) getTrackMessagePlusByOrderResult, err := api.JdEclpAPI.GetTrackMessagePlusByOrder(vendorOrderID) - if err != nil { + if err != nil || queryOrderStatus == nil { return nil, err } if len(queryOrderStatus.OrderStatusList) > 0 { From efded5db0ae2191b9953599e11ad2517e825a41a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 13:58:39 +0800 Subject: [PATCH 72/95] =?UTF-8?q?=E9=87=8D=E5=8F=91=E7=89=A9=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 4f5cac55f..4b99aa700 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1880,6 +1880,10 @@ func SendFailedMatterOrder(ctx *jxcontext.Context, vendorOrderID string) (err er // if code == jdeclpapi.SoStatusCode10022 || code == jdeclpapi.SoStatusCode10038 { //表示该订单在京东物流为暂停或已经逆向发货完成 if len(order.VendorOrderID) == 14 && order.EclpOutID != "" { //这是不分包的订单 _, err = createMatterOrder(buildJxOrderInfo(order, order.Skus), order, int64(01)) + if err != nil { + globals.SugarLogger.Debugf("SendFailedMatterOrder err : [%v]", err) + return err + } err = CancelMatterOrder(db, order, cancelMatterOrderReason) changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, cancelMatterOrderReason) for _, v := range order.Skus { From 3abd68be45c827d5e6af1888d88c892bd23a1f1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 14:21:28 +0800 Subject: [PATCH 73/95] =?UTF-8?q?=E9=87=8D=E5=8F=91=E7=89=A9=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 4b99aa700..483e69885 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1114,6 +1114,7 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) { outOrders, _, _ := tryToSplitMatterOrder(buildJxOrderInfo(order, orderSkus)) //以下为仿照CreateOrder,改了一些参数 for k, v := range outOrders { + v.OrderType = model.OrderTypeMatter outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, v, order.AddressID, order.FromStoreID, order.UserID, false) if err != nil { return err From 544d5ea44e8be9ea79d32fce9f0dd4fa8ee6a104 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 14:28:50 +0800 Subject: [PATCH 74/95] =?UTF-8?q?=E9=87=8D=E5=8F=91=E7=89=A9=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 483e69885..6b2d9f298 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1885,7 +1885,7 @@ func SendFailedMatterOrder(ctx *jxcontext.Context, vendorOrderID string) (err er globals.SugarLogger.Debugf("SendFailedMatterOrder err : [%v]", err) return err } - err = CancelMatterOrder(db, order, cancelMatterOrderReason) + // err = CancelMatterOrder(db, order, cancelMatterOrderReason) changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, cancelMatterOrderReason) for _, v := range order.Skus { cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID) From a73e608fdb6a5ab2db8e7e20529ac8b1f09cef6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 14:52:31 +0800 Subject: [PATCH 75/95] =?UTF-8?q?=E9=87=8D=E5=8F=91=E7=89=A9=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 6b2d9f298..d793735d5 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1115,6 +1115,7 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) { //以下为仿照CreateOrder,改了一些参数 for k, v := range outOrders { v.OrderType = model.OrderTypeMatter + v.FromStoreID = order.FromStoreID outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, v, order.AddressID, order.FromStoreID, order.UserID, false) if err != nil { return err @@ -1885,7 +1886,7 @@ func SendFailedMatterOrder(ctx *jxcontext.Context, vendorOrderID string) (err er globals.SugarLogger.Debugf("SendFailedMatterOrder err : [%v]", err) return err } - // err = CancelMatterOrder(db, order, cancelMatterOrderReason) + err = CancelMatterOrder(db, order, cancelMatterOrderReason) changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, cancelMatterOrderReason) for _, v := range order.Skus { cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID) From 53804ef40dd9e5fa1b03036ef09cb594fefd5682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 14:55:58 +0800 Subject: [PATCH 76/95] =?UTF-8?q?=E9=87=8D=E5=8F=91=E7=89=A9=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index d793735d5..ede956bde 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1909,7 +1909,7 @@ func SendFailedMatterOrder(ctx *jxcontext.Context, vendorOrderID string) (err er } } } - err = CancelMatterOrder(db, order, cancelMatterOrderReason) + // err = CancelMatterOrder(db, order, cancelMatterOrderReason) changeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, cancelMatterOrderReason) } else if len(order.VendorOrderID) == 16 && order.EclpOutID != "" { // 这是分包的子订单 return fmt.Errorf("请重发主订单!主订单号:[%v]", order.VendorOrderID[len(order.VendorOrderID)-2:]) From 4aa59cf6bcf0c89b178723094990ad409f6a1b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 15:43:59 +0800 Subject: [PATCH 77/95] =?UTF-8?q?=E6=96=B0=E4=BA=AC=E4=B8=9C=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/scheduler/defsch/defsch.go | 3 +-- business/partner/purchase/jdshop/order.go | 1 + conf/app.conf | 15 +++++++++++++++ globals/api/api.go | 5 +++++ globals/api/apimanager/apimanager.go | 4 +++- globals/globals.go | 2 ++ 6 files changed, 27 insertions(+), 3 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index c71c94152..cc627e6a8 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -15,7 +15,6 @@ import ( "git.rosy.net.cn/jx-callback/business/authz" "git.rosy.net.cn/jx-callback/business/authz/autils" "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" - "git.rosy.net.cn/jx-callback/business/partner/purchase/jdshop" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/netprinter" @@ -841,7 +840,7 @@ func (s *DefScheduler) solutionJdsOrder(bill *model.Waybill) (err error) { // globals.SugarLogger.Errorf("京东商城订单自动转移失败!", err) // } // } else { - err = jdshop.CurPurchaseHandler.OrderExport(jxcontext.AdminCtx, bill.VendorOrderID, bill.VendorWaybillID, true) + // err = jdshop.CurPurchaseHandler.OrderExport(jxcontext.AdminCtx, bill.VendorOrderID, bill.VendorWaybillID, true) // } } return err diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 5a49d619a..7f765b96f 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -68,6 +68,7 @@ func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo err = ChangeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, "订单在京东商城已被取消!") } else { err = ChangeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "自动拣货完成") + err = p.OrderExport(jxcontext.AdminCtx, order.VendorOrderID, order.VendorWaybillID, true) } return err } diff --git a/conf/app.conf b/conf/app.conf index 14f9362b3..c9ac13179 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -143,6 +143,11 @@ jd2Token = "29e0e567-c475-433a-aff0-37176ee8d8a7" jd2AppKey = "7fb947624ff847ae94ff2f068cc99652" jd2Secret = "1097abd7ef09427099b4922784af123a" +jd3OrgCode = "359459" +jd3Token = "5e2c0a60-4450-40c0-a1da-b560051251ea" +jd3AppKey = "21b627c23ea04c69b64b48d0b361213e" +jd3Secret = "51cd27a748e64c829b4b7f83f4844610" + elmIsProd = false elmToken = "2d2b583447b04b6bba5a6f3faed3559b" elmAppKey = "RwT214gAsS" @@ -181,6 +186,11 @@ jd2Token = "29e0e567-c475-433a-aff0-37176ee8d8a7" jd2AppKey = "7fb947624ff847ae94ff2f068cc99652" jd2Secret = "1097abd7ef09427099b4922784af123a" +jd3OrgCode = "359459" +jd3Token = "5e2c0a60-4450-40c0-a1da-b560051251ea" +jd3AppKey = "21b627c23ea04c69b64b48d0b361213e" +jd3Secret = "51cd27a748e64c829b4b7f83f4844610" + jdEclpAccessToken = "bcb6201b5b3c45a0976dcda5e2dea8aejiwm" jdEclpAppKey = "0D397F05CF11C51BCDCC81744680EBC3" jdEclpAppSecret = "f16a5e57ff4f4f428b702c40d2d4b933" @@ -416,6 +426,11 @@ jd2Token = "29e0e567-c475-433a-aff0-37176ee8d8a7" jd2AppKey = "7fb947624ff847ae94ff2f068cc99652" jd2Secret = "1097abd7ef09427099b4922784af123a" +jd3OrgCode = "359459" +jd3Token = "5e2c0a60-4450-40c0-a1da-b560051251ea" +jd3AppKey = "21b627c23ea04c69b64b48d0b361213e" +jd3Secret = "51cd27a748e64c829b4b7f83f4844610" + jdEclpAccessToken = "bcb6201b5b3c45a0976dcda5e2dea8aejiwm" jdEclpAppKey = "0D397F05CF11C51BCDCC81744680EBC3" jdEclpAppSecret = "f16a5e57ff4f4f428b702c40d2d4b933" diff --git a/globals/api/api.go b/globals/api/api.go index 3c3c99a53..a1efdd0c9 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -48,6 +48,7 @@ var ( JdPageAPI *jdapi.API Jd2API *jdapi.API + Jd3API *jdapi.API FakeJdAPI *jdapi.API JdEclpAPI *jdeclpapi.API JdShopAPI *jdshopapi.API @@ -115,6 +116,10 @@ func Init() { // Jd2API.SetJdCookie(beego.AppConfig.DefaultString("jd2StorePageCookie", "")) } + if globals.Jd3OrgCode != "" { + Jd3API = jdapi.New(beego.AppConfig.String("jd3Token"), beego.AppConfig.String("jd3AppKey"), beego.AppConfig.String("jd3Secret")) + } + fakeJdToken := beego.AppConfig.DefaultString("fakeJdToken", "") if fakeJdToken != "" { FakeJdAPI = jdapi.NewFakeJD(fakeJdToken, beego.AppConfig.String("fakeJdBaseURL")) diff --git a/globals/api/apimanager/apimanager.go b/globals/api/apimanager/apimanager.go index 86ccd7f2b..d40b657df 100644 --- a/globals/api/apimanager/apimanager.go +++ b/globals/api/apimanager/apimanager.go @@ -39,6 +39,8 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{}) pfAPI = api.FakeJdAPI } else if appOrgCode != "" && appOrgCode == globals.Jd2OrgCode { pfAPI = api.Jd2API + } else if appOrgCode != "" && appOrgCode == globals.Jd3OrgCode { + pfAPI = api.Jd3API } case model.VendorIDMTWM: pfAPI = api.MtwmAPI @@ -52,7 +54,7 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{}) func (a *APIManager) GetAppOrgCodeList(vendorID int) (appOrgCodeList []string) { switch vendorID { case model.VendorIDJD: - appOrgCodeList = jxutils.BatchString2Slice(globals.JdOrgCode, globals.Jd2OrgCode) + appOrgCodeList = jxutils.BatchString2Slice(globals.JdOrgCode, globals.Jd2OrgCode, globals.Jd3OrgCode) case model.VendorIDMTWM: appOrgCodeList = []string{api.MtwmAPI.GetAppID()} case model.VendorIDEBAI: diff --git a/globals/globals.go b/globals/globals.go index 00e1a6b68..df52f970b 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -59,6 +59,7 @@ var ( JdOrgCode string Jd2OrgCode string + Jd3OrgCode string JdLoginName string IsStoreSkuAct bool @@ -131,6 +132,7 @@ func Init() { TLPayNotifyURL = beego.AppConfig.DefaultString("tonglianPayNotifyURL", "") JdOrgCode = beego.AppConfig.DefaultString("jdOrgCode", "") Jd2OrgCode = beego.AppConfig.DefaultString("jd2OrgCode", "") + Jd3OrgCode = beego.AppConfig.DefaultString("jd3OrgCode", "") JdLoginName = beego.AppConfig.DefaultString("jdLoginName", "") IsAddEvent = beego.AppConfig.DefaultBool("addEvent", false) IsStoreSkuAct = !IsProductEnv() From 533c34fa48d8817953b3f2e307651f279542fb19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 17:34:52 +0800 Subject: [PATCH 78/95] =?UTF-8?q?=E6=96=B0=E4=BA=AC=E4=B8=9C=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 34 ++++++++++++++------ 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 8db21adc9..11ddb3581 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -43,16 +43,18 @@ func OnCallbackMsg(msg *jdshopapi.CallBackResult) (err error) { }) case jcqapi.TopicOrderOut: utils.CallFuncAsync(func() { - order := getRealOrderID(msg.OrderID) - if order != nil { - if order.ActualPayPrice == 0 { - if jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderPayment)) == 0 { - order.ActualPayPrice = jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderTotalPrice) + utils.Str2Float64(msg.FreightPrice) - utils.Str2Float64(msg.SellerDiscount)) - } else { - order.ActualPayPrice = jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderPayment)) + orders := getAllRealOrderID(msg.OrderID) + if len(orders) > 0 { + for _, order := range orders { + if order.ActualPayPrice == 0 { + if jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderPayment)) == 0 { + order.ActualPayPrice = jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderTotalPrice) + utils.Str2Float64(msg.FreightPrice) - utils.Str2Float64(msg.SellerDiscount)) + } else { + order.ActualPayPrice = jxutils.StandardPrice2Int(utils.Str2Float64(msg.OrderPayment)) + } + order.TotalShopMoney = utils.Float64TwoInt64(float64(order.ActualPayPrice) * jdshopapi.JdsPayPercentage) + partner.CurOrderManager.UpdateOrderFields(order, []string{"ActualPayPrice", "TotalShopMoney"}) } - order.TotalShopMoney = utils.Float64TwoInt64(float64(order.ActualPayPrice) * jdshopapi.JdsPayPercentage) - partner.CurOrderManager.UpdateOrderFields(order, []string{"ActualPayPrice", "TotalShopMoney"}) } } }) @@ -255,3 +257,17 @@ func getRealOrderID(orderID string) (order *model.GoodsOrder) { dao.GetRow(db, &order, sql, sqlParams) return order } + +func getAllRealOrderID(orderID string) (orders []*model.GoodsOrder) { + var ( + db = dao.GetDB() + ) + sql := ` + SELECT * FROM goods_order WHERE vendor_order_id2 = ? + ` + sqlParams := []interface{}{ + orderID, + } + dao.GetRows(db, &orders, sql, sqlParams) + return orders +} From 49197bb59d86fbd4cd6bd63724b366e32105e266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 17:52:37 +0800 Subject: [PATCH 79/95] =?UTF-8?q?=E6=96=B0=E4=BA=AC=E4=B8=9C=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index 5f6df4614..db3b86369 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -1345,8 +1345,23 @@ func SetMTPSStatus(ctx *jxcontext.Context, storeId, courierStatus int) { goto ifNotExist } } else { - /*如果通过ID找不到,那就直接去判断名字*/ - goto NameProblem + StoreCourierList, _ := dao.GetStoreCourierList(dao.GetDB(), []int{storeId}, []int{model.VendorIDMTPS}, model.StoreStatusAll, model.StoreAuditStatusAll) + if len(StoreCourierList) > 0 { + ShopInfo, _ := api.MtpsAPI.GetStoreInfo(utils.Str2Int(StoreCourierList[0].VendorStoreID)) + if ShopInfo != nil { + ShopName = ShopInfo[0].PoiName + StoreInfoList, _ = api.MtpsAPI.GetStoreStatus(ShopName) + if StoreInfoList != nil && StoreInfoList.DataList != nil { + goto ifExist + } else { + /*如果通过API返回的名字也找不到*/ + goto ifNotExist + } + } + } else { + /*如果通过ID找不到,那就直接去判断名字*/ + goto NameProblem + } } NameProblem: { From 6108de854faf23f3c78bb47c0ff9a4053ec34677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 15 Sep 2020 18:04:10 +0800 Subject: [PATCH 80/95] =?UTF-8?q?=E6=96=B0=E4=BA=AC=E4=B8=9C=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index d98df918a..86ed1cd0b 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1601,9 +1601,9 @@ func addStoreCourierMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID err = ErrCanNotFindVendor } //同步美团配送与否状态及美团门店是否存在 - if outStoreCourierMap.VendorID == model.VendorIDMTPS { - SetMTPSStatus(jxcontext.AdminCtx, outStoreCourierMap.StoreID, outStoreCourierMap.Status) - } + // if outStoreCourierMap.VendorID == model.VendorIDMTPS { + // SetMTPSStatus(jxcontext.AdminCtx, outStoreCourierMap.StoreID, outStoreCourierMap.Status) + // } return outStoreCourierMap, err } From 32c45d4cec5253ed395f90ed0b91efe306776f0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 08:56:36 +0800 Subject: [PATCH 81/95] =?UTF-8?q?=E5=8F=AF=E5=94=AE=E6=95=B0=E4=B8=80?= =?UTF-8?q?=E5=8D=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 55 +++++++++++++------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 11ddb3581..7abeaaa8f 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -118,7 +118,6 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err order.ConsigneeLat = jxutils.StandardCoordinate2Int(lat) order.CoordinateType = model.CoordinateTypeMars } - var skuIDs []int for _, v := range msg.ItemInfoList { sku := &model.OrderSku{ VendorID: model.VendorIDJDShop, @@ -136,7 +135,6 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err _, _, _, specUnit, _, specQuality := jxutils.SplitSkuName(v.SkuName) sku.Weight = jxutils.FormatSkuWeight(specQuality, specUnit) order.Skus = append(order.Skus, sku) - skuIDs = append(skuIDs, sku.SkuID) } storeList, err := common.GetStoreListByLocation(jxcontext.AdminCtx, jxutils.IntCoordinate2Standard(order.ConsigneeLng), jxutils.IntCoordinate2Standard(order.ConsigneeLat), 3000, false, true) if err != nil { @@ -158,27 +156,38 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err order.EarningType = model.EarningTypeQuote } } - if order.EarningType == model.EarningTypeQuote { - var shopPriceSum int - storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, skuIDs) - for _, storeSku := range storeSkuList { - shopPriceSum += storeSku.Price + var ( + shopPriceSum int + saleNormalSum int + ) + for _, sku := range order.Skus { + storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, []int{sku.SkuID}) + if len(storeSkuList) > 0 && storeSkuList[0].Status == model.StoreSkuBindStatusNormal { + saleNormalSum += 1 + shopPriceSum += storeSkuList[0].Price } - if shopPriceSum+700 > int(order.TotalShopMoney) { - order.StoreID = 102919 - order.JxStoreID = 102919 - order.StoreName = "商城模板(成都发货)" - order.VendorStoreID = model.JdShopMainVendorStoreID - order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled + } + //可售数小于一半就不行 + if math.Mod(float64(len(order.Skus)), float64(2)) == 0 { + if saleNormalSum < len(order.Skus)/2 { + buildOrderTo102919(order) + } else { + if order.EarningType == model.EarningTypeQuote && shopPriceSum+700 > int(order.TotalShopMoney) { + buildOrderTo102919(order) + } + } + } else { + if saleNormalSum <= len(order.Skus)/2 { + buildOrderTo102919(order) + } else { + if order.EarningType == model.EarningTypeQuote && shopPriceSum+700 > int(order.TotalShopMoney) { + buildOrderTo102919(order) + } } } } } else { - order.StoreID = 102919 - order.JxStoreID = 102919 - order.StoreName = "商城模板(成都发货)" - order.VendorStoreID = model.JdShopMainVendorStoreID - order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled + buildOrderTo102919(order) } storeMaps, _ := dao.GetStoresMapList(dao.GetDB(), []int{model.VendorIDJDShop}, []int{order.StoreID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "") if len(storeMaps) > 0 { @@ -198,18 +207,24 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err globals.SugarLogger.Debugf("暂不支持的京东商城订单类型!type: %v", msg.OrderState) return nil, err } - if msg.IDSopShipmenttype == jdshopapi.IdSopShipmenttypeTC { if time, err := api.JdShopAPI.GetOrderExtInfoByOrderId(order.VendorOrderID2); err == nil { order.BusinessType = model.BusinessTypeDingshida order.ExpectedDeliveredTime = utils.Str2Time(time) } } - setJdsOrderSeq(order) return order, err } +func buildOrderTo102919(order *model.GoodsOrder) { + order.StoreID = 102919 + order.JxStoreID = 102919 + order.StoreName = "商城模板(成都发货)" + order.VendorStoreID = model.JdShopMainVendorStoreID + order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled +} + func setJdsOrderSeq(order *model.GoodsOrder) (err error) { type tCount struct { Count int `json:"count"` From 65bdfac214380c85b58a36087fbc1b1e3e1809c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 09:23:29 +0800 Subject: [PATCH 82/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 6 ++++++ business/partner/purchase/jdshop/order.go | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 86ed1cd0b..3cb920930 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1530,6 +1530,12 @@ func TmpGetJxBadCommentsByStoreId(ctx *jxcontext.Context, keyword string, storeI return retVal, err } +type GetStoreCourierMapsResult struct { + storeCourierMaps *model.StoreCourierMap + CourierAddress string `json:"courierAddress"` + CourierPhone string `json:"courierPhone"` +} + func GetStoreCourierMaps(ctx *jxcontext.Context, db *dao.DaoDB, storeID int, vendorID int) (storeCourierMaps []*model.StoreCourierMap, err error) { cond := map[string]interface{}{ model.FieldStoreID: storeID, diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 7f765b96f..e56bc527f 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -68,7 +68,7 @@ func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo err = ChangeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, "订单在京东商城已被取消!") } else { err = ChangeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "自动拣货完成") - err = p.OrderExport(jxcontext.AdminCtx, order.VendorOrderID, order.VendorWaybillID, true) + err = p.OrderExport(jxcontext.AdminCtx, order.VendorOrderID, order.VendorOrderID, true) } return err } From 1294d0a70e7fb1d1b2d6ce044e9bfb8ff0ce7ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 09:32:46 +0800 Subject: [PATCH 83/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 7abeaaa8f..00da35778 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -43,6 +43,7 @@ func OnCallbackMsg(msg *jdshopapi.CallBackResult) (err error) { }) case jcqapi.TopicOrderOut: utils.CallFuncAsync(func() { + globals.SugarLogger.Debugf("jdsOrderOut", utils.Format4Output(msg, false)) orders := getAllRealOrderID(msg.OrderID) if len(orders) > 0 { for _, order := range orders { From 8d0d2956dfbb40563b62c490b37e4a953031ed95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 09:50:48 +0800 Subject: [PATCH 84/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 00da35778..e588fb27f 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -172,20 +172,25 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err if math.Mod(float64(len(order.Skus)), float64(2)) == 0 { if saleNormalSum < len(order.Skus)/2 { buildOrderTo102919(order) + continue } else { if order.EarningType == model.EarningTypeQuote && shopPriceSum+700 > int(order.TotalShopMoney) { buildOrderTo102919(order) + continue } } } else { if saleNormalSum <= len(order.Skus)/2 { buildOrderTo102919(order) + continue } else { if order.EarningType == model.EarningTypeQuote && shopPriceSum+700 > int(order.TotalShopMoney) { buildOrderTo102919(order) + continue } } } + break } } else { buildOrderTo102919(order) From e9d56063c2693195aa27046988ecad5d56d21ad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 09:51:45 +0800 Subject: [PATCH 85/95] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index e588fb27f..e11bf9e08 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -190,6 +190,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err } } } + break } } else { From f158420aee77e9c1a53ccb6a37a633862292749a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 10:39:22 +0800 Subject: [PATCH 86/95] =?UTF-8?q?=E9=97=A8=E5=BA=97=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/store.go | 59 ++++++++++++++++++++++++++++++++++++++ globals/beegodb/beegodb.go | 1 + 2 files changed, 60 insertions(+) diff --git a/business/model/store.go b/business/model/store.go index f82f83a04..f5449b942 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -697,3 +697,62 @@ func (*StorePushClient) TableUnique() [][]string { []string{"StoreID", "ClientID"}, } } + +type StoreAudit struct { + ModelIDCULD + + Name string `orm:"size(255)" json:"name"` + CityCode int `orm:"default(0);null" json:"cityCode"` // todo ? + DistrictCode int `orm:"default(0);null" json:"districtCode"` // todo ? + Address string `orm:"size(255)" json:"address"` + Tel1 string `orm:"size(32);index" json:"tel1"` + Tel2 string `orm:"size(32);index" json:"tel2"` + OpenTime1 int16 `json:"openTime1" validate:"max=2359,min=1,ltfield=CloseTime1"` // 930就表示9点半,用两个的原因是为了支持中午休息,1与2的时间段不能交叉,为0表示没有 + CloseTime1 int16 `json:"closeTime1" validate:"max=2359,min=1` // 格式同上 + OpenTime2 int16 `json:"openTime2" validate:"max=2359,min=1,ltfield=CloseTime2"` // 格式同上 + CloseTime2 int16 `json:"closeTime2" validate:"max=2359,min=1` // 格式同上 + Lng int `json:"-"` // 乘了10的6次方 + Lat int `json:"-"` // 乘了10的6次方 + DeliveryRangeType int8 `json:"deliveryRangeType"` // 参见相关常量定义 + DeliveryRange string `orm:"type(text)" json:"deliveryRange"` // 如果DeliveryRangeType为DeliveryRangeTypePolygon,则为逗号分隔坐标,分号分隔的坐标点(坐标与Lng和Lat一样,都是整数),比如 121361504,31189308;121420555,31150238。否则为半径,单位为米 + Status int `json:"status"` + SMSNotify int8 `orm:"column(sms_notify);" json:"smsNotify"` // 是否通过短信接收订单消息(每天只推一条) + + IDCardFront string `orm:"size(255);column(id_card_front)" json:"idCardFront"` + IDCardBack string `orm:"size(255);column(id_card_back)" json:"idCardBack"` + IDCardHand string `orm:"size(255);column(id_card_hand)" json:"idCardHand"` + Licence string `orm:"size(255)" json:"licence"` // 营业执照图片 + LicenceCode string `orm:"size(32)" json:"licenceCode"` + + LicenceType int8 `json:"licenceType"` // 营业执照类型,0:个人,1:公司 + LicenceCorpName string `orm:"size(64)" json:"licenceCorpName"` // 营业执照公司名称 + LicenceOwnerName string `orm:"size(8)" json:"licenceOwnerName"` // 法人姓名 + LicenceAddress string `orm:"size(255)" json:"licenceAddress"` // 地址 + LicenceValid string `orm:"size(32)" json:"licenceValid"` // 有效期开始 + LicenceExpire string `orm:"size(32)" json:"licenceExpire"` // 有效期结束 + + IDName string `orm:"size(8);column(id_name)" json:"idName"` // 身份证姓名 + IDCode string `orm:"size(32);column(id_code)" json:"idCode"` // 身份证号 + IDValid string `orm:"column(id_valid);size(32)" json:"idValid"` // 有效期开始 + IDExpire string `orm:"column(id_expire);size(32)" json:"idExpire"` // 有效期结束 + + Licence2Image string `orm:"size(255)" json:"licence2Image"` // 食品经营许可证 + Licence2Code string `orm:"size(32)" json:"licence2Code"` // 食品经营许可证编号 + Licence2Valid string `orm:"size(32)" json:"licence2Valid"` // 有效期开始 + Licence2Expire string `orm:"size(32)" json:"licence2Expire"` // 有效期结束 + + UserID string `orm:"column(user_id);size(32)" json:"userID"` //谁发起的审核就把谁添加到这个门店里 + AuditStatus int `json:"auditStatus"` //0是待审核,1是通过,-1是不通过 +} + +func (*StoreAudit) TableUnique() [][]string { + return [][]string{ + []string{"Name"}, + } +} + +func (*StoreAudit) TableIndex() [][]string { + return [][]string{ + []string{"UserID"}, + } +} diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index df24cfd6b..8830eb5b1 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -39,6 +39,7 @@ func Init() { orm.RegisterModel(&model.ThingMap{}) orm.RegisterModel(&model.SkuExinfoMap{}) orm.RegisterModel(&model.StorePushClient{}) + orm.RegisterModel(&model.StoreAudit{}) orm.RegisterModel(&model.AuthBind{}, &model.User{}) From 3d4b13eb9865b3e97cfa37709b31a8798a3157b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 11:05:10 +0800 Subject: [PATCH 87/95] =?UTF-8?q?=E9=97=A8=E5=BA=97=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/callback.go | 3 +-- controllers/cms_store.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index e11bf9e08..9abdee29e 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -165,7 +165,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, []int{sku.SkuID}) if len(storeSkuList) > 0 && storeSkuList[0].Status == model.StoreSkuBindStatusNormal { saleNormalSum += 1 - shopPriceSum += storeSkuList[0].Price + shopPriceSum += storeSkuList[0].Price * sku.Count } } //可售数小于一半就不行 @@ -190,7 +190,6 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err } } } - break } } else { diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 3e81008c3..4e9286e1f 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -840,3 +840,20 @@ func (c *StoreController) UpdateStorePushClient() { return retVal, "", err }) } + +// @Title 用户申请门店审核 +// @Description 用户申请门店审核 +// @Param token header string true "认证token" +// @Param payload formData string true "json数据,store对象" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /CreateStoreAudit [post] +func (c *StoreController) CreateStoreAudit() { + c.callCreateStoreAudit(func(params *tStoreCreateStoreAuditParams) (retVal interface{}, errCode string, err error) { + store := &model.StoreAudit{} + if err = utils.UnmarshalUseNumber([]byte(params.Payload), store); err == nil { + // retVal, err = cms.CreateStore(params.Ctx, store, params.Ctx.GetUserName()) + } + return retVal, "", err + }) +} From f4796bb9cd06482a55d867519310133d67dfbc0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 13:45:24 +0800 Subject: [PATCH 88/95] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=85=A5=E9=A9=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 13 +++++++++++++ business/model/dao/store.go | 28 +++++++++++++++++++++++++++ controllers/cms_store.go | 2 +- routers/commentsRouter_controllers.go | 9 +++++++++ 4 files changed, 51 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 3cb920930..7d0602a50 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -3559,3 +3559,16 @@ func UpdateStorePushClient(ctx *jxcontext.Context, storeID int, cID string) (err } return err } + +func CreateStoreAudit(ctx *jxcontext.Context, storeAudit *model.StoreAudit) (err error) { + var ( + db = dao.GetDB() + ) + storeAudits, err := dao.GetStoreAudit(db, model.StoreAuditStatusOnline, storeAudit.UserID, "") + if len(storeAudits) > 0 { + return fmt.Errorf("您已申请过入驻,请不要重复申请!") + } + dao.WrapAddIDCULDEntity(storeAudit, ctx.GetUserName()) + dao.CreateEntity(db, storeAudit) + return err +} diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 0c6662663..654b3d0c2 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -837,3 +837,31 @@ func GetStorePushClient(db *DaoDB, storeID int, cID string) (storePushClient []* } return storePushClient, err } + +func GetStoreAudit(db *DaoDB, auditStatus int, userID, keyword string) (storeAudit []*model.StoreAudit, err error) { + sql := ` + SELECT * + FROM store_audit + WHERE deleted_at = ? + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + } + if auditStatus != model.StoreStatusAll { + sql += " AND audit_status = ?" + sqlParams = append(sqlParams, auditStatus) + } + if userID != "" { + sql += " AND user_id = ?" + sqlParams = append(sqlParams, userID) + } + if keyword != "" { + sql += " AND (user_id LIKE ? OR name LIKE ? OR tel1 LIKE ? OR tel2 LIKE ? OR address LIKE ?)" + sqlParams = append(sqlParams, "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%") + } + err = GetRows(db, &storeAudit, sql, sqlParams) + if err != nil { + return nil, err + } + return storeAudit, err +} diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 4e9286e1f..866df9dff 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -852,7 +852,7 @@ func (c *StoreController) CreateStoreAudit() { c.callCreateStoreAudit(func(params *tStoreCreateStoreAuditParams) (retVal interface{}, errCode string, err error) { store := &model.StoreAudit{} if err = utils.UnmarshalUseNumber([]byte(params.Payload), store); err == nil { - // retVal, err = cms.CreateStore(params.Ctx, store, params.Ctx.GetUserName()) + err = cms.CreateStoreAudit(params.Ctx, store) } return retVal, "", err }) diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 52cdbcc15..84d5733e3 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1773,6 +1773,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], + beego.ControllerComments{ + Method: "CreateStoreAudit", + Router: `/CreateStoreAudit`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], beego.ControllerComments{ Method: "CreateStorePriceScore", From 8b1eda705c775244461e713febb39a19a768b208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 14:32:26 +0800 Subject: [PATCH 89/95] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=97=A8=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 62 ++++++++++++++++++++++++++- business/model/dao/store.go | 54 +++++++++++++++++++++-- business/model/store.go | 1 + controllers/cms_store.go | 46 ++++++++++++++++++++ routers/commentsRouter_controllers.go | 18 ++++++++ 5 files changed, 176 insertions(+), 5 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 7d0602a50..09ecc522b 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -3564,7 +3564,7 @@ func CreateStoreAudit(ctx *jxcontext.Context, storeAudit *model.StoreAudit) (err var ( db = dao.GetDB() ) - storeAudits, err := dao.GetStoreAudit(db, model.StoreAuditStatusOnline, storeAudit.UserID, "") + storeAudits, err := dao.GetStoreAudit(db, []int{model.StoreAuditStatusOnline}, storeAudit.UserID, "") if len(storeAudits) > 0 { return fmt.Errorf("您已申请过入驻,请不要重复申请!") } @@ -3572,3 +3572,63 @@ func CreateStoreAudit(ctx *jxcontext.Context, storeAudit *model.StoreAudit) (err dao.CreateEntity(db, storeAudit) return err } + +func GetStoreAudit(ctx *jxcontext.Context, statuss []int, keyword, applyTimeStart, applyTimeEnd, auditTimeStart, auditTimeEnd string, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) { + var ( + applyTimeStartp, applyTimeEndp, auditTimeStartp, auditTimeEndp time.Time + db = dao.GetDB() + ) + if applyTimeStart != "" { + applyTimeStartp = utils.Str2Time(applyTimeStart) + } + if applyTimeEnd != "" { + applyTimeEndp = utils.Str2Time(applyTimeEnd) + } + if auditTimeStart != "" { + auditTimeStartp = utils.Str2Time(auditTimeStart) + } + if auditTimeEnd != "" { + auditTimeEndp = utils.Str2Time(auditTimeEnd) + } + pagedInfo, err = dao.GetStoreAuditPage(db, statuss, keyword, applyTimeStartp, applyTimeEndp, auditTimeStartp, auditTimeEndp, pageSize, offset) + return pagedInfo, err +} + +func StoreAudit(ctx *jxcontext.Context, storeAudits []*model.StoreAudit, status int) (err error) { + db := dao.GetDB() + if status == model.StoreAuditStatusOnline { + return fmt.Errorf("审核标志不正确!") + } + task := tasksch.NewParallelTask("StoreAudit", tasksch.NewParallelConfig().SetParallelCount(5).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeAudit := batchItemList[0].(*model.StoreAudit) + storeAudits, err := dao.GetStoreAudit(db, []int{model.StoreAuditStatusOnline}, storeAudit.UserID, "") + if len(storeAudits) == 0 || err != nil { + return retVal, fmt.Errorf("未查询到待审核信息!") + } + if len(storeAudits) > 1 { + return retVal, fmt.Errorf("查询到该用户的待审核信息大于1条!userID: [%s]", storeAudit.UserID) + } + //审核通过 + if status == model.StoreAuditStatusCreated { + storeAudits[0].AuditStatus = model.StoreAuditStatusCreated + //添加门店 + // CreateStore(ctx, storeExt, ctx.GetUserName()) + } else if status == model.StoreAuditStatusRejected { + storeAudits[0].Status = model.StoreAuditStatusRejected + } else { + return retVal, fmt.Errorf("审核标志不正确!") + } + storeAudits[0].LastOperator = ctx.GetUserName() + storeAudits[0].Remark = storeAudit.Remark + _, err = dao.UpdateEntity(db, storeAudits[0], "UserID", "Status", "Remark") + //是否推送app消息 + if err == nil { + + } + return retVal, err + }, storeAudits) + tasksch.HandleTask(task, nil, true).Run() + task.GetID() + return err +} diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 654b3d0c2..86a82e2c5 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -838,7 +838,7 @@ func GetStorePushClient(db *DaoDB, storeID int, cID string) (storePushClient []* return storePushClient, err } -func GetStoreAudit(db *DaoDB, auditStatus int, userID, keyword string) (storeAudit []*model.StoreAudit, err error) { +func GetStoreAudit(db *DaoDB, auditStatuss []int, userID, keyword string) (storeAudit []*model.StoreAudit, err error) { sql := ` SELECT * FROM store_audit @@ -847,9 +847,9 @@ func GetStoreAudit(db *DaoDB, auditStatus int, userID, keyword string) (storeAud sqlParams := []interface{}{ utils.DefaultTimeValue, } - if auditStatus != model.StoreStatusAll { - sql += " AND audit_status = ?" - sqlParams = append(sqlParams, auditStatus) + if len(auditStatuss) > 0 { + sql += " AND audit_status IN (" + GenQuestionMarks(len(auditStatuss)) + ")" + sqlParams = append(sqlParams, auditStatuss) } if userID != "" { sql += " AND user_id = ?" @@ -865,3 +865,49 @@ func GetStoreAudit(db *DaoDB, auditStatus int, userID, keyword string) (storeAud } return storeAudit, err } + +type tStoreAudit struct { + model.StoreAudit + UserName string `json:"userName"` +} + +func GetStoreAuditPage(db *DaoDB, statuss []int, keyword string, applyTimeStart, applyTimeEnd, auditTimeStart, auditTimeEnd time.Time, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) { + var requestList []*tStoreAudit + sql := ` + SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name user_name + FROM store_audit a + JOIN user b ON b.user_id = a.user_id + WHERE a.deleted_at = ? + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + } + if len(statuss) > 0 { + sql += " AND a.audit_status IN (" + GenQuestionMarks(len(statuss)) + ")" + sqlParams = append(sqlParams, statuss) + } + if applyTimeStart != utils.ZeroTimeValue && applyTimeEnd != utils.ZeroTimeValue { + sql += " AND a.created_at BETWEEN ? AND ?" + sqlParams = append(sqlParams, applyTimeStart, applyTimeEnd) + } + if auditTimeStart != utils.ZeroTimeValue && auditTimeEnd != utils.ZeroTimeValue { + sql += " AND a.updated_at BETWEEN ? AND ?" + sqlParams = append(sqlParams, auditTimeStart, auditTimeEnd) + } + if keyword != "" { + sql += " AND (a.user_id LIKE ? OR a.name LIKE ? OR a.tel1 LIKE ? OR a.tel2 LIKE ? OR a.address LIKE ?)" + sqlParams = append(sqlParams, "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%") + } + sql += " ORDER BY a.updated_at LIMIT ? OFFSET ?" + pageSize = jxutils.FormalizePageSize(pageSize) + sqlParams = append(sqlParams, pageSize, offset) + Begin(db) + defer Commit(db) + if err = GetRows(db, &requestList, sql, sqlParams...); err == nil { + return &model.PagedInfo{ + TotalCount: GetLastTotalRowCount(db), + Data: requestList, + }, nil + } + return pagedInfo, err +} diff --git a/business/model/store.go b/business/model/store.go index f5449b942..b995d813e 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -743,6 +743,7 @@ type StoreAudit struct { UserID string `orm:"column(user_id);size(32)" json:"userID"` //谁发起的审核就把谁添加到这个门店里 AuditStatus int `json:"auditStatus"` //0是待审核,1是通过,-1是不通过 + Remark string `orm:"size(255)" json:"remark"` //不通过原因 } func (*StoreAudit) TableUnique() [][]string { diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 866df9dff..1037eb721 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -857,3 +857,49 @@ func (c *StoreController) CreateStoreAudit() { return retVal, "", err }) } + +// @Title 获取用户申请门店审核 +// @Description 获取用户申请门店审核 +// @Param token header string true "认证token" +// @Param applyTimeStart query string false "申请开始时间" +// @Param applyTimeEnd query string false "申请结束时间" +// @Param auditTimeStart query string false "审核开始时间" +// @Param auditTimeEnd query string false "审核结束时间" +// @Param name query string false "审核人" +// @Param statuss query string false "审核状态" +// @Param keyword query string true "关键字" +// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" +// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetStoreAudit [get] +func (c *StoreController) GetStoreAudit() { + c.callGetStoreAudit(func(params *tStoreGetStoreAuditParams) (retVal interface{}, errCode string, err error) { + var ( + statuss []int + ) + if err = jxutils.Strings2Objs(params.Statuss, &statuss); err != nil { + return retVal, "", err + } + retVal, err = cms.GetStoreAudit(params.Ctx, statuss, params.Keyword, params.ApplyTimeStart, params.ApplyTimeEnd, params.AuditTimeStart, params.AuditTimeEnd, params.PageSize, params.Offset) + return retVal, "", err + }) +} + +// @Title 门店审核 +// @Description 门店审核 +// @Param token header string true "认证token" +// @Param payload fomData string true "json数据,storeaudit对象" +// @Param status formData int false "审核标志,1通过,-1 不通过" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /StoreAudit [post] +func (c *StoreController) StoreAudit() { + c.callStoreAudit(func(params *tStoreStoreAuditParams) (retVal interface{}, errCode string, err error) { + var stores []*model.StoreAudit + if err = utils.UnmarshalUseNumber([]byte(params.Payload), stores); err == nil { + // err = cms.CreateStoreAudit(params.Ctx, store) + } + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 84d5733e3..43e739309 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1881,6 +1881,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], + beego.ControllerComments{ + Method: "GetStoreAudit", + Router: `/GetStoreAudit`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], beego.ControllerComments{ Method: "GetStoreCategoryMap", @@ -1998,6 +2007,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], + beego.ControllerComments{ + Method: "StoreAudit", + Router: `/StoreAudit`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], beego.ControllerComments{ Method: "SyncJdStore", From 7872ab395dba00c2cdd21f0838d8bd0153ff52d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 14:40:15 +0800 Subject: [PATCH 90/95] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=97=A8=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 09ecc522b..75e2fc618 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -3568,6 +3568,9 @@ func CreateStoreAudit(ctx *jxcontext.Context, storeAudit *model.StoreAudit) (err if len(storeAudits) > 0 { return fmt.Errorf("您已申请过入驻,请不要重复申请!") } + if storeAudit.UserID == "" { + storeAudit.UserID = ctx.GetUserID() + } dao.WrapAddIDCULDEntity(storeAudit, ctx.GetUserName()) dao.CreateEntity(db, storeAudit) return err From 82e1f32792d6de3fed06c0b6aa1f0b46a8cc4700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 15:54:29 +0800 Subject: [PATCH 91/95] =?UTF-8?q?=E9=9D=9E=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 1 + controllers/cms_store.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 75e2fc618..5abe7888a 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -3616,6 +3616,7 @@ func StoreAudit(ctx *jxcontext.Context, storeAudits []*model.StoreAudit, status if status == model.StoreAuditStatusCreated { storeAudits[0].AuditStatus = model.StoreAuditStatusCreated //添加门店 + // CreateStore(ctx, storeExt, ctx.GetUserName()) } else if status == model.StoreAuditStatusRejected { storeAudits[0].Status = model.StoreAuditStatusRejected diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 1037eb721..d94e21f91 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -867,7 +867,7 @@ func (c *StoreController) CreateStoreAudit() { // @Param auditTimeEnd query string false "审核结束时间" // @Param name query string false "审核人" // @Param statuss query string false "审核状态" -// @Param keyword query string true "关键字" +// @Param keyword query string false "关键字" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" // @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult From 863846b607815afa99a39ac1db1bab7320965473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 16:12:40 +0800 Subject: [PATCH 92/95] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E9=97=A8=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 5abe7888a..e64f152fb 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -14,6 +14,8 @@ import ( "time" "unicode/utf8" + "git.rosy.net.cn/jx-callback/business/authz" + "git.rosy.net.cn/baseapi/platformapi/yinbaoapi" "git.rosy.net.cn/jx-callback/globals/refutil" @@ -3616,8 +3618,16 @@ func StoreAudit(ctx *jxcontext.Context, storeAudits []*model.StoreAudit, status if status == model.StoreAuditStatusCreated { storeAudits[0].AuditStatus = model.StoreAuditStatusCreated //添加门店 - - // CreateStore(ctx, storeExt, ctx.GetUserName()) + storeExt := &StoreExt{} + utils.Map2StructByJson(utils.Struct2MapByJson(&storeAudit), &storeExt, false) + storeID, err := CreateStore(ctx, storeExt, ctx.GetUserName()) + if err != nil { + return retVal, fmt.Errorf(err.Error()) + } + err = AddUsers4Role(ctx, autils.NewRole(authz.StoreRoleBoss, storeID), []string{storeAudit.UserID}) + if err != nil { + return retVal, fmt.Errorf(err.Error()) + } } else if status == model.StoreAuditStatusRejected { storeAudits[0].Status = model.StoreAuditStatusRejected } else { From 300e1d5e13bfb5ae3ed715db4ac59080a896a500 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 16:35:19 +0800 Subject: [PATCH 93/95] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E9=97=A8=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/store.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 86a82e2c5..b3d914b41 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -869,14 +869,16 @@ func GetStoreAudit(db *DaoDB, auditStatuss []int, userID, keyword string) (store type tStoreAudit struct { model.StoreAudit UserName string `json:"userName"` + CityName string `json:"cityName"` } func GetStoreAuditPage(db *DaoDB, statuss []int, keyword string, applyTimeStart, applyTimeEnd, auditTimeStart, auditTimeEnd time.Time, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) { var requestList []*tStoreAudit sql := ` - SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name user_name + SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name user_name, c.name city_name FROM store_audit a JOIN user b ON b.user_id = a.user_id + JOIN place c ON c.code = a.city_code WHERE a.deleted_at = ? ` sqlParams := []interface{}{ From a016bac9f3295feefafd0b46588e1c64d24231e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 17:43:10 +0800 Subject: [PATCH 94/95] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E9=97=A8=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/cms_store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/cms_store.go b/controllers/cms_store.go index d94e21f91..9bc4547d5 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -897,7 +897,7 @@ func (c *StoreController) GetStoreAudit() { func (c *StoreController) StoreAudit() { c.callStoreAudit(func(params *tStoreStoreAuditParams) (retVal interface{}, errCode string, err error) { var stores []*model.StoreAudit - if err = utils.UnmarshalUseNumber([]byte(params.Payload), stores); err == nil { + if err = utils.UnmarshalUseNumber([]byte(params.Payload), &stores); err == nil { // err = cms.CreateStoreAudit(params.Ctx, store) } return retVal, "", err From 6e5b3ea3cb6d3fe71d07988a105abb209d5825ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 16 Sep 2020 17:48:32 +0800 Subject: [PATCH 95/95] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=97=A8=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/cms_store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 9bc4547d5..1d10c0ec6 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -898,7 +898,7 @@ func (c *StoreController) StoreAudit() { c.callStoreAudit(func(params *tStoreStoreAuditParams) (retVal interface{}, errCode string, err error) { var stores []*model.StoreAudit if err = utils.UnmarshalUseNumber([]byte(params.Payload), &stores); err == nil { - // err = cms.CreateStoreAudit(params.Ctx, store) + err = cms.StoreAudit(params.Ctx, stores, params.Status) } return retVal, "", err })