From af38c5993d826777f6d63410c7b1404014c43991 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, 5 Mar 2021 11:27:08 +0800 Subject: [PATCH 001/252] =?UTF-8?q?=E7=BE=8E=E5=9B=A2=E8=8F=9C=E5=B8=82?= =?UTF-8?q?=E5=BB=BA=E5=BA=97=E5=8A=A0=E4=B8=8A=E7=8E=AF=E5=A2=83=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/mtwm/store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 63d0b0c26..3c458181b 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -28,7 +28,7 @@ var ( "589": map[string]string{ "firstTag": mtwmapi.MtwmC4Tag, //经营品类 "settlementID": "7030017", //结算ID - "poiCert": "1,5", //资质列表 + "poiCert": "1,2,5", //资质列表 }, "5873": map[string]string{ "firstTag": mtwmapi.MtwmSCTag, From 1a0083fffd0e7537bf48d7815f5fecf1dc688e92 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, 5 Mar 2021 14:18:48 +0800 Subject: [PATCH 002/252] aa --- business/partner/purchase/mtwm/store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 3c458181b..0d8609f87 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -144,7 +144,7 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri } vendorInfoMap := storeVendorOrgCodeMap[vendorOrgCode] poiSettleSaveParam := &mtwmapi.PoiSettleSaveParam{ - Type: 0, //创建 + Type: 1, //创建 ApplyInfos: []*mtwmapi.ApplyInfo{ &mtwmapi.ApplyInfo{ AppPoiCode: utils.Int2Str(storeDetail.ID), From ad40d2e0b2632a6207e5b041cd56e72cba5456c6 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, 5 Mar 2021 14:45:43 +0800 Subject: [PATCH 003/252] aa --- business/partner/purchase/jdshop/order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 01539fd7c..908e425f6 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -74,7 +74,7 @@ func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo if status == model.OrderStatusCanceled { err = ChangeOrderStatus(order.VendorOrderID, model.OrderStatusCanceled, "订单在京东商城已被取消!") } else { - if jxutils.GetSaleStoreIDFromOrder(order) != model.JdShopMainStoreID { + if jxutils.GetSaleStoreIDFromOrder(order) != model.JdShopMainStoreID && jxutils.GetSaleStoreIDFromOrder(order) != model.JdShopMainStoreID2 { err = ChangeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "自动拣货完成") if status == model.OrderStatusAccepted { err = p.OrderExport(jxcontext.AdminCtx, order.VendorOrderID, order.VendorOrderID, true) From 71f4d08d686546106ff936e52b59dffc5bf3f835 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, 5 Mar 2021 17:02:14 +0800 Subject: [PATCH 004/252] aa --- business/jxcallback/orderman/order.go | 48 ++++++++++--------------- business/jxutils/unipush/push.go | 2 +- business/jxutils/weixinmsg/weixinmsg.go | 2 +- 3 files changed, 21 insertions(+), 31 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 91b42d4d1..7366ff611 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -545,35 +545,25 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db *dao. //TODO 京东美团的订单,做活动的商品之前就会拆分出来,所以只做更新,饿百暂时不管, 2020-05-07 //TODO 不根据商品是否拆分,直接根据该商品做了活动,并且他的vendorPrice 和 salePrice 相等,就按新规则结算, 2020-05-11 //TODO 现在不判断商品做没做活动,只要vendorPrice和salePrice不等,就默认为做了活动,不做活动的商品就按新规则结算,2020-05-18 - if order.VendorID == model.VendorIDJD || order.VendorID == model.VendorIDMTWM { - for _, v := range orderSkus { - if v.EarningPrice > 0 { - // var storeID int - // if order.StoreID == 0 { - // storeID = order.JxStoreID - // } else { - // storeID = order.StoreID - // } - // result, err := dao.GetEffectiveActStoreSkuInfo2(db, 0, []int{order.VendorID}, []int{model.ActSkuSecKill, model.ActSkuDirectDown}, []int{storeID}, []int{v.SkuID}, order.OrderCreatedAt, order.OrderCreatedAt) - // if (len(result) > 0 && err == nil) || v.IsVendorAct == model.YES { - if v.VendorPrice == v.SalePrice { - var earningPrice = 0 - if v.ShopPrice < v.SalePrice { - if v.ShopPrice == 0 { - earningPrice = int(utils.Float64TwoInt64(math.Round(utils.Int2Float64(int(v.SalePrice)) * utils.Int2Float64(storePayPercentage) / 100))) - } else { - earningPrice = int(utils.Float64TwoInt64(math.Round(utils.Int2Float64(int(v.ShopPrice)) * utils.Int2Float64(storePayPercentage) / 100))) - } - } else { - earningPrice = int(utils.Float64TwoInt64(math.Round(utils.Int2Float64(int(v.SalePrice)) * utils.Int2Float64(storePayPercentage) / 100))) - } - v.EarningPrice = int64(earningPrice) - // v.StoreSubID = 0 - } - // } - } - } - } + // if order.VendorID == model.VendorIDJD || order.VendorID == model.VendorIDMTWM { + // for _, v := range orderSkus { + // if v.EarningPrice > 0 { + // if v.VendorPrice == v.SalePrice { + // var earningPrice = 0 + // if v.ShopPrice < v.SalePrice { + // if v.ShopPrice == 0 { + // earningPrice = int(utils.Float64TwoInt64(math.Round(utils.Int2Float64(int(v.SalePrice)) * utils.Int2Float64(storePayPercentage) / 100))) + // } else { + // earningPrice = int(utils.Float64TwoInt64(math.Round(utils.Int2Float64(int(v.ShopPrice)) * utils.Int2Float64(storePayPercentage) / 100))) + // } + // } else { + // earningPrice = int(utils.Float64TwoInt64(math.Round(utils.Int2Float64(int(v.SalePrice)) * utils.Int2Float64(storePayPercentage) / 100))) + // } + // v.EarningPrice = int64(earningPrice) + // } + // } + // } + // } } return nil } diff --git a/business/jxutils/unipush/push.go b/business/jxutils/unipush/push.go index f6da07b7e..ecaee453f 100644 --- a/business/jxutils/unipush/push.go +++ b/business/jxutils/unipush/push.go @@ -77,7 +77,7 @@ func getOrderDetailBrief(order *model.GoodsOrder) (brief string) { if order.EarningType == model.EarningTypePoints { price = order.ActualPayPrice } else { - price = order.ShopPrice + price = order.EarningPrice } } sb.WriteString(jxutils.IntPrice2StandardString(price)) diff --git a/business/jxutils/weixinmsg/weixinmsg.go b/business/jxutils/weixinmsg/weixinmsg.go index 9288fe851..7ebf6fdba 100644 --- a/business/jxutils/weixinmsg/weixinmsg.go +++ b/business/jxutils/weixinmsg/weixinmsg.go @@ -190,7 +190,7 @@ func getOrderDetailBrief(order *model.GoodsOrder) (brief string) { if order.EarningType == model.EarningTypePoints { price = order.ActualPayPrice } else { - price = order.ShopPrice + price = order.EarningPrice } } sb.WriteString(jxutils.IntPrice2StandardString(price)) From f9f37fa2b7cfeeee7ecd6689bfe528ca3c7571e2 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, 5 Mar 2021 17:30:43 +0800 Subject: [PATCH 005/252] aa --- business/jxcallback/orderman/orderman_ext.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 075afdbb7..b097c41ac 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -390,13 +390,13 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS utils.Int2Str(v.SkuCount2), utils.Int2Str(v.SkuEarningPrice), utils.Int2Str(v.SkuSalePrice), - utils.Int2Str(v.SkuShopPrice), + utils.Int2Str(v.SkuEarningPrice), }, ",") } else { skuStr = strings.Join([]string{ utils.Int2Str(v.SkuID), utils.Int2Str(v.SkuCount2), - utils.Int2Str(v.SkuShopPrice), + utils.Int2Str(v.SkuEarningPrice), utils.Int2Str(v.SkuSalePrice), utils.Int2Str(v.SkuEarningPrice), }, ",") @@ -759,7 +759,7 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID //成都菜市 if beego.BConfig.RunMode == "prod" || beego.BConfig.RunMode == "beta" { if v.EarningType == model.EarningTypeQuote { - saleInfo.RealEarningPrice += v.ShopPrice * int64(v.Count) + saleInfo.RealEarningPrice += v.EarningPrice * int64(v.Count) } } else { if v.OrderPayPercentage == 100 { From 8fd0057740387a0af235d801a14e3aa7bb91eedf 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, 8 Mar 2021 09:16:44 +0800 Subject: [PATCH 006/252] aa --- business/partner/purchase/jdshop/callback.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 85e757a56..1a672cff9 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -262,6 +262,8 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err } else { order.ExpectedDeliveredTime = utils.Str2Time(time2) } + } else { + order.ExpectedDeliveredTime = order.OrderCreatedAt.Add(time.Hour) } order.PickDeadline = order.ExpectedDeliveredTime.Add(-time.Hour) } else if msg.OrderState == jdshopapi.OrderStatusWait || msg.OrderState == "WAIT_GOODS_RECEIVE_CONFIRM" || msg.OrderState == "FINISHED_L" { From bc1ba8c5248d343d9e090569c1def5770a3eff3e 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, 8 Mar 2021 09:17:05 +0800 Subject: [PATCH 007/252] aa --- 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 1a672cff9..eb4cb37ed 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -264,6 +264,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err } } else { order.ExpectedDeliveredTime = order.OrderCreatedAt.Add(time.Hour) + err = nil } order.PickDeadline = order.ExpectedDeliveredTime.Add(-time.Hour) } else if msg.OrderState == jdshopapi.OrderStatusWait || msg.OrderState == "WAIT_GOODS_RECEIVE_CONFIRM" || msg.OrderState == "FINISHED_L" { From 74db22c2363cd4049a03eb14ee73e900bd65b774 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, 8 Mar 2021 14:54:25 +0800 Subject: [PATCH 008/252] aa --- business/jxutils/jxutils_cms.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/business/jxutils/jxutils_cms.go b/business/jxutils/jxutils_cms.go index ed6c506d8..128e9309b 100644 --- a/business/jxutils/jxutils_cms.go +++ b/business/jxutils/jxutils_cms.go @@ -17,6 +17,8 @@ import ( "sync" "time" + "github.com/astaxie/beego" + "git.rosy.net.cn/baseapi/platformapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" @@ -503,11 +505,15 @@ func GetVendorName(vendorID int) (vendorName string) { } func CaculateSkuEarningPrice(shopPrice, salePrice int64, storePayPercentage int) (earningPrice int64) { - earningPrice = salePrice - if salePrice != 0 { - if shopPrice > 0 && shopPrice < earningPrice { - earningPrice = shopPrice + if beego.BConfig.RunMode == "jxgy" { + earningPrice = salePrice + if salePrice != 0 { + if shopPrice > 0 && shopPrice < earningPrice { + earningPrice = shopPrice + } } + } else { + earningPrice = shopPrice } storePayPercentage = ConstrainPayPercentage(storePayPercentage) if storePayPercentage <= 0 { From 4c06b4a8c6bebb131bbd54ae947f740070fbb51e 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, 8 Mar 2021 16:00:20 +0800 Subject: [PATCH 009/252] aa --- business/jxstore/report/report.go | 21 +++++++++++++++++++++ controllers/jx_report.go | 20 ++++++++++++++++++++ routers/commentsRouter_controllers.go | 9 +++++++++ 3 files changed, 50 insertions(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index ecd472c31..41186176f 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -383,3 +383,24 @@ func GetManageState(ctx *jxcontext.Context, cityCodes []int, vendorID int) (getM } return getManageStateResult, err } + +type GetStoreManageStateResult struct { + StoreID int `json:"storeID"` + StoreName string `json:"storeName"` + CoverArea int `json:"coverArea"` + MarketScale int `json:"marketScale"` //市场规模 + OpenTime int `json:"openTime"` //营业时长 + SkuCount int `json:"skuCount"` //商品数 + HighSkuCount int `json:"highSkuCount"` //虚高商品数 + ActAmple int `json:"actAmple"` //活动丰富的 + NullOrderCount int `json:"nullOrderCount"` //无效订单数 + RefuseOrderCount int `json:"refuseOrderCount"` //拒绝订单数 + RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) +} + +func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string) (getStoreManageStateResult *GetStoreManageStateResult, err error) { + return &GetStoreManageStateResult{ + StoreID: 1, + StoreName: "1", + }, err +} diff --git a/controllers/jx_report.go b/controllers/jx_report.go index c51c45836..373b8189d 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -114,3 +114,23 @@ func (c *ReportController) GetManageState() { return retVal, "", err }) } + +// @Title 查询门店经营数据 +// @Description 查询门店经营数据 +// @Param token header string true "认证token" +// @Param storeIDs query string false "门店ID列表[1,2,3]" +// @Param vendorID query int true "平台ID" +// @Param fromTime formData string true "开始日期(包含),格式(2006-01-02 00:00:00)" +// @Param toTime formData string true "结束日期(包含),格式(2006-01-02 00:00:00)" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetStoreManageState [get] +func (c *ReportController) GetStoreManageState() { + c.callGetStoreManageState(func(params *tReportGetStoreManageStateParams) (retVal interface{}, errCode string, err error) { + var storeIDs []int + if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil { + retVal, err = report.GetStoreManageState(params.Ctx, storeIDs, params.VendorID, params.FromTime, params.ToTime) + } + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 8c665f924..bba3c0bfb 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1593,6 +1593,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ReportController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ReportController"], + beego.ControllerComments{ + Method: "GetStoreManageState", + Router: `/GetStoreManageState`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ReportController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ReportController"], beego.ControllerComments{ Method: "PriceRefer", From 981ccb0e46b983de85d7787a3619da10fe78ca7d 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, 8 Mar 2021 16:07:42 +0800 Subject: [PATCH 010/252] aa --- business/model/store.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/model/store.go b/business/model/store.go index e4b9d77e9..e0ed6529f 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -459,6 +459,7 @@ type StoreMap struct { MtwmToken string `orm:"size(255)" json:"mtwmToken"` //美团外卖商超token,有效期30天,每20天刷一次 MtwmRefreshToken string `orm:"size(255)" json:"mtwmRefreshToken"` //美团外卖商超refreshToken EbaiSupplierID string `orm:"column(ebai_supplier_id)" json:"ebaiSupplierID"` //饿百供应商ID + MarketScale int `json:"marketScale"` //市场规模 } func (*StoreMap) TableUnique() [][]string { From 891286ea5128c737f5e821a5463cb5cc73e3c731 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, 8 Mar 2021 16:22:30 +0800 Subject: [PATCH 011/252] aa --- controllers/jx_report.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/controllers/jx_report.go b/controllers/jx_report.go index 373b8189d..d9f3e3a83 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -120,8 +120,8 @@ func (c *ReportController) GetManageState() { // @Param token header string true "认证token" // @Param storeIDs query string false "门店ID列表[1,2,3]" // @Param vendorID query int true "平台ID" -// @Param fromTime formData string true "开始日期(包含),格式(2006-01-02 00:00:00)" -// @Param toTime formData string true "结束日期(包含),格式(2006-01-02 00:00:00)" +// @Param fromTime query string true "开始日期(包含),格式(2006-01-02 00:00:00)" +// @Param toTime query string true "结束日期(包含),格式(2006-01-02 00:00:00)" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetStoreManageState [get] From b968e844ac9bf89f04b4b7600228c1e61538b5d7 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, 8 Mar 2021 16:28:12 +0800 Subject: [PATCH 012/252] aa --- business/jxstore/report/report.go | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 41186176f..9c76e159b 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -7,6 +7,7 @@ import ( "sort" "time" + "git.rosy.net.cn/jx-callback/business/jxstore/permission" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" "git.rosy.net.cn/baseapi/utils" @@ -398,9 +399,29 @@ type GetStoreManageStateResult struct { RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) } -func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string) (getStoreManageStateResult *GetStoreManageStateResult, err error) { - return &GetStoreManageStateResult{ +func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string) (getStoreManageStateResult []*GetStoreManageStateResult, err error) { + //权限 + if permission.IsRoled(ctx) { + if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { + var storeIDs2 []int + if len(storeIDs) > 0 { + for _, v := range storeIDs { + if storeIDsMap[v] != 0 { + storeIDs2 = append(storeIDs2, v) + } + } + } else { + for k, _ := range storeIDsMap { + storeIDs2 = append(storeIDs2, k) + } + } + storeIDs = nil + storeIDs = storeIDs2 + } + } + getStoreManageStateResult = append(getStoreManageStateResult, &GetStoreManageStateResult{ StoreID: 1, StoreName: "1", - }, err + }) + return getStoreManageStateResult, err } From eb0bc0b7c8d6b9ae312288d10cf3e789859f6573 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, 8 Mar 2021 18:14:19 +0800 Subject: [PATCH 013/252] aa --- business/jxstore/report/report.go | 20 ++++++++++++++++---- business/partner/purchase/ebai/store.go | 4 +++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 9c76e159b..0869984de 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -7,6 +7,8 @@ import ( "sort" "time" + "git.rosy.net.cn/jx-callback/business/partner" + "git.rosy.net.cn/jx-callback/business/jxstore/permission" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" @@ -400,6 +402,9 @@ type GetStoreManageStateResult struct { } func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string) (getStoreManageStateResult []*GetStoreManageStateResult, err error) { + var ( + db = dao.GetDB() + ) //权限 if permission.IsRoled(ctx) { if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { @@ -419,9 +424,16 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f storeIDs = storeIDs2 } } - getStoreManageStateResult = append(getStoreManageStateResult, &GetStoreManageStateResult{ - StoreID: 1, - StoreName: "1", - }) + for _, v := range storeIDs { + storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") + result := &GetStoreManageStateResult{ + StoreID: v, + StoreName: storeDetail.Name, + } + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + store, _ := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) + fmt.Println("testdddd", store.DeliveryRange) + getStoreManageStateResult = append(getStoreManageStateResult, result) + } return getStoreManageStateResult, err } diff --git a/business/partner/purchase/ebai/store.go b/business/partner/purchase/ebai/store.go index b48985dae..f8dba5834 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -231,7 +231,9 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo retVal.ID = int(utils.Str2Int64WithDefault(utils.Interface2String(result["shop_id"]), 0)) retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon retVal.DeliveryRange = EbaiDeliveryRegion2Jx(result["delivery_region"]) - + if retVal.DeliveryRange == "" { + api.EbaiAPI.ShopDeliveryinfoGet("", utils.Str2Int64(vendorStoreID)) + } return retVal, nil } return nil, err From c4c5ab3bfd7e2e3008dc51247c210fa4b4dc1802 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, 8 Mar 2021 18:30:23 +0800 Subject: [PATCH 014/252] aa --- business/jxstore/cms/store_sku.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 0086a985d..f6c02b6c9 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1260,10 +1260,10 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs if len(thingMaps) > 0 { //如果平台ID为空(未创建到京东) if thingMaps[0].VendorThingID == "" { + isSyncSkus = true + appCodeList = append(appCodeList, list1[0].VendorOrgCode) //并且同步标志还没有带待创建(因为addskuname现在建到thingmap上不会带待创建标志了) if !model.IsSyncStatusNew(thingMaps[0].SyncStatus) { - isSyncSkus = true - appCodeList = append(appCodeList, list1[0].VendorOrgCode) OnCreateThing(ctx, db, vendorOrgCodes, int64(v.RealSkuID), model.ThingTypeSku, model.SyncFlagNewMask, false) } } From 952fc7183ecb90be4e434e99e9ce9a2721be2598 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, 9 Mar 2021 09:33:44 +0800 Subject: [PATCH 015/252] aa --- business/jxstore/cms/store_sku.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index f6c02b6c9..6b4399475 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -626,6 +626,8 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus, i } var tmpList []*tGetStoresSkusInfo beginTime := time.Now() + fmt.Println(sql) + fmt.Println(sqlParams) if err = dao.GetRows(db, &tmpList, sql, sqlParams...); err != nil { dao.Rollback(db) return nil, err From defbdb0462630cdba66527b4a711edd4a1afba5c 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, 9 Mar 2021 09:40:35 +0800 Subject: [PATCH 016/252] aa --- business/jxstore/cms/store_sku.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 6b4399475..f6c02b6c9 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -626,8 +626,6 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus, i } var tmpList []*tGetStoresSkusInfo beginTime := time.Now() - fmt.Println(sql) - fmt.Println(sqlParams) if err = dao.GetRows(db, &tmpList, sql, sqlParams...); err != nil { dao.Rollback(db) return nil, err From f2f46cb867c5c6abbdebd621927fdd4b8d82f8ee 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, 9 Mar 2021 11:03:23 +0800 Subject: [PATCH 017/252] aa --- business/jxstore/report/report.go | 64 ++++++++++++++++++------- business/jxutils/jxutils.go | 18 +++++++ business/model/dao/store.go | 4 ++ business/model/store.go | 9 ++-- business/partner/purchase/ebai/store.go | 17 ++++++- 5 files changed, 91 insertions(+), 21 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 0869984de..0bd0abe4f 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -5,8 +5,11 @@ import ( "fmt" "math" "sort" + "strings" "time" + "git.rosy.net.cn/jx-callback/business/jxutils" + "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/business/jxstore/permission" @@ -388,17 +391,17 @@ func GetManageState(ctx *jxcontext.Context, cityCodes []int, vendorID int) (getM } type GetStoreManageStateResult struct { - StoreID int `json:"storeID"` - StoreName string `json:"storeName"` - CoverArea int `json:"coverArea"` - MarketScale int `json:"marketScale"` //市场规模 - OpenTime int `json:"openTime"` //营业时长 - SkuCount int `json:"skuCount"` //商品数 - HighSkuCount int `json:"highSkuCount"` //虚高商品数 - ActAmple int `json:"actAmple"` //活动丰富的 - NullOrderCount int `json:"nullOrderCount"` //无效订单数 - RefuseOrderCount int `json:"refuseOrderCount"` //拒绝订单数 - RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) + StoreID int `json:"storeID"` + StoreName string `json:"storeName"` + CoverArea float64 `json:"coverArea"` + MarketScale int `json:"marketScale"` //市场规模 + OpenTime int `json:"openTime"` //营业时长 + SkuCount int `json:"skuCount"` //商品数 + HighSkuCount int `json:"highSkuCount"` //虚高商品数 + ActAmple int `json:"actAmple"` //活动丰富的 + NullOrderCount int `json:"nullOrderCount"` //无效订单数 + RefuseOrderCount int `json:"refuseOrderCount"` //拒绝订单数 + RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) } func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string) (getStoreManageStateResult []*GetStoreManageStateResult, err error) { @@ -427,13 +430,42 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f for _, v := range storeIDs { storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") result := &GetStoreManageStateResult{ - StoreID: v, - StoreName: storeDetail.Name, + StoreID: v, + StoreName: storeDetail.Name, + MarketScale: storeDetail.MarketScale, + CoverArea: storeDetail.CoverArea, + } + if result.CoverArea == 0 { + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + store, _ := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) + if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { + storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";")) + dao.UpdateEntity(db, storeMaps[0], "CoverArea") + result.CoverArea = storeMaps[0].CoverArea + } } - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - store, _ := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) - fmt.Println("testdddd", store.DeliveryRange) getStoreManageStateResult = append(getStoreManageStateResult, result) } return getStoreManageStateResult, err } + +func CalculateCoverArea(coordinate []string) (area float64) { + if len(coordinate) == 0 { + return 0 + } + var xyList [][2]float64 + for _, v := range coordinate { + cell := strings.Split(v, ",") + lat := utils.Str2Float64WithDefault(cell[0], 0) + lng := utils.Str2Float64WithDefault(cell[1], 0) + xys := jxutils.MillierConvertion(lat, lng) + xyList = append(xyList, xys) + } + var sum float64 + for i := 0; i < len(xyList)-1; i++ { + sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i+1][1]) + } + sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) + sum /= 2 + return math.Round(sum) +} diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index d1c34a7ba..6f54b82d3 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -267,6 +267,24 @@ func WalkingDistance(lng1, lat1, lng2, lat2 float64) (distance float64) { return distance } +//经纬度坐标转换到平面坐标 +func MillierConvertion(lat float64, lon float64) [2]float64 { + var L, H, W, temp, mill, x, y float64 + L = 6381372 * math.Pi * 2 //地球周长 + W = L // 平面展开后,x轴等于周长 + H = L / 2 // y轴约等于周长一半 + mill = 2.3 // 米勒投影中的一个常数,范围大约在正负2.3之间 + temp = math.Pi + x = lon * temp / 180 // 将经度从度数转换为弧度 + y = lat * temp / 180 // 将纬度从度数转换为弧度 + y = 1.25 * math.Log(math.Tan(0.25*temp+0.4*y)) // 米勒投影的转换 + // 弧度转为实际距离 + x = (W / 2) + (W/(2*math.Pi))*x + y = (H / 2) - (H/(2*mill))*y + var result = [2]float64{x, y} + return result +} + func StandardCoordinate2Int(value float64) int { return int(math.Round(value * 1000000)) } diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 0b7cdf912..4005f65d7 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -67,6 +67,9 @@ type StoreDetail struct { BrandLogo string `json:"brandLogo"` BrandIsOpen int `json:"brandIsOpen"` BrandIsPrint int `json:"brandIsPrint"` + + CoverArea int `json:"coverArea"` + MarketScale float64 `json:"marketScale"` //市场规模 } // 带快递门店信息的 @@ -112,6 +115,7 @@ func getStoreDetail(db *DaoDB, storeID, vendorID int, vendorStoreID, vendorOrgCo t2.vendor_store_id, t2.status vendor_status, t2.delivery_fee_deduction_sill, t2.delivery_fee_deduction_fee, t2.sync_status, t2.vendor_org_code, t2.price_percentage, t2.auto_pickup, t2.delivery_type, t2.delivery_competition, t2.is_sync, t2.vendor_store_name, t2.is_order, t2.yb_app_id, t2.yb_app_key, t2.yb_store_prefix, t2.jds_street_code, t2.jds_street_name, t2.is_supply_goods, t2.vendor_pay_percentage, t2.mtwm_token, t2.ebai_supplier_id, t2.create_delivery_type, + t2.market_scale, t2.cover_area, t3.value price_percentage_pack_str, t4.value freight_deduction_pack_str, province.name province_name, diff --git a/business/model/store.go b/business/model/store.go index e0ed6529f..347602fce 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -456,10 +456,11 @@ type StoreMap struct { YbAppKey string `orm:"size(255)" json:"ybAppKey"` YbStorePrefix string `orm:"size(255)" json:"ybStorePrefix"` - MtwmToken string `orm:"size(255)" json:"mtwmToken"` //美团外卖商超token,有效期30天,每20天刷一次 - MtwmRefreshToken string `orm:"size(255)" json:"mtwmRefreshToken"` //美团外卖商超refreshToken - EbaiSupplierID string `orm:"column(ebai_supplier_id)" json:"ebaiSupplierID"` //饿百供应商ID - MarketScale int `json:"marketScale"` //市场规模 + MtwmToken string `orm:"size(255)" json:"mtwmToken"` //美团外卖商超token,有效期30天,每20天刷一次 + MtwmRefreshToken string `orm:"size(255)" json:"mtwmRefreshToken"` //美团外卖商超refreshToken + EbaiSupplierID string `orm:"column(ebai_supplier_id)" json:"ebaiSupplierID"` //饿百供应商ID + MarketScale int `json:"marketScale"` //市场规模 + CoverArea float64 `json:"coverArea"` //覆盖范围 } func (*StoreMap) TableUnique() [][]string { diff --git a/business/partner/purchase/ebai/store.go b/business/partner/purchase/ebai/store.go index f8dba5834..57fd8c749 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -232,7 +232,9 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon retVal.DeliveryRange = EbaiDeliveryRegion2Jx(result["delivery_region"]) if retVal.DeliveryRange == "" { - api.EbaiAPI.ShopDeliveryinfoGet("", utils.Str2Int64(vendorStoreID)) + if list, err := api.EbaiAPI.ShopDeliveryinfoGet("", utils.Str2Int64(vendorStoreID)); err == nil { + retVal.DeliveryRange = EbaiDeliveryRegion2Jx2(list[0]) + } } return retVal, nil } @@ -399,6 +401,19 @@ func EbaiDeliveryRegion2Jx(deliveryRegion interface{}) string { return "" } +func EbaiDeliveryRegion2Jx2(deliveryRegion map[string]interface{}) string { + if len(deliveryRegion) > 0 { + region := deliveryRegion["delivery_areas"].([]interface{})[0].(map[string]interface{})["coordinates"].([]interface{}) + coords := make([]string, len(region)) + for k, v := range region { + mapV := v.(map[string]interface{}) + coords[k] = fmt.Sprintf("%.6f,%.6f", utils.MustInterface2Float64(mapV["longitude"]), utils.MustInterface2Float64(mapV["latitude"])) + } + return strings.Join(coords, ";") + } + return "" +} + func JxDeliveryRegion2Ebai(store *model.Store) (deliveryRegion interface{}) { rangeStr := strings.Trim(store.DeliveryRange, ";") if store.DeliveryRangeType == model.DeliveryRangeTypeRadius { From 767e3c144128fb922ca2cdf4313f1d3e0dbc97fa 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, 9 Mar 2021 11:06:40 +0800 Subject: [PATCH 018/252] aa --- business/model/dao/store.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 4005f65d7..e5f2eb7ed 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -68,8 +68,8 @@ type StoreDetail struct { BrandIsOpen int `json:"brandIsOpen"` BrandIsPrint int `json:"brandIsPrint"` - CoverArea int `json:"coverArea"` - MarketScale float64 `json:"marketScale"` //市场规模 + CoverArea float64 `json:"coverArea"` + MarketScale int `json:"marketScale"` //市场规模 } // 带快递门店信息的 From 9d8377d45321187444096556deea093e56cc1e2f 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, 9 Mar 2021 11:17:09 +0800 Subject: [PATCH 019/252] aa --- business/jxutils/jxutils.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index 6f54b82d3..29a1c6bfc 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -270,10 +270,10 @@ func WalkingDistance(lng1, lat1, lng2, lat2 float64) (distance float64) { //经纬度坐标转换到平面坐标 func MillierConvertion(lat float64, lon float64) [2]float64 { var L, H, W, temp, mill, x, y float64 - L = 6381372 * math.Pi * 2 //地球周长 - W = L // 平面展开后,x轴等于周长 - H = L / 2 // y轴约等于周长一半 - mill = 2.3 // 米勒投影中的一个常数,范围大约在正负2.3之间 + L = 6371.393 * math.Pi * 2 //地球周长 + W = L // 平面展开后,x轴等于周长 + H = L / 2 // y轴约等于周长一半 + mill = 2.3 // 米勒投影中的一个常数,范围大约在正负2.3之间 temp = math.Pi x = lon * temp / 180 // 将经度从度数转换为弧度 y = lat * temp / 180 // 将纬度从度数转换为弧度 From 9e48e960010bcfd66f4e8ee86fb231b36ec1fd53 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, 9 Mar 2021 11:21:15 +0800 Subject: [PATCH 020/252] aa --- business/jxstore/report/report.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 0bd0abe4f..cb0c86646 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -440,6 +440,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f store, _ := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";")) + fmt.Println("store.DeliveryRange", store.DeliveryRange) dao.UpdateEntity(db, storeMaps[0], "CoverArea") result.CoverArea = storeMaps[0].CoverArea } @@ -461,6 +462,7 @@ func CalculateCoverArea(coordinate []string) (area float64) { xys := jxutils.MillierConvertion(lat, lng) xyList = append(xyList, xys) } + fmt.Println("xyList", xyList) var sum float64 for i := 0; i < len(xyList)-1; i++ { sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i+1][1]) From d5c90df9b74a11028b885511abdb7e5b445c24a6 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, 9 Mar 2021 11:30:22 +0800 Subject: [PATCH 021/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index cb0c86646..4cb8acc52 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -468,6 +468,6 @@ func CalculateCoverArea(coordinate []string) (area float64) { sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i+1][1]) } sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) - sum /= 2 + sum /= float64(2) return math.Round(sum) } From e0f6b09ef5a60e2b2d140cd9c9a619aa9458d6ba 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, 9 Mar 2021 11:36:07 +0800 Subject: [PATCH 022/252] aa --- business/jxstore/report/report.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 4cb8acc52..325f89ae9 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -440,7 +440,6 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f store, _ := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";")) - fmt.Println("store.DeliveryRange", store.DeliveryRange) dao.UpdateEntity(db, storeMaps[0], "CoverArea") result.CoverArea = storeMaps[0].CoverArea } @@ -462,12 +461,13 @@ func CalculateCoverArea(coordinate []string) (area float64) { xys := jxutils.MillierConvertion(lat, lng) xyList = append(xyList, xys) } - fmt.Println("xyList", xyList) var sum float64 for i := 0; i < len(xyList)-1; i++ { sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i+1][1]) } sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) + fmt.Println("1111111111111111111111111111111111111111", sum) sum /= float64(2) + fmt.Println("1111111111111111111111111111111111111111", sum) return math.Round(sum) } From 38c0ef8fa9a4b814403d47135f2eb2732d172b7b 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, 9 Mar 2021 11:40:39 +0800 Subject: [PATCH 023/252] aa --- business/jxstore/report/report.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 325f89ae9..b7197acc0 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -8,6 +8,8 @@ import ( "strings" "time" + "github.com/shopspring/decimal" + "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/partner" @@ -466,8 +468,7 @@ func CalculateCoverArea(coordinate []string) (area float64) { sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i+1][1]) } sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) - fmt.Println("1111111111111111111111111111111111111111", sum) sum /= float64(2) - fmt.Println("1111111111111111111111111111111111111111", sum) - return math.Round(sum) + area, _ = decimal.NewFromFloat(sum).Round(2).Float64() + return area } From 244a874040714d4aef4198fdffe5b028b87ed398 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, 9 Mar 2021 11:44:10 +0800 Subject: [PATCH 024/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index b7197acc0..21259675c 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -469,6 +469,6 @@ func CalculateCoverArea(coordinate []string) (area float64) { } sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) sum /= float64(2) - area, _ = decimal.NewFromFloat(sum).Round(2).Float64() + area, _ = decimal.NewFromFloat(sum).Round(3).Float64() return area } From 83cbb071b0f14929e8ccad60533510121dc2564d 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, 9 Mar 2021 11:59:23 +0800 Subject: [PATCH 025/252] aa --- business/jxstore/report/report.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 21259675c..6ef37efce 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -441,7 +441,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f handler := partner.GetPurchasePlatformFromVendorID(vendorID) store, _ := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { - storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";")) + storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) dao.UpdateEntity(db, storeMaps[0], "CoverArea") result.CoverArea = storeMaps[0].CoverArea } @@ -451,15 +451,21 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f return getStoreManageStateResult, err } -func CalculateCoverArea(coordinate []string) (area float64) { +func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { if len(coordinate) == 0 { return 0 } var xyList [][2]float64 for _, v := range coordinate { cell := strings.Split(v, ",") - lat := utils.Str2Float64WithDefault(cell[0], 0) - lng := utils.Str2Float64WithDefault(cell[1], 0) + var lat, lng float64 + if vendorID == model.VendorIDJD { + lng = utils.Str2Float64WithDefault(cell[0], 0) + lat = utils.Str2Float64WithDefault(cell[1], 0) + } else { + lat = utils.Str2Float64WithDefault(cell[0], 0) + lng = utils.Str2Float64WithDefault(cell[1], 0) + } xys := jxutils.MillierConvertion(lat, lng) xyList = append(xyList, xys) } From 3c355a16c54dc18f99678d4fc5f5c1f8925dcb92 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, 9 Mar 2021 13:42:14 +0800 Subject: [PATCH 026/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 6ef37efce..b36b631da 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -471,7 +471,7 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { } var sum float64 for i := 0; i < len(xyList)-1; i++ { - sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i+1][1]) + sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i][1]) } sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) sum /= float64(2) From 660de753d4229fad27c92228110587efd8a99dc9 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, 9 Mar 2021 13:54:01 +0800 Subject: [PATCH 027/252] aa --- business/jxstore/report/report.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index b36b631da..34c09f10a 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -471,9 +471,11 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { } var sum float64 for i := 0; i < len(xyList)-1; i++ { - sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i][1]) + // sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i][1]) + sum += xyList[i][0]*xyList[i+1][1] - xyList[i+1][0]*xyList[i][1] } - sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) + // sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) + sum += xyList[len(xyList)-1][0]*xyList[0][1] - xyList[0][0]*xyList[len(xyList)-1][1] sum /= float64(2) area, _ = decimal.NewFromFloat(sum).Round(3).Float64() return area From f298706e069b061a932097edc15ba924bd49119c 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, 9 Mar 2021 17:19:56 +0800 Subject: [PATCH 028/252] aa --- business/jxstore/report/report.go | 32 +++++++++++++++++++++++-- business/partner/partner_act.go | 3 +++ business/partner/purchase/ebai/act.go | 4 ++++ business/partner/purchase/jd/act.go | 4 ++++ business/partner/purchase/jdshop/act.go | 4 ++++ business/partner/purchase/mtwm/act.go | 12 ++++++++++ business/partner/purchase/yb/act.go | 4 ++++ globals/api/apimanager/apimanager.go | 5 +++- 8 files changed, 65 insertions(+), 3 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 34c09f10a..2df4b33e6 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,7 +397,7 @@ type GetStoreManageStateResult struct { StoreName string `json:"storeName"` CoverArea float64 `json:"coverArea"` MarketScale int `json:"marketScale"` //市场规模 - OpenTime int `json:"openTime"` //营业时长 + OpenTime float64 `json:"openTime"` //营业时长 SkuCount int `json:"skuCount"` //商品数 HighSkuCount int `json:"highSkuCount"` //虚高商品数 ActAmple int `json:"actAmple"` //活动丰富的 @@ -408,7 +408,9 @@ type GetStoreManageStateResult struct { func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string) (getStoreManageStateResult []*GetStoreManageStateResult, err error) { var ( - db = dao.GetDB() + db = dao.GetDB() + fromTimeT, toTimeT = utils.Str2Time(fromTime), utils.Str2Time(toTime) + dayCount = int(fromTimeT.Sub(toTimeT).Hours())/24 + 1 //查的几天 ) //权限 if permission.IsRoled(ctx) { @@ -437,6 +439,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f MarketScale: storeDetail.MarketScale, CoverArea: storeDetail.CoverArea, } + //覆盖范围 if result.CoverArea == 0 { handler := partner.GetPurchasePlatformFromVendorID(vendorID) store, _ := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) @@ -446,12 +449,37 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f result.CoverArea = storeMaps[0].CoverArea } } + //营业时长 + optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() + if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { + optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() + } + result.OpenTime = optime * float64(dayCount) + //商品数 + skuCount, highSkuCount := 0, 0 + storeSkus, _ := dao.GetStoresSkusInfo(db, []int{v}, nil) + for _, v := range storeSkus { + if v.Status == model.StoreSkuBindStatusNormal && v.Stock > 0 { + skuCount++ + } + if priceRefer, err := dao.GetPriceReferPrice(db, 0, v.SkuID, utils.Time2Date(time.Now().AddDate(0, 0, -1))); err == nil && priceRefer != nil { + if v.UnitPrice > priceRefer.MidUnitPrice { + highSkuCount++ + } + } + } + result.SkuCount = skuCount + result.HighSkuCount = highSkuCount + //活动丰富度 + getStoreManageStateResult = append(getStoreManageStateResult, result) } return getStoreManageStateResult, err } func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { + //我先把地理坐标转成了平面坐标(百度的方法) + //然后按多个坐标求面积公式求的面积(百度的方法) if len(coordinate) == 0 { return 0 } diff --git a/business/partner/partner_act.go b/business/partner/partner_act.go index e4db7ec86..34b2f06f3 100644 --- a/business/partner/partner_act.go +++ b/business/partner/partner_act.go @@ -23,6 +23,9 @@ type IPurchasePlatformActHandler interface { // CancelAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actStoreSku []*model.ActStoreSku2) (err error) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreSkuList []*model.ActStoreSku2) (err error) + + //活动丰富度 + GetActAmple(ctx *jxcontext.Context, vendorStoreID, vendorOrgCode string) (ample int, err error) } type IPurchasePlatformPageActHandler interface { diff --git a/business/partner/purchase/ebai/act.go b/business/partner/purchase/ebai/act.go index b7838419a..5a7498ecb 100644 --- a/business/partner/purchase/ebai/act.go +++ b/business/partner/purchase/ebai/act.go @@ -338,3 +338,7 @@ func (c *PurchaseHandler) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITa } return err } + +func (c *PurchaseHandler) GetActAmple(ctx *jxcontext.Context, vendorStoreID, vendorOrgCode string) (ample int, err error) { + return ample, err +} diff --git a/business/partner/purchase/jd/act.go b/business/partner/purchase/jd/act.go index 03b82487e..a3a6d4397 100644 --- a/business/partner/purchase/jd/act.go +++ b/business/partner/purchase/jd/act.go @@ -420,3 +420,7 @@ func getActFromJD(vendorOrgCode, promotionID string) (act *model.Act2, actStoreS } return act, actStoreSkuList, err } + +func (c *PurchaseHandler) GetActAmple(ctx *jxcontext.Context, vendorStoreID, vendorOrgCode string) (ample int, err error) { + return ample, err +} diff --git a/business/partner/purchase/jdshop/act.go b/business/partner/purchase/jdshop/act.go index d155fefd8..1addcc836 100644 --- a/business/partner/purchase/jdshop/act.go +++ b/business/partner/purchase/jdshop/act.go @@ -9,3 +9,7 @@ import ( func (c *PurchaseHandler) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreSkuList []*model.ActStoreSku2) (err error) { return err } + +func (c *PurchaseHandler) GetActAmple(ctx *jxcontext.Context, vendorStoreID, vendorOrgCode string) (ample int, err error) { + return ample, err +} diff --git a/business/partner/purchase/mtwm/act.go b/business/partner/purchase/mtwm/act.go index 939b854cc..e8776fe26 100644 --- a/business/partner/purchase/mtwm/act.go +++ b/business/partner/purchase/mtwm/act.go @@ -258,3 +258,15 @@ func (c *PurchaseHandler) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITa } return err } + +func (c *PurchaseHandler) GetActAmple(ctx *jxcontext.Context, vendorStoreID, vendorOrgCode string) (ample int, err error) { + // for _, v := range mtwmapi.ActTypeList { + // //1表示进行中 + // if actList, err := getAPI(vendorOrgCode, 0, vendorStoreID).GetByAppPoiCodeAndType(vendorOrgCode, 1, v); err == nil { + // for _, vv := range actList { + + // } + // } + // } + return ample, err +} diff --git a/business/partner/purchase/yb/act.go b/business/partner/purchase/yb/act.go index 4434fa15a..3f95fc17e 100644 --- a/business/partner/purchase/yb/act.go +++ b/business/partner/purchase/yb/act.go @@ -9,3 +9,7 @@ import ( func (c *PurchaseHandler) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreSkuList []*model.ActStoreSku2) (err error) { return err } + +func (c *PurchaseHandler) GetActAmple(ctx *jxcontext.Context, vendorStoreID, vendorOrgCode string) (ample int, err error) { + return ample, err +} diff --git a/globals/api/apimanager/apimanager.go b/globals/api/apimanager/apimanager.go index b93228b71..ec86495f2 100644 --- a/globals/api/apimanager/apimanager.go +++ b/globals/api/apimanager/apimanager.go @@ -72,7 +72,10 @@ 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, globals.Jd3OrgCode, globals.JdcsOrgCode, globals.JdydOrgCode) + vendorOrgCodes, _ := dao.GetVendorOrgCode(dao.GetDB(), model.VendorIDJD, "", model.VendorOrgTypePlatform) + for _, v := range vendorOrgCodes { + appOrgCodeList = append(appOrgCodeList, v.VendorOrgCode) + } case model.VendorIDMTWM: appOrgCodeList = []string{api.MtwmAPI.GetAppID(), api.Mtwm2API.GetAppID()} case model.VendorIDEBAI: From 89d722c7293701f2f76d8b71414db32c22626b50 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, 9 Mar 2021 18:01:11 +0800 Subject: [PATCH 029/252] aa --- business/jxstore/cms/sku.go | 3 +++ business/jxstore/report/report.go | 4 +++- business/partner/purchase/mtwm/act.go | 14 ++++++-------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index b3ee2f130..4ed8c3a3a 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -2977,5 +2977,8 @@ func LoadStoreVendorCategories(ctx *jxcontext.Context, vendorOrgCode string, ven OnCreateThing(ctx, db, vendorOrgCodes, int64(v.CategoryID), model.ThingTypeCategory, model.SyncFlagNewMask, true) } } + if _, err = SyncCategories(ctx, nil, []int{vendorID}, []string{vendorOrgCode}, nil, false); err == nil { + SyncReorderCategories2(ctx, 0, vendorID, vendorOrgCode) + } return err } diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 2df4b33e6..9360389ec 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -471,7 +471,9 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f result.SkuCount = skuCount result.HighSkuCount = highSkuCount //活动丰富度 - + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) + result.ActAmple = ample getStoreManageStateResult = append(getStoreManageStateResult, result) } return getStoreManageStateResult, err diff --git a/business/partner/purchase/mtwm/act.go b/business/partner/purchase/mtwm/act.go index e8776fe26..6b4d0766b 100644 --- a/business/partner/purchase/mtwm/act.go +++ b/business/partner/purchase/mtwm/act.go @@ -260,13 +260,11 @@ func (c *PurchaseHandler) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITa } func (c *PurchaseHandler) GetActAmple(ctx *jxcontext.Context, vendorStoreID, vendorOrgCode string) (ample int, err error) { - // for _, v := range mtwmapi.ActTypeList { - // //1表示进行中 - // if actList, err := getAPI(vendorOrgCode, 0, vendorStoreID).GetByAppPoiCodeAndType(vendorOrgCode, 1, v); err == nil { - // for _, vv := range actList { - - // } - // } - // } + for _, v := range mtwmapi.ActTypeList { + //1表示进行中 + if actList, err := getAPI(vendorOrgCode, 0, vendorStoreID).GetByAppPoiCodeAndType(vendorOrgCode, 1, v); err == nil { + ample += len(actList) + } + } return ample, err } From 493f2ba97b8609fc937d3f33f45351cff1cf4693 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, 10 Mar 2021 10:10:55 +0800 Subject: [PATCH 030/252] aa --- business/jxcallback/orderman/orderman_ext.go | 14 ++++++++++---- business/jxstore/misc/misc.go | 3 --- business/jxstore/report/report.go | 20 ++++++++++++++++++-- business/partner/purchase/ebai/act.go | 5 +++++ globals/api/apimanager/apimanager.go | 4 ++++ 5 files changed, 37 insertions(+), 9 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index b097c41ac..d081204e1 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -12,10 +12,9 @@ import ( "github.com/astaxie/beego" - "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" + "git.rosy.net.cn/baseapi/platformapi/jdapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/excel" @@ -1399,9 +1398,16 @@ func GetMatterStoreOrderCount(ctx *jxcontext.Context, storeID int) (result *Orde func RefreshJdShopOrdersEarningPrice(ctx *jxcontext.Context, orderStartTime, orderEndTime string) (err error) { var ( - db = dao.GetDB() + db = dao.GetDB() + appOrgCode string ) - results, err := api.JdAPI.GetJdShopOrders(utils.Str2Time(orderStartTime).Format("20060102"), utils.Str2Time(orderEndTime).Format("20060102"), globals.JdOrgCode, globals.JdLoginName) + if beego.BConfig.RunMode == "jxgy" { + appOrgCode = "339032" + } else { + appOrgCode = "320406" + } + jdapi := partner.CurAPIManager.GetAPI(model.VendorIDJD, appOrgCode).(*jdapi.API) + results, err := jdapi.GetJdShopOrders(utils.Str2Time(orderStartTime).Format("20060102"), utils.Str2Time(orderEndTime).Format("20060102"), globals.JdOrgCode, globals.JdLoginName) if err != nil { return err } diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index f5f912995..7a26b4320 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -348,9 +348,6 @@ func Init() { jdsCookie = configs[0].Value api.JdShopAPI.SetCookieWithStr(jdsCookie) } - // if configs, err := dao.QueryConfigs(dao.GetDB(), "jdsCookie2", model.ConfigTypeCookie, ""); err == nil { - // api.JdShop2API.SetCookieWithStr(configs[0].Value) - // } if configs, err := dao.QueryConfigs(dao.GetDB(), "yinbaoCookie", model.ConfigTypeCookie, ""); err == nil { yinbaoCookie := configs[0].Value api.YinBaoAPI.SetCookie(".POSPALAUTH30220", yinbaoCookie) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 9360389ec..63cd7bbfc 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -403,6 +403,7 @@ type GetStoreManageStateResult struct { ActAmple int `json:"actAmple"` //活动丰富的 NullOrderCount int `json:"nullOrderCount"` //无效订单数 RefuseOrderCount int `json:"refuseOrderCount"` //拒绝订单数 + StoreScore int `json:"storeScore"` //门店评分 RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) } @@ -468,12 +469,27 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } } - result.SkuCount = skuCount - result.HighSkuCount = highSkuCount + result.SkuCount, result.HighSkuCount = skuCount, highSkuCount //活动丰富度 handler := partner.GetPurchasePlatformFromVendorID(vendorID) ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) result.ActAmple = ample + //订单 + nullOrderCount, refuseOrderCount := 0, 0 + if orderList, err := dao.QueryOrders(db, "", 0, []int{vendorID}, v, fromTimeT, toTimeT); err == nil { + for _, v := range orderList { + if v.Status == model.OrderStatusCanceled { + nullOrderCount++ + } + if waybills, err2 := dao.GetWayBillByOrderID(db, 0, vendorID, 0, v.VendorOrderID); err2 == nil { + if len(waybills) > 0 { + refuseOrderCount++ + } + } + } + } + result.NullOrderCount, result.RefuseOrderCount = nullOrderCount, refuseOrderCount + //转化率 getStoreManageStateResult = append(getStoreManageStateResult, result) } return getStoreManageStateResult, err diff --git a/business/partner/purchase/ebai/act.go b/business/partner/purchase/ebai/act.go index 5a7498ecb..eaa28f3d5 100644 --- a/business/partner/purchase/ebai/act.go +++ b/business/partner/purchase/ebai/act.go @@ -340,5 +340,10 @@ func (c *PurchaseHandler) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITa } func (c *PurchaseHandler) GetActAmple(ctx *jxcontext.Context, vendorStoreID, vendorOrgCode string) (ample int, err error) { + for _, v := range ebaiapi.ActivityTypeList { + if actIDs, err := api.EbaiAPI.ActMultiChannelQueryIDs("", utils.Str2Int64(vendorStoreID), v); err == nil && len(actIDs) > 0 { + ample++ + } + } return ample, err } diff --git a/globals/api/apimanager/apimanager.go b/globals/api/apimanager/apimanager.go index ec86495f2..f2510b6cd 100644 --- a/globals/api/apimanager/apimanager.go +++ b/globals/api/apimanager/apimanager.go @@ -50,6 +50,10 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{}) JdStorePageCookie := configs[0].Value api.JdAPI.SetJdCookie(JdStorePageCookie) } + if configs, err := dao.QueryConfigs(dao.GetDB(), "jdStorePageEarning", model.ConfigTypeCookie, ""); err == nil { + jdStorePageEarning := configs[0].Value + api.JdAPI.SetCookie("user", jdStorePageEarning) + } } case model.VendorIDMTWM: pfAPI = api.MtwmAPI From f409f00ef9b93c96cdfb3bd26ec1894556bd9f81 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, 10 Mar 2021 10:30:22 +0800 Subject: [PATCH 031/252] aa --- business/jxstore/report/report.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 63cd7bbfc..ac6c6aad3 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -8,6 +8,8 @@ import ( "strings" "time" + "git.rosy.net.cn/baseapi/platformapi/mtwmapi" + "github.com/shopspring/decimal" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -403,7 +405,7 @@ type GetStoreManageStateResult struct { ActAmple int `json:"actAmple"` //活动丰富的 NullOrderCount int `json:"nullOrderCount"` //无效订单数 RefuseOrderCount int `json:"refuseOrderCount"` //拒绝订单数 - StoreScore int `json:"storeScore"` //门店评分 + StoreScore float64 `json:"storeScore"` //门店评分 RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) } @@ -489,7 +491,11 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } result.NullOrderCount, result.RefuseOrderCount = nullOrderCount, refuseOrderCount - //转化率 + //评分(美团) + mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) + if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { + result.StoreScore = scoreResult.AvgPoiScore + } getStoreManageStateResult = append(getStoreManageStateResult, result) } return getStoreManageStateResult, err From 5cdade9b047b3ebbb6b5281af9e9d88cf9518715 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, 10 Mar 2021 11:18:52 +0800 Subject: [PATCH 032/252] aa --- business/jxcallback/orderman/orderman_ext.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index d081204e1..a7d7b3bb2 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -387,7 +387,7 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS skuStr = strings.Join([]string{ utils.Int2Str(v.SkuID), utils.Int2Str(v.SkuCount2), - utils.Int2Str(v.SkuEarningPrice), + utils.Int2Str(v.SkuShopPrice), utils.Int2Str(v.SkuSalePrice), utils.Int2Str(v.SkuEarningPrice), }, ",") From 55828db1558da3ef5a8b110b0077ad070a4645e1 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, 10 Mar 2021 11:23:48 +0800 Subject: [PATCH 033/252] aa --- business/jxcallback/orderman/orderman_ext.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index a7d7b3bb2..d39985436 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -395,7 +395,7 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS skuStr = strings.Join([]string{ utils.Int2Str(v.SkuID), utils.Int2Str(v.SkuCount2), - utils.Int2Str(v.SkuEarningPrice), + utils.Int2Str(v.SkuShopPrice), utils.Int2Str(v.SkuSalePrice), utils.Int2Str(v.SkuEarningPrice), }, ",") From d520dae5496fabe850007c43c330ab8918411323 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, 10 Mar 2021 11:25:20 +0800 Subject: [PATCH 034/252] aa --- business/jxstore/report/report.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index ac6c6aad3..e3bdd4cba 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -434,6 +434,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f storeIDs = storeIDs2 } } + fmt.Println("storeIDs1111111111111111111111111111111111", storeIDs) for _, v := range storeIDs { storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") result := &GetStoreManageStateResult{ From d66dfa7d449cb82dbef63843d58207d87914d9bd 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, 10 Mar 2021 11:44:20 +0800 Subject: [PATCH 035/252] aa --- business/jxstore/report/report.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index e3bdd4cba..8211e89bc 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -434,9 +434,11 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f storeIDs = storeIDs2 } } - fmt.Println("storeIDs1111111111111111111111111111111111", storeIDs) for _, v := range storeIDs { storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") + if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { + continue + } result := &GetStoreManageStateResult{ StoreID: v, StoreName: storeDetail.Name, @@ -446,11 +448,12 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f //覆盖范围 if result.CoverArea == 0 { handler := partner.GetPurchasePlatformFromVendorID(vendorID) - store, _ := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) - if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { - storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) - dao.UpdateEntity(db, storeMaps[0], "CoverArea") - result.CoverArea = storeMaps[0].CoverArea + if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { + if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { + storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + dao.UpdateEntity(db, storeMaps[0], "CoverArea") + result.CoverArea = storeMaps[0].CoverArea + } } } //营业时长 From 9243b4b5f914bfa6ee9111e4b55c32ed63c8d0a9 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, 10 Mar 2021 11:49:23 +0800 Subject: [PATCH 036/252] aa --- business/jxstore/report/report.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 8211e89bc..053a55eb4 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -514,6 +514,9 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { var xyList [][2]float64 for _, v := range coordinate { cell := strings.Split(v, ",") + if len(cell) == 0 { + continue + } var lat, lng float64 if vendorID == model.VendorIDJD { lng = utils.Str2Float64WithDefault(cell[0], 0) From 54167eade191ee8559e10edf99a08687353811a1 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, 10 Mar 2021 11:51:06 +0800 Subject: [PATCH 037/252] aa --- business/jxstore/report/report.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 053a55eb4..124c331a5 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -434,6 +434,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f storeIDs = storeIDs2 } } + fmt.Println("storeIDs111111111111111111111111111", storeIDs) for _, v := range storeIDs { storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { From a09bc75d824021003bbd3e5185f3809d5ed20b83 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, 10 Mar 2021 12:01:29 +0800 Subject: [PATCH 038/252] aa --- business/jxstore/report/report.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 124c331a5..fbbc11b00 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -451,7 +451,11 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f handler := partner.GetPurchasePlatformFromVendorID(vendorID) if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { - storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeMaps[0].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) + } else { + storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + } dao.UpdateEntity(db, storeMaps[0], "CoverArea") result.CoverArea = storeMaps[0].CoverArea } @@ -515,7 +519,7 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { var xyList [][2]float64 for _, v := range coordinate { cell := strings.Split(v, ",") - if len(cell) == 0 { + if len(cell) == 0 || len(cell) == 1 { continue } var lat, lng float64 From 050cd4db158296d26eb028815e57ab012371ad68 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, 10 Mar 2021 13:51:15 +0800 Subject: [PATCH 039/252] aa --- business/jxstore/report/report.go | 143 ++++++++++++++++-------------- 1 file changed, 77 insertions(+), 66 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index fbbc11b00..bfd27205b 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -435,77 +435,88 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } fmt.Println("storeIDs111111111111111111111111111", storeIDs) - for _, v := range storeIDs { - storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") - if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { - continue - } - result := &GetStoreManageStateResult{ - StoreID: v, - StoreName: storeDetail.Name, - MarketScale: storeDetail.MarketScale, - CoverArea: storeDetail.CoverArea, - } - //覆盖范围 - if result.CoverArea == 0 { + task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + v := batchItemList[0].(int) + storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") + if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { + return retVal, err + } + result := &GetStoreManageStateResult{ + StoreID: v, + StoreName: storeDetail.Name, + MarketScale: storeDetail.MarketScale, + CoverArea: storeDetail.CoverArea, + } + //覆盖范围 + if result.CoverArea == 0 { + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { + if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { + if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeMaps[0].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) + } else { + storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + } + dao.UpdateEntity(db, storeMaps[0], "CoverArea") + result.CoverArea = storeMaps[0].CoverArea + } + } + } + //营业时长 + optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() + if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { + optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() + } + result.OpenTime = optime * float64(dayCount) + //商品数 + skuCount, highSkuCount := 0, 0 + storeSkus, _ := dao.GetStoresSkusInfo(db, []int{v}, nil) + for _, v := range storeSkus { + if v.Status == model.StoreSkuBindStatusNormal && v.Stock > 0 { + skuCount++ + } + if priceRefer, err := dao.GetPriceReferPrice(db, 0, v.SkuID, utils.Time2Date(time.Now().AddDate(0, 0, -1))); err == nil && priceRefer != nil { + if v.UnitPrice > priceRefer.MidUnitPrice { + highSkuCount++ + } + } + } + result.SkuCount, result.HighSkuCount = skuCount, highSkuCount + //活动丰富度 handler := partner.GetPurchasePlatformFromVendorID(vendorID) - if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { - if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { - if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeMaps[0].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) - } else { - storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) + result.ActAmple = ample + //订单 + nullOrderCount, refuseOrderCount := 0, 0 + if orderList, err := dao.QueryOrders(db, "", 0, []int{vendorID}, v, fromTimeT, toTimeT); err == nil { + for _, v := range orderList { + if v.Status == model.OrderStatusCanceled { + nullOrderCount++ } - dao.UpdateEntity(db, storeMaps[0], "CoverArea") - result.CoverArea = storeMaps[0].CoverArea - } - } - } - //营业时长 - optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() - if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { - optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() - } - result.OpenTime = optime * float64(dayCount) - //商品数 - skuCount, highSkuCount := 0, 0 - storeSkus, _ := dao.GetStoresSkusInfo(db, []int{v}, nil) - for _, v := range storeSkus { - if v.Status == model.StoreSkuBindStatusNormal && v.Stock > 0 { - skuCount++ - } - if priceRefer, err := dao.GetPriceReferPrice(db, 0, v.SkuID, utils.Time2Date(time.Now().AddDate(0, 0, -1))); err == nil && priceRefer != nil { - if v.UnitPrice > priceRefer.MidUnitPrice { - highSkuCount++ - } - } - } - result.SkuCount, result.HighSkuCount = skuCount, highSkuCount - //活动丰富度 - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) - result.ActAmple = ample - //订单 - nullOrderCount, refuseOrderCount := 0, 0 - if orderList, err := dao.QueryOrders(db, "", 0, []int{vendorID}, v, fromTimeT, toTimeT); err == nil { - for _, v := range orderList { - if v.Status == model.OrderStatusCanceled { - nullOrderCount++ - } - if waybills, err2 := dao.GetWayBillByOrderID(db, 0, vendorID, 0, v.VendorOrderID); err2 == nil { - if len(waybills) > 0 { - refuseOrderCount++ + if waybills, err2 := dao.GetWayBillByOrderID(db, 0, vendorID, 0, v.VendorOrderID); err2 == nil { + if len(waybills) > 0 { + refuseOrderCount++ + } } } } - } - result.NullOrderCount, result.RefuseOrderCount = nullOrderCount, refuseOrderCount - //评分(美团) - mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) - if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { - result.StoreScore = scoreResult.AvgPoiScore - } - getStoreManageStateResult = append(getStoreManageStateResult, result) + result.NullOrderCount, result.RefuseOrderCount = nullOrderCount, refuseOrderCount + //评分(美团) + if vendorID == model.VendorIDMTWM { + mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) + if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { + result.StoreScore = scoreResult.AvgPoiScore + } + } + retVal = []*GetStoreManageStateResult{result} + // getStoreManageStateResult = append(getStoreManageStateResult, result) + return retVal, err + }, storeIDs) + tasksch.HandleTask(task, nil, true).Run() + result, err := task.GetResult(0) + for _, v := range result { + getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult)) } return getStoreManageStateResult, err } From 88ff46c0eed6ab0d54d0261479546bb589641430 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, 10 Mar 2021 14:01:04 +0800 Subject: [PATCH 040/252] aa --- business/jxstore/report/report.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index bfd27205b..7e176fa96 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -434,7 +434,6 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f storeIDs = storeIDs2 } } - fmt.Println("storeIDs111111111111111111111111111", storeIDs) task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(int) @@ -514,7 +513,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f return retVal, err }, storeIDs) tasksch.HandleTask(task, nil, true).Run() - result, err := task.GetResult(0) + result, _ := task.GetResult(0) for _, v := range result { getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult)) } From c7dbd7405da5067dfd727913bac465a692250715 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, 10 Mar 2021 14:08:32 +0800 Subject: [PATCH 041/252] aa --- business/jxstore/report/report.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 7e176fa96..678313725 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -434,6 +434,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f storeIDs = storeIDs2 } } + fmt.Println("storeIDs1111111111111111111111111111111111", storeIDs) task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(int) From dc523889f391f93e5f2ca90362bf93217e56b5aa 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, 10 Mar 2021 14:40:38 +0800 Subject: [PATCH 042/252] aa --- business/jxcallback/orderman/orderman_ext.go | 6 +++--- business/jxstore/report/report.go | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index d39985436..bb1dc0b45 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -1420,12 +1420,12 @@ func RefreshJdShopOrdersEarningPrice(ctx *jxcontext.Context, orderStartTime, ord stores, _ := dao.GetStoreList(db, []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, nil, nil, nil, "") if len(stores) > 0 { store := stores[0] - if order.NewEarningPrice == 0 { - jxutils.RefreshOrderEarningPrice2(order, store.PayPercentage) - } if order.TotalShopMoney == 0 { order.TotalShopMoney = utils.Float64TwoInt64(v.DueAmount * 100) } + if order.NewEarningPrice == 0 { + jxutils.RefreshOrderEarningPrice2(order, store.PayPercentage) + } dao.UpdateEntity(db, order, "TotalShopMoney", "NewEarningPrice") } } diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 678313725..ae1f1fffe 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -415,6 +415,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f fromTimeT, toTimeT = utils.Str2Time(fromTime), utils.Str2Time(toTime) dayCount = int(fromTimeT.Sub(toTimeT).Hours())/24 + 1 //查的几天 ) + fmt.Println("storeIDs1111111111111111111111111111111111", storeIDs) //权限 if permission.IsRoled(ctx) { if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { From 6316344b9407c746cbff333e8965a07005a731a9 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, 10 Mar 2021 14:44:33 +0800 Subject: [PATCH 043/252] aa --- business/jxstore/report/report.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index ae1f1fffe..a4818f116 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -415,7 +415,6 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f fromTimeT, toTimeT = utils.Str2Time(fromTime), utils.Str2Time(toTime) dayCount = int(fromTimeT.Sub(toTimeT).Hours())/24 + 1 //查的几天 ) - fmt.Println("storeIDs1111111111111111111111111111111111", storeIDs) //权限 if permission.IsRoled(ctx) { if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { @@ -427,10 +426,12 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } } else { + fmt.Println("storeIDs1111111111111111111111111111111111", storeIDsMap, ctx.GetUserID()) for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) } } + fmt.Println("storeIDs1111111111111111111111111111111111", storeIDs2) storeIDs = nil storeIDs = storeIDs2 } From 527596becc5f4f7d8f7cefd50d0b6c8306d3895a 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, 10 Mar 2021 14:48:00 +0800 Subject: [PATCH 044/252] aa --- business/partner/purchase/ebai/store.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/partner/purchase/ebai/store.go b/business/partner/purchase/ebai/store.go index 57fd8c749..e77d57896 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -403,6 +403,9 @@ func EbaiDeliveryRegion2Jx(deliveryRegion interface{}) string { func EbaiDeliveryRegion2Jx2(deliveryRegion map[string]interface{}) string { if len(deliveryRegion) > 0 { + if deliveryRegion["delivery_areas"] == nil { + return "" + } region := deliveryRegion["delivery_areas"].([]interface{})[0].(map[string]interface{})["coordinates"].([]interface{}) coords := make([]string, len(region)) for k, v := range region { From 3080a707d299661bd00ab3b6b21aac51c933713f 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, 10 Mar 2021 14:58:40 +0800 Subject: [PATCH 045/252] aa --- business/partner/purchase/mtwm/store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 0d8609f87..4c2792c1e 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -62,7 +62,7 @@ type tEbaiStoreInfo struct { } func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID string) (retVal *dao.StoreDetail, err error) { - result, err := getAPI(vendorOrgCode, 0, vendorStoreID).PoiGet(vendorStoreID) + result, err := getAPIWithoutToken(vendorOrgCode).PoiGet(vendorStoreID) if err == nil { // globals.SugarLogger.Debug(utils.Format4Output(result, false)) retVal = &dao.StoreDetail{ From 99e53d869efb7638851312c1eee5673f269e70a8 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, 10 Mar 2021 15:18:27 +0800 Subject: [PATCH 046/252] aa --- business/jxstore/report/report.go | 25 ++++++++++++++++--------- controllers/jx_report.go | 4 +++- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index a4818f116..e9353f77b 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -409,11 +409,13 @@ type GetStoreManageStateResult struct { RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) } -func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string) (getStoreManageStateResult []*GetStoreManageStateResult, err error) { +func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string, offset, pageSize int) (pageInfo *model.PagedInfo, err error) { var ( - db = dao.GetDB() - fromTimeT, toTimeT = utils.Str2Time(fromTime), utils.Str2Time(toTime) - dayCount = int(fromTimeT.Sub(toTimeT).Hours())/24 + 1 //查的几天 + db = dao.GetDB() + fromTimeT, toTimeT = utils.Str2Time(fromTime), utils.Str2Time(toTime) + dayCount = int(fromTimeT.Sub(toTimeT).Hours())/24 + 1 //查的几天 + getStoreManageStateResult []*GetStoreManageStateResult + storeIDsPage []int ) //权限 if permission.IsRoled(ctx) { @@ -426,17 +428,19 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } } else { - fmt.Println("storeIDs1111111111111111111111111111111111", storeIDsMap, ctx.GetUserID()) for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) } } - fmt.Println("storeIDs1111111111111111111111111111111111", storeIDs2) storeIDs = nil storeIDs = storeIDs2 } } - fmt.Println("storeIDs1111111111111111111111111111111111", storeIDs) + index2 := (offset+1)*pageSize - 1 + if index2 > len(storeIDs) { + index2 = len(storeIDs) - 1 + } + storeIDsPage = storeIDs[offset*pageSize : index2] task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(int) @@ -514,13 +518,16 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f retVal = []*GetStoreManageStateResult{result} // getStoreManageStateResult = append(getStoreManageStateResult, result) return retVal, err - }, storeIDs) + }, storeIDsPage) tasksch.HandleTask(task, nil, true).Run() result, _ := task.GetResult(0) for _, v := range result { getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult)) } - return getStoreManageStateResult, err + return &model.PagedInfo{ + TotalCount: len(storeIDs), + Data: getStoreManageStateResult, + }, err } func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { diff --git a/controllers/jx_report.go b/controllers/jx_report.go index d9f3e3a83..7de548e88 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -122,6 +122,8 @@ func (c *ReportController) GetManageState() { // @Param vendorID query int true "平台ID" // @Param fromTime query string true "开始日期(包含),格式(2006-01-02 00:00:00)" // @Param toTime query string true "结束日期(包含),格式(2006-01-02 00:00:00)" +// @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 /GetStoreManageState [get] @@ -129,7 +131,7 @@ func (c *ReportController) GetStoreManageState() { c.callGetStoreManageState(func(params *tReportGetStoreManageStateParams) (retVal interface{}, errCode string, err error) { var storeIDs []int if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil { - retVal, err = report.GetStoreManageState(params.Ctx, storeIDs, params.VendorID, params.FromTime, params.ToTime) + retVal, err = report.GetStoreManageState(params.Ctx, storeIDs, params.VendorID, params.FromTime, params.ToTime, params.Offset, params.PageSize) } return retVal, "", err }) From 176d39b7edf41c8c42dcf9f70408047c296680bc 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, 10 Mar 2021 15:21:37 +0800 Subject: [PATCH 047/252] aa --- business/partner/purchase/mtwm/store.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 4c2792c1e..770f25b5a 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -98,9 +98,9 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo retVal.ID = int(utils.Str2Int64WithDefault(poiCode, 0)) retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon var deliveryRangeInfo []map[string]interface{} - deliveryRangeInfo, err = getAPI(vendorOrgCode, 0, vendorStoreID).ShippingFetch(poiCode) + deliveryRangeInfo, err = getAPIWithoutToken(vendorOrgCode).ShippingFetch(poiCode) if err != nil { - deliveryRangeInfo, err = getAPI(vendorOrgCode, 0, vendorStoreID).ShippingList(poiCode) + deliveryRangeInfo, err = getAPIWithoutToken(vendorOrgCode).ShippingList(poiCode) } if err == nil { if len(deliveryRangeInfo) > 0 { From 154a93897927b2198f5470f35b05314dc992c738 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, 10 Mar 2021 15:46:52 +0800 Subject: [PATCH 048/252] aa --- business/jxstore/cms/store.go | 4 ++-- business/jxstore/report/report.go | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 773facaa2..7b15ec0a2 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -4002,10 +4002,10 @@ func RefreshMTWMToken(ctx *jxcontext.Context) (err error) { var ( db = dao.GetDB() ) - if time.Now().YearDay()%20 != 0 { + if time.Now().YearDay()%10 != 0 { return } - //token是1个月过期,每20天刷一次吧 + //token是1个月过期,每10天刷一次吧 storeMaps, _ := dao.GetStoresMapList(db, []int{model.VendorIDMTWM}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", globals.Mtwm2Code) for _, v := range storeMaps { if v.MtwmRefreshToken != "" { diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index e9353f77b..732fb5e47 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -481,10 +481,10 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f for _, v := range storeSkus { if v.Status == model.StoreSkuBindStatusNormal && v.Stock > 0 { skuCount++ - } - if priceRefer, err := dao.GetPriceReferPrice(db, 0, v.SkuID, utils.Time2Date(time.Now().AddDate(0, 0, -1))); err == nil && priceRefer != nil { - if v.UnitPrice > priceRefer.MidUnitPrice { - highSkuCount++ + if priceRefer, err := dao.GetPriceReferPrice(db, 0, v.SkuID, utils.Time2Date(time.Now().AddDate(0, 0, -1))); err == nil && priceRefer != nil { + if v.UnitPrice > priceRefer.MidUnitPrice { + highSkuCount++ + } } } } @@ -501,7 +501,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f nullOrderCount++ } if waybills, err2 := dao.GetWayBillByOrderID(db, 0, vendorID, 0, v.VendorOrderID); err2 == nil { - if len(waybills) > 0 { + if len(waybills) == 0 { refuseOrderCount++ } } From e5e68f83f5dbbd885a143d049703be683ffbc4b9 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, 10 Mar 2021 15:48:27 +0800 Subject: [PATCH 049/252] aa --- business/jxstore/report/report.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 732fb5e47..de96a2061 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -561,6 +561,7 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { // sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) sum += xyList[len(xyList)-1][0]*xyList[0][1] - xyList[0][0]*xyList[len(xyList)-1][1] sum /= float64(2) + sum = math.Abs(sum) area, _ = decimal.NewFromFloat(sum).Round(3).Float64() return area } From 4d41b0dfcd2f69680a8bdef8d43e6b04b88aee8e 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, 10 Mar 2021 15:55:40 +0800 Subject: [PATCH 050/252] aa --- business/jxstore/report/report.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index de96a2061..962b6d0bb 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -429,6 +429,10 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } else { for k, _ := range storeIDsMap { + storeDetail, _ := dao.GetStoreDetail(db, k, vendorID, "") + if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { + continue + } storeIDs2 = append(storeIDs2, k) } } From 882fa65ea54eed6c9dcf15f14730559a4aea1152 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, 10 Mar 2021 16:00:21 +0800 Subject: [PATCH 051/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 962b6d0bb..062f17851 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -445,7 +445,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f index2 = len(storeIDs) - 1 } storeIDsPage = storeIDs[offset*pageSize : index2] - task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(int) storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") From 9e17d725973e7cf86843aa293a87ed389c07b1df 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, 10 Mar 2021 16:05:33 +0800 Subject: [PATCH 052/252] aa --- business/jxstore/cms/store.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 7b15ec0a2..38d46c642 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1203,8 +1203,8 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend } } else { //美团商超获取token - mtapi := apimanager.CurAPIManager.GetAPI(model.VendorIDMTWM, outStoreMap.VendorOrgCode).(*mtwmapi.API) - if token, err := mtapi.GetAccessToken2(outStoreMap.VendorStoreID); err == nil && token != nil { + mtapi := apimanager.CurAPIManager.GetAPI(model.VendorIDMTWM, storeMap.VendorOrgCode).(*mtwmapi.API) + if token, err := mtapi.GetAccessToken2(storeMap.VendorStoreID); err == nil && token != nil { storeMap.MtwmToken = token.AccessToken storeMap.MtwmToken = token.RefreshToken } From 2f59fd1d510de34289862da520a0788fe425a4ef 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, 10 Mar 2021 16:16:22 +0800 Subject: [PATCH 053/252] aa --- business/jxstore/report/report.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 062f17851..3dfc888af 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -445,6 +445,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f index2 = len(storeIDs) - 1 } storeIDsPage = storeIDs[offset*pageSize : index2] + fmt.Println("storeIDsPage111111111111", offset, pageSize, index2, storeIDsPage) task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(int) From f52c1ad8379e16258f9271a1ffc29bed2e4c503a 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, 10 Mar 2021 16:19:11 +0800 Subject: [PATCH 054/252] aa --- business/jxstore/report/report.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 3dfc888af..49845e943 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -440,11 +440,11 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f storeIDs = storeIDs2 } } - index2 := (offset+1)*pageSize - 1 + index2 := (offset + 1) * pageSize if index2 > len(storeIDs) { index2 = len(storeIDs) - 1 } - storeIDsPage = storeIDs[offset*pageSize : index2] + storeIDsPage = storeIDs[offset*pageSize+1 : index2] fmt.Println("storeIDsPage111111111111", offset, pageSize, index2, storeIDsPage) task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { From 8859a41bdf16d48b100052361309439d38737cd8 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, 10 Mar 2021 16:44:05 +0800 Subject: [PATCH 055/252] aa --- business/jxstore/cms/store.go | 2 +- business/jxstore/report/report.go | 10 ++++------ business/model/dao/store_sku.go | 31 ++++++++++++++++++++++++++++++- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 38d46c642..e0d3db66c 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1206,7 +1206,7 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend mtapi := apimanager.CurAPIManager.GetAPI(model.VendorIDMTWM, storeMap.VendorOrgCode).(*mtwmapi.API) if token, err := mtapi.GetAccessToken2(storeMap.VendorStoreID); err == nil && token != nil { storeMap.MtwmToken = token.AccessToken - storeMap.MtwmToken = token.RefreshToken + storeMap.MtwmRefreshToken = token.RefreshToken } } storeMap.SyncStatus = model.SyncFlagModifiedMask | model.SyncFlagStoreName | model.SyncFlagStoreAddress // 新增绑定门店是修改的概念 diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 49845e943..d5c856a10 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -10,8 +10,6 @@ import ( "git.rosy.net.cn/baseapi/platformapi/mtwmapi" - "github.com/shopspring/decimal" - "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/partner" @@ -444,8 +442,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f if index2 > len(storeIDs) { index2 = len(storeIDs) - 1 } - storeIDsPage = storeIDs[offset*pageSize+1 : index2] - fmt.Println("storeIDsPage111111111111", offset, pageSize, index2, storeIDsPage) + storeIDsPage = storeIDs[offset*pageSize : index2] task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(int) @@ -482,6 +479,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f result.OpenTime = optime * float64(dayCount) //商品数 skuCount, highSkuCount := 0, 0 + dao.GetStoresSkusInfo(db, storeIDs, skuIDs) storeSkus, _ := dao.GetStoresSkusInfo(db, []int{v}, nil) for _, v := range storeSkus { if v.Status == model.StoreSkuBindStatusNormal && v.Stock > 0 { @@ -567,6 +565,6 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { sum += xyList[len(xyList)-1][0]*xyList[0][1] - xyList[0][0]*xyList[len(xyList)-1][1] sum /= float64(2) sum = math.Abs(sum) - area, _ = decimal.NewFromFloat(sum).Round(3).Float64() - return area + sum = utils.Str2Float64(fmt.Sprintf("%.2f", sum)) + return sum } diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index be3e7032d..2278f1383 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -769,7 +769,7 @@ func GetDataResFieldName(vendorID int) (fieldName string) { // return fieldName // } -func GetStoresSkusInfo(db *DaoDB, storeIDs, skuIDs []int) (storeSkuList []*model.StoreSkuBind, err error) { +func GetStoresSkusInfo(db *DaoDB, storeIDs, skuIDs []int, status int) (storeSkuList []*model.StoreSkuBind, err error) { sql := ` SELECT * FROM store_sku_bind t1 @@ -1812,3 +1812,32 @@ func GetStoreSkuListWithVendor(db *DaoDB, storeID, vendorID int, vendorOrgCode s err = GetRows(db, &skuList, sql, sqlParams) return skuList, err } + +type GetStoresSkusForManageStateResult struct { + SkuID int `orm:"column(sku_id)"` + UnitPrice int + MidUnitPrice int +} + +func GetStoresSkusForManageState(db *DaoDB, storeID, status int) (storeSkuList []*GetStoresSkusForManageStateResult, err error) { + sql := ` + SELECT t1.sku_id, t1.unit_price, t2.mid_unit_price + FROM store_sku_bind t1 + LEFT JOIN price_refer_snapshot t2 ON t1.sku_id = t2.sku_id AND t2.city_code = ? AND t2.snapshot_at = ? + WHERE t1.deleted_at = ? + ` + sqlParams := []interface{}{ + 0, utils.Time2Date(time.Now().AddDate(0, 0, -1)), + utils.DefaultTimeValue, + } + if storeID != 0 { + sql += " AND t1.store_id = ?" + sqlParams = append(sqlParams, storeID) + } + if status != model.StoreSkuBindStatusNA { + sql += " AND t1.status = ? " + sqlParams = append(sqlParams, status) + } + err = GetRows(db, &storeSkuList, sql, sqlParams...) + return storeSkuList, err +} From a76e30bc359ae644ec4f6677e07bd58b7a9e388b 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, 10 Mar 2021 17:25:59 +0800 Subject: [PATCH 056/252] aa --- business/jxstore/report/report.go | 34 +++++++++------------------- business/model/dao/dao_order.go | 37 +++++++++++++++++++++++++++++++ business/model/dao/store_sku.go | 2 +- 3 files changed, 49 insertions(+), 24 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index d5c856a10..d8dedb36f 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -478,39 +478,27 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } result.OpenTime = optime * float64(dayCount) //商品数 - skuCount, highSkuCount := 0, 0 - dao.GetStoresSkusInfo(db, storeIDs, skuIDs) - storeSkus, _ := dao.GetStoresSkusInfo(db, []int{v}, nil) + highSkuCount := 0 + storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal) for _, v := range storeSkus { - if v.Status == model.StoreSkuBindStatusNormal && v.Stock > 0 { - skuCount++ - if priceRefer, err := dao.GetPriceReferPrice(db, 0, v.SkuID, utils.Time2Date(time.Now().AddDate(0, 0, -1))); err == nil && priceRefer != nil { - if v.UnitPrice > priceRefer.MidUnitPrice { - highSkuCount++ - } - } + if v.UnitPrice > v.MidUnitPrice { + highSkuCount++ } } - result.SkuCount, result.HighSkuCount = skuCount, highSkuCount + result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount //活动丰富度 handler := partner.GetPurchasePlatformFromVendorID(vendorID) ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) result.ActAmple = ample //订单 - nullOrderCount, refuseOrderCount := 0, 0 - if orderList, err := dao.QueryOrders(db, "", 0, []int{vendorID}, v, fromTimeT, toTimeT); err == nil { - for _, v := range orderList { - if v.Status == model.OrderStatusCanceled { - nullOrderCount++ - } - if waybills, err2 := dao.GetWayBillByOrderID(db, 0, vendorID, 0, v.VendorOrderID); err2 == nil { - if len(waybills) == 0 { - refuseOrderCount++ - } - } + refuseOrderCount := 0 + orderList, err := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT) + for _, v := range orderList { + if v.BindID == 0 { + refuseOrderCount++ } } - result.NullOrderCount, result.RefuseOrderCount = nullOrderCount, refuseOrderCount + result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount //评分(美团) if vendorID == model.VendorIDMTWM { mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index ddf5ba59c..8fa159131 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -1607,3 +1607,40 @@ func GetUserCoupons(db *DaoDB, couponIDs []int, userIDs, mobiles []string, userS err = GetRows(db, &userCoupons, sql, sqlParams) return userCoupons, err } + +type QueryOrdersForManageStateResult struct { + VendorOrderID string `orm:"column(vendor_order_id)"` + BindID int `orm:"column(bind_id)"` +} + +func QueryOrdersForManageState(db *DaoDB, storeID, vendorID, status int, fromTime, toTime time.Time) (userCoupons []*QueryOrdersForManageStateResult, err error) { + sql := ` + SELECT a.vendor_order_id ,b.id bind_id + FROM goods_order a + LEFT JOIN waybill b ON a.vendor_order_id = b.vendor_order_id + WHERE 1 = 1 + ` + sqlParams := []interface{}{} + if storeID != 0 { + sql += " AND (a.storeID = ? OR a.jx_store_id = ?)" + sqlParams = append(sqlParams, storeID, storeID) + } + if vendorID != -1 { + sql += " AND a.vendor_id = ?" + sqlParams = append(sqlParams, vendorID) + } + if status != 0 { + sql += " AND a.status = ?" + sqlParams = append(sqlParams, status) + } + if !utils.IsTimeZero(fromTime) { + sql += " AND a.order_created_at > ?" + sqlParams = append(sqlParams, fromTime) + } + if !utils.IsTimeZero(toTime) { + sql += " AND a.order_created_at < ?" + sqlParams = append(sqlParams, toTime) + } + err = GetRows(db, &userCoupons, sql, sqlParams) + return userCoupons, err +} diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 2278f1383..8b70405e3 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -769,7 +769,7 @@ func GetDataResFieldName(vendorID int) (fieldName string) { // return fieldName // } -func GetStoresSkusInfo(db *DaoDB, storeIDs, skuIDs []int, status int) (storeSkuList []*model.StoreSkuBind, err error) { +func GetStoresSkusInfo(db *DaoDB, storeIDs, skuIDs []int) (storeSkuList []*model.StoreSkuBind, err error) { sql := ` SELECT * FROM store_sku_bind t1 From acacc3b2ded6269ee9074a28f5db0515239d00c7 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, 10 Mar 2021 17:42:43 +0800 Subject: [PATCH 057/252] aa --- business/jxstore/report/report.go | 148 ++++++++++++++++-------------- 1 file changed, 77 insertions(+), 71 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index d8dedb36f..4bbe8f90d 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -414,7 +414,13 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f dayCount = int(fromTimeT.Sub(toTimeT).Hours())/24 + 1 //查的几天 getStoreManageStateResult []*GetStoreManageStateResult storeIDsPage []int + storeMapMaps map[int]*model.StoreMap ) + storeMapMaps = make(map[int]*model.StoreMap) + storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + for _, v := range storeMaps { + storeMapMaps[v.StoreID] = v + } //权限 if permission.IsRoled(ctx) { if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { @@ -427,11 +433,9 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } else { for k, _ := range storeIDsMap { - storeDetail, _ := dao.GetStoreDetail(db, k, vendorID, "") - if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { - continue + if storeMapMaps[k] != nil { + storeIDs2 = append(storeIDs2, k) } - storeIDs2 = append(storeIDs2, k) } } storeIDs = nil @@ -443,77 +447,79 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f index2 = len(storeIDs) - 1 } storeIDsPage = storeIDs[offset*pageSize : index2] - task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - v := batchItemList[0].(int) - storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") - if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { - return retVal, err - } - result := &GetStoreManageStateResult{ - StoreID: v, - StoreName: storeDetail.Name, - MarketScale: storeDetail.MarketScale, - CoverArea: storeDetail.CoverArea, - } - //覆盖范围 - if result.CoverArea == 0 { - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { - if storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, []int{v}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 && err == nil { - if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeMaps[0].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) - } else { - storeMaps[0].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) - } - dao.UpdateEntity(db, storeMaps[0], "CoverArea") - result.CoverArea = storeMaps[0].CoverArea - } - } - } - //营业时长 - optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() - if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { - optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() - } - result.OpenTime = optime * float64(dayCount) - //商品数 - highSkuCount := 0 - storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal) - for _, v := range storeSkus { - if v.UnitPrice > v.MidUnitPrice { - highSkuCount++ - } - } - result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount - //活动丰富度 + for _, v := range storeIDsPage { + // task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // v := batchItemList[0].(int) + storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") + if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { + continue + } + result := &GetStoreManageStateResult{ + StoreID: v, + StoreName: storeDetail.Name, + MarketScale: storeDetail.MarketScale, + CoverArea: storeDetail.CoverArea, + } + //覆盖范围 + if result.CoverArea == 0 { handler := partner.GetPurchasePlatformFromVendorID(vendorID) - ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) - result.ActAmple = ample - //订单 - refuseOrderCount := 0 - orderList, err := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT) - for _, v := range orderList { - if v.BindID == 0 { - refuseOrderCount++ + if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { + if storeMapMaps[v] != nil { + if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeMapMaps[v].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) + } else { + storeMapMaps[v].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + } + dao.UpdateEntity(db, storeMapMaps[v], "CoverArea") + result.CoverArea = storeMapMaps[v].CoverArea } } - result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount - //评分(美团) - if vendorID == model.VendorIDMTWM { - mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) - if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { - result.StoreScore = scoreResult.AvgPoiScore - } + } + //营业时长 + optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() + if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { + optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() + } + result.OpenTime = optime * float64(dayCount) + //商品数 + highSkuCount := 0 + storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal) + for _, v := range storeSkus { + if v.UnitPrice > v.MidUnitPrice { + highSkuCount++ } - retVal = []*GetStoreManageStateResult{result} - // getStoreManageStateResult = append(getStoreManageStateResult, result) - return retVal, err - }, storeIDsPage) - tasksch.HandleTask(task, nil, true).Run() - result, _ := task.GetResult(0) - for _, v := range result { - getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult)) + } + result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount + //活动丰富度 + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) + result.ActAmple = ample + //订单 + refuseOrderCount := 0 + orderList, _ := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT) + for _, v := range orderList { + if v.BindID == 0 { + refuseOrderCount++ + } + } + result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount + //评分(美团) + if vendorID == model.VendorIDMTWM { + mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) + if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { + result.StoreScore = scoreResult.AvgPoiScore + } + } + // retVal = []*GetStoreManageStateResult{result} + // getStoreManageStateResult = append(getStoreManageStateResult, result) + // return retVal, err + // }, storeIDsPage) + // tasksch.HandleTask(task, nil, true).Run() + // result, _ := task.GetResult(0) + // for _, v := range result { + // getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult)) + // } } return &model.PagedInfo{ TotalCount: len(storeIDs), From 2364d4eae2ea82471347fcf67a8f2644eafac721 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, 10 Mar 2021 17:49:08 +0800 Subject: [PATCH 058/252] aa --- business/jxstore/report/report.go | 2 +- business/jxstore/tempop/tempop.go | 34 ++++++++++++++++++++++--------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 4bbe8f90d..a08c7af26 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -512,7 +512,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } // retVal = []*GetStoreManageStateResult{result} - // getStoreManageStateResult = append(getStoreManageStateResult, result) + getStoreManageStateResult = append(getStoreManageStateResult, result) // return retVal, err // }, storeIDsPage) // tasksch.HandleTask(task, nil, true).Run() diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index a629969db..047e3ca6f 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -4,10 +4,13 @@ import ( "bytes" "context" "fmt" + "math" "regexp" "strings" "time" + "git.rosy.net.cn/jx-callback/business/jxstore/report" + "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/partner/delivery" "github.com/360EntSecGroup-Skylar/excelize" @@ -1865,18 +1868,29 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // }, storeMaps) // tasksch.HandleTask(task, nil, true).Run() // _, err = task.GetResult(0) - stores := []int{} - for i := 1; i < 26; i++ { - result, _ := api.JdShop2API.ShopList(i) - for _, v := range result.List { - if v.Kilometres == "" { - if err = api.JdShop2API.CreateGisFence(v.StoreID, "1"); err != nil { - stores = append(stores, v.StoreID) + var ( + storeMaps []*model.StoreMap + db = dao.GetDB() + ) + storeMaps, err = dao.GetStoresMapList(db, nil, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeMap := batchItemList[0].(*model.StoreMap) + if storeMap.CoverArea == 0 { + handler := partner.GetPurchasePlatformFromVendorID(storeMap.VendorID) + if store, err := handler.ReadStore(ctx, storeMap.VendorOrgCode, storeMap.VendorStoreID); err == nil { + if storeMap.VendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeMap.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) + } else { + storeMap.CoverArea = report.CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), storeMap.VendorID) + } + dao.UpdateEntity(db, storeMap, "CoverArea") } } - } - } - fmt.Println("resultstores112", stores) + return retVal, err + }, storeMaps) + tasksch.HandleTask(task, nil, true).Run() + _, err = task.GetResult(0) return err } From 1224e340c05a6a5689c3e98c3782ddbfccfde086 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, 10 Mar 2021 18:04:40 +0800 Subject: [PATCH 059/252] aa --- business/jxcallback/orderman/orderman_ext.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index bb1dc0b45..c838fcbe5 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -389,7 +389,7 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS utils.Int2Str(v.SkuCount2), utils.Int2Str(v.SkuShopPrice), utils.Int2Str(v.SkuSalePrice), - utils.Int2Str(v.SkuEarningPrice), + utils.Int2Str(v.SkuShopPrice), }, ",") } else { skuStr = strings.Join([]string{ From 3df18ef931ea2a0820e6179e3b943268a1de921b 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, 10 Mar 2021 18:16:35 +0800 Subject: [PATCH 060/252] aa --- business/jxcallback/orderman/orderman_ext.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index c838fcbe5..e89896b0c 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -384,12 +384,18 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS }, ",") } else { if v.EarningType == model.EarningTypeQuote { + earningPrice := 0 + if v.SkuEarningPrice != 0 { + earningPrice = v.SkuEarningPrice + } else { + earningPrice = v.SkuShopPrice + } skuStr = strings.Join([]string{ utils.Int2Str(v.SkuID), utils.Int2Str(v.SkuCount2), utils.Int2Str(v.SkuShopPrice), utils.Int2Str(v.SkuSalePrice), - utils.Int2Str(v.SkuShopPrice), + utils.Int2Str(earningPrice), }, ",") } else { skuStr = strings.Join([]string{ From c7737f168682441116cda53c1ec2258b89200add 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, 10 Mar 2021 18:24:25 +0800 Subject: [PATCH 061/252] aa --- business/jxstore/report/report.go | 138 +++++++++++++++--------------- 1 file changed, 71 insertions(+), 67 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index a08c7af26..610280ac4 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -447,79 +447,83 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f index2 = len(storeIDs) - 1 } storeIDsPage = storeIDs[offset*pageSize : index2] - for _, v := range storeIDsPage { - // task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // v := batchItemList[0].(int) - storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") - if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { - continue - } - result := &GetStoreManageStateResult{ - StoreID: v, - StoreName: storeDetail.Name, - MarketScale: storeDetail.MarketScale, - CoverArea: storeDetail.CoverArea, - } - //覆盖范围 - if result.CoverArea == 0 { - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { - if storeMapMaps[v] != nil { - if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeMapMaps[v].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) - } else { - storeMapMaps[v].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + v := batchItemList[0].(int) + storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") + if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { + return retVal, err + } + result := &GetStoreManageStateResult{ + StoreID: v, + StoreName: storeDetail.Name, + MarketScale: storeDetail.MarketScale, + CoverArea: storeDetail.CoverArea, + } + fmt.Println("11111111111111111111111111") + //覆盖范围 + if result.CoverArea == 0 { + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { + if storeMapMaps[v] != nil { + if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeMapMaps[v].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) + } else { + storeMapMaps[v].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + } + dao.UpdateEntity(db, storeMapMaps[v], "CoverArea") + result.CoverArea = storeMapMaps[v].CoverArea } - dao.UpdateEntity(db, storeMapMaps[v], "CoverArea") - result.CoverArea = storeMapMaps[v].CoverArea } } - } - //营业时长 - optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() - if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { - optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() - } - result.OpenTime = optime * float64(dayCount) - //商品数 - highSkuCount := 0 - storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal) - for _, v := range storeSkus { - if v.UnitPrice > v.MidUnitPrice { - highSkuCount++ + fmt.Println("22222222222222222222222222222222222") + //营业时长 + optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() + if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { + optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() } - } - result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount - //活动丰富度 - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) - result.ActAmple = ample - //订单 - refuseOrderCount := 0 - orderList, _ := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT) - for _, v := range orderList { - if v.BindID == 0 { - refuseOrderCount++ + result.OpenTime = optime * float64(dayCount) + fmt.Println("33333333333333333333333333333333333") + //商品数 + highSkuCount := 0 + storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal) + for _, v := range storeSkus { + if v.UnitPrice > v.MidUnitPrice { + highSkuCount++ + } } - } - result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount - //评分(美团) - if vendorID == model.VendorIDMTWM { - mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) - if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { - result.StoreScore = scoreResult.AvgPoiScore + result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount + fmt.Println("444444444444444444444444444444444") + //活动丰富度 + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) + result.ActAmple = ample + fmt.Println("55555555555555555555555555555555555") + //订单 + refuseOrderCount := 0 + orderList, _ := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT) + for _, v := range orderList { + if v.BindID == 0 { + refuseOrderCount++ + } } - } - // retVal = []*GetStoreManageStateResult{result} - getStoreManageStateResult = append(getStoreManageStateResult, result) - // return retVal, err - // }, storeIDsPage) - // tasksch.HandleTask(task, nil, true).Run() - // result, _ := task.GetResult(0) - // for _, v := range result { - // getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult)) - // } + result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount + fmt.Println("666666666666666666666666666666") + //评分(美团) + if vendorID == model.VendorIDMTWM { + mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) + if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { + result.StoreScore = scoreResult.AvgPoiScore + } + } + retVal = []*GetStoreManageStateResult{result} + // getStoreManageStateResult = append(getStoreManageStateResult, result) + return retVal, err + }, storeIDsPage) + tasksch.HandleTask(task, nil, true).Run() + result, _ := task.GetResult(0) + for _, v := range result { + getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult)) } return &model.PagedInfo{ TotalCount: len(storeIDs), From acc063bd093bfeaaaaad7241149fc354bbf62f4d 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, 11 Mar 2021 09:31:53 +0800 Subject: [PATCH 062/252] aa --- business/jxstore/tempop/tempop.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 047e3ca6f..a6ece54a3 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1872,7 +1872,7 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { storeMaps []*model.StoreMap db = dao.GetDB() ) - storeMaps, err = dao.GetStoresMapList(db, nil, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + storeMaps, err = dao.GetStoresMapList(db, []int{3}, []int{100002}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { storeMap := batchItemList[0].(*model.StoreMap) From f25e4908679a3ee4843796862cb4601f783f0a9c 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, 11 Mar 2021 09:39:32 +0800 Subject: [PATCH 063/252] aa --- business/jxstore/report/report.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 610280ac4..638bd669f 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -8,6 +8,8 @@ import ( "strings" "time" + "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -564,5 +566,6 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { sum /= float64(2) sum = math.Abs(sum) sum = utils.Str2Float64(fmt.Sprintf("%.2f", sum)) + globals.SugarLogger.Debugf("CalculateCoverArea sum: []%v", sum) return sum } From dc7e9164710470071399ca1e934a1fb46dcf2b92 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, 11 Mar 2021 09:47:47 +0800 Subject: [PATCH 064/252] aa --- business/jxstore/report/report.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 638bd669f..9003b8de4 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -559,10 +559,10 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { var sum float64 for i := 0; i < len(xyList)-1; i++ { // sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i][1]) - sum += xyList[i][0]*xyList[i+1][1] - xyList[i+1][0]*xyList[i][1] + sum += (xyList[i][0]*xyList[i+1][1] - xyList[i+1][0]*xyList[i][1]) } // sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) - sum += xyList[len(xyList)-1][0]*xyList[0][1] - xyList[0][0]*xyList[len(xyList)-1][1] + sum += (xyList[len(xyList)-1][0]*xyList[0][1] - xyList[0][0]*xyList[len(xyList)-1][1]) sum /= float64(2) sum = math.Abs(sum) sum = utils.Str2Float64(fmt.Sprintf("%.2f", sum)) From 7917274c26c8a199ec07492ba24d84467c42f64b 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, 11 Mar 2021 09:52:16 +0800 Subject: [PATCH 065/252] aa --- business/jxstore/report/report.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 9003b8de4..1227fef30 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -560,6 +560,7 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { for i := 0; i < len(xyList)-1; i++ { // sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i][1]) sum += (xyList[i][0]*xyList[i+1][1] - xyList[i+1][0]*xyList[i][1]) + fmt.Println("CalculateCoverArea ,", sum, xyList[i][0]*xyList[i+1][1], xyList[i+1][0]*xyList[i][1]) } // sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) sum += (xyList[len(xyList)-1][0]*xyList[0][1] - xyList[0][0]*xyList[len(xyList)-1][1]) From 7469a2d11f1bb6069e3cecd7d9b6a28bb0d5e720 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, 11 Mar 2021 09:54:53 +0800 Subject: [PATCH 066/252] aa --- business/jxutils/jxutils.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index 29a1c6bfc..3af82f812 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -281,6 +281,8 @@ func MillierConvertion(lat float64, lon float64) [2]float64 { // 弧度转为实际距离 x = (W / 2) + (W/(2*math.Pi))*x y = (H / 2) - (H/(2*mill))*y + x = utils.Str2Float64(fmt.Sprintf("%.2f", x)) + y = utils.Str2Float64(fmt.Sprintf("%.2f", y)) var result = [2]float64{x, y} return result } From 132d2780f21ca262383eef36f9fc9d8076e3e30a 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, 11 Mar 2021 10:02:32 +0800 Subject: [PATCH 067/252] aa --- business/jxstore/report/report.go | 2 +- business/partner/purchase/ebai/store.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 1227fef30..2b465404d 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -556,7 +556,7 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { xys := jxutils.MillierConvertion(lat, lng) xyList = append(xyList, xys) } - var sum float64 + var sum float64 = 0 for i := 0; i < len(xyList)-1; i++ { // sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i][1]) sum += (xyList[i][0]*xyList[i+1][1] - xyList[i+1][0]*xyList[i][1]) diff --git a/business/partner/purchase/ebai/store.go b/business/partner/purchase/ebai/store.go index e77d57896..c50587313 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -234,6 +234,7 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo if retVal.DeliveryRange == "" { if list, err := api.EbaiAPI.ShopDeliveryinfoGet("", utils.Str2Int64(vendorStoreID)); err == nil { retVal.DeliveryRange = EbaiDeliveryRegion2Jx2(list[0]) + fmt.Println("retVal.DeliveryRange,", retVal.DeliveryRange) } } return retVal, nil From cd5356da6253fc72bcdbe6818a80dfe67da78353 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, 11 Mar 2021 10:08:38 +0800 Subject: [PATCH 068/252] aa --- 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 c50587313..85bd6a5e0 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -231,10 +231,10 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo retVal.ID = int(utils.Str2Int64WithDefault(utils.Interface2String(result["shop_id"]), 0)) retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon retVal.DeliveryRange = EbaiDeliveryRegion2Jx(result["delivery_region"]) + fmt.Println("retVal.DeliveryRange 1111111111111111111111111111111111111", retVal.DeliveryRange) if retVal.DeliveryRange == "" { if list, err := api.EbaiAPI.ShopDeliveryinfoGet("", utils.Str2Int64(vendorStoreID)); err == nil { retVal.DeliveryRange = EbaiDeliveryRegion2Jx2(list[0]) - fmt.Println("retVal.DeliveryRange,", retVal.DeliveryRange) } } return retVal, nil From 136f54f7fefa351c36c60e685df605d6002ad71e 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, 11 Mar 2021 10:11:29 +0800 Subject: [PATCH 069/252] aa --- business/jxstore/report/report.go | 2 +- business/partner/purchase/ebai/store.go | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 2b465404d..129adce4a 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -546,7 +546,7 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { continue } var lat, lng float64 - if vendorID == model.VendorIDJD { + if vendorID == model.VendorIDJD || vendorID == model.VendorIDEBAI { lng = utils.Str2Float64WithDefault(cell[0], 0) lat = utils.Str2Float64WithDefault(cell[1], 0) } else { diff --git a/business/partner/purchase/ebai/store.go b/business/partner/purchase/ebai/store.go index 85bd6a5e0..e77d57896 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -231,7 +231,6 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo retVal.ID = int(utils.Str2Int64WithDefault(utils.Interface2String(result["shop_id"]), 0)) retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon retVal.DeliveryRange = EbaiDeliveryRegion2Jx(result["delivery_region"]) - fmt.Println("retVal.DeliveryRange 1111111111111111111111111111111111111", retVal.DeliveryRange) if retVal.DeliveryRange == "" { if list, err := api.EbaiAPI.ShopDeliveryinfoGet("", utils.Str2Int64(vendorStoreID)); err == nil { retVal.DeliveryRange = EbaiDeliveryRegion2Jx2(list[0]) From 33f6a0f304ea69e48be6dc520d39595a7c751f01 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, 11 Mar 2021 10:14:55 +0800 Subject: [PATCH 070/252] aa --- business/jxstore/report/report.go | 4 ---- business/jxstore/tempop/tempop.go | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 129adce4a..d247f7838 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -8,8 +8,6 @@ import ( "strings" "time" - "git.rosy.net.cn/jx-callback/globals" - "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -560,13 +558,11 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { for i := 0; i < len(xyList)-1; i++ { // sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i][1]) sum += (xyList[i][0]*xyList[i+1][1] - xyList[i+1][0]*xyList[i][1]) - fmt.Println("CalculateCoverArea ,", sum, xyList[i][0]*xyList[i+1][1], xyList[i+1][0]*xyList[i][1]) } // sum += (xyList[0][0] - xyList[len(xyList)-1][0]) * (xyList[0][1] + xyList[len(xyList)-1][1]) sum += (xyList[len(xyList)-1][0]*xyList[0][1] - xyList[0][0]*xyList[len(xyList)-1][1]) sum /= float64(2) sum = math.Abs(sum) sum = utils.Str2Float64(fmt.Sprintf("%.2f", sum)) - globals.SugarLogger.Debugf("CalculateCoverArea sum: []%v", sum) return sum } diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index a6ece54a3..bd0689004 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1872,7 +1872,7 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { storeMaps []*model.StoreMap db = dao.GetDB() ) - storeMaps, err = dao.GetStoresMapList(db, []int{3}, []int{100002}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + storeMaps, err = dao.GetStoresMapList(db, []int{3}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { storeMap := batchItemList[0].(*model.StoreMap) From f79e750ace36d0b84938f9515c4ac939e4831290 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, 11 Mar 2021 10:53:13 +0800 Subject: [PATCH 071/252] aa --- business/jxstore/tempop/tempop.go | 65 ++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 23 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index bd0689004..99b578d5c 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -4,13 +4,10 @@ import ( "bytes" "context" "fmt" - "math" "regexp" "strings" "time" - "git.rosy.net.cn/jx-callback/business/jxstore/report" - "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/partner/delivery" "github.com/360EntSecGroup-Skylar/excelize" @@ -1868,29 +1865,51 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // }, storeMaps) // tasksch.HandleTask(task, nil, true).Run() // _, err = task.GetResult(0) - var ( - storeMaps []*model.StoreMap - db = dao.GetDB() - ) - storeMaps, err = dao.GetStoresMapList(db, []int{3}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") - task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if storeMap.CoverArea == 0 { - handler := partner.GetPurchasePlatformFromVendorID(storeMap.VendorID) - if store, err := handler.ReadStore(ctx, storeMap.VendorOrgCode, storeMap.VendorStoreID); err == nil { - if storeMap.VendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeMap.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) - } else { - storeMap.CoverArea = report.CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), storeMap.VendorID) + // var ( + // storeMaps []*model.StoreMap + // db = dao.GetDB() + // ) + // storeMaps, err = dao.GetStoresMapList(db, []int{3}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + // task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // if storeMap.CoverArea == 0 { + // handler := partner.GetPurchasePlatformFromVendorID(storeMap.VendorID) + // if store, err := handler.ReadStore(ctx, storeMap.VendorOrgCode, storeMap.VendorStoreID); err == nil { + // if storeMap.VendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + // storeMap.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) + // } else { + // storeMap.CoverArea = report.CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), storeMap.VendorID) + // } + // dao.UpdateEntity(db, storeMap, "CoverArea") + // } + // } + // return retVal, err + // }, storeMaps) + // tasksch.HandleTask(task, nil, true).Run() + // _, err = task.GetResult(0) + skuIDMap := make(map[int]int) + order, _ := partner.CurOrderManager.LoadOrder("2105998332000452", 0) + for _, v := range order.Skus { + if skuID := jxutils.GetSkuIDFromOrderSku(v); skuID > 0 { + skuIDMap[skuID] = 1 + } + } + actStoreSkuList, err := dao.GetEffectiveActStoreSkuInfo(dao.GetDB(), 0, []int{0}, model.ActTypeAll, []int{103168}, jxutils.IntMap2List(skuIDMap), order.OrderCreatedAt, order.OrderCreatedAt) + fmt.Println("actStoreSkuList111111111111111111", utils.Format4Output(actStoreSkuList, false)) + if actStoreSkuMap := jxutils.NewActStoreSkuMap(actStoreSkuList, false); actStoreSkuMap != nil { + for _, v := range order.Skus { + if skuID := jxutils.GetSkuIDFromOrderSku(v); skuID > 0 { + if actStoreSku := actStoreSkuMap.GetActStoreSku(103168, skuID, order.VendorID); actStoreSku != nil { + fmt.Println("actStoreSku11111111111111", utils.Format4Output(actStoreSku, false)) + v.EarningPrice = actStoreSku.EarningPrice + if true { //v.StoreSubName != "" { // 之前这里为什么要加判断? + v.StoreSubID = actStoreSku.ActID } - dao.UpdateEntity(db, storeMap, "CoverArea") } } - return retVal, err - }, storeMaps) - tasksch.HandleTask(task, nil, true).Run() - _, err = task.GetResult(0) + } + } return err } From 3fb52de653df784f5b0069caebbfe934b6e61041 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, 11 Mar 2021 11:39:36 +0800 Subject: [PATCH 072/252] aa --- business/jxcallback/orderman/order.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 7366ff611..7c9f3f7ae 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -597,6 +597,9 @@ func updateSingleOrderEarningPrice(order *model.GoodsOrder, db *dao.DaoDB) { if true { //v.StoreSubName != "" { // 之前这里为什么要加判断? v.StoreSubID = actStoreSku.ActID } + if v.EarningPrice != v.ShopPrice { + baseapi.SugarLogger.Warnf("不等于了。:%v", v.EarningPrice, order.VendorOrderID, utils.Format4Output(actStoreSku, false)) + } } } } From a391a7b86da91459f4eaf182b8205f1347a882bb 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, 11 Mar 2021 13:39:18 +0800 Subject: [PATCH 073/252] aa --- business/jxstore/report/report.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index d247f7838..cb9023e4d 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -460,7 +460,6 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f MarketScale: storeDetail.MarketScale, CoverArea: storeDetail.CoverArea, } - fmt.Println("11111111111111111111111111") //覆盖范围 if result.CoverArea == 0 { handler := partner.GetPurchasePlatformFromVendorID(vendorID) @@ -476,14 +475,12 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } } - fmt.Println("22222222222222222222222222222222222") //营业时长 optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() } result.OpenTime = optime * float64(dayCount) - fmt.Println("33333333333333333333333333333333333") //商品数 highSkuCount := 0 storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal) @@ -493,12 +490,10 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount - fmt.Println("444444444444444444444444444444444") //活动丰富度 handler := partner.GetPurchasePlatformFromVendorID(vendorID) ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) result.ActAmple = ample - fmt.Println("55555555555555555555555555555555555") //订单 refuseOrderCount := 0 orderList, _ := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT) @@ -508,7 +503,6 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount - fmt.Println("666666666666666666666666666666") //评分(美团) if vendorID == model.VendorIDMTWM { mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) @@ -555,6 +549,9 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { xyList = append(xyList, xys) } var sum float64 = 0 + if len(xyList) == 0 { + return 0 + } for i := 0; i < len(xyList)-1; i++ { // sum += (xyList[i+1][0] - xyList[i][0]) * (xyList[i+1][1] + xyList[i][1]) sum += (xyList[i][0]*xyList[i+1][1] - xyList[i+1][0]*xyList[i][1]) From a2978a94e5108938b25908a7d8ec5c7b0d240459 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, 11 Mar 2021 14:42:12 +0800 Subject: [PATCH 074/252] aa --- business/jxcallback/orderman/order.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 7c9f3f7ae..9b73d1d89 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1934,8 +1934,8 @@ func UpdateOrderInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int, func RefreshOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID, skuID int) (num int64, err error) { var ( - db = dao.GetDB() - shopPrice int64 + db = dao.GetDB() + shopPrice, earningPrice int64 ) order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID) if order.EarningType != model.EarningTypeQuote { @@ -1947,8 +1947,11 @@ func RefreshOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID, return fmt.Errorf("未找到此门店商品!") } storeSku := storeSkus[0] + if v.ShopPrice == v.EarningPrice { + v.EarningPrice = int64(math.Round(float64(storeSku.Price) * float64(order.OrderPayPercentage) / 100)) + } v.ShopPrice = int64(storeSku.Price) - dao.UpdateEntity(db, v, "ShopPrice") + dao.UpdateEntity(db, v, "ShopPrice", "EarningPrice") return err } dao.Begin(db) @@ -1974,9 +1977,11 @@ func RefreshOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID, } for _, v := range order.Skus { shopPrice += v.ShopPrice * int64(v.Count) + earningPrice += v.EarningPrice * int64(v.Count) } order.ShopPrice = shopPrice - num, err = dao.UpdateEntity(db, order, "ShopPrice") + order.EarningPrice = earningPrice + num, err = dao.UpdateEntity(db, order, "ShopPrice", "EarningPrice") dao.Commit(db) return num, err } From 41c27faab765978626c58ebeaa343004c6508e7e 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, 11 Mar 2021 15:10:54 +0800 Subject: [PATCH 075/252] aa --- business/jxstore/cms/store_sku.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index f6c02b6c9..6de1849ef 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4422,6 +4422,8 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product db = dao.GetDB() skuBindInfos []*StoreSkuBindInfo ) + return fmt.Errorf("此商品名在京西库中查询出了大于1个商品,[%v]", "beta测试") + if productInfo == nil { return fmt.Errorf("未查询到相关商品!") } From 344ecb0d13ea3a3c9f53072db6568ae5891ce6af 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, 11 Mar 2021 16:02:28 +0800 Subject: [PATCH 076/252] aa --- business/jxstore/report/report.go | 23 +++++++---------------- business/model/store.go | 25 +++++++++++++++++++++++++ globals/beegodb/beegodb.go | 1 + 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index cb9023e4d..1c6b640ac 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -393,18 +393,9 @@ func GetManageState(ctx *jxcontext.Context, cityCodes []int, vendorID int) (getM } type GetStoreManageStateResult struct { - StoreID int `json:"storeID"` - StoreName string `json:"storeName"` - CoverArea float64 `json:"coverArea"` - MarketScale int `json:"marketScale"` //市场规模 - OpenTime float64 `json:"openTime"` //营业时长 - SkuCount int `json:"skuCount"` //商品数 - HighSkuCount int `json:"highSkuCount"` //虚高商品数 - ActAmple int `json:"actAmple"` //活动丰富的 - NullOrderCount int `json:"nullOrderCount"` //无效订单数 - RefuseOrderCount int `json:"refuseOrderCount"` //拒绝订单数 - StoreScore float64 `json:"storeScore"` //门店评分 - RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) + StoreName string `json:"storeName"` + VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"` + model.StoreManageState } func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string, offset, pageSize int) (pageInfo *model.PagedInfo, err error) { @@ -455,10 +446,10 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f return retVal, err } result := &GetStoreManageStateResult{ - StoreID: v, - StoreName: storeDetail.Name, - MarketScale: storeDetail.MarketScale, - CoverArea: storeDetail.CoverArea, + // StoreID: v, + // StoreName: storeDetail.Name, + // MarketScale: storeDetail.MarketScale, + // CoverArea: storeDetail.CoverArea, } //覆盖范围 if result.CoverArea == 0 { diff --git a/business/model/store.go b/business/model/store.go index 347602fce..6d505f34c 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -861,3 +861,28 @@ func (v *StoreAcct) TableIndex() [][]string { []string{"AccountBalance"}, } } + +type StoreManageState struct { + ModelIDCUL + + StoreID int `orm:"column(store_id)" json:"storeID"` + VendorID int `orm:"column(vendor_id)" json:"vendorID"` + CoverArea float64 `json:"coverArea"` + MarketScale int `json:"marketScale"` //市场规模 + OpenTime float64 `json:"openTime"` //营业时长 + SkuCount int `json:"skuCount"` //商品数 + HighSkuCount int `json:"highSkuCount"` //虚高商品数 + ActAmple int `json:"actAmple"` //活动丰富的 + NullOrderCount int `json:"nullOrderCount"` //无效订单数 + RefuseOrderCount int `json:"refuseOrderCount"` //拒绝订单数 + StoreScore float64 `json:"storeScore"` //门店评分 + RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) + VendorStatus int `json:"vendorStatus"` //平台营业状态 + Comment string `json:"comment"` //备注 +} + +func (v *StoreManageState) TableUnique() [][]string { + return [][]string{ + []string{"StoreID", "VendorID"}, + } +} diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index 0603dd35b..a5bf03075 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -49,6 +49,7 @@ func Init() { orm.RegisterModel(&model.PageShop{}) orm.RegisterModel(&model.VendorStoreSnapshot{}) orm.RegisterModel(&model.PriceReferSnapshot{}) + orm.RegisterModel(&model.StoreManageState{}) orm.RegisterModel(&model.StorePriceScoreSnapshot{}) orm.RegisterModel(&model.StoreSkuNamePrice{}) orm.RegisterModel(&model.OrderSupplementFee{}) From 91ea354d631cea7bc4b5966ab39006fd6bc4a8c0 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, 11 Mar 2021 17:36:25 +0800 Subject: [PATCH 077/252] aa --- business/jxstore/misc/misc.go | 4 + business/jxstore/report/report.go | 181 +++++++++++++----------------- business/model/dao/store.go | 49 +++++++- business/model/store.go | 10 +- controllers/jx_report.go | 5 +- 5 files changed, 135 insertions(+), 114 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index 7a26b4320..f65ef16c2 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -184,6 +184,10 @@ func Init() { defsch.FixedScheduler.ConfirmSelfTakeOrders(jxcontext.AdminCtx, []int{model.VendorIDJD}, time.Now().Add(-48*time.Hour), time.Now().Add(-30*time.Minute), true, true) }, 5*time.Second, 10*time.Minute) + ScheduleTimerFuncByInterval(func() { + report.RefreshStoreManageState(jxcontext.AdminCtx) + }, 5*time.Second, 10*time.Minute) + ScheduleTimerFunc("auto enable remote store", func() { cms.EnableHaveRestStores(jxcontext.AdminCtx, false, true) // cms.OpenRemoteStoreByJxStatus(jxcontext.AdminCtx, nil, nil, false, false, true) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 1c6b640ac..21c501fab 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -392,26 +392,89 @@ func GetManageState(ctx *jxcontext.Context, cityCodes []int, vendorID int) (getM return getManageStateResult, err } -type GetStoreManageStateResult struct { - StoreName string `json:"storeName"` - VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"` - model.StoreManageState +func RefreshStoreManageState(ctx *jxcontext.Context) { + var ( + db = dao.GetDB() + vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} + dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59") + coverAreaFlag = time.Now().Hour() == 0 && time.Now().Minute() > 0 && time.Now().Minute() < 12 + ) + task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + vendorID := batchItemList[0].(int) + storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + task2 := tasksch.NewParallelTask("GetStoreManageState2", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeMap := batchItemList[0].(*model.StoreMap) + if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + return retVal, err + } + storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + storeManage := &model.StoreManageState{ + StoreID: storeMap.StoreID, + VendorID: storeMap.VendorID, + } + dao.WrapAddIDCULEntity(storeManage, ctx.GetUserName()) + if coverAreaFlag { + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { + if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeManage.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) + } else { + storeManage.CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + } + } + } + //营业时长 + optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() + if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { + optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() + } + storeManage.OpenTime = optime + //商品数 + highSkuCount := 0 + storeSkus, _ := dao.GetStoresSkusForManageState(db, storeMap.StoreID, model.StoreSkuBindStatusNormal) + for _, v := range storeSkus { + if v.UnitPrice > v.MidUnitPrice { + highSkuCount++ + } + } + storeManage.SkuCount, storeManage.HighSkuCount = len(storeSkus), highSkuCount + //活动丰富度 + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) + storeManage.ActAmple = ample + //订单 + refuseOrderCount := 0 + orderList, _ := dao.QueryOrdersForManageState(db, storeMap.StoreID, vendorID, model.OrderStatusCanceled, dayTimeBegin, dayTimeEnd) + for _, v := range orderList { + if v.BindID == 0 { + refuseOrderCount++ + } + } + storeManage.NullOrderCount, storeManage.RefuseOrderCount = len(orderList), refuseOrderCount + //评分(美团) + if vendorID == model.VendorIDMTWM { + mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) + if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { + storeManage.StoreScore = scoreResult.AvgPoiScore + } + } + dao.CreateOrUpdate(db, storeManage) + return retVal, err + }, storeMaps) + tasksch.HandleTask(task2, task, true).Run() + task2.GetResult(0) + return retVal, err + }, vendorIDs) + tasksch.HandleTask(task, nil, true).Run() + task.GetID() } -func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, fromTime, toTime string, offset, pageSize int) (pageInfo *model.PagedInfo, err error) { +func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID, sortType, offset, pageSize int) (pageInfo *model.PagedInfo, err error) { var ( - db = dao.GetDB() - fromTimeT, toTimeT = utils.Str2Time(fromTime), utils.Str2Time(toTime) - dayCount = int(fromTimeT.Sub(toTimeT).Hours())/24 + 1 //查的几天 - getStoreManageStateResult []*GetStoreManageStateResult - storeIDsPage []int - storeMapMaps map[int]*model.StoreMap + db = dao.GetDB() ) - storeMapMaps = make(map[int]*model.StoreMap) - storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") - for _, v := range storeMaps { - storeMapMaps[v.StoreID] = v - } //权限 if permission.IsRoled(ctx) { if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { @@ -424,96 +487,14 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } } else { for k, _ := range storeIDsMap { - if storeMapMaps[k] != nil { - storeIDs2 = append(storeIDs2, k) - } + storeIDs2 = append(storeIDs2, k) } } storeIDs = nil storeIDs = storeIDs2 } } - index2 := (offset + 1) * pageSize - if index2 > len(storeIDs) { - index2 = len(storeIDs) - 1 - } - storeIDsPage = storeIDs[offset*pageSize : index2] - task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - v := batchItemList[0].(int) - storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") - if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { - return retVal, err - } - result := &GetStoreManageStateResult{ - // StoreID: v, - // StoreName: storeDetail.Name, - // MarketScale: storeDetail.MarketScale, - // CoverArea: storeDetail.CoverArea, - } - //覆盖范围 - if result.CoverArea == 0 { - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { - if storeMapMaps[v] != nil { - if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeMapMaps[v].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) - } else { - storeMapMaps[v].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) - } - dao.UpdateEntity(db, storeMapMaps[v], "CoverArea") - result.CoverArea = storeMapMaps[v].CoverArea - } - } - } - //营业时长 - optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() - if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { - optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() - } - result.OpenTime = optime * float64(dayCount) - //商品数 - highSkuCount := 0 - storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal) - for _, v := range storeSkus { - if v.UnitPrice > v.MidUnitPrice { - highSkuCount++ - } - } - result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount - //活动丰富度 - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) - result.ActAmple = ample - //订单 - refuseOrderCount := 0 - orderList, _ := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT) - for _, v := range orderList { - if v.BindID == 0 { - refuseOrderCount++ - } - } - result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount - //评分(美团) - if vendorID == model.VendorIDMTWM { - mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) - if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { - result.StoreScore = scoreResult.AvgPoiScore - } - } - retVal = []*GetStoreManageStateResult{result} - // getStoreManageStateResult = append(getStoreManageStateResult, result) - return retVal, err - }, storeIDsPage) - tasksch.HandleTask(task, nil, true).Run() - result, _ := task.GetResult(0) - for _, v := range result { - getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult)) - } - return &model.PagedInfo{ - TotalCount: len(storeIDs), - Data: getStoreManageStateResult, - }, err + return dao.GetStoreManageState(db, storeIDs, vendorID, sortType, pageSize, offset) } func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { diff --git a/business/model/dao/store.go b/business/model/dao/store.go index e5f2eb7ed..91d3628b0 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -67,9 +67,6 @@ type StoreDetail struct { BrandLogo string `json:"brandLogo"` BrandIsOpen int `json:"brandIsOpen"` BrandIsPrint int `json:"brandIsPrint"` - - CoverArea float64 `json:"coverArea"` - MarketScale int `json:"marketScale"` //市场规模 } // 带快递门店信息的 @@ -115,7 +112,6 @@ func getStoreDetail(db *DaoDB, storeID, vendorID int, vendorStoreID, vendorOrgCo t2.vendor_store_id, t2.status vendor_status, t2.delivery_fee_deduction_sill, t2.delivery_fee_deduction_fee, t2.sync_status, t2.vendor_org_code, t2.price_percentage, t2.auto_pickup, t2.delivery_type, t2.delivery_competition, t2.is_sync, t2.vendor_store_name, t2.is_order, t2.yb_app_id, t2.yb_app_key, t2.yb_store_prefix, t2.jds_street_code, t2.jds_street_name, t2.is_supply_goods, t2.vendor_pay_percentage, t2.mtwm_token, t2.ebai_supplier_id, t2.create_delivery_type, - t2.market_scale, t2.cover_area, t3.value price_percentage_pack_str, t4.value freight_deduction_pack_str, province.name province_name, @@ -1168,3 +1164,48 @@ func GetStoreAcctExpendLastCreateWayBillFee(db *DaoDB, vendorOrderID string) (la err = GetRow(db, &expend, sql, sqlParams) return expend.ExpendPrice, err } + +type GetStoreManageStateResult struct { + StoreName string `json:"storeName"` + VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"` + MarketScale int `json:"marketScale"` //市场规模 + Comment string `json:"comment"` + DefaultCoverArea float64 `json:"defaultCoverArea"` + model.StoreManageState +} + +func GetStoreManageState(db *DaoDB, storeIDs []int, vendorID, sortType, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { + var requestList []*GetStoreManageStateResult + sql := ` + SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name store_name, c.vendor_store_id, c.market_scale, b.comment, c.cover_area default_cover_area + FROM store_manage_state a + LEFT JOIN store b ON b.id = a.store_id + LEFT JOIN store_map c ON c.store_id = a.store_id AND c.vendor_id = a.vendor_id + WHERE 1 = 1 + ` + sqlParams := []interface{}{} + if len(storeIDs) > 0 { + sql += " AND a.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")" + sqlParams = append(sqlParams, storeIDs) + } + if vendorID != -1 { + sql += " AND a.vendor_id = ?" + sqlParams = append(sqlParams, vendorID) + } + if sortType != 0 { + sql += " ORDER BY" + sqlParams = append(sqlParams, sortType) + } + sql += " 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 6d505f34c..74302e37c 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -456,11 +456,9 @@ type StoreMap struct { YbAppKey string `orm:"size(255)" json:"ybAppKey"` YbStorePrefix string `orm:"size(255)" json:"ybStorePrefix"` - MtwmToken string `orm:"size(255)" json:"mtwmToken"` //美团外卖商超token,有效期30天,每20天刷一次 - MtwmRefreshToken string `orm:"size(255)" json:"mtwmRefreshToken"` //美团外卖商超refreshToken - EbaiSupplierID string `orm:"column(ebai_supplier_id)" json:"ebaiSupplierID"` //饿百供应商ID - MarketScale int `json:"marketScale"` //市场规模 - CoverArea float64 `json:"coverArea"` //覆盖范围 + MtwmToken string `orm:"size(255)" json:"mtwmToken"` //美团外卖商超token,有效期30天,每20天刷一次 + MtwmRefreshToken string `orm:"size(255)" json:"mtwmRefreshToken"` //美团外卖商超refreshToken + EbaiSupplierID string `orm:"column(ebai_supplier_id)" json:"ebaiSupplierID"` //饿百供应商ID } func (*StoreMap) TableUnique() [][]string { @@ -868,7 +866,6 @@ type StoreManageState struct { StoreID int `orm:"column(store_id)" json:"storeID"` VendorID int `orm:"column(vendor_id)" json:"vendorID"` CoverArea float64 `json:"coverArea"` - MarketScale int `json:"marketScale"` //市场规模 OpenTime float64 `json:"openTime"` //营业时长 SkuCount int `json:"skuCount"` //商品数 HighSkuCount int `json:"highSkuCount"` //虚高商品数 @@ -878,7 +875,6 @@ type StoreManageState struct { StoreScore float64 `json:"storeScore"` //门店评分 RepurchaseRate int `json:"repurchaseRate"` //复购率(转化率) VendorStatus int `json:"vendorStatus"` //平台营业状态 - Comment string `json:"comment"` //备注 } func (v *StoreManageState) TableUnique() [][]string { diff --git a/controllers/jx_report.go b/controllers/jx_report.go index 7de548e88..3147a8b46 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -120,8 +120,7 @@ func (c *ReportController) GetManageState() { // @Param token header string true "认证token" // @Param storeIDs query string false "门店ID列表[1,2,3]" // @Param vendorID query int true "平台ID" -// @Param fromTime query string true "开始日期(包含),格式(2006-01-02 00:00:00)" -// @Param toTime query string true "结束日期(包含),格式(2006-01-02 00:00:00)" +// @Param sortType query int false "排序类型" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" // @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult @@ -131,7 +130,7 @@ func (c *ReportController) GetStoreManageState() { c.callGetStoreManageState(func(params *tReportGetStoreManageStateParams) (retVal interface{}, errCode string, err error) { var storeIDs []int if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil { - retVal, err = report.GetStoreManageState(params.Ctx, storeIDs, params.VendorID, params.FromTime, params.ToTime, params.Offset, params.PageSize) + retVal, err = report.GetStoreManageState(params.Ctx, storeIDs, params.VendorID, params.SortType, params.Offset, params.PageSize) } return retVal, "", err }) From 452b61f9c90d2e424cf0aa5275256313c034cf4d 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, 11 Mar 2021 17:41:18 +0800 Subject: [PATCH 078/252] aa --- controllers/jx_report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/jx_report.go b/controllers/jx_report.go index 3147a8b46..b5baa8406 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -120,7 +120,7 @@ func (c *ReportController) GetManageState() { // @Param token header string true "认证token" // @Param storeIDs query string false "门店ID列表[1,2,3]" // @Param vendorID query int true "平台ID" -// @Param sortType query int false "排序类型" +// @Param sortType query int false "排序类型,1 覆盖范围,2市场规模,3营业时长,4商品数,5虚高商品数,6活动丰富度,7无效订单数,8拒绝订单数,9门店评分,正升序,负倒序" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" // @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult From ce5adfaafebd6cb9f47ae0e41e8f85db7320bbee 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, 11 Mar 2021 17:51:53 +0800 Subject: [PATCH 079/252] aa --- business/model/dao/store.go | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 91d3628b0..720efc095 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1175,7 +1175,20 @@ type GetStoreManageStateResult struct { } func GetStoreManageState(db *DaoDB, storeIDs []int, vendorID, sortType, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { - var requestList []*GetStoreManageStateResult + var ( + requestList []*GetStoreManageStateResult + GetStoreManageStateSortTypeMap = map[int]string{ + 1: "a.cover_area", + 2: "c.market_scale", + 3: "a.open_time", + 4: "a.sku_count", + 5: "a.high_sku_count", + 6: "a.act_ample", + 7: "a.null_order_count", + 8: "a.refuse_order_count", + 9: "a.store_score", + } + ) sql := ` SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name store_name, c.vendor_store_id, c.market_scale, b.comment, c.cover_area default_cover_area FROM store_manage_state a @@ -1193,8 +1206,13 @@ func GetStoreManageState(db *DaoDB, storeIDs []int, vendorID, sortType, offset, sqlParams = append(sqlParams, vendorID) } if sortType != 0 { - sql += " ORDER BY" - sqlParams = append(sqlParams, sortType) + if GetStoreManageStateSortTypeMap[sortType] != "" { + sql += " ORDER BY " + GetStoreManageStateSortTypeMap[sortType] + if sortType < 0 { + sql += " DESC" + } + sqlParams = append(sqlParams, sortType) + } } sql += " LIMIT ? OFFSET ?" pageSize = jxutils.FormalizePageSize(pageSize) From 4b14277f299f6d097f81dce96be665a26f2da9af 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, 11 Mar 2021 18:21:48 +0800 Subject: [PATCH 080/252] aa --- business/model/dao/store.go | 1 - 1 file changed, 1 deletion(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 720efc095..1801eae0d 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1211,7 +1211,6 @@ func GetStoreManageState(db *DaoDB, storeIDs []int, vendorID, sortType, offset, if sortType < 0 { sql += " DESC" } - sqlParams = append(sqlParams, sortType) } } sql += " LIMIT ? OFFSET ?" From 52efee5f964e023ac0d4bbac1bcc256d58124d24 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, 12 Mar 2021 09:11:40 +0800 Subject: [PATCH 081/252] aa --- business/jxstore/cms/store_sku.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 6de1849ef..3533da991 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1334,6 +1334,33 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs setStoreSkuBindStatus(skuBind, model.SyncFlagStockMask) if tmpStatus == model.StoreSkuBindStatusNormal { skuBind.Stock = model.MaxStoreSkuStockQty + //下面这段很难受 + { + //如果是京东关注,要去建商品 + list1, _ := dao.GetStoresMapList(db, []int{model.VendorIDJD}, []int{storeID}, nil, model.StoreStatusAll, 1, "", "", "") + //表示这个门店绑定了京东 + if len(list1) > 0 { + vendorOrgCodes, _ := dao.GetVendorOrgCode(db, model.VendorIDJD, list1[0].VendorOrgCode, model.VendorOrgTypePlatform) + //thingmap里肯定存在,再判断有没有同步上去 + thingMaps, _ := dao.GetThingMapList(db, model.ThingTypeSku, []int{model.VendorIDJD}, []int{v.RealSkuID}, []string{list1[0].VendorOrgCode}) + if len(thingMaps) > 0 { + //如果平台ID为空(未创建到京东) + if thingMaps[0].VendorThingID == "" { + isSyncSkus = true + appCodeList = append(appCodeList, list1[0].VendorOrgCode) + //并且同步标志还没有带待创建(因为addskuname现在建到thingmap上不会带待创建标志了) + if !model.IsSyncStatusNew(thingMaps[0].SyncStatus) { + OnCreateThing(ctx, db, vendorOrgCodes, int64(v.RealSkuID), model.ThingTypeSku, model.SyncFlagNewMask, false) + } + } + } else { + //万一不存在 + isSyncSkus = true + appCodeList = append(appCodeList, list1[0].VendorOrgCode) + OnCreateThing(ctx, db, vendorOrgCodes, int64(v.RealSkuID), model.ThingTypeSku, model.SyncFlagNewMask, false) + } + } + } } else { skuBind.Stock = 0 } From 656e679140e3b9fc3669a073c05871651176530f 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, 12 Mar 2021 09:15:47 +0800 Subject: [PATCH 082/252] aa --- controllers/sys.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/controllers/sys.go b/controllers/sys.go index adcff39d0..5cbacaad1 100644 --- a/controllers/sys.go +++ b/controllers/sys.go @@ -161,3 +161,14 @@ func (c *SysController) UpdateVendorOrgCode() { return retVal, "", err }) } + +// @Title 添加平台账号信息 +// @Description 添加平台账号信息 +// @Param token header string true "token" +// @Param payload formData string true "json数据,vendorOrgCode对象()" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /AddVendorOrgCode [post] +func (c *SysController) AddVendorOrgCode() { + +} From 795893424decbcd1153d1fa449f8c20718337643 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, 12 Mar 2021 09:25:54 +0800 Subject: [PATCH 083/252] aa --- business/jxstore/common/common.go | 16 ++++++++++++++++ controllers/sys.go | 8 +++++++- routers/commentsRouter_controllers.go | 9 +++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/business/jxstore/common/common.go b/business/jxstore/common/common.go index 3d4b991b5..9f9b37f10 100644 --- a/business/jxstore/common/common.go +++ b/business/jxstore/common/common.go @@ -271,3 +271,19 @@ func UpdateVendorOrgCode(ctx *jxcontext.Context, ID int, payload map[string]inte } return err } + +func AddVendorOrgCode(ctx *jxcontext.Context, vendorOrgCode *model.VendorOrgCode) (err error) { + var ( + db = dao.GetDB() + ) + list, err := dao.GetVendorOrgCode(db, vendorOrgCode.VendorID, vendorOrgCode.VendorOrgCode, model.VendorOrgTypePlatform) + if err != nil { + return err + } + if len(list) > 0 { + return fmt.Errorf("库里有这个账号了,[%v]", vendorOrgCode.VendorOrgCode) + } + dao.WrapAddIDCULDEntity(vendorOrgCode, ctx.GetUserName()) + dao.CreateEntity(db, vendorOrgCode) + return err +} diff --git a/controllers/sys.go b/controllers/sys.go index 5cbacaad1..86b8ba5e3 100644 --- a/controllers/sys.go +++ b/controllers/sys.go @@ -170,5 +170,11 @@ func (c *SysController) UpdateVendorOrgCode() { // @Failure 200 {object} controllers.CallResult // @router /AddVendorOrgCode [post] func (c *SysController) AddVendorOrgCode() { - + c.callAddVendorOrgCode(func(params *tSysAddVendorOrgCodeParams) (retVal interface{}, errCode string, err error) { + vendorOrgCode := &model.VendorOrgCode{} + if err = utils.UnmarshalUseNumber([]byte(params.Payload), &vendorOrgCode); err == nil { + err = common.AddVendorOrgCode(params.Ctx, vendorOrgCode) + } + return retVal, "", err + }) } diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index bba3c0bfb..7de18001b 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -2952,6 +2952,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: "AddVendorOrgCode", + Router: `/AddVendorOrgCode`, + AllowHTTPMethods: []string{"post"}, + 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: "GetEbaiRTFDetail", From acb75f1e1f57b2054b87bab110051f12a7b8ff31 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, 12 Mar 2021 10:50:38 +0800 Subject: [PATCH 084/252] aa --- business/jxstore/report/report.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 21c501fab..f5e31daa6 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -415,16 +415,17 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { VendorID: storeMap.VendorID, } dao.WrapAddIDCULEntity(storeManage, ctx.GetUserName()) + handler := partner.GetPurchasePlatformFromVendorID(vendorID) + store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) if coverAreaFlag { - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { - if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeManage.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) - } else { - storeManage.CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) - } + if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeManage.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) + } else { + storeManage.CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) } } + //营业状态 + storeManage.VendorStatus = store.Status //营业时长 optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { @@ -441,7 +442,6 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { } storeManage.SkuCount, storeManage.HighSkuCount = len(storeSkus), highSkuCount //活动丰富度 - handler := partner.GetPurchasePlatformFromVendorID(vendorID) ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) storeManage.ActAmple = ample //订单 From 66da2067350e792c34c310e7489e71c75e4c87a5 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, 12 Mar 2021 14:16:03 +0800 Subject: [PATCH 085/252] aa --- business/jxstore/cms/sync_store_sku.go | 4 +++- business/partner/purchase/jdshop/jds.go | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 991701466..483cc0b10 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -469,7 +469,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag now := jxutils.OperationTime2HourMinuteFormat(time.Now()) var failedList []*partner.StoreSkuInfoWithErr for _, sku := range skus { - globals.SugarLogger.Debugf("syncStoreSkuNew sku sync:%v", sku.SkuSyncStatus) + globals.SugarLogger.Debugf("syncStoreSkuNew sku sync1:%v", sku.SkuSyncStatus) if !useVendorPriceDirectly && !isSkuLockTimeValid(sku) { sku.VendorPrice = 0 @@ -521,6 +521,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } isNeedReorder = true } else { + globals.SugarLogger.Debugf("syncStoreSkuNew sku sync2:%v", sku.SkuSyncStatus) 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) { @@ -547,6 +548,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) priceList = append(priceList, bareSku) } + globals.SugarLogger.Debugf("syncStoreSkuNew sku sync3:%v", sku.SkuSyncStatus) if !isAdded2Update { if model.IsSyncStatusUpdate(sku.SkuSyncStatus) && singleStoreHandler == nil { // 正常就不应该进到这里 // if bareSku == nil { diff --git a/business/partner/purchase/jdshop/jds.go b/business/partner/purchase/jdshop/jds.go index 843d21049..84ed0f729 100644 --- a/business/partner/purchase/jdshop/jds.go +++ b/business/partner/purchase/jdshop/jds.go @@ -44,7 +44,7 @@ func getAPI(appOrgCode string) (apiObj *jdshopapi.API) { apiObj.SetCookieWithStr(configs[0].Value) } } - return + return apiObj } func (p *PurchaseHandler) GetVendorID() int { From 848848df8ffc3414d334819b415532fd9bc735bc 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, 12 Mar 2021 14:19:54 +0800 Subject: [PATCH 086/252] aa --- business/jxstore/cms/sync_store_sku.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 483cc0b10..86512f459 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -521,7 +521,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag } isNeedReorder = true } else { - globals.SugarLogger.Debugf("syncStoreSkuNew sku sync2:%v", sku.SkuSyncStatus) 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) { @@ -548,14 +547,15 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) priceList = append(priceList, bareSku) } - globals.SugarLogger.Debugf("syncStoreSkuNew sku sync3:%v", sku.SkuSyncStatus) if !isAdded2Update { + globals.SugarLogger.Debugf("syncStoreSkuNew sku sync1:%v", sku.SkuSyncStatus) if model.IsSyncStatusUpdate(sku.SkuSyncStatus) && singleStoreHandler == nil { // 正常就不应该进到这里 // if bareSku == nil { // bareSku = storeSkuSyncInfo2Bare(sku) // } // updateItems = append(updateItems, sku2Update(vendorID, sku, model.SyncFlagStockMask)) } + globals.SugarLogger.Debugf("syncStoreSkuNew sku sync2:%v", sku.SkuSyncStatus) if model.IsSyncStatusSale(sku.SkuSyncStatus) { if bareSku == nil { bareSku = storeSkuSyncInfo2Bare(sku) @@ -571,6 +571,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag // } } } + globals.SugarLogger.Debugf("syncStoreSkuNew sku sync3:%v", sku.SkuSyncStatus) if model.IsSyncStatusStock(sku.SkuSyncStatus) { if bareSku == nil { bareSku = storeSkuSyncInfo2Bare(sku) From 3016590f89fc5626d66f9e94f07397cd6bbe96f1 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, 12 Mar 2021 14:27:34 +0800 Subject: [PATCH 087/252] aa --- 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 86512f459..7bb47bff3 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -536,7 +536,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag isAdded2Update := false // 修改商品信息时不改价(以免活动引起的失败),而用单独的改价来改 if (model.IsSyncStatusUpdate(sku.SkuSyncStatus) || (model.IsSyncStatusSeq(sku.SkuSyncStatus) && reorderHandler == nil)) && singleStoreHandler != nil { - if dao.IsVendorThingIDEmpty(sku.VendorCatID) && !strings.Contains(sku.StoreName, model.ExdStoreName) && vendorID != model.VendorIDYB && vendorID != model.VendorIDJDShop { + if dao.IsVendorThingIDEmpty(sku.VendorCatID) && !strings.Contains(sku.StoreName, model.ExdStoreName) && vendorID != model.VendorIDYB { // globals.SugarLogger.Warnf("syncStoreSkuNew 修改门店:%d商品:%d,但没有平台分类ID", storeID, sku.SkuID) } else { isAdded2Update = true From a63206756fe2ba61048e1eb48977df4cdd39b6ea 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, 12 Mar 2021 14:37:18 +0800 Subject: [PATCH 088/252] aa --- business/jxstore/cms/sync_store_sku.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 7bb47bff3..d579fc5e5 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -373,7 +373,7 @@ func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyn // } // }() if vendorID == model.VendorIDJDShop { - if syncStatus != model.SyncFlagPriceMask && syncStatus != model.SyncFlagSaleMask { + if syncStatus != model.SyncFlagPriceMask && syncStatus != model.SyncFlagSaleMask && syncStatus != model.SyncFlagStockMask { for _, v := range storeSkuList { updateItemList := make([]*dao.KVUpdateItem, len(v.StoreSkuSyncInfoJds)) for k, vv := range v.StoreSkuSyncInfoJds { @@ -548,14 +548,12 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag priceList = append(priceList, bareSku) } if !isAdded2Update { - globals.SugarLogger.Debugf("syncStoreSkuNew sku sync1:%v", sku.SkuSyncStatus) if model.IsSyncStatusUpdate(sku.SkuSyncStatus) && singleStoreHandler == nil { // 正常就不应该进到这里 // if bareSku == nil { // bareSku = storeSkuSyncInfo2Bare(sku) // } // updateItems = append(updateItems, sku2Update(vendorID, sku, model.SyncFlagStockMask)) } - globals.SugarLogger.Debugf("syncStoreSkuNew sku sync2:%v", sku.SkuSyncStatus) if model.IsSyncStatusSale(sku.SkuSyncStatus) { if bareSku == nil { bareSku = storeSkuSyncInfo2Bare(sku) @@ -571,14 +569,11 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag // } } } - globals.SugarLogger.Debugf("syncStoreSkuNew sku sync3:%v", sku.SkuSyncStatus) if model.IsSyncStatusStock(sku.SkuSyncStatus) { if bareSku == nil { bareSku = storeSkuSyncInfo2Bare(sku) } - globals.SugarLogger.Debugf("syncStoreSkuNew sku stock sync:%v", sku.SkuSyncStatus) stockList = append(stockList, bareSku) - globals.SugarLogger.Debugf("syncStoreSkuNew stock len:%v", len(stockList)) } } isNeedReorder = model.IsSyncStatusSeq(sku.SkuSyncStatus) From 303ec79cce3eedc90c367ca67eddca67114a0c77 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, 12 Mar 2021 14:45:50 +0800 Subject: [PATCH 089/252] aa --- business/jxstore/cms/sync_store_sku.go | 2 +- business/jxutils/jxutils.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index d579fc5e5..79b46ecc7 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -297,7 +297,7 @@ func formalizeStoreSkuList(inSkuList []*dao.StoreSkuSyncInfo) []*dao.StoreSkuSyn skuItem.VendorVendorCatID = utils.Str2Int64(skuItem.SkuVendorMapCatID) } skuItem.MergedStatus = jxutils.MergeSkuStatus(jxutils.MergeSkuStatus(skuItem.NameStatus, skuItem.Status), skuItem.StoreSkuStatus) - //美团的商品名字非标品中间不能有 ‘约’ + //美团的商品名字都要有 ‘约’ if skuItem.VendorID == model.VendorIDMTWM { skuItem.SkuName = jxutils.ComposeSkuNameSync2(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0, skuItem.ExPrefix, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd, (skuItem.BrandID == skuItem.ExBrandID && skuItem.ExBrandID != 0) || skuItem.ExBrandID == 0) } else { diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index 3af82f812..63d0dcbd9 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -425,6 +425,7 @@ func ComposeSkuNameForMTWM(prefix, name, comment, unit string, spec_quality floa } skuName += name strBuilder.WriteString(name) + strBuilder.WriteString("约") if unit != "" { strBuilder.WriteString(ComposeSkuSpec(spec_quality, spec_unit)) strBuilder.WriteString("/") From b93fba4bb56b9cbb68cf2a8a07cde27b08e65cf1 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, 12 Mar 2021 15:37:42 +0800 Subject: [PATCH 090/252] aa --- business/jxstore/cms/sync2.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/sync2.go b/business/jxstore/cms/sync2.go index dde1eea01..30c06ee8e 100644 --- a/business/jxstore/cms/sync2.go +++ b/business/jxstore/cms/sync2.go @@ -613,7 +613,7 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, if err = err2; err == nil { remoteCatMap := make(map[string]int) cat2Delete = checkRemoteCatExist(remoteCatMap, localCatMap, remoteCatList) - + fmt.Println("1111111111111111111111111111", utils.Format4Output(localCatList, false)) for _, v := range localCatList { if v.IsExdSpec == model.NO { if v.MapID != 0 { From 3cb0904e6f0098f29857be44ce5b7fabe7a5896c 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, 12 Mar 2021 15:43:06 +0800 Subject: [PATCH 091/252] aa --- business/jxstore/cms/sync2.go | 1 - business/model/dao/sku.go | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/sync2.go b/business/jxstore/cms/sync2.go index 30c06ee8e..171e0b0e0 100644 --- a/business/jxstore/cms/sync2.go +++ b/business/jxstore/cms/sync2.go @@ -613,7 +613,6 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, if err = err2; err == nil { remoteCatMap := make(map[string]int) cat2Delete = checkRemoteCatExist(remoteCatMap, localCatMap, remoteCatList) - fmt.Println("1111111111111111111111111111", utils.Format4Output(localCatList, false)) for _, v := range localCatList { if v.IsExdSpec == model.NO { if v.MapID != 0 { diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index 3c991428d..b1425029a 100644 --- a/business/model/dao/sku.go +++ b/business/model/dao/sku.go @@ -1,6 +1,7 @@ package dao import ( + "fmt" "time" "git.rosy.net.cn/baseapi/platformapi/aliupcapi" @@ -257,6 +258,8 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, sqlParams = append(sqlParams, appOrgCodes) } sql += " ORDER BY t1.seq" + fmt.Println(sql) + fmt.Println(sqlParams) err = GetRows(db, &catList, sql, sqlParams...) return catList, err } From 3d39ce347e18c4f71f60f1f38213c3e81fc7fa1c 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, 12 Mar 2021 15:52:43 +0800 Subject: [PATCH 092/252] aa --- business/model/dao/sku.go | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index b1425029a..fa3dad9e3 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" @@ -199,6 +198,7 @@ func GetSkuByCats(db *DaoDB, catIDs []int) (skuList []*model.Sku, err error) { // 多门店平台使用,当前只有京东 func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, parentCatID int, catIDs []int, mustDirty bool) (catList []*SkuStoreCatInfo, err error) { + sqlParams := []interface{}{} sql := ` SELECT t1m.vendor_id, t1m.vendor_org_code, @@ -217,15 +217,25 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, t1pm.sync_status parent_cat_sync_status FROM sku_category t1 LEFT JOIN thing_map t1m ON t1m.thing_id = t1.id AND t1m.thing_type = ? AND t1m.deleted_at = ? + ` + if len(vendorIDs) > 0 { + sql += " AND t1m.vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")" + sqlParams = append(sqlParams, vendorIDs) + } + if len(appOrgCodes) > 0 { + sql += " AND t1m.vendor_org_code IN (" + GenQuestionMarks(len(appOrgCodes)) + ")" + sqlParams = append(sqlParams, appOrgCodes) + } + sql += ` LEFT JOIN vendor_org_code a ON a.vendor_org_code = t1m.vendor_org_code AND a.vendor_id = t1m.vendor_id AND a.deleted_at = ? LEFT JOIN vendor_category_map b ON b.vendor_org_code = t1m.vendor_org_code AND b.vendor_id = t1m.vendor_id AND b.category_id = t1m.thing_id AND b.deleted_at = ? ` - sqlParams := []interface{}{ + sqlParams = append(sqlParams, model.ThingTypeCategory, utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, - } + ) sql += ` LEFT JOIN sku_category t1p ON t1p.id = t1.parent_id LEFT JOIN thing_map t1pm ON t1pm.thing_id = t1p.id AND t1pm.thing_type = ? AND t1m.deleted_at = ? @@ -249,17 +259,7 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, sql += " AND t1.parent_id = ?" sqlParams = append(sqlParams, parentCatID) } - if len(vendorIDs) > 0 { - sql += " AND t1m.vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")" - sqlParams = append(sqlParams, vendorIDs) - } - if len(appOrgCodes) > 0 { - sql += " AND t1m.vendor_org_code IN (" + GenQuestionMarks(len(appOrgCodes)) + ")" - sqlParams = append(sqlParams, appOrgCodes) - } sql += " ORDER BY t1.seq" - fmt.Println(sql) - fmt.Println(sqlParams) err = GetRows(db, &catList, sql, sqlParams...) return catList, err } From e97baae8d112699a5b97afb4e39eef9c5714c808 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, 12 Mar 2021 15:57:29 +0800 Subject: [PATCH 093/252] aa --- business/jxstore/cms/sync2.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/sync2.go b/business/jxstore/cms/sync2.go index 171e0b0e0..98f4cf34b 100644 --- a/business/jxstore/cms/sync2.go +++ b/business/jxstore/cms/sync2.go @@ -604,7 +604,7 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, } } getSyncFlagCat := func(categoryID int) int8 { - if vendorCatMap[categoryID] != nil { + if vendorCatMap[categoryID] != nil || vendorOrgCodes[0].IsJxCat == model.NO { return model.SyncFlagNewMask } return 0 From a5e37278aac5da0e0935848f49ff3627841fea3b 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, 12 Mar 2021 16:14:22 +0800 Subject: [PATCH 094/252] aa --- business/jxstore/cms/sync2.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxstore/cms/sync2.go b/business/jxstore/cms/sync2.go index 98f4cf34b..3c3de4ba8 100644 --- a/business/jxstore/cms/sync2.go +++ b/business/jxstore/cms/sync2.go @@ -103,6 +103,8 @@ func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs needSyncParentIDs = append(needSyncParentIDs, cat.ParentID) } } + fmt.Println("22222222222222222222222", utils.Format4Output(catList, false)) + fmt.Println("22222222222222222222222", utils.Format4Output(needSyncParentIDs, false)) if len(needSyncParentIDs) > 0 { task := tasksch.NewSeqTask(fmt.Sprintf("同步分类1:%v", catIDs), ctx, func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { From 47ce54c9af3ed768651b66945a59af29b49d7fa4 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, 12 Mar 2021 16:17:40 +0800 Subject: [PATCH 095/252] aa --- business/jxstore/cms/sync2.go | 2 -- business/model/dao/sku.go | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/sync2.go b/business/jxstore/cms/sync2.go index 3c3de4ba8..98f4cf34b 100644 --- a/business/jxstore/cms/sync2.go +++ b/business/jxstore/cms/sync2.go @@ -103,8 +103,6 @@ func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs needSyncParentIDs = append(needSyncParentIDs, cat.ParentID) } } - fmt.Println("22222222222222222222222", utils.Format4Output(catList, false)) - fmt.Println("22222222222222222222222", utils.Format4Output(needSyncParentIDs, false)) if len(needSyncParentIDs) > 0 { task := tasksch.NewSeqTask(fmt.Sprintf("同步分类1:%v", catIDs), ctx, func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index fa3dad9e3..eea528cb3 100644 --- a/business/model/dao/sku.go +++ b/business/model/dao/sku.go @@ -1,6 +1,7 @@ package dao import ( + "fmt" "time" "git.rosy.net.cn/baseapi/platformapi/aliupcapi" @@ -260,6 +261,8 @@ 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 f47e36d04e7b93a8d96ec391e9063732cd19cd38 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, 12 Mar 2021 16:22:57 +0800 Subject: [PATCH 096/252] aa --- business/model/dao/sku.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index eea528cb3..995211095 100644 --- a/business/model/dao/sku.go +++ b/business/model/dao/sku.go @@ -219,6 +219,9 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, FROM sku_category t1 LEFT JOIN thing_map t1m ON t1m.thing_id = t1.id AND t1m.thing_type = ? AND t1m.deleted_at = ? ` + sqlParams = append(sqlParams, + model.ThingTypeCategory, + utils.DefaultTimeValue) if len(vendorIDs) > 0 { sql += " AND t1m.vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")" sqlParams = append(sqlParams, vendorIDs) @@ -232,8 +235,6 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, LEFT JOIN vendor_category_map b ON b.vendor_org_code = t1m.vendor_org_code AND b.vendor_id = t1m.vendor_id AND b.category_id = t1m.thing_id AND b.deleted_at = ? ` sqlParams = append(sqlParams, - model.ThingTypeCategory, - utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, ) From cd87619ac6eebff48eb2e7df25fe0124e877ba58 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, 12 Mar 2021 16:53:22 +0800 Subject: [PATCH 097/252] aa --- business/jxstore/cms/sync_store_sku.go | 3 + business/model/dao/store.go | 2 +- business/partner/purchase/jdshop/store_sku.go | 59 +++++++++++++------ 3 files changed, 44 insertions(+), 20 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 79b46ecc7..03f0d2615 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -927,6 +927,9 @@ func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, v step := batchItemList[0].(int) switch step { case 0: + if vendorID == model.VendorIDJDShop { + storeID = model.JdShopMainStoreID2 + } localSkuList, err := dao.GetStoreSkus2(db, vendorID, storeID, nil, false) if err != nil { return nil, err diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 1801eae0d..f1f98c590 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -168,7 +168,7 @@ func getStoreDetail(db *DaoDB, storeID, vendorID int, vendorStoreID, vendorOrgCo sqlParams = append(sqlParams, vendorOrgCode) } if vendorID == model.VendorIDJDShop && vendorOrgCode == "" { - sql += " AND t2.vendor_org_code = 1" + sql += " AND t2.vendor_org_code = 2" } if err = GetRow(db, &storeDetail, sql, sqlParams...); err == nil { storeDetail.PricePercentagePackObj = PricePercentagePack2Obj(storeDetail.PricePercentagePackStr) diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 4cb3a5563..616b8e08a 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -11,7 +11,6 @@ import ( "git.rosy.net.cn/jx-callback/globals/api" - "git.rosy.net.cn/baseapi/platformapi/yinbaoapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" @@ -478,17 +477,29 @@ func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTas pageNo = 1 pageSize = 20 ) - _, totalCount, err := api.JdShopAPI.SearchSkuList(pageNo, pageSize) - for ; pageNo <= totalCount/pageSize+1; pageNo++ { - result, _, err := api.JdShopAPI.SearchSkuList(pageNo, pageSize) - if err == nil { - for _, v := range result { - if skuName := vendorSku2Jx(v); skuName != nil { - skuNameList = append(skuNameList, skuName) + if result, totalCount, err := api.JdShop2API.StoreProductSearch(pageNo, pageSize, []string{vendorStoreID}); err == nil && result != nil { + for ; pageNo <= totalCount/pageSize+1; pageNo++ { + result2, _, err := api.JdShop2API.StoreProductSearch(pageNo, pageSize, []string{vendorStoreID}) + if err == nil { + for _, v := range result2 { + if skuName := vendorSku2Jx2(v); skuName != nil { + skuNameList = append(skuNameList, skuName) + } } } } } + // _, totalCount, err := api.JdShopAPI.SearchSkuList(pageNo, pageSize) + // for ; pageNo <= totalCount/pageSize+1; pageNo++ { + // result, _, err := api.JdShopAPI.SearchSkuList(pageNo, pageSize) + // if err == nil { + // for _, v := range result { + // if skuName := vendorSku2Jx(v); skuName != nil { + // skuNameList = append(skuNameList, skuName) + // } + // } + // } + // } return skuNameList, err } @@ -688,17 +699,6 @@ func (p *PurchaseHandler) IsErrSkuNotExist(err error) (isNotExist bool) { return false } -func ybSkuStatus2Jx(ybStatus int) (jxSkuStatus int) { - if ybStatus == yinbaoapi.SkuStatusEnable { - jxSkuStatus = model.SkuStatusNormal - } else if ybStatus == yinbaoapi.SkuStatusDisabled { - jxSkuStatus = model.SkuStatusDontSale - } else if ybStatus == yinbaoapi.SkuStatusDeleted { - jxSkuStatus = model.SkuStatusDeleted - } - return jxSkuStatus -} - func vendorSku2Jx(result *jdshopapi.SearchSkuListResult) (skuName *partner.SkuNameInfo) { if result == nil { globals.SugarLogger.Warnf("vendorSku2Jx, strange result:%s", utils.Format4Output(result, true)) @@ -722,6 +722,27 @@ func vendorSku2Jx(result *jdshopapi.SearchSkuListResult) (skuName *partner.SkuNa return skuName } +func vendorSku2Jx2(result *jdshopapi.StoreProductSearchResult) (skuName *partner.SkuNameInfo) { + if result == nil { + globals.SugarLogger.Warnf("vendorSku2Jx, strange result:%s", utils.Format4Output(result, true)) + return nil + } + skuName = &partner.SkuNameInfo{ + Name: result.SkuName, + SkuList: []*partner.SkuInfo{ + &partner.SkuInfo{ + StoreSkuInfo: partner.StoreSkuInfo{ + VendorSkuID: utils.Int64ToStr(result.SkuID), + Stock: result.StockNum, + VendorPrice: jxutils.StandardPrice2Int(result.StorePrice), + }, + }, + }, + Status: result.Status, + } + return skuName +} + func updateOrCreateCategories(storeCat *dao.SkuStoreCatInfo, isCreate bool) (status int64, err error) { var createShopCategoryParams []*jdshopapi.CreateShopCategoryParam result, err := getAPI(storeCat.VendorOrgCode).FindShopCategories() From 99d4b4dd047fbd894d74979d8e49de1b417cea18 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, 12 Mar 2021 17:03:40 +0800 Subject: [PATCH 098/252] aa --- business/jxstore/cms/sync_store_sku.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 03f0d2615..e159d7ddc 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -927,16 +927,19 @@ func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, v step := batchItemList[0].(int) switch step { case 0: - if vendorID == model.VendorIDJDShop { - storeID = model.JdShopMainStoreID2 - } localSkuList, err := dao.GetStoreSkus2(db, vendorID, storeID, nil, false) if err != nil { return nil, err } localSkuMap := make(map[string]*dao.StoreSkuSyncInfo) for _, v := range localSkuList { - localSkuMap[v.VendorSkuID] = v + vendorSkuID := v.VendorSkuID + if vendorID == model.VendorIDJDShop { + if storeSkus, _ := dao.GetStoresSkusInfo(db, []int{model.JdShopMainStoreID2}, []int{v.SkuID}); len(storeSkus) > 0 { + vendorSkuID = utils.Int64ToStr(storeSkus[0].JdsID) + } + } + localSkuMap[vendorSkuID] = v } remoteSkuList, err2 := handler.GetStoreSkusFullInfo(ctx, task, storeID, vendorStoreID, nil) From 375801ad2723b47f2c1071ec4506597b9317c342 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, 15 Mar 2021 09:21:59 +0800 Subject: [PATCH 099/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index f5e31daa6..239dd0e25 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,7 +397,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { db = dao.GetDB() vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59") - coverAreaFlag = time.Now().Hour() == 0 && time.Now().Minute() > 0 && time.Now().Minute() < 12 + coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 20 && time.Now().Minute() < 32 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { From 341db8e564afe826f02df03608670cf4d525449f 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, 15 Mar 2021 09:53:58 +0800 Subject: [PATCH 100/252] aa --- business/jxstore/report/report.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 239dd0e25..054ae6669 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,7 +397,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { db = dao.GetDB() vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59") - coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 20 && time.Now().Minute() < 32 + coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { @@ -419,11 +419,12 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) if coverAreaFlag { if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeManage.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) + storeManage.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000) } else { storeManage.CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) } } + storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) //营业状态 storeManage.VendorStatus = store.Status //营业时长 From 09f5bf4edc85ef45b1a322acde1adb84459d3edf 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, 15 Mar 2021 09:58:32 +0800 Subject: [PATCH 101/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 054ae6669..d18317767 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -495,7 +495,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID, sortT storeIDs = storeIDs2 } } - return dao.GetStoreManageState(db, storeIDs, vendorID, sortType, pageSize, offset) + return dao.GetStoreManageState(db, storeIDs, vendorID, sortType, offset, pageSize) } func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { From 0d402ec65fbe182591eec371063f51738e421715 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, 15 Mar 2021 11:17:31 +0800 Subject: [PATCH 102/252] aa --- business/jxcallback/orderman/orderman_ext.go | 9 +++++++++ business/jxstore/cms/store.go | 6 ++++++ business/jxstore/cms/store_sku.go | 6 ++++++ business/jxstore/cms/sync.go | 3 +++ business/jxstore/misc/store_score.go | 3 +++ business/jxstore/report/report.go | 3 +++ business/jxutils/weixinmsg/weixinmsg.go | 3 +++ 7 files changed, 33 insertions(+) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index e89896b0c..1aacd4b44 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -300,6 +300,9 @@ func (c *OrderManager) GetOrders(ctx *jxcontext.Context, isIncludeFake bool, fro } } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) @@ -344,6 +347,9 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS } } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) @@ -905,6 +911,9 @@ func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID, storeIDs2 = append(storeIDs2, v) } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index e0d3db66c..f226adae5 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1539,6 +1539,9 @@ func TmpGetJxBadCommentsByStoreId(ctx *jxcontext.Context, keyword string, storeI storeIDs2 = append(storeIDs2, v) } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) @@ -2846,6 +2849,9 @@ func GetStorePriceScore(ctx *jxcontext.Context, storeIDs, vendorIDs []int, fromS storeIDs2 = append(storeIDs2, v) } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 3533da991..ec78f70ef 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -497,6 +497,9 @@ func GetStoresSkus(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus, isHi storeIDs2 = append(storeIDs2, v) } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) @@ -4813,6 +4816,9 @@ func GetStoreSkuAudit(ctx *jxcontext.Context, storeIDs, nameIDs, skuIDs, statuss storeIDs2 = append(storeIDs2, v) } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index 3277a6dde..e2f433052 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -532,6 +532,9 @@ func (v *VendorSync) SyncStoresSkus(ctx *jxcontext.Context, parentTask tasksch.I storeIDs2 = append(storeIDs2, v) } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) diff --git a/business/jxstore/misc/store_score.go b/business/jxstore/misc/store_score.go index 0340dc879..7621c1458 100644 --- a/business/jxstore/misc/store_score.go +++ b/business/jxstore/misc/store_score.go @@ -825,6 +825,9 @@ func GetStoreTotalScoreList(ctx *jxcontext.Context, storeIDList []int, cityCode storeIDs2 = append(storeIDs2, v) } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index d18317767..f723090f3 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -486,6 +486,9 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID, sortT storeIDs2 = append(storeIDs2, v) } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) diff --git a/business/jxutils/weixinmsg/weixinmsg.go b/business/jxutils/weixinmsg/weixinmsg.go index 7ebf6fdba..7c08a6c0b 100644 --- a/business/jxutils/weixinmsg/weixinmsg.go +++ b/business/jxutils/weixinmsg/weixinmsg.go @@ -807,6 +807,9 @@ func SendStoreMessage(ctx *jxcontext.Context, title, content string, storeIDs [] storeIDs2 = append(storeIDs2, v) } } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } } else { for k, _ := range storeIDsMap { storeIDs2 = append(storeIDs2, k) From 8c526bc31fa7949f0ccbdf22fb60927d0b09cec4 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, 15 Mar 2021 11:28:44 +0800 Subject: [PATCH 103/252] aa --- business/jxcallback/orderman/orderman_ext.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 1aacd4b44..07b40f08c 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -73,7 +73,14 @@ func (c *OrderManager) GetStoreOrderCountInfo(ctx *jxcontext.Context, storeID, l } else if lastHours == 0 && lastMinutes == 0 { lastHours = defLastHours } - + //权限 + if permission.IsRoled(ctx) { + if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { + if storeIDsMap[storeID] == 0 { + storeID = -1 + } + } + } db := dao.GetDB() sql := ` SELECT t1.lock_status, t1.status, COUNT(*) count From 26de1f03de34150fd496b3e9ec0d78d4ad76c5a4 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, 15 Mar 2021 13:50:36 +0800 Subject: [PATCH 104/252] aa --- business/jxstore/cms/user2.go | 10 ++++++++++ business/jxstore/permission/permission.go | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/business/jxstore/cms/user2.go b/business/jxstore/cms/user2.go index f1ad66737..ffa73ae19 100644 --- a/business/jxstore/cms/user2.go +++ b/business/jxstore/cms/user2.go @@ -8,6 +8,8 @@ import ( "sync" "time" + "git.rosy.net.cn/jx-callback/business/jxstore/permission" + "git.rosy.net.cn/jx-callback/business/partner/purchase/jd" "git.rosy.net.cn/jx-callback/globals/api/apimanager" @@ -561,6 +563,14 @@ func AddUsers4Role(ctx *jxcontext.Context, r *authz.RoleInfo, userIDList []strin errList := errlist.New() for _, v := range userIDList { + if permission.IsRoledByUserID(v) { + if storeIDsMap, err := permission.GetUserStoresResultMap(v); err == nil { + if storeIDsMap[r.StoreID] == 0 { + return fmt.Errorf("此用户没有该门店[%v]的权限,无法添加到分组", r.StoreID) + } + } + } + if err = checkUserType(v, model.UserTypeNonConsumer); err != nil { return err } diff --git a/business/jxstore/permission/permission.go b/business/jxstore/permission/permission.go index ad3e16ac0..28ae73342 100644 --- a/business/jxstore/permission/permission.go +++ b/business/jxstore/permission/permission.go @@ -413,3 +413,12 @@ func IsRoled(ctx *jxcontext.Context) bool { } return false } + +func IsRoledByUserID(userID string) bool { + if user, err := dao.GetUserByID(dao.GetDB(), "user_id", userID); err == nil { + if user.Type&model.UserTypeRole != 0 { + return true + } + } + return false +} From 3a417753b7b39294e24e88d1704a48f3aa2df37c 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, 15 Mar 2021 14:18:32 +0800 Subject: [PATCH 105/252] aa --- business/jxstore/cms/store_sku.go | 1 - 1 file changed, 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index ec78f70ef..3ef4d9e36 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4452,7 +4452,6 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product db = dao.GetDB() skuBindInfos []*StoreSkuBindInfo ) - return fmt.Errorf("此商品名在京西库中查询出了大于1个商品,[%v]", "beta测试") if productInfo == nil { return fmt.Errorf("未查询到相关商品!") From d312acaf4236a6f25a39cb56e82bdf0718f0d7dd 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, 15 Mar 2021 15:40:47 +0800 Subject: [PATCH 106/252] aa --- business/model/dao/store.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index f1f98c590..306a8307c 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1,6 +1,7 @@ package dao import ( + "fmt" "sort" "time" @@ -1218,6 +1219,8 @@ func GetStoreManageState(db *DaoDB, storeIDs []int, vendorID, sortType, offset, sqlParams = append(sqlParams, pageSize, offset) Begin(db) defer Commit(db) + fmt.Println(sql) + fmt.Println(sqlParams) if err = GetRows(db, &requestList, sql, sqlParams...); err == nil { return &model.PagedInfo{ TotalCount: GetLastTotalRowCount(db), From da6196275db0456a3d1044950b21be9921603e86 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, 15 Mar 2021 16:05:11 +0800 Subject: [PATCH 107/252] aa --- business/jxstore/report/report.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index f723090f3..c4cffcb44 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,7 +397,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { db = dao.GetDB() vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59") - coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59 + // coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { @@ -417,13 +417,13 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { dao.WrapAddIDCULEntity(storeManage, ctx.GetUserName()) handler := partner.GetPurchasePlatformFromVendorID(vendorID) store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) - if coverAreaFlag { - if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeManage.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000) - } else { - storeManage.CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) - } + // if coverAreaFlag { + if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeManage.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000) + } else { + storeManage.CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) } + // } storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) //营业状态 storeManage.VendorStatus = store.Status @@ -432,7 +432,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() } - storeManage.OpenTime = optime + storeManage.OpenTime = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.OpenTime)) //商品数 highSkuCount := 0 storeSkus, _ := dao.GetStoresSkusForManageState(db, storeMap.StoreID, model.StoreSkuBindStatusNormal) From 6b080b576dd988d511673151d519d4422b7450f3 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, 15 Mar 2021 16:15:56 +0800 Subject: [PATCH 108/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index c4cffcb44..cfda25b1d 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -432,7 +432,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() } - storeManage.OpenTime = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.OpenTime)) + storeManage.OpenTime = utils.Str2Float64(fmt.Sprintf("%.2f", optime)) //商品数 highSkuCount := 0 storeSkus, _ := dao.GetStoresSkusForManageState(db, storeMap.StoreID, model.StoreSkuBindStatusNormal) From e136f2f2cd29a2a12fcbbe33f66b65356e279abf 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, 15 Mar 2021 17:01:14 +0800 Subject: [PATCH 109/252] aa --- business/jxstore/tempop/tempop.go | 44 +++++++++++++++++++------------ 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 99b578d5c..6d372f0d8 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1888,25 +1888,35 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // }, storeMaps) // tasksch.HandleTask(task, nil, true).Run() // _, err = task.GetResult(0) - skuIDMap := make(map[int]int) - order, _ := partner.CurOrderManager.LoadOrder("2105998332000452", 0) - for _, v := range order.Skus { - if skuID := jxutils.GetSkuIDFromOrderSku(v); skuID > 0 { - skuIDMap[skuID] = 1 - } + var ( + db = dao.GetDB() + skuNames []*model.SkuName + ) + sql := ` + SELECT * FROM sku_name WHERE deleted_at = ? AND img = ? + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, model.NOSkuNameImg, } - actStoreSkuList, err := dao.GetEffectiveActStoreSkuInfo(dao.GetDB(), 0, []int{0}, model.ActTypeAll, []int{103168}, jxutils.IntMap2List(skuIDMap), order.OrderCreatedAt, order.OrderCreatedAt) - fmt.Println("actStoreSkuList111111111111111111", utils.Format4Output(actStoreSkuList, false)) - if actStoreSkuMap := jxutils.NewActStoreSkuMap(actStoreSkuList, false); actStoreSkuMap != nil { - for _, v := range order.Skus { - if skuID := jxutils.GetSkuIDFromOrderSku(v); skuID > 0 { - if actStoreSku := actStoreSkuMap.GetActStoreSku(103168, skuID, order.VendorID); actStoreSku != nil { - fmt.Println("actStoreSku11111111111111", utils.Format4Output(actStoreSku, false)) - v.EarningPrice = actStoreSku.EarningPrice - if true { //v.StoreSubName != "" { // 之前这里为什么要加判断? - v.StoreSubID = actStoreSku.ActID - } + dao.GetRows(db, &skuNames, sql, sqlParams) + for _, v := range skuNames { + if v.Upc != nil { + result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) + if v.Img == model.NOSkuNameImg { + imgs := strings.Split(result.Pic, ",") + if len(imgs) == 1 { + v.Img = imgs[0] } + if len(imgs) == 2 { + v.Img = imgs[0] + v.Img2 = imgs[1] + } + if len(imgs) >= 3 { + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[3] + } + dao.UpdateEntity(db, v, "Img", "Img2", "Img3") } } } From fbe40b226c75ca731575a7540bd0bb9444e48409 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, 15 Mar 2021 17:07:29 +0800 Subject: [PATCH 110/252] aa --- business/jxstore/tempop/tempop.go | 38 ++++++++++++++++++------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 6d372f0d8..9b45ea4fe 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1889,8 +1889,9 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // tasksch.HandleTask(task, nil, true).Run() // _, err = task.GetResult(0) var ( - db = dao.GetDB() - skuNames []*model.SkuName + db = dao.GetDB() + skuNames []*model.SkuName + failedSku []string ) sql := ` SELECT * FROM sku_name WHERE deleted_at = ? AND img = ? @@ -1902,24 +1903,29 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { for _, v := range skuNames { if v.Upc != nil { result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) - if v.Img == model.NOSkuNameImg { - imgs := strings.Split(result.Pic, ",") - if len(imgs) == 1 { - v.Img = imgs[0] + if result != nil { + if v.Img == model.NOSkuNameImg { + imgs := strings.Split(result.Pic, ",") + if len(imgs) == 1 { + v.Img = imgs[0] + } + if len(imgs) == 2 { + v.Img = imgs[0] + v.Img2 = imgs[1] + } + if len(imgs) >= 3 { + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[3] + } + dao.UpdateEntity(db, v, "Img", "Img2", "Img3") } - if len(imgs) == 2 { - v.Img = imgs[0] - v.Img2 = imgs[1] - } - if len(imgs) >= 3 { - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[3] - } - dao.UpdateEntity(db, v, "Img", "Img2", "Img3") + } else { + failedSku = append(failedSku, v.Upc) } } } + fmt.Println("failedSku11111111111111111111111111111111", failedSku) return err } From d9dd5859e0557e358c627202bfc8367c5c6f4438 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, 15 Mar 2021 17:08:18 +0800 Subject: [PATCH 111/252] aa --- business/jxstore/tempop/tempop.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 9b45ea4fe..95375b3e2 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1921,7 +1921,7 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { dao.UpdateEntity(db, v, "Img", "Img2", "Img3") } } else { - failedSku = append(failedSku, v.Upc) + failedSku = append(failedSku, *v.Upc) } } } From 0672c4bdcb445e0296611f33202578d8233a1a89 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, 15 Mar 2021 17:15:24 +0800 Subject: [PATCH 112/252] aa --- business/jxstore/tempop/tempop.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 95375b3e2..fd6ddf69f 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1916,7 +1916,7 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { if len(imgs) >= 3 { v.Img = imgs[0] v.Img2 = imgs[1] - v.Img3 = imgs[3] + v.Img3 = imgs[2] } dao.UpdateEntity(db, v, "Img", "Img2", "Img3") } From a1b173fdd9f45d2afb2fb2139f27807a83f6b9bd 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, 15 Mar 2021 17:19:08 +0800 Subject: [PATCH 113/252] aa --- business/model/dao/common.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/model/dao/common.go b/business/model/dao/common.go index 5ba50cd62..fad360dff 100644 --- a/business/model/dao/common.go +++ b/business/model/dao/common.go @@ -51,6 +51,7 @@ func GetVendorOrgCode(db *DaoDB, vendorID int, vendorOrgCode, vendorType string) sql += " AND vendor_type = ?" sqlParams = append(sqlParams, vendorType) } + sql += " ORDER BY comment" err = GetRows(db, &vendorOrgs, sql, sqlParams) return vendorOrgs, err } From aedb4e7649f29b3e50d6c11d576a864deb6af86d 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, 15 Mar 2021 17:36:17 +0800 Subject: [PATCH 114/252] aa --- business/model/dao/store.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 306a8307c..a2dae7498 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1207,7 +1207,13 @@ func GetStoreManageState(db *DaoDB, storeIDs []int, vendorID, sortType, offset, sqlParams = append(sqlParams, vendorID) } if sortType != 0 { - if GetStoreManageStateSortTypeMap[sortType] != "" { + tempSortType := 0 + if sortType < 0 { + tempSortType = -sortType + } else { + tempSortType = sortType + } + if GetStoreManageStateSortTypeMap[tempSortType] != "" { sql += " ORDER BY " + GetStoreManageStateSortTypeMap[sortType] if sortType < 0 { sql += " DESC" From 4f26f319ceb7c07670a79cb62437de597ae721f6 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, 15 Mar 2021 17:44:01 +0800 Subject: [PATCH 115/252] aa --- business/jxstore/cms/sku.go | 66 ++++++++++--------------------------- 1 file changed, 18 insertions(+), 48 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 4ed8c3a3a..cc141ef9e 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -2108,24 +2108,6 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID return retVal, err } skuName.Img = downloadURL - // if resBinary, _, err := jxutils.DownloadFileByURL(result.Img); err == nil { - // if downloadURL, err := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())+"origin"+result.Img[strings.LastIndex(result.Img, "/")+1:len(result.Img)]); err == nil { - // resBinary2, _, err := jxutils.DownloadFileByURL(downloadURL + model.SkuNameImgStandard) - // downloadURL2, err := jxutils.UploadExportContent(resBinary2, utils.Int64ToStr(time.Now().Unix())+downloadURL[strings.LastIndex(downloadURL, "/")+1:len(downloadURL)]) - // if err == nil { - // skuName.Img = downloadURL2 - // } else { - // retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} - // return retVal, err - // } - // } else { - // retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} - // return retVal, err - // } - // } else { - // retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} - // return retVal, err - // } } else { skuName.Img = model.NOSkuNameImg } @@ -2314,36 +2296,6 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID return retVal, err } skuName.Img = downloadURL - // if resBinary, _, err := jxutils.DownloadFileByURL(skuName.Img); err == nil { - // if downloadURL, err := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())+"origin"+skuName.Img[strings.LastIndex(skuName.Img, "/")+1:len(skuName.Img)]); err == nil { - // if img, _, err := datares.Binary2Image(resBinary, http.DetectContentType(resBinary)); err == nil { - // if img.Bounds().Dx() != datares.MainImgWidth || img.Bounds().Dy() != datares.MainImgHeight { - // if resBinary2, _, err := jxutils.DownloadFileByURL(downloadURL + model.SkuNameImgStandard); err == nil { - // if downloadURL2, err := jxutils.UploadExportContent(resBinary2, utils.Int64ToStr(time.Now().Unix())+skuName.Img[strings.LastIndex(skuName.Img, "/")+1:len(skuName.Img)]); err == nil { - // skuName.Img = downloadURL2 - // } else { - // retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} - // return retVal, err - // } - // } else { - // retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} - // return retVal, err - // } - // } else { - // skuName.Img = downloadURL - // } - // } else { - // retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} - // return retVal, err - // } - // } else { - // retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} - // return retVal, err - // } - // } else { - // retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} - // return retVal, err - // } } skuName.Status = model.SkuStatusNormal skuName.IsGlobal = model.YES @@ -2353,6 +2305,24 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID skuName.CategoryID = categoryID } skuName.Skus[0].Status = model.SkuStatusNormal + if skuName.Img == model.NOSkuNameImg { + result, _ := api.MtwmAPI.GetStandardProductListWithCond(*skuName.Upc) + if result != nil { + imgs := strings.Split(result.Pic, ",") + if len(imgs) == 1 { + skuName.Img = imgs[0] + } + if len(imgs) == 2 { + skuName.Img = imgs[0] + skuName.Img2 = imgs[1] + } + if len(imgs) >= 3 { + skuName.Img = imgs[0] + skuName.Img2 = imgs[1] + skuName.Img3 = imgs[2] + } + } + } _, err = AddSkuName(ctx, skuName, ctx.GetUserName()) if err != nil { retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} From 8a17e0584bcbfa59f441ee71a4a46e52fc232f04 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, 15 Mar 2021 17:49:04 +0800 Subject: [PATCH 116/252] aa --- business/model/dao/store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index a2dae7498..f69d912c3 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1214,7 +1214,7 @@ func GetStoreManageState(db *DaoDB, storeIDs []int, vendorID, sortType, offset, tempSortType = sortType } if GetStoreManageStateSortTypeMap[tempSortType] != "" { - sql += " ORDER BY " + GetStoreManageStateSortTypeMap[sortType] + sql += " ORDER BY " + GetStoreManageStateSortTypeMap[tempSortType] if sortType < 0 { sql += " DESC" } From 4f6001e413bd6a77d62363349e152374750dc127 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, 16 Mar 2021 09:25:24 +0800 Subject: [PATCH 117/252] aa --- business/jxcallback/orderman/order.go | 2 +- business/jxstore/cms/store_sku.go | 60 ++++++++++++++++++++ business/jxstore/report/report.go | 20 +++---- business/model/dao/store.go | 12 +++- business/partner/partner_store_sku.go | 1 + business/partner/purchase/mtwm/store_sku2.go | 8 +-- controllers/jx_report.go | 7 ++- 7 files changed, 89 insertions(+), 21 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 9b73d1d89..1aecca92e 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -138,7 +138,7 @@ func (c *OrderManager) OnOrderAdjust(order *model.GoodsOrder, orderStatus *model // }, "OnAdjustOrder delete order_sku, orderID:%s", order.VendorOrderID) order.AdjustCount = adjustCount + 1 //扣点的订单需要修改订单的totalshopmoney - if err == nil && order.OrderPayPercentage < 100 { + if err == nil && order.OrderPayPercentage < 50 && order.OrderPayPercentage > 0 { order2, _ := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrder(order.VendorOrgCode, order.VendorOrderID, order.VendorStoreID) order.TotalShopMoney = order2.TotalShopMoney } diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 3ef4d9e36..88a86a9b1 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -5275,3 +5275,63 @@ func DeleteActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, act dao.Commit(db) return originSyncStatus, err } + +func GetVendorStoreSkus(ctx *jxcontext.Context, storeID, vendorID int) (err error) { + type SpecialtyStoreSkus struct { + Upc int `json:"商品upc码"` + SkuName string `json:"商品名"` + Unit int `json:"单位"` + Weight float64 `json:"重量(g)"` + Price float64 `json:"售价"` + } + var ( + db = dao.GetDB() + specialtyStoreSkus []*SpecialtyStoreSkus + excelTitle = []string{ + "商品upc码", + "商品名", + "单位", + "重量(g)", + "售价", + } + sheetList []*excel.Obj2ExcelSheetConfig + downloadURL, fileName string + ) + storeDetail, err := dao.GetStoreDetail(db, storeID, vendorID, "") + if err != nil || storeDetail == nil { + return err + } + if partner.IsMultiStore(vendorID) { + // handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler) + // skuBareInfoList, _ := handler.GetStoreSkusBareInfo(ctx, storeDetail.VendorOrgCode, nil, storeID, storeDetail.VendorStoreID, nil) + return fmt.Errorf("暂不支持京东!") + } else { + handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) + skuList, _ := handler.GetStoreSkusFullInfo(ctx, nil, storeID, storeDetail.VendorStoreID, nil) + for _, sku := range skuList { + if sku.SkuList[0].IsSpecialty == model.YES { + specialtyStoreSku := &SpecialtyStoreSkus{} + specialtyStoreSkus = append(specialtyStoreSkus, specialtyStoreSku) + } + } + } + excelConf := &excel.Obj2ExcelSheetConfig{ + Title: "sheet1", + Data: specialtyStoreSkus, + CaptionList: excelTitle, + } + sheetList = append(sheetList, excelConf) + if excelConf != nil { + downloadURL, fileName, err = jxutils.UploadExeclAndPushMsg(sheetList, "平台门店标品") + } else { + baseapi.SugarLogger.Debug("WriteToExcel: dataSuccess is nil!") + } + if err != nil { + baseapi.SugarLogger.Errorf("WriteToExcel:upload %s , %s failed error:%v", fileName, err) + } else { + noticeMsg := fmt.Sprintf("[详情点我]%s/billshow/?normal=true&path=%s \n", globals.BackstageHost, downloadURL) + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, ctx.GetUserID(), "异步任务完成", noticeMsg) + baseapi.SugarLogger.Debug("WriteToExcel: dataSuccess downloadURL: [%v]", downloadURL) + } + return err +} diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index cfda25b1d..50af9334a 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,7 +397,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { db = dao.GetDB() vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59") - // coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59 + coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { @@ -417,14 +417,14 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { dao.WrapAddIDCULEntity(storeManage, ctx.GetUserName()) handler := partner.GetPurchasePlatformFromVendorID(vendorID) store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) - // if coverAreaFlag { - if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeManage.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000) - } else { - storeManage.CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) + if coverAreaFlag { + if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", math.Pi*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000)*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000))) + } else { + storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID))) + } } - // } - storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) + // storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) //营业状态 storeManage.VendorStatus = store.Status //营业时长 @@ -472,7 +472,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { task.GetID() } -func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID, sortType, offset, pageSize int) (pageInfo *model.PagedInfo, err error) { +func GetStoreManageState(ctx *jxcontext.Context, storeIDs, brandIDs []int, vendorID, sortType, offset, pageSize int) (pageInfo *model.PagedInfo, err error) { var ( db = dao.GetDB() ) @@ -498,7 +498,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID, sortT storeIDs = storeIDs2 } } - return dao.GetStoreManageState(db, storeIDs, vendorID, sortType, offset, pageSize) + return dao.GetStoreManageState(db, storeIDs, brandIDs, vendorID, sortType, offset, pageSize) } func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { diff --git a/business/model/dao/store.go b/business/model/dao/store.go index f69d912c3..6259e76fc 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1175,7 +1175,7 @@ type GetStoreManageStateResult struct { model.StoreManageState } -func GetStoreManageState(db *DaoDB, storeIDs []int, vendorID, sortType, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { +func GetStoreManageState(db *DaoDB, storeIDs, brandIDs []int, vendorID, sortType, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { var ( requestList []*GetStoreManageStateResult GetStoreManageStateSortTypeMap = map[int]string{ @@ -1195,13 +1195,19 @@ func GetStoreManageState(db *DaoDB, storeIDs []int, vendorID, sortType, offset, FROM store_manage_state a LEFT JOIN store b ON b.id = a.store_id LEFT JOIN store_map c ON c.store_id = a.store_id AND c.vendor_id = a.vendor_id - WHERE 1 = 1 + WHERE a.vendor_status <> ? ` - sqlParams := []interface{}{} + sqlParams := []interface{}{ + model.StoreStatusDisabled, + } if len(storeIDs) > 0 { sql += " AND a.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")" sqlParams = append(sqlParams, storeIDs) } + if len(brandIDs) > 0 { + sql += " AND b.barnd_id IN (" + GenQuestionMarks(len(brandIDs)) + ")" + sqlParams = append(sqlParams, brandIDs) + } if vendorID != -1 { sql += " AND a.vendor_id = ?" sqlParams = append(sqlParams, vendorID) diff --git a/business/partner/partner_store_sku.go b/business/partner/partner_store_sku.go index 17854a2ae..62f3ab56e 100644 --- a/business/partner/partner_store_sku.go +++ b/business/partner/partner_store_sku.go @@ -87,6 +87,7 @@ type SkuNameInfo struct { Unit string VendorCatIDList []string PictureList []string + UPC string Status int `json:"status,omitempty"` YbBarCode string SkuList []*SkuInfo diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index 36b20ecce..24a711ef6 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -554,10 +554,10 @@ func vendorSku2Jx(appFood *mtwmapi.AppFood) (skuName *partner.SkuNameInfo) { skuName = &partner.SkuNameInfo{ NameID: int(utils.Str2Int64WithDefault(appFood.AppFoodCode, 0)), VendorNameID: appFood.AppFoodCode, - - Prefix: prefix, - Name: name, - Unit: unit, + UPC: appFood.SkuList[0].Upc, + Prefix: prefix, + Name: name, + Unit: unit, SkuList: []*partner.SkuInfo{ &partner.SkuInfo{ StoreSkuInfo: partner.StoreSkuInfo{ diff --git a/controllers/jx_report.go b/controllers/jx_report.go index b5baa8406..5606dbc3a 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -119,6 +119,7 @@ func (c *ReportController) GetManageState() { // @Description 查询门店经营数据 // @Param token header string true "认证token" // @Param storeIDs query string false "门店ID列表[1,2,3]" +// @Param brandIDs query string false "品牌ID列表[1,2,3]" // @Param vendorID query int true "平台ID" // @Param sortType query int false "排序类型,1 覆盖范围,2市场规模,3营业时长,4商品数,5虚高商品数,6活动丰富度,7无效订单数,8拒绝订单数,9门店评分,正升序,负倒序" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" @@ -128,9 +129,9 @@ func (c *ReportController) GetManageState() { // @router /GetStoreManageState [get] func (c *ReportController) GetStoreManageState() { c.callGetStoreManageState(func(params *tReportGetStoreManageStateParams) (retVal interface{}, errCode string, err error) { - var storeIDs []int - if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil { - retVal, err = report.GetStoreManageState(params.Ctx, storeIDs, params.VendorID, params.SortType, params.Offset, params.PageSize) + var storeIDs, brandIDs []int + if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.BrandIDs, brandIDs); err == nil { + retVal, err = report.GetStoreManageState(params.Ctx, storeIDs, brandIDs, params.VendorID, params.SortType, params.Offset, params.PageSize) } return retVal, "", err }) From 0c2ecff553ff906f6ba49088a563ec2f893c16bf 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, 16 Mar 2021 09:54:25 +0800 Subject: [PATCH 118/252] aa --- controllers/jx_report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/jx_report.go b/controllers/jx_report.go index 5606dbc3a..a3be12b75 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -130,7 +130,7 @@ func (c *ReportController) GetManageState() { func (c *ReportController) GetStoreManageState() { c.callGetStoreManageState(func(params *tReportGetStoreManageStateParams) (retVal interface{}, errCode string, err error) { var storeIDs, brandIDs []int - if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.BrandIDs, brandIDs); err == nil { + if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.BrandIDs, &brandIDs); err == nil { retVal, err = report.GetStoreManageState(params.Ctx, storeIDs, brandIDs, params.VendorID, params.SortType, params.Offset, params.PageSize) } return retVal, "", err From 11f4c44da235aaa174321fa3a0a5cfc2a8b8192e 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, 16 Mar 2021 10:08:10 +0800 Subject: [PATCH 119/252] aa --- business/model/dao/store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 6259e76fc..03ee95537 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1205,7 +1205,7 @@ func GetStoreManageState(db *DaoDB, storeIDs, brandIDs []int, vendorID, sortType sqlParams = append(sqlParams, storeIDs) } if len(brandIDs) > 0 { - sql += " AND b.barnd_id IN (" + GenQuestionMarks(len(brandIDs)) + ")" + sql += " AND b.brand_id IN (" + GenQuestionMarks(len(brandIDs)) + ")" sqlParams = append(sqlParams, brandIDs) } if vendorID != -1 { From 4c52700e6a705cd453053a15fcffcfd9c31e05d3 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, 16 Mar 2021 18:10:01 +0800 Subject: [PATCH 120/252] aa --- business/partner/purchase/ebai/store_sku2.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/ebai/store_sku2.go b/business/partner/purchase/ebai/store_sku2.go index 9bd96fbf8..f713661e2 100644 --- a/business/partner/purchase/ebai/store_sku2.go +++ b/business/partner/purchase/ebai/store_sku2.go @@ -598,6 +598,7 @@ func vendorSku2Jx(vendorSku *ebaiapi.SkuInfo) (skuName *partner.SkuNameInfo) { Prefix: prefix, Name: name, Unit: unit, + UPC: vendorSku.Upc, SkuList: []*partner.SkuInfo{ &partner.SkuInfo{ StoreSkuInfo: partner.StoreSkuInfo{ From 71a11a333e5356dd472181f68cce89c617a0732d 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, 17 Mar 2021 09:04:23 +0800 Subject: [PATCH 121/252] aa --- business/jxstore/misc/misc.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index f65ef16c2..d5af69df3 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -193,9 +193,9 @@ func Init() { // cms.OpenRemoteStoreByJxStatus(jxcontext.AdminCtx, nil, nil, false, false, true) }, openRemoteStoreTimeList) - // ScheduleTimerFunc("SaveAndSendAlarmVendorSnapshot", func() { - // cms.SaveAndSendAlarmVendorSnapshot(jxcontext.AdminCtx, nil, nil, false) - // }, cms.WatchVendorStoreTimeList) + ScheduleTimerFunc("SaveAndSendAlarmVendorSnapshot", func() { + cms.SaveAndSendAlarmVendorSnapshot(jxcontext.AdminCtx, nil, nil, false) + }, cms.WatchVendorStoreTimeList) ScheduleTimerFunc("RefreshPageActs", func() { act.RefreshPageActs(jxcontext.AdminCtx, []int{model.VendorIDEBAI}, time.Now().Add(-30*24*time.Hour), false) From 2b53dbb7084afb799f184eb6f2f073bd810e0063 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, 17 Mar 2021 09:21:57 +0800 Subject: [PATCH 122/252] aa --- business/jxstore/cms/store_sku.go | 22 ++++++++++++++-------- business/jxstore/misc/misc.go | 6 +++--- business/jxstore/report/report.go | 16 ++++++++-------- controllers/cms_store_sku.go | 15 +++++++++++++++ 4 files changed, 40 insertions(+), 19 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 88a86a9b1..c84e38fe6 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -5278,11 +5278,11 @@ func DeleteActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, act func GetVendorStoreSkus(ctx *jxcontext.Context, storeID, vendorID int) (err error) { type SpecialtyStoreSkus struct { - Upc int `json:"商品upc码"` - SkuName string `json:"商品名"` - Unit int `json:"单位"` - Weight float64 `json:"重量(g)"` - Price float64 `json:"售价"` + Upc string `json:"商品upc码"` + SkuName string `json:"商品名"` + Unit string `json:"单位"` + Weight int `json:"重量(g)"` + Price int64 `json:"售价"` } var ( db = dao.GetDB() @@ -5309,9 +5309,15 @@ func GetVendorStoreSkus(ctx *jxcontext.Context, storeID, vendorID int) (err erro handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) skuList, _ := handler.GetStoreSkusFullInfo(ctx, nil, storeID, storeDetail.VendorStoreID, nil) for _, sku := range skuList { - if sku.SkuList[0].IsSpecialty == model.YES { - specialtyStoreSku := &SpecialtyStoreSkus{} - specialtyStoreSkus = append(specialtyStoreSkus, specialtyStoreSku) + if sku.UPC != "" { + skus := &SpecialtyStoreSkus{ + Upc: sku.UPC, + SkuName: sku.Name, + Unit: sku.Unit, + Weight: sku.SkuList[0].Weight, + Price: sku.SkuList[0].VendorPrice, + } + specialtyStoreSkus = append(specialtyStoreSkus, skus) } } } diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index d5af69df3..f65ef16c2 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -193,9 +193,9 @@ func Init() { // cms.OpenRemoteStoreByJxStatus(jxcontext.AdminCtx, nil, nil, false, false, true) }, openRemoteStoreTimeList) - ScheduleTimerFunc("SaveAndSendAlarmVendorSnapshot", func() { - cms.SaveAndSendAlarmVendorSnapshot(jxcontext.AdminCtx, nil, nil, false) - }, cms.WatchVendorStoreTimeList) + // ScheduleTimerFunc("SaveAndSendAlarmVendorSnapshot", func() { + // cms.SaveAndSendAlarmVendorSnapshot(jxcontext.AdminCtx, nil, nil, false) + // }, cms.WatchVendorStoreTimeList) ScheduleTimerFunc("RefreshPageActs", func() { act.RefreshPageActs(jxcontext.AdminCtx, []int{model.VendorIDEBAI}, time.Now().Add(-30*24*time.Hour), false) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 50af9334a..3ef174c96 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,7 +397,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { db = dao.GetDB() vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59") - coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59 + // coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { @@ -417,14 +417,14 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { dao.WrapAddIDCULEntity(storeManage, ctx.GetUserName()) handler := partner.GetPurchasePlatformFromVendorID(vendorID) store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) - if coverAreaFlag { - if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", math.Pi*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000)*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000))) - } else { - storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID))) - } + // if coverAreaFlag { + if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", math.Pi*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000)*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000))) + } else { + storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID))) } - // storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) + // } + storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) //营业状态 storeManage.VendorStatus = store.Status //营业时长 diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index 2d96c4ebe..110c651f7 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -923,3 +923,18 @@ func (c *StoreSkuController) GetSpecialtyStoreSkus() { return retVal, "", err }) } + +// @Title 拉取平台标品 +// @Description 拉取平台标品 +// @Param token header string true "认证token" +// @Param vendorID formData int true "平台id" +// @Param storeID formData int true "门店ID" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetVendorStoreSkus [post] +func (c *StoreSkuController) GetVendorStoreSkus() { + c.callGetVendorStoreSkus(func(params *tStoreSkuGetVendorStoreSkusParams) (retVal interface{}, errCode string, err error) { + err = cms.GetVendorStoreSkus(params.Ctx, params.StoreID, params.VendorID) + return retVal, "", err + }) +} From 9d370d88a8155e98f0997f04c385e2daf6a682e6 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, 17 Mar 2021 09:54:45 +0800 Subject: [PATCH 123/252] aa --- business/jxstore/cms/store_sku.go | 16 ++++++++++------ controllers/cms_store_sku.go | 6 ++++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index c84e38fe6..952722b8c 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -264,10 +264,10 @@ var ( ) func GetStoreSkus(ctx *jxcontext.Context, storeID int, skuIDs []int, isFocus bool, keyword string, isBySku, isAct bool, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *dao.StoreSkuNamesInfo, err error) { - return GetStoresSkus(ctx, []int{storeID}, skuIDs, isFocus, false, 0, keyword, isBySku, isAct, params, offset, pageSize) + return GetStoresSkus(ctx, []int{storeID}, skuIDs, nil, isFocus, false, 0, keyword, isBySku, isAct, params, offset, pageSize) } -func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool, keyword string, isBySku, isAct, isHighPrice bool, priceType int, actVendorID int, params map[string]interface{}) (sql string, sqlParams []interface{}, err error) { +func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, upcs []string, isFocus bool, keyword string, isBySku, isAct, isHighPrice bool, priceType int, actVendorID int, params map[string]interface{}) (sql string, sqlParams []interface{}, err error) { sql = ` FROM sku_name t1 JOIN sku t2 FORCE INDEX(PRIMARY) ON t1.id = t2.name_id AND t2.deleted_at = ?/* AND t2.status = ?*/ @@ -422,6 +422,10 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool sql += " AND IF(INSTR(t3.name,'" + model.ExdStoreName + "') > 0, t2.exd_sku_id <> '', t2.exd_sku_id = '')" } } + if len(upcs) > 0 { + sql += " AND t1.upc IN (" + dao.GenQuestionMarks(len(upcs)) + ")" + sqlParams = append(sqlParams, upcs) + } if len(skuIDs) > 0 { sql += " AND t2.id IN (" + dao.GenQuestionMarks(len(skuIDs)) + ")" sqlParams = append(sqlParams, skuIDs) @@ -486,7 +490,7 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool return sql, sqlParams, err } -func GetStoresSkus(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus, isHighPrice bool, priceType int, keyword string, isBySku, isAct bool, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *dao.StoreSkuNamesInfo, err error) { +func GetStoresSkus(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []string, isFocus, isHighPrice bool, priceType int, keyword string, isBySku, isAct bool, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *dao.StoreSkuNamesInfo, err error) { //权限 if permission.IsRoled(ctx) { if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { @@ -509,10 +513,10 @@ func GetStoresSkus(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus, isHi storeIDs = storeIDs2 } } - return GetStoresSkusNew(ctx, storeIDs, skuIDs, isFocus, isHighPrice, priceType, keyword, isBySku, isAct, params, offset, pageSize) + return GetStoresSkusNew(ctx, storeIDs, skuIDs, upcs, isFocus, isHighPrice, priceType, keyword, isBySku, isAct, params, offset, pageSize) } -func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus, isHighPrice bool, priceType int, keyword string, isBySku, isAct bool, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *dao.StoreSkuNamesInfo, err error) { +func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []string, isFocus, isHighPrice bool, priceType int, keyword string, isBySku, isAct bool, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *dao.StoreSkuNamesInfo, err error) { if !isFocus && !isBySku && (len(storeIDs) > 1 || len(storeIDs) == 0) { return nil, fmt.Errorf("未关注按SkuName只能查询单店") } @@ -545,7 +549,7 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus, i delete(params, "minimumPrice") } db := dao.GetDB() - sql, sqlParams, err := getGetStoresSkusBaseSQL(db, storeIDs, skuIDs, isFocus, keyword, isBySku, isAct, isHighPrice, priceType, actVendorID, params) + sql, sqlParams, err := getGetStoresSkusBaseSQL(db, storeIDs, skuIDs, upcs, isFocus, keyword, isBySku, isAct, isHighPrice, priceType, actVendorID, params) if err != nil { return nil, err } diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index 110c651f7..c9029e4be 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -69,6 +69,7 @@ func (c *StoreSkuController) GetStoreSkus() { // @Param keyword query string false "查询关键字(可以为空,为空表示不限制)" // @Param nameIDs query string false "SkuName ID列表对象" // @Param skuIDs query string false "Sku ID列表对象" +// @Param upcs query string false "upc列表对象" // @Param name query string false "商品名称(不要求完全一致)" // @Param prefix query string false "商品前缀(不要求完全一致)" // @Param categoryID query int false "商品所属类别ID" @@ -99,8 +100,9 @@ func (c *StoreSkuController) GetStoreSkus() { func (c *StoreSkuController) GetStoresSkus() { c.callGetStoresSkus(func(params *tStoreSkuGetStoresSkusParams) (retVal interface{}, errCode string, err error) { var storeIDs, skuIDs []int - if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.SkuIDs, &skuIDs); err == nil { - retVal, err = cms.GetStoresSkus(params.Ctx, storeIDs, skuIDs, params.IsFocus, params.IsHighPrice, params.PriceType, params.Keyword, params.IsBySku, params.IsAct, params.MapData, params.Offset, params.PageSize) + var upcs []string + if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.SkuIDs, &skuIDs, params.Upcs, &upcs); err == nil { + retVal, err = cms.GetStoresSkus(params.Ctx, storeIDs, skuIDs, upcs, params.IsFocus, params.IsHighPrice, params.PriceType, params.Keyword, params.IsBySku, params.IsAct, params.MapData, params.Offset, params.PageSize) } return retVal, "", err }) From 6f3577c92bad5214e7c286ea5743fe0f9542de42 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, 17 Mar 2021 10:20:55 +0800 Subject: [PATCH 124/252] aa --- business/jxstore/cms/store.go | 8 ++++++++ business/jxstore/report/report.go | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index f226adae5..e941434f1 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -4070,3 +4070,11 @@ func GetStoreAcctBalance(ctx *jxcontext.Context, storeID int) (storeAcct *model. AccountBalance: totalIncome - totalExpend, }, err } + +// func SendVendorStoreStatusChanged(ctx *jxcontext.Context) (err error) { +// var ( +// db = dao.GetDB() +// ) +// dao.GetStoresMapList(db, []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") +// return err +// } diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 3ef174c96..894dc346d 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -8,6 +8,9 @@ import ( "strings" "time" + "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" + + "git.rosy.net.cn/baseapi/platformapi/dingdingapi" "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -427,6 +430,13 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) //营业状态 storeManage.VendorStatus = store.Status + //不一致发消息 + if storeDetail.VendorStatus != store.Status { + content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorNames[vendorID] + "] 平台上营业状态和京西不一致!" + if user, err := dao.GetUserByID(db, "mobile", storeDetail.MarketManPhone); err == nil { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content) + } + } //营业时长 optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { From 4a77161781cf62e774e33283a4a66999749cf627 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, 17 Mar 2021 10:23:18 +0800 Subject: [PATCH 125/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 894dc346d..93b75342f 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -431,7 +431,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { //营业状态 storeManage.VendorStatus = store.Status //不一致发消息 - if storeDetail.VendorStatus != store.Status { + if storeDetail.Status != store.Status { content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorNames[vendorID] + "] 平台上营业状态和京西不一致!" if user, err := dao.GetUserByID(db, "mobile", storeDetail.MarketManPhone); err == nil { ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content) From 3edd03b8e068379e1b984592639e5fc6e01d2f0c 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, 17 Mar 2021 10:29:44 +0800 Subject: [PATCH 126/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 93b75342f..df8d630f6 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -432,7 +432,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { storeManage.VendorStatus = store.Status //不一致发消息 if storeDetail.Status != store.Status { - content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorNames[vendorID] + "] 平台上营业状态和京西不一致!" + content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorChineseNames[vendorID] + "] 平台上营业状态和京西不一致!平台状态:[" + model.StoreStatusName[store.Status] + "],京西状态:[" + model.StoreStatusName[storeDetail.Status] + "]" if user, err := dao.GetUserByID(db, "mobile", storeDetail.MarketManPhone); err == nil { ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content) } From 90860121bd5e2b49cfc8181d7a6e3519b275a423 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, 17 Mar 2021 10:44:38 +0800 Subject: [PATCH 127/252] aa --- business/jxstore/report/report.go | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index df8d630f6..535b8bd5f 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -400,7 +400,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { db = dao.GetDB() vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59") - // coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59 + coverAreaFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { @@ -431,10 +431,23 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { //营业状态 storeManage.VendorStatus = store.Status //不一致发消息 - if storeDetail.Status != store.Status { - content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorChineseNames[vendorID] + "] 平台上营业状态和京西不一致!平台状态:[" + model.StoreStatusName[store.Status] + "],京西状态:[" + model.StoreStatusName[storeDetail.Status] + "]" - if user, err := dao.GetUserByID(db, "mobile", storeDetail.MarketManPhone); err == nil { - ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content) + if coverAreaFlag { + vendorStatus, status := -1, -1 + if store.Status == model.StoreStatusOpened { + vendorStatus = 1 + } + if storeDetail.Status == model.StoreStatusOpened { + status = 1 + } + statusMap := map[int]string{ + 1: "营业", + -1: "休息", + } + if vendorStatus != status { + content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorChineseNames[vendorID] + "] 平台上营业状态和京西不一致!平台状态:【" + statusMap[vendorStatus] + "】,京西状态:【" + statusMap[status] + "】" + if user, err := dao.GetUserByID(db, "mobile", storeDetail.MarketManPhone); err == nil { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content) + } } } //营业时长 From f02062d9f47e33e3230884e52a27af332e1d2bc4 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, 17 Mar 2021 11:14:08 +0800 Subject: [PATCH 128/252] aa --- business/jxstore/cms/storeman.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/business/jxstore/cms/storeman.go b/business/jxstore/cms/storeman.go index ee78ab8de..39748e951 100644 --- a/business/jxstore/cms/storeman.go +++ b/business/jxstore/cms/storeman.go @@ -1,7 +1,9 @@ package cms import ( + "git.rosy.net.cn/baseapi/platformapi/dingdingapi" "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" @@ -33,6 +35,10 @@ func (s *StoreManager) OnStoreStatusChanged(vendorStoreID string, vendorID int, storeKV = map[string]interface{}{ "Status": model.StoreStatusOpened, } + content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorChineseNames[vendorID] + "] 平台上营业状态和京西不一致!平台状态:【营业】,京西状态:【非营业】" + if user, err := dao.GetUserByID(db, "mobile", storeDetail.MarketManPhone); err == nil { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content) + } } if storeDetail.VendorStatus != model.StoreStatusOpened { storeMapKV = map[string]interface{}{ @@ -46,6 +52,10 @@ func (s *StoreManager) OnStoreStatusChanged(vendorStoreID string, vendorID int, "Status": storeStatus, } } + content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorChineseNames[vendorID] + "] 平台上营业状态和京西不一致!平台状态:【非营业】,京西状态:【营业】" + if user, err := dao.GetUserByID(db, "mobile", storeDetail.MarketManPhone); err == nil { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content) + } } else if storeDetail.Status <= storeStatus { if storeDetail.VendorStatus != model.StoreStatusOpened { storeMapKV = map[string]interface{}{ From 435a3a1a04ad5c70d298030d97459ae70658849d 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, 17 Mar 2021 11:32:17 +0800 Subject: [PATCH 129/252] aa --- routers/commentsRouter_controllers.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 7de18001b..170f78cc2 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -2637,6 +2637,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"], + beego.ControllerComments{ + Method: "GetVendorStoreSkus", + Router: `/GetVendorStoreSkus`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"], beego.ControllerComments{ Method: "GetVendorStoreSkusInfo", From 30e4b26ebfcae83fd4a9a8aae8cceaca7e8d37ed 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, 17 Mar 2021 13:40:55 +0800 Subject: [PATCH 130/252] aa --- business/jxstore/cms/store.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index e941434f1..b280c63a1 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1225,7 +1225,6 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend return nil, err } } else if vendorID == model.VendorIDJDShop { - storeMap.VendorOrgCode = "1" if storeMap.VendorStoreID == "" { storeMap.SyncStatus = model.SyncFlagNewMask //京东商城要去建店 } else { @@ -1262,11 +1261,6 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend } }() if err = dao.CreateEntity(db, storeMap); err == nil { - if vendorID == model.VendorIDJDShop { - storeMap2 := storeMap - storeMap2.VendorOrgCode = "2" - dao.CreateEntity(db, storeMap2) - } dao.Commit(db) outStoreMap = storeMap } else { From 1441e31baec96b7cc0e12bc57b22be5541b8eb1b 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, 17 Mar 2021 13:58:14 +0800 Subject: [PATCH 131/252] aa --- business/jxstore/report/report.go | 232 +++++++++++++++++++----------- 1 file changed, 150 insertions(+), 82 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 535b8bd5f..4b990f024 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,97 +397,87 @@ func GetManageState(ctx *jxcontext.Context, cityCodes []int, vendorID int) (getM func RefreshStoreManageState(ctx *jxcontext.Context) { var ( - db = dao.GetDB() - vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} - dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59") - coverAreaFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 + db = dao.GetDB() + vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} + messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { vendorID := batchItemList[0].(int) storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + paged, err := dao.GetStoreManageState(db, nil, nil, vendorID, 0, 0, model.UnlimitedPageSize) + var ( + storeManageStates = paged.Data.([]*dao.GetStoreManageStateResult) + storeMapsMap = make(map[int]*model.StoreMap) + storeManagesMap = make(map[int]*dao.GetStoreManageStateResult) + deleteList []int + createList, updateList []*model.StoreMap + ) + for _, v := range storeMaps { + storeMapsMap[v.StoreID] = v + } + for _, v := range storeManageStates { + storeManagesMap[v.StoreID] = v + if storeMapsMap[v.StoreID] != nil { + updateList = append(updateList, storeMapsMap[v.StoreID]) + } else { + deleteList = append(deleteList, v.StoreID) + } + } + for _, v := range storeMapsMap { + if storeManagesMap[v.StoreID] == nil { + createList = append(createList, v) + } + } task2 := tasksch.NewParallelTask("GetStoreManageState2", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - return retVal, err + step := batchItemList[0].(int) + switch step { + case 0: + task3 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeID := batchItemList[0].(int) + storeManage := &model.StoreManageState{ + StoreID: storeID, + VendorID: vendorID, + } + dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") + return retVal, err + }, deleteList) + tasksch.HandleTask(task3, task, true).Run() + task3.GetResult(0) + case 1: + task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeMap := batchItemList[0].(*model.StoreMap) + if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + return retVal, err + } + storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + dao.UpdateEntity(db, storeManage) + return retVal, err + }, createList) + tasksch.HandleTask(task3, task, true).Run() + task3.GetResult(0) + case 2: + task3 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeMap := batchItemList[0].(*model.StoreMap) + if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + return retVal, err + } + storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + dao.CreateEntity(db, storeManage) + return retVal, err + }, updateList) + tasksch.HandleTask(task3, task, true).Run() + task3.GetResult(0) } - storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - storeManage := &model.StoreManageState{ - StoreID: storeMap.StoreID, - VendorID: storeMap.VendorID, - } - dao.WrapAddIDCULEntity(storeManage, ctx.GetUserName()) - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) - // if coverAreaFlag { - if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", math.Pi*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000)*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000))) - } else { - storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID))) - } - // } - storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) - //营业状态 - storeManage.VendorStatus = store.Status - //不一致发消息 - if coverAreaFlag { - vendorStatus, status := -1, -1 - if store.Status == model.StoreStatusOpened { - vendorStatus = 1 - } - if storeDetail.Status == model.StoreStatusOpened { - status = 1 - } - statusMap := map[int]string{ - 1: "营业", - -1: "休息", - } - if vendorStatus != status { - content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorChineseNames[vendorID] + "] 平台上营业状态和京西不一致!平台状态:【" + statusMap[vendorStatus] + "】,京西状态:【" + statusMap[status] + "】" - if user, err := dao.GetUserByID(db, "mobile", storeDetail.MarketManPhone); err == nil { - ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content) - } - } - } - //营业时长 - optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() - if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { - optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() - } - storeManage.OpenTime = utils.Str2Float64(fmt.Sprintf("%.2f", optime)) - //商品数 - highSkuCount := 0 - storeSkus, _ := dao.GetStoresSkusForManageState(db, storeMap.StoreID, model.StoreSkuBindStatusNormal) - for _, v := range storeSkus { - if v.UnitPrice > v.MidUnitPrice { - highSkuCount++ - } - } - storeManage.SkuCount, storeManage.HighSkuCount = len(storeSkus), highSkuCount - //活动丰富度 - ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) - storeManage.ActAmple = ample - //订单 - refuseOrderCount := 0 - orderList, _ := dao.QueryOrdersForManageState(db, storeMap.StoreID, vendorID, model.OrderStatusCanceled, dayTimeBegin, dayTimeEnd) - for _, v := range orderList { - if v.BindID == 0 { - refuseOrderCount++ - } - } - storeManage.NullOrderCount, storeManage.RefuseOrderCount = len(orderList), refuseOrderCount - //评分(美团) - if vendorID == model.VendorIDMTWM { - mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) - if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { - storeManage.StoreScore = scoreResult.AvgPoiScore - } - } - dao.CreateOrUpdate(db, storeManage) return retVal, err - }, storeMaps) - tasksch.HandleTask(task2, task, true).Run() + }, []int{0, 1, 2}) + tasksch.HandleTask(task, task2, true).Run() task2.GetResult(0) return retVal, err }, vendorIDs) @@ -495,6 +485,84 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { task.GetID() } +func buildStoreManageState(ctx *jxcontext.Context, db *dao.DaoDB, storeMap *model.StoreMap, storeDetail *dao.StoreDetail, messageFlag bool) *model.StoreManageState { + var ( + dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59") + ) + storeManage := &model.StoreManageState{ + StoreID: storeMap.StoreID, + VendorID: storeMap.VendorID, + } + dao.WrapAddIDCULEntity(storeManage, ctx.GetUserName()) + handler := partner.GetPurchasePlatformFromVendorID(storeMap.VendorID) + store, _ := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID) + // if coverAreaFlag { + if storeMap.VendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { + storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", math.Pi*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000)*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000))) + } else { + storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), storeMap.VendorID))) + } + // } + storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) + //营业状态 + storeManage.VendorStatus = store.Status + //不一致发消息 + if messageFlag { + vendorStatus, status := -1, -1 + if store.Status == model.StoreStatusOpened { + vendorStatus = 1 + } + if storeDetail.Status == model.StoreStatusOpened { + status = 1 + } + statusMap := map[int]string{ + 1: "营业", + -1: "休息", + } + if vendorStatus != status { + content := "您的门店 [" + storeDetail.Name + "],ID:[" + utils.Int2Str(storeDetail.ID) + "],在[" + model.VendorChineseNames[storeMap.VendorID] + "] 平台上营业状态和京西不一致!平台状态:【" + statusMap[vendorStatus] + "】,京西状态:【" + statusMap[status] + "】" + if user, err := dao.GetUserByID(db, "mobile", storeDetail.MarketManPhone); err == nil { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content) + } + } + } + //营业时长 + optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() + if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { + optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() + } + storeManage.OpenTime = utils.Str2Float64(fmt.Sprintf("%.2f", optime)) + //商品数 + highSkuCount := 0 + storeSkus, _ := dao.GetStoresSkusForManageState(db, storeMap.StoreID, model.StoreSkuBindStatusNormal) + for _, v := range storeSkus { + if v.UnitPrice > v.MidUnitPrice { + highSkuCount++ + } + } + storeManage.SkuCount, storeManage.HighSkuCount = len(storeSkus), highSkuCount + //活动丰富度 + ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) + storeManage.ActAmple = ample + //订单 + refuseOrderCount := 0 + orderList, _ := dao.QueryOrdersForManageState(db, storeMap.StoreID, storeMap.VendorID, model.OrderStatusCanceled, dayTimeBegin, dayTimeEnd) + for _, v := range orderList { + if v.BindID == 0 { + refuseOrderCount++ + } + } + storeManage.NullOrderCount, storeManage.RefuseOrderCount = len(orderList), refuseOrderCount + //评分(美团) + if storeMap.VendorID == model.VendorIDMTWM { + mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) + if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { + storeManage.StoreScore = scoreResult.AvgPoiScore + } + } + return storeManage +} + func GetStoreManageState(ctx *jxcontext.Context, storeIDs, brandIDs []int, vendorID, sortType, offset, pageSize int) (pageInfo *model.PagedInfo, err error) { var ( db = dao.GetDB() From 67dc00e495a47fd467cb19e22f0b4151b9d08606 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, 17 Mar 2021 14:08:13 +0800 Subject: [PATCH 132/252] aa --- business/model/dao/store.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 03ee95537..d05521060 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1167,11 +1167,10 @@ func GetStoreAcctExpendLastCreateWayBillFee(db *DaoDB, vendorOrderID string) (la } type GetStoreManageStateResult struct { - StoreName string `json:"storeName"` - VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"` - MarketScale int `json:"marketScale"` //市场规模 - Comment string `json:"comment"` - DefaultCoverArea float64 `json:"defaultCoverArea"` + StoreName string `json:"storeName"` + VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"` + MarketScale int `json:"marketScale"` //市场规模 + Comment string `json:"comment"` model.StoreManageState } @@ -1191,13 +1190,14 @@ func GetStoreManageState(db *DaoDB, storeIDs, brandIDs []int, vendorID, sortType } ) sql := ` - SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name store_name, c.vendor_store_id, c.market_scale, b.comment, c.cover_area default_cover_area + SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name store_name, c.vendor_store_id, c.market_scale, b.comment FROM store_manage_state a - LEFT JOIN store b ON b.id = a.store_id - LEFT JOIN store_map c ON c.store_id = a.store_id AND c.vendor_id = a.vendor_id + LEFT JOIN store b ON b.id = a.store_id AND b.deleted_at = ? + LEFT JOIN store_map c ON c.store_id = a.store_id AND c.vendor_id = a.vendor_id AND c.deleted_at = ? WHERE a.vendor_status <> ? ` sqlParams := []interface{}{ + utils.DefaultTimeValue, utils.DefaultTimeValue, model.StoreStatusDisabled, } if len(storeIDs) > 0 { From c4e876ea2f9fe576e23519f77af9e736c98e12b3 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, 17 Mar 2021 14:13:59 +0800 Subject: [PATCH 133/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 4b990f024..eb59c68a8 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -477,7 +477,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { } return retVal, err }, []int{0, 1, 2}) - tasksch.HandleTask(task, task2, true).Run() + tasksch.HandleTask(task2, task, true).Run() task2.GetResult(0) return retVal, err }, vendorIDs) From ada4d6e023e665b270a0f2839e8737c3e78108a6 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, 17 Mar 2021 14:31:03 +0800 Subject: [PATCH 134/252] aa --- business/jxstore/report/report.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index eb59c68a8..fb3ed46a1 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -444,7 +444,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") return retVal, err }, deleteList) - tasksch.HandleTask(task3, task, true).Run() + tasksch.HandleTask(task3, nil, true).Run() task3.GetResult(0) case 1: task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, @@ -458,7 +458,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { dao.UpdateEntity(db, storeManage) return retVal, err }, createList) - tasksch.HandleTask(task3, task, true).Run() + tasksch.HandleTask(task3, nil, true).Run() task3.GetResult(0) case 2: task3 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, @@ -472,12 +472,12 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { dao.CreateEntity(db, storeManage) return retVal, err }, updateList) - tasksch.HandleTask(task3, task, true).Run() + tasksch.HandleTask(task3, nil, true).Run() task3.GetResult(0) } return retVal, err }, []int{0, 1, 2}) - tasksch.HandleTask(task2, task, true).Run() + tasksch.HandleTask(task2, nil, true).Run() task2.GetResult(0) return retVal, err }, vendorIDs) From 385d15fd52ae3505191779699a36460bb38580d1 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, 17 Mar 2021 14:35:05 +0800 Subject: [PATCH 135/252] aa --- business/jxstore/report/report.go | 80 +++++++++++++------------------ 1 file changed, 34 insertions(+), 46 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index fb3ed46a1..eeddde1f8 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -429,56 +429,44 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { createList = append(createList, v) } } - task2 := tasksch.NewParallelTask("GetStoreManageState2", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - step := batchItemList[0].(int) - switch step { - case 0: - task3 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeID := batchItemList[0].(int) - storeManage := &model.StoreManageState{ - StoreID: storeID, - VendorID: vendorID, - } - dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") - return retVal, err - }, deleteList) - tasksch.HandleTask(task3, nil, true).Run() - task3.GetResult(0) - case 1: - task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - return retVal, err - } - storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.UpdateEntity(db, storeManage) - return retVal, err - }, createList) - tasksch.HandleTask(task3, nil, true).Run() - task3.GetResult(0) - case 2: - task3 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - return retVal, err - } - storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.CreateEntity(db, storeManage) - return retVal, err - }, updateList) - tasksch.HandleTask(task3, nil, true).Run() - task3.GetResult(0) + storeID := batchItemList[0].(int) + storeManage := &model.StoreManageState{ + StoreID: storeID, + VendorID: vendorID, } + dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") return retVal, err - }, []int{0, 1, 2}) - tasksch.HandleTask(task2, nil, true).Run() + }, deleteList) + tasksch.HandleTask(task2, task, true).Run() task2.GetResult(0) + task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeMap := batchItemList[0].(*model.StoreMap) + if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + return retVal, err + } + storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + dao.UpdateEntity(db, storeManage) + return retVal, err + }, createList) + tasksch.HandleTask(task3, task, true).Run() + task3.GetResult(0) + task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeMap := batchItemList[0].(*model.StoreMap) + if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + return retVal, err + } + storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + dao.CreateEntity(db, storeManage) + return retVal, err + }, updateList) + tasksch.HandleTask(task4, task, true).Run() + task4.GetResult(0) return retVal, err }, vendorIDs) tasksch.HandleTask(task, nil, true).Run() From 313667604af97af8d5358b879e211ed2f0f7ba00 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, 17 Mar 2021 14:39:16 +0800 Subject: [PATCH 136/252] aa --- business/jxstore/report/report.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index eeddde1f8..2828f8ae7 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -449,7 +449,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { } storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.UpdateEntity(db, storeManage) + dao.CreateEntity(db, storeManage) return retVal, err }, createList) tasksch.HandleTask(task3, task, true).Run() @@ -462,7 +462,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { } storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.CreateEntity(db, storeManage) + dao.UpdateEntity(db, storeManage) return retVal, err }, updateList) tasksch.HandleTask(task4, task, true).Run() From bb24236869454656f797f75f2c4be2492516cdd6 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, 17 Mar 2021 14:41:27 +0800 Subject: [PATCH 137/252] aa --- business/jxstore/report/report.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 2828f8ae7..073b4c7a2 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -429,7 +429,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { createList = append(createList, v) } } - task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { storeID := batchItemList[0].(int) storeManage := &model.StoreManageState{ @@ -441,7 +441,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { }, deleteList) tasksch.HandleTask(task2, task, true).Run() task2.GetResult(0) - task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { storeMap := batchItemList[0].(*model.StoreMap) if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { @@ -454,7 +454,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { }, createList) tasksch.HandleTask(task3, task, true).Run() task3.GetResult(0) - task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetParallelCount(50).SetIsContinueWhenError(true), ctx, + task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { storeMap := batchItemList[0].(*model.StoreMap) if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { From 9dc520daa33bf9ef1587bf95252ee88d006d8663 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, 17 Mar 2021 14:52:46 +0800 Subject: [PATCH 138/252] aa --- business/jxstore/report/report.go | 82 ++++++++--------- business/jxstore/tempop/tempop.go | 145 +++++++++++++++++++++++------- 2 files changed, 152 insertions(+), 75 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 073b4c7a2..b45b708f9 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,9 +397,9 @@ func GetManageState(ctx *jxcontext.Context, cityCodes []int, vendorID int) (getM func RefreshStoreManageState(ctx *jxcontext.Context) { var ( - db = dao.GetDB() - vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} - messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 + db = dao.GetDB() + vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} + // messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { @@ -429,44 +429,44 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { createList = append(createList, v) } } - task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeID := batchItemList[0].(int) - storeManage := &model.StoreManageState{ - StoreID: storeID, - VendorID: vendorID, - } - dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") - return retVal, err - }, deleteList) - tasksch.HandleTask(task2, task, true).Run() - task2.GetResult(0) - task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - return retVal, err - } - storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.CreateEntity(db, storeManage) - return retVal, err - }, createList) - tasksch.HandleTask(task3, task, true).Run() - task3.GetResult(0) - task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - storeMap := batchItemList[0].(*model.StoreMap) - if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - return retVal, err - } - storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.UpdateEntity(db, storeManage) - return retVal, err - }, updateList) - tasksch.HandleTask(task4, task, true).Run() - task4.GetResult(0) + // task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeID := batchItemList[0].(int) + // storeManage := &model.StoreManageState{ + // StoreID: storeID, + // VendorID: vendorID, + // } + // dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") + // return retVal, err + // }, deleteList) + // tasksch.HandleTask(task2, task, true).Run() + // task2.GetResult(0) + // task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + // return retVal, err + // } + // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + // dao.CreateEntity(db, storeManage) + // return retVal, err + // }, createList) + // tasksch.HandleTask(task3, task, true).Run() + // task3.GetResult(0) + // task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + // return retVal, err + // } + // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + // dao.UpdateEntity(db, storeManage) + // return retVal, err + // }, updateList) + // tasksch.HandleTask(task4, task, true).Run() + // task4.GetResult(0) return retVal, err }, vendorIDs) tasksch.HandleTask(task, nil, true).Run() diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index fd6ddf69f..0e3f551b6 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1888,44 +1888,121 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // }, storeMaps) // tasksch.HandleTask(task, nil, true).Run() // _, err = task.GetResult(0) + // var ( + // db = dao.GetDB() + // skuNames []*model.SkuName + // failedSku []string + // ) + // sql := ` + // SELECT * FROM sku_name WHERE deleted_at = ? AND img = ? + // ` + // sqlParams := []interface{}{ + // utils.DefaultTimeValue, model.NOSkuNameImg, + // } + // dao.GetRows(db, &skuNames, sql, sqlParams) + // for _, v := range skuNames { + // if v.Upc != nil { + // result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) + // if result != nil { + // if v.Img == model.NOSkuNameImg { + // imgs := strings.Split(result.Pic, ",") + // if len(imgs) == 1 { + // v.Img = imgs[0] + // } + // if len(imgs) == 2 { + // v.Img = imgs[0] + // v.Img2 = imgs[1] + // } + // if len(imgs) >= 3 { + // v.Img = imgs[0] + // v.Img2 = imgs[1] + // v.Img3 = imgs[2] + // } + // dao.UpdateEntity(db, v, "Img", "Img2", "Img3") + // } + // } else { + // failedSku = append(failedSku, *v.Upc) + // } + // } + // } var ( db = dao.GetDB() - skuNames []*model.SkuName - failedSku []string + vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} + // messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 ) - sql := ` - SELECT * FROM sku_name WHERE deleted_at = ? AND img = ? - ` - sqlParams := []interface{}{ - utils.DefaultTimeValue, model.NOSkuNameImg, - } - dao.GetRows(db, &skuNames, sql, sqlParams) - for _, v := range skuNames { - if v.Upc != nil { - result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) - if result != nil { - if v.Img == model.NOSkuNameImg { - imgs := strings.Split(result.Pic, ",") - if len(imgs) == 1 { - v.Img = imgs[0] - } - if len(imgs) == 2 { - v.Img = imgs[0] - v.Img2 = imgs[1] - } - if len(imgs) >= 3 { - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - } - dao.UpdateEntity(db, v, "Img", "Img2", "Img3") - } - } else { - failedSku = append(failedSku, *v.Upc) + task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + vendorID := batchItemList[0].(int) + storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + paged, err := dao.GetStoreManageState(db, nil, nil, vendorID, 0, 0, model.UnlimitedPageSize) + var ( + storeManageStates = paged.Data.([]*dao.GetStoreManageStateResult) + storeMapsMap = make(map[int]*model.StoreMap) + storeManagesMap = make(map[int]*dao.GetStoreManageStateResult) + deleteList []int + createList, updateList []*model.StoreMap + ) + for _, v := range storeMaps { + storeMapsMap[v.StoreID] = v } - } - } - fmt.Println("failedSku11111111111111111111111111111111", failedSku) + for _, v := range storeManageStates { + storeManagesMap[v.StoreID] = v + if storeMapsMap[v.StoreID] != nil { + updateList = append(updateList, storeMapsMap[v.StoreID]) + } else { + deleteList = append(deleteList, v.StoreID) + } + } + for _, v := range storeMapsMap { + if storeManagesMap[v.StoreID] == nil { + createList = append(createList, v) + } + } + fmt.Println("aaaaaaaaaaaaaaaaa", len(updateList)) + fmt.Println("bbbbbbbbbbbbbbbbbbbbb", utils.Format4Output(deleteList, false)) + fmt.Println("ccccccccccccccccccccccccc", utils.Format4Output(createList, false)) + // task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeID := batchItemList[0].(int) + // storeManage := &model.StoreManageState{ + // StoreID: storeID, + // VendorID: vendorID, + // } + // dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") + // return retVal, err + // }, deleteList) + // tasksch.HandleTask(task2, task, true).Run() + // task2.GetResult(0) + // task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + // return retVal, err + // } + // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + // dao.CreateEntity(db, storeManage) + // return retVal, err + // }, createList) + // tasksch.HandleTask(task3, task, true).Run() + // task3.GetResult(0) + // task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // storeMap := batchItemList[0].(*model.StoreMap) + // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + // return retVal, err + // } + // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + // dao.UpdateEntity(db, storeManage) + // return retVal, err + // }, updateList) + // tasksch.HandleTask(task4, task, true).Run() + // task4.GetResult(0) + return retVal, err + }, vendorIDs) + tasksch.HandleTask(task, nil, true).Run() + task.GetID() return err } From d40a3815522c2dbf4d0e8158986591d0614559d6 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, 17 Mar 2021 15:03:05 +0800 Subject: [PATCH 139/252] aa --- business/jxstore/tempop/tempop.go | 7 +++---- business/model/dao/store.go | 30 +++++++++++++++++++++++++++--- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 0e3f551b6..4a70b3813 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1933,12 +1933,11 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { vendorID := batchItemList[0].(int) - storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") - paged, err := dao.GetStoreManageState(db, nil, nil, vendorID, 0, 0, model.UnlimitedPageSize) + storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, []int{model.StoreStatusOpened, model.StoreStatusClosed, model.StoreStatusHaveRest}, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + storeManageStates, err := dao.GetStoreManageStateSimple(db, nil, nil, vendorID) var ( - storeManageStates = paged.Data.([]*dao.GetStoreManageStateResult) storeMapsMap = make(map[int]*model.StoreMap) - storeManagesMap = make(map[int]*dao.GetStoreManageStateResult) + storeManagesMap = make(map[int]*model.StoreManageState) deleteList []int createList, updateList []*model.StoreMap ) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index d05521060..ef122a1d3 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1,7 +1,6 @@ package dao import ( - "fmt" "sort" "time" @@ -1231,8 +1230,6 @@ func GetStoreManageState(db *DaoDB, storeIDs, brandIDs []int, vendorID, sortType sqlParams = append(sqlParams, pageSize, offset) Begin(db) defer Commit(db) - fmt.Println(sql) - fmt.Println(sqlParams) if err = GetRows(db, &requestList, sql, sqlParams...); err == nil { return &model.PagedInfo{ TotalCount: GetLastTotalRowCount(db), @@ -1241,3 +1238,30 @@ func GetStoreManageState(db *DaoDB, storeIDs, brandIDs []int, vendorID, sortType } return pagedInfo, err } + +func GetStoreManageStateSimple(db *DaoDB, storeIDs, brandIDs []int, vendorID int) (pagedInfo []*model.StoreManageState, err error) { + sql := ` + SELECT a.* + FROM store_manage_state a + LEFT JOIN store b ON b.id = a.store_id AND b.deleted_at = ? + WHERE a.vendor_status <> ? + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + model.StoreStatusDisabled, + } + if len(storeIDs) > 0 { + sql += " AND a.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")" + sqlParams = append(sqlParams, storeIDs) + } + if len(brandIDs) > 0 { + sql += " AND b.brand_id IN (" + GenQuestionMarks(len(brandIDs)) + ")" + sqlParams = append(sqlParams, brandIDs) + } + if vendorID != -1 { + sql += " AND a.vendor_id = ?" + sqlParams = append(sqlParams, vendorID) + } + err = GetRows(db, &pagedInfo, sql, sqlParams...) + return pagedInfo, err +} From 1ae86dcdf59b33af8099193a41edb407776a27bd 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, 17 Mar 2021 15:08:48 +0800 Subject: [PATCH 140/252] aa --- business/jxstore/report/report.go | 89 +++++++++++++++---------------- business/jxstore/tempop/tempop.go | 3 -- 2 files changed, 44 insertions(+), 48 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index b45b708f9..6f7c7f6aa 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -397,19 +397,18 @@ func GetManageState(ctx *jxcontext.Context, cityCodes []int, vendorID int) (getM func RefreshStoreManageState(ctx *jxcontext.Context) { var ( - db = dao.GetDB() - vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} - // messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 + db = dao.GetDB() + vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} + messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 ) task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { vendorID := batchItemList[0].(int) - storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") - paged, err := dao.GetStoreManageState(db, nil, nil, vendorID, 0, 0, model.UnlimitedPageSize) + storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, []int{model.StoreStatusOpened, model.StoreStatusClosed, model.StoreStatusHaveRest}, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") + storeManageStates, err := dao.GetStoreManageStateSimple(db, nil, nil, vendorID) var ( - storeManageStates = paged.Data.([]*dao.GetStoreManageStateResult) storeMapsMap = make(map[int]*model.StoreMap) - storeManagesMap = make(map[int]*dao.GetStoreManageStateResult) + storeManagesMap = make(map[int]*model.StoreManageState) deleteList []int createList, updateList []*model.StoreMap ) @@ -429,44 +428,44 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { createList = append(createList, v) } } - // task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // storeID := batchItemList[0].(int) - // storeManage := &model.StoreManageState{ - // StoreID: storeID, - // VendorID: vendorID, - // } - // dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") - // return retVal, err - // }, deleteList) - // tasksch.HandleTask(task2, task, true).Run() - // task2.GetResult(0) - // task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // storeMap := batchItemList[0].(*model.StoreMap) - // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - // return retVal, err - // } - // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - // dao.CreateEntity(db, storeManage) - // return retVal, err - // }, createList) - // tasksch.HandleTask(task3, task, true).Run() - // task3.GetResult(0) - // task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // storeMap := batchItemList[0].(*model.StoreMap) - // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - // return retVal, err - // } - // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - // dao.UpdateEntity(db, storeManage) - // return retVal, err - // }, updateList) - // tasksch.HandleTask(task4, task, true).Run() - // task4.GetResult(0) + task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeID := batchItemList[0].(int) + storeManage := &model.StoreManageState{ + StoreID: storeID, + VendorID: vendorID, + } + dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") + return retVal, err + }, deleteList) + tasksch.HandleTask(task2, task, true).Run() + task2.GetResult(0) + task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeMap := batchItemList[0].(*model.StoreMap) + if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + return retVal, err + } + storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + dao.CreateEntity(db, storeManage) + return retVal, err + }, createList) + tasksch.HandleTask(task3, task, true).Run() + task3.GetResult(0) + task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + storeMap := batchItemList[0].(*model.StoreMap) + if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { + return retVal, err + } + storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) + storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) + dao.UpdateEntity(db, storeManage) + return retVal, err + }, updateList) + tasksch.HandleTask(task4, task, true).Run() + task4.GetResult(0) return retVal, err }, vendorIDs) tasksch.HandleTask(task, nil, true).Run() diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 4a70b3813..8cb7121b8 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1957,9 +1957,6 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { createList = append(createList, v) } } - fmt.Println("aaaaaaaaaaaaaaaaa", len(updateList)) - fmt.Println("bbbbbbbbbbbbbbbbbbbbb", utils.Format4Output(deleteList, false)) - fmt.Println("ccccccccccccccccccccccccc", utils.Format4Output(createList, false)) // task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { // storeID := batchItemList[0].(int) From 1990f986f5fb078ce6b661955f8f1a9812e02b78 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, 17 Mar 2021 15:30:33 +0800 Subject: [PATCH 141/252] aa --- business/jxstore/cms/store_sku.go | 41 +++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 952722b8c..a06613998 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -89,6 +89,7 @@ type StoreSkuBindInfo struct { SubStoreID int `json:"subStoreID,omitempty"` StatusSaleBegin int16 `json:"statusSaleBegin" validate:"max=2359,min=1,ltfield=StatusSaleEnd"` //商品可售时间范围 StatusSaleEnd int16 `json:"statusSaleEnd" validate:"max=2359,min=1"` + UPC string `json:"upc"` Skus []*StoreSkuBindSkuInfo `json:"skus,omitempty"` } @@ -1065,10 +1066,18 @@ func uniqueStoreIDs(storeIDs []int) []int { func uniqueStoreNameBind(skuBindInfos []*StoreSkuBindInfo) (outSkuBindInfos []*StoreSkuBindInfo) { nameIDMap := make(map[int]int) + upcMap := make(map[string]int) for _, v := range skuBindInfos { - if nameIDMap[v.NameID] != 1 { - outSkuBindInfos = append(outSkuBindInfos, v) - nameIDMap[v.NameID] = 1 + if v.NameID != 0 { + if nameIDMap[v.NameID] != 1 { + outSkuBindInfos = append(outSkuBindInfos, v) + nameIDMap[v.NameID] = 1 + } + } else if v.UPC != "" { + if upcMap[v.UPC] != 1 { + outSkuBindInfos = append(outSkuBindInfos, v) + upcMap[v.UPC] = 1 + } } } return outSkuBindInfos @@ -1153,16 +1162,32 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs LEFT JOIN ( SELECT t7.store_id, t8.name_id, CAST(AVG(t7.unit_price) AS SIGNED) unit_price FROM store_sku_bind t7 - JOIN sku t8 ON t8.id = t7.sku_id AND t8.name_id = ? + JOIN sku t8 ON t8.id = t7.sku_id + ` + if skuBindInfo.NameID != 0 { + sql += " AND t8.name_id = ?" + sqlParams = append(sqlParams, skuBindInfo.NameID) + } else if skuBindInfo.UPC != "" { + sql += " JOIN sku_name t9 ON t9.id = t8.name_id AND t9.upc = ?" + sqlParams = append(sqlParams, skuBindInfo.UPC) + } + sql += ` WHERE t7.deleted_at = ? AND t7.store_id = ? GROUP BY 1,2 ) t5 ON t5.store_id = ts.id AND t5.name_id = t1.name_id` - sqlParams = append(sqlParams, skuBindInfo.NameID, utils.DefaultTimeValue, storeID) + sqlParams = append(sqlParams, utils.DefaultTimeValue, storeID) } - sql += ` - WHERE t1.name_id = ? AND t1.deleted_at = ? + sql += " WHERE 1 = 1" + if skuBindInfo.NameID != 0 { + sql += " AND t1.name_id = ?" + sqlParams = append(sqlParams, skuBindInfo.NameID) + } else if skuBindInfo.UPC != "" { + sql += " AND t3.upc = ?" + sqlParams = append(sqlParams, skuBindInfo.UPC) + } + sql += ` AND t1.deleted_at = ? FOR UPDATE` - sqlParams = append(sqlParams, skuBindInfo.NameID, utils.DefaultTimeValue) + sqlParams = append(sqlParams, utils.DefaultTimeValue) // globals.SugarLogger.Debug(sql) if err = dao.GetRows(db, &allBinds, sql, sqlParams...); err == nil { if len(allBinds) > 0 { From 2c92e8ec94ef5add285f6120dbae23c6480ee06d 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, 17 Mar 2021 16:02:05 +0800 Subject: [PATCH 142/252] aa --- business/model/sku.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/business/model/sku.go b/business/model/sku.go index 857a8a01a..80445176e 100644 --- a/business/model/sku.go +++ b/business/model/sku.go @@ -174,9 +174,12 @@ type SkuName struct { SpecUnit string `orm:"size(8)" json:"-"` // 为份必然为克,这个主要作用只是用于确保SkuName的唯一性 Price int `json:"price"` // 单位为分,标准价,不为份的就为实际标准价,为份的为每市斤价,实际还要乘质量。todo 为份的确定必须有质量 - Img string `orm:"size(512)" json:"img"` - Img2 string `orm:"size(512)" json:"img2"` // 第二张图片 - Img3 string `orm:"size(512)" json:"img3"` //第三张图片 + Img string `orm:"size(512)" json:"img"` + Img2 string `orm:"size(512)" json:"img2"` // 第二张图片 + Img3 string `orm:"size(512)" json:"img3"` //第三张图片 + Img4 string `orm:"size(512)" json:"img4"` //第三张图片 + Img5 string `orm:"size(512)" json:"img5"` //第三张图片 + ImgWatermark string `orm:"size(512)" json:"imgWatermark"` //图片水印 ImgMix string `orm:"size(512)" json:"imgMix"` //图片混合水印的图片 // ImgEbai string `orm:"size(255)" json:"imgEbai"` // 饿百图片地址 From 556fa0913d041918e4d9e8323d5de15a87d7119f 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, 17 Mar 2021 16:22:03 +0800 Subject: [PATCH 143/252] aa --- business/jxstore/cms/sku.go | 14 +++++++++++--- business/partner/purchase/jdshop/store_sku.go | 3 +++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index cc141ef9e..66a3fecbd 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -850,7 +850,7 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s } picType := true - for _, imgName := range []string{skuNameExt.Img, skuNameExt.Img2} { + for _, imgName := range []string{skuNameExt.Img, skuNameExt.Img2, skuNameExt.Img3, skuNameExt.Img4, skuNameExt.Img5} { if imgName != "" { dataRes, err2 := datares.TryRegisterDataResource(ctx, skuNameExt.Name, imgName, model.ImgTypeMain, false) if err = err2; err != nil { @@ -973,7 +973,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf } } globals.SugarLogger.Debugf("UpdateSkuName valid:%s", utils.Format4Output(valid, false)) - for _, imgName := range []string{"img", "img2", "img3"} { + for _, imgName := range []string{"img", "img2", "img3", "img4", "img5"} { if valid[imgName] != nil { if imgStr := utils.Interface2String(valid[imgName]); imgStr != "" { _, err2 := datares.TryRegisterDataResource(ctx, skuName.Name, valid[imgName].(string), model.ImgTypeMain, true) @@ -2309,6 +2309,14 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID result, _ := api.MtwmAPI.GetStandardProductListWithCond(*skuName.Upc) if result != nil { imgs := strings.Split(result.Pic, ",") + switch len(imgs) { + case 1: + skuName.Img = imgs[0] + case 2: + case 3: + case 4: + case 5: + } if len(imgs) == 1 { skuName.Img = imgs[0] } @@ -2316,7 +2324,7 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID skuName.Img = imgs[0] skuName.Img2 = imgs[1] } - if len(imgs) >= 3 { + if len(imgs) == 3 { skuName.Img = imgs[0] skuName.Img2 = imgs[1] skuName.Img3 = imgs[2] diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 616b8e08a..7ea359920 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -156,6 +156,9 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v if v.VendorOrgCode == "1" { createSkuResult, err2 := getAPI(v.VendorOrgCode).CreateWare(createSkuParamWare, createSkuParamSkus) err = err2 + if strings.Contains(err.Error(), "cookie可能过期了") { + err = nil + } wareID = createSkuResult.WareID var paramAttrs = make(map[string]*jdshopapi.CreateSkuParamSkus) From 9edf96c9d430d0477d076b14750fbabda3519ba7 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, 17 Mar 2021 16:27:43 +0800 Subject: [PATCH 144/252] aa --- business/partner/purchase/jdshop/store_sku.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 7ea359920..ede47a1e6 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -122,6 +122,9 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v } if v.VendorOrgCode == "1" { vendorSkuID, err := getAPI(v.VendorOrgCode).UpdateSkus(updateSkusParam) + if strings.Contains(err.Error(), "cookie可能过期了") { + err = nil + } if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") return failedList, err From f0b659c276f01e1f002d51e82ad13113311846e7 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, 17 Mar 2021 16:57:20 +0800 Subject: [PATCH 145/252] aa --- business/jxstore/report/report.go | 1 - 1 file changed, 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 6f7c7f6aa..8fbb9d562 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -490,7 +490,6 @@ func buildStoreManageState(ctx *jxcontext.Context, db *dao.DaoDB, storeMap *mode storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), storeMap.VendorID))) } // } - storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea)) //营业状态 storeManage.VendorStatus = store.Status //不一致发消息 From 371800dcf7bc452ceab9864e0e71e9d081135746 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, 17 Mar 2021 17:07:32 +0800 Subject: [PATCH 146/252] aa --- business/jxstore/report/report.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 8fbb9d562..65af0a03f 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -448,7 +448,10 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { } storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.CreateEntity(db, storeManage) + if storeManageStates, err := dao.GetStoreManageStateSimple(db, []int{storeDetail.ID}, nil, vendorID); err == nil && len(storeManageStates) > 0 { + storeManage.ID = storeManageStates[0].ID + dao.CreateEntity(db, storeManage) + } return retVal, err }, createList) tasksch.HandleTask(task3, task, true).Run() From f73783b2c9d791ecce5b6737f3f70e28872dc39e 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, 17 Mar 2021 17:10:03 +0800 Subject: [PATCH 147/252] aa --- business/jxstore/report/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 65af0a03f..944ac7e90 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -456,7 +456,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { }, createList) tasksch.HandleTask(task3, task, true).Run() task3.GetResult(0) - task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { storeMap := batchItemList[0].(*model.StoreMap) if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { From e0a1393eee6dfac9468c897bafd74516b7f8f6c3 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, 17 Mar 2021 17:14:57 +0800 Subject: [PATCH 148/252] aa --- business/jxstore/report/report.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 944ac7e90..8ebefd2d3 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -448,10 +448,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { } storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - if storeManageStates, err := dao.GetStoreManageStateSimple(db, []int{storeDetail.ID}, nil, vendorID); err == nil && len(storeManageStates) > 0 { - storeManage.ID = storeManageStates[0].ID - dao.CreateEntity(db, storeManage) - } + dao.CreateEntity(db, storeManage) return retVal, err }, createList) tasksch.HandleTask(task3, task, true).Run() @@ -464,7 +461,10 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { } storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - dao.UpdateEntity(db, storeManage) + if storeManageStates, err := dao.GetStoreManageStateSimple(db, []int{storeDetail.ID}, nil, vendorID); err == nil && len(storeManageStates) > 0 { + storeManage.ID = storeManageStates[0].ID + dao.UpdateEntity(db, storeManage) + } return retVal, err }, updateList) tasksch.HandleTask(task4, task, true).Run() From f0d41bc043fece368167625f2e01fbbd5758fc8d 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, 17 Mar 2021 17:35:40 +0800 Subject: [PATCH 149/252] aa --- business/jxstore/cms/sku.go | 60 ++++++++++++++++---- business/jxstore/report/report.go | 2 +- business/model/dao/store_sku.go | 6 ++ business/partner/purchase/ebai/store_sku2.go | 12 ++++ business/partner/purchase/jd/sku2.go | 4 +- business/partner/purchase/mtwm/store_sku2.go | 16 +++++- 6 files changed, 84 insertions(+), 16 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 66a3fecbd..44e1a6abe 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -2272,8 +2272,37 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID skuName.Skus[0].SpecUnit = productInfo.SpecUnit } } + //难受呀 if len(productInfo.ImgList) > 0 { - skuName.Img = productInfo.ImgList[0] + switch len(productInfo.ImgList) { + case 0: + case 1: + skuName.Img = productInfo.ImgList[0] + case 2: + skuName.Img = productInfo.ImgList[0] + skuName.Img2 = productInfo.ImgList[1] + case 3: + skuName.Img = productInfo.ImgList[0] + skuName.Img2 = productInfo.ImgList[1] + skuName.Img3 = productInfo.ImgList[2] + case 4: + skuName.Img = productInfo.ImgList[0] + skuName.Img2 = productInfo.ImgList[1] + skuName.Img3 = productInfo.ImgList[2] + skuName.Img4 = productInfo.ImgList[3] + case 5: + skuName.Img = productInfo.ImgList[0] + skuName.Img2 = productInfo.ImgList[1] + skuName.Img3 = productInfo.ImgList[2] + skuName.Img4 = productInfo.ImgList[3] + skuName.Img5 = productInfo.ImgList[4] + default: + skuName.Img = productInfo.ImgList[0] + skuName.Img2 = productInfo.ImgList[1] + skuName.Img3 = productInfo.ImgList[2] + skuName.Img4 = productInfo.ImgList[3] + skuName.Img5 = productInfo.ImgList[4] + } } else { skuName.Img = model.NOSkuNameImg } @@ -2310,24 +2339,33 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID if result != nil { imgs := strings.Split(result.Pic, ",") switch len(imgs) { + case 0: case 1: skuName.Img = imgs[0] case 2: - case 3: - case 4: - case 5: - } - if len(imgs) == 1 { - skuName.Img = imgs[0] - } - if len(imgs) == 2 { skuName.Img = imgs[0] skuName.Img2 = imgs[1] - } - if len(imgs) == 3 { + case 3: skuName.Img = imgs[0] skuName.Img2 = imgs[1] skuName.Img3 = imgs[2] + case 4: + skuName.Img = imgs[0] + skuName.Img2 = imgs[1] + skuName.Img3 = imgs[2] + skuName.Img4 = imgs[3] + case 5: + skuName.Img = imgs[0] + skuName.Img2 = imgs[1] + skuName.Img3 = imgs[2] + skuName.Img4 = imgs[3] + skuName.Img5 = imgs[4] + default: + skuName.Img = imgs[0] + skuName.Img2 = imgs[1] + skuName.Img3 = imgs[2] + skuName.Img4 = imgs[3] + skuName.Img5 = imgs[4] } } } diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 8ebefd2d3..05fdb3e39 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -440,7 +440,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) { }, deleteList) tasksch.HandleTask(task2, task, true).Run() task2.GetResult(0) - task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { storeMap := batchItemList[0].(*model.StoreMap) if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 8b70405e3..a846e0ea8 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -109,6 +109,8 @@ type StoreSkuSyncInfo struct { Img string Img2 string Img3 string + Img4 string + Img5 string DescImg string ImgWatermark string `json:"imgWatermark"` //图片水印 ImgMix string //合成水印后的图片 @@ -457,6 +459,8 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo IF(t11.%s <> '', t11.%s, t3.img) img, IF(t12.%s <> '', t12.%s, t3.img2) img2, IF(t15.%s <> '', t15.%s, t3.img3) img3, + IF(t20.%s <> '', t20.%s, t3.img4) img4, + IF(t21.%s <> '', t21.%s, t3.img5) img5, IF(t13.%s <> '', t13.%s, t3.desc_img) desc_img, t4.%s_category_id vendor_vendor_cat_id, t4.name category_name, @@ -496,6 +500,8 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo LEFT JOIN data_resource t11 ON t11.main_url = t3.img LEFT JOIN data_resource t12 ON t12.main_url = t3.img2 LEFT JOIN data_resource t15 ON t15.main_url = t3.img3 + LEFT JOIN data_resource t20 ON t20.main_url = t3.img4 + LEFT JOIN data_resource t21 ON t21.main_url = t3.img5 LEFT JOIN data_resource t13 ON t13.main_url = t3.desc_img LEFT JOIN sku_exinfo_map tsu ON tsu.name_id = t3.id AND tsu.deleted_at = ? AND tsu.vendor_id = t14.vendor_id LEFT JOIN sku_vendor_category_map tsu1 ON tsu1.name_id = t3.id AND tsu1.deleted_at = ? AND tsu1.vendor_id = t14.vendor_id diff --git a/business/partner/purchase/ebai/store_sku2.go b/business/partner/purchase/ebai/store_sku2.go index f713661e2..39f31351e 100644 --- a/business/partner/purchase/ebai/store_sku2.go +++ b/business/partner/purchase/ebai/store_sku2.go @@ -420,6 +420,18 @@ func genSkuParamsFromStoreSkuInfo2(storeSku *dao.StoreSkuSyncInfo, isCreate, isE "url": storeSku.Img3, }) } + if storeSku.Img4 != "" { + photos = append(photos, map[string]interface{}{ + "is_master": false, + "url": storeSku.Img4, + }) + } + if storeSku.Img5 != "" { + photos = append(photos, map[string]interface{}{ + "is_master": false, + "url": storeSku.Img5, + }) + } params = map[string]interface{}{ // "name": utils.LimitMixedStringLen(storeSku.SkuName, ebaiapi.MaxSkuNameByteCount), "left_num": model.MaxStoreSkuStockQty, diff --git a/business/partner/purchase/jd/sku2.go b/business/partner/purchase/jd/sku2.go index 8cd8043cb..60d9399e3 100644 --- a/business/partner/purchase/jd/sku2.go +++ b/business/partner/purchase/jd/sku2.go @@ -172,9 +172,9 @@ func skuInfo2Param(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (param *jd param.ShopCategories = append(param.ShopCategories, utils.Str2Int64(sku.VendorCatID)) } if sku.ImgMix != "" { - param.Images = jxutils.BatchString2Slice(sku.ImgMix, sku.Img2, sku.Img3) + param.Images = jxutils.BatchString2Slice(sku.ImgMix, sku.Img2, sku.Img3, sku.Img4, sku.Img5) } else { - param.Images = jxutils.BatchString2Slice(sku.Img, sku.Img2, sku.Img3) + param.Images = jxutils.BatchString2Slice(sku.Img, sku.Img2, sku.Img3, sku.Img4, sku.Img5) } if param.CategoryID == 0 { diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index 24a711ef6..98cd4d301 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -286,13 +286,25 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI foodData["is_sold_out"] = skuStatusJX2Mtwm(storeSku.MergedStatus) if true { // vendorStoreID == specialStoreID { img2 := storeSku.Img2 + img3 := storeSku.Img3 + img4 := storeSku.Img4 + img5 := storeSku.Img5 if img2 == "" { img2 = storeSku.Img } + if img3 == "" { + img3 = storeSku.Img + } + if img4 == "" { + img4 = storeSku.Img + } + if img5 == "" { + img5 = storeSku.Img + } if storeSku.ImgMix != "" && ((storeSku.BrandID == storeSku.ExBrandID && storeSku.ExBrandID != 0) || storeSku.ExBrandID == 0) { - foodData["picture"] = strings.Join(jxutils.BatchString2Slice(storeSku.ImgMix, img2, storeSku.ImgMix, storeSku.ImgMix, storeSku.ImgMix), ",") + foodData["picture"] = strings.Join(jxutils.BatchString2Slice(storeSku.ImgMix, img2, img3, img4, img5), ",") } else { - foodData["picture"] = strings.Join(jxutils.BatchString2Slice(storeSku.Img, img2, storeSku.Img, storeSku.Img, storeSku.Img), ",") + foodData["picture"] = strings.Join(jxutils.BatchString2Slice(storeSku.Img, img2, img3, img4, img5), ",") } } else { foodData["picture"] = strings.Join(jxutils.BatchString2Slice(storeSku.Img, storeSku.Img2), ",") From c4bcc120a415e9ce426c8f1cafa74426024b7d5c 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, 17 Mar 2021 17:55:37 +0800 Subject: [PATCH 150/252] aa --- business/jxstore/tempop/tempop.go | 235 +++++++++++++++++------------- 1 file changed, 132 insertions(+), 103 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 8cb7121b8..c3434a12a 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1888,117 +1888,146 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // }, storeMaps) // tasksch.HandleTask(task, nil, true).Run() // _, err = task.GetResult(0) - // var ( - // db = dao.GetDB() - // skuNames []*model.SkuName - // failedSku []string - // ) - // sql := ` - // SELECT * FROM sku_name WHERE deleted_at = ? AND img = ? - // ` - // sqlParams := []interface{}{ - // utils.DefaultTimeValue, model.NOSkuNameImg, - // } - // dao.GetRows(db, &skuNames, sql, sqlParams) - // for _, v := range skuNames { - // if v.Upc != nil { - // result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) - // if result != nil { - // if v.Img == model.NOSkuNameImg { - // imgs := strings.Split(result.Pic, ",") - // if len(imgs) == 1 { - // v.Img = imgs[0] - // } - // if len(imgs) == 2 { - // v.Img = imgs[0] - // v.Img2 = imgs[1] - // } - // if len(imgs) >= 3 { - // v.Img = imgs[0] - // v.Img2 = imgs[1] - // v.Img3 = imgs[2] - // } - // dao.UpdateEntity(db, v, "Img", "Img2", "Img3") - // } - // } else { - // failedSku = append(failedSku, *v.Upc) - // } - // } - // } var ( - db = dao.GetDB() - vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI} - // messageFlag = time.Now().Hour() == 10 && time.Now().Minute() > 0 && time.Now().Minute() < 12 + db = dao.GetDB() + skuNames []*model.SkuName ) - task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx, + sql := ` + SELECT * FROM sku_name WHERE deleted_at = ? AND upc <> '' AND img2 = '' + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + } + dao.GetRows(db, &skuNames, sql, sqlParams) + task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - vendorID := batchItemList[0].(int) - storeMaps, err := dao.GetStoresMapList(db, []int{vendorID}, nil, []int{model.StoreStatusOpened, model.StoreStatusClosed, model.StoreStatusHaveRest}, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") - storeManageStates, err := dao.GetStoreManageStateSimple(db, nil, nil, vendorID) - var ( - storeMapsMap = make(map[int]*model.StoreMap) - storeManagesMap = make(map[int]*model.StoreManageState) - deleteList []int - createList, updateList []*model.StoreMap - ) - for _, v := range storeMaps { - storeMapsMap[v.StoreID] = v - } - for _, v := range storeManageStates { - storeManagesMap[v.StoreID] = v - if storeMapsMap[v.StoreID] != nil { - updateList = append(updateList, storeMapsMap[v.StoreID]) + v := batchItemList[0].(*model.SkuName) + if v.Upc != nil { + productInfos, _ := api.JdAPI.GetJdUpcCodeByName("", *v.Upc, 1, 30) + if len(productInfos) > 0 { + productInfo := productInfos[0] + if len(productInfo.ImgList) >= 5 { + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + } else { + result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) + if result != nil { + imgs := strings.Split(result.Pic, ",") + if len(imgs) >= 5 { + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } else { + if len(imgs) > len(productInfo.ImgList) { + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + } else { + switch len(productInfo.ImgList) { + case 0: + case 1: + v.Img = productInfo.ImgList[0] + case 2: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + case 3: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + case 4: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + case 5: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + default: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + } + } + } + } + } } else { - deleteList = append(deleteList, v.StoreID) + result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) + if result != nil { + imgs := strings.Split(result.Pic, ",") + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + } } + dao.UpdateEntity(db, v, "Img", "Img2", "Img3", "Img4", "Img5") } - for _, v := range storeMapsMap { - if storeManagesMap[v.StoreID] == nil { - createList = append(createList, v) - } - } - // task2 := tasksch.NewParallelTask("deleteList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // storeID := batchItemList[0].(int) - // storeManage := &model.StoreManageState{ - // StoreID: storeID, - // VendorID: vendorID, - // } - // dao.DeleteEntity(db, storeManage, "StoreID", "VendorID") - // return retVal, err - // }, deleteList) - // tasksch.HandleTask(task2, task, true).Run() - // task2.GetResult(0) - // task3 := tasksch.NewParallelTask("createList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // storeMap := batchItemList[0].(*model.StoreMap) - // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - // return retVal, err - // } - // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - // dao.CreateEntity(db, storeManage) - // return retVal, err - // }, createList) - // tasksch.HandleTask(task3, task, true).Run() - // task3.GetResult(0) - // task4 := tasksch.NewParallelTask("updateList", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // storeMap := batchItemList[0].(*model.StoreMap) - // if storeMap.VendorOrgCode == "" || storeMap.VendorStoreID == "" { - // return retVal, err - // } - // storeDetail, _ := dao.GetStoreDetail(db, storeMap.StoreID, vendorID, storeMap.VendorOrgCode) - // storeManage := buildStoreManageState(ctx, db, storeMap, storeDetail, messageFlag) - // dao.UpdateEntity(db, storeManage) - // return retVal, err - // }, updateList) - // tasksch.HandleTask(task4, task, true).Run() - // task4.GetResult(0) return retVal, err - }, vendorIDs) + }, skuNames) tasksch.HandleTask(task, nil, true).Run() - task.GetID() + _, err = task.GetResult(0) return err } From d690f8cfb7226c50afec1ad89a787fedfae3484d 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, 17 Mar 2021 18:04:44 +0800 Subject: [PATCH 151/252] aa --- 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 a846e0ea8..e569e9bab 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -474,6 +474,8 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), + GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), + GetDataResFieldName(vendorID), GetDataResFieldName(vendorID), fieldPrefix, } if isSingleStorePF { From e3ab368ddaeae0d462b3b72cb180dd7c965b3900 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, 17 Mar 2021 18:21:30 +0800 Subject: [PATCH 152/252] aa --- business/jxstore/tempop/tempop.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index c3434a12a..a626cbde4 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1985,6 +1985,36 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { } } } + } else { + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } } } } else { From 757983c756bda99a194086d0a8abff9f862790af 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, 17 Mar 2021 18:22:32 +0800 Subject: [PATCH 153/252] aa --- business/jxstore/tempop/tempop.go | 42 +++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index a626cbde4..a4d130cf7 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1986,34 +1986,34 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { } } } else { - switch len(imgs) { + switch len(productInfo.ImgList) { case 0: case 1: - v.Img = imgs[0] + v.Img = productInfo.ImgList[0] case 2: - v.Img = imgs[0] - v.Img2 = imgs[1] + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] case 3: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] case 4: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] case 5: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] default: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] } } } From 6c767e160aa010ff14d763c8f83373ba19a2075a 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, 17 Mar 2021 18:27:25 +0800 Subject: [PATCH 154/252] aa --- business/jxstore/tempop/tempop.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index a4d130cf7..221aa3fa6 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1899,7 +1899,7 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { utils.DefaultTimeValue, } dao.GetRows(db, &skuNames, sql, sqlParams) - task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(*model.SkuName) if v.Upc != nil { From 2ab10184985fa144fd456d2e9020f2a514d462be 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, 18 Mar 2021 09:16:53 +0800 Subject: [PATCH 155/252] aa --- business/jxstore/cms/sku.go | 4 ++++ business/jxstore/cms/store_sku.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 44e1a6abe..a6fc6e20d 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1660,6 +1660,10 @@ func GetJdUpcCodeByName(ctx *jxcontext.Context, name, upcCode string) (productIn return productInfos, err } +func GetMTUpcCodeByCode(upcCode string) { + +} + func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, imgWaterMark string, vendorID int, exPrefix, fromTime, toTime string, isAsync, isContinueWhenError bool) (hint string, err error) { var ( fromTimeP time.Time diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index a06613998..aa06911cf 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1099,7 +1099,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs // if err = checkStoresSkusSaleCity(ctx, db, storeIDs, skuBindInfos); err != nil { // return nil, err // } - // globals.SugarLogger.Debugf("updateStoresSkusWithoutSync2, storeIDs:%v, skuBindInfos:%s", storeIDs, utils.Format4Output(skuBindInfos, false)) + globals.SugarLogger.Debugf("updateStoresSkusWithoutSync2, storeIDs:%v, skuBindInfos:%s", storeIDs, utils.Format4Output(skuBindInfos, false)) isUserCanDirectChangePrice := true if user := ctx.GetFullUser(); user != nil { isUserCanDirectChangePrice = user.Type&model.UserTypeOperator != 0 From dddd9fd1170f7a61578c2fdfa502fe9aeb2d5461 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, 18 Mar 2021 09:22:00 +0800 Subject: [PATCH 156/252] aa --- business/jxstore/cms/store_sku.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index aa06911cf..220df8e0b 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1189,6 +1189,8 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs FOR UPDATE` sqlParams = append(sqlParams, utils.DefaultTimeValue) // globals.SugarLogger.Debug(sql) + fmt.Println(sql) + fmt.Println(sqlParams) if err = dao.GetRows(db, &allBinds, sql, sqlParams...); err == nil { if len(allBinds) > 0 { // globals.SugarLogger.Debug(utils.Format4Output(allBinds, false)) From bb59d1e3419bfae2ca89b1844e4458a6f4092c3d 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, 18 Mar 2021 09:29:15 +0800 Subject: [PATCH 157/252] aa --- business/jxstore/cms/store_sku.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 220df8e0b..51c60ccf0 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1189,11 +1189,9 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs FOR UPDATE` sqlParams = append(sqlParams, utils.DefaultTimeValue) // globals.SugarLogger.Debug(sql) - fmt.Println(sql) - fmt.Println(sqlParams) if err = dao.GetRows(db, &allBinds, sql, sqlParams...); err == nil { if len(allBinds) > 0 { - // globals.SugarLogger.Debug(utils.Format4Output(allBinds, false)) + globals.SugarLogger.Debug(utils.Format4Output(allBinds, false)) inSkuBinsMap := make(map[int]*StoreSkuBindSkuInfo, len(inSkuBinds)) for _, v := range inSkuBinds { inSkuBinsMap[v.SkuID] = v From ab74e6517e18f52be549f6b1ecaddeee9703bd73 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, 18 Mar 2021 09:36:20 +0800 Subject: [PATCH 158/252] aa --- business/jxstore/cms/store_sku.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 51c60ccf0..c49f20258 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1191,7 +1191,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs // globals.SugarLogger.Debug(sql) if err = dao.GetRows(db, &allBinds, sql, sqlParams...); err == nil { if len(allBinds) > 0 { - globals.SugarLogger.Debug(utils.Format4Output(allBinds, false)) + // globals.SugarLogger.Debug(utils.Format4Output(allBinds, false)) inSkuBinsMap := make(map[int]*StoreSkuBindSkuInfo, len(inSkuBinds)) for _, v := range inSkuBinds { inSkuBinsMap[v.SkuID] = v @@ -1219,7 +1219,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs var num int64 inSkuBind := inSkuBinsMap[v.RealSkuID] isCanChangePrice := (isUserCanDirectChangePrice || jxutils.TranslateStorePriceType(v.ChangePriceType) != model.StoreChangePriceTypeBossDisabled) - // globals.SugarLogger.Debug(utils.Format4Output(inSkuBind, false)) + globals.SugarLogger.Debugf("11111111111111", utils.Format4Output(inSkuBind, false)) var skuBind *model.StoreSkuBind if v.ID == 0 { // if v.ExdSkuID == "" { @@ -1259,7 +1259,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs } setStoreSkuBindStatus(skuBind, model.SyncFlagNewMask) dao.WrapAddIDCULDEntity(skuBind, userName) - // globals.SugarLogger.Debug(utils.Format4Output(skuBind, false)) + globals.SugarLogger.Debugf("2222222222222", utils.Format4Output(skuBind, false)) if deletedSku := dao.GetDeletedStoreSkuBind(db, skuBind.StoreID, skuBind.SkuID); deletedSku == nil { if err = dao.CreateEntity(db, skuBind); err != nil { dao.Rollback(db) From 79291abfbc8c6c966cde8051b016f8024e9c9cdd 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, 18 Mar 2021 09:41:03 +0800 Subject: [PATCH 159/252] aa --- business/jxstore/cms/store_sku.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index c49f20258..dac74b4c8 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1219,7 +1219,6 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs var num int64 inSkuBind := inSkuBinsMap[v.RealSkuID] isCanChangePrice := (isUserCanDirectChangePrice || jxutils.TranslateStorePriceType(v.ChangePriceType) != model.StoreChangePriceTypeBossDisabled) - globals.SugarLogger.Debugf("11111111111111", utils.Format4Output(inSkuBind, false)) var skuBind *model.StoreSkuBind if v.ID == 0 { // if v.ExdSkuID == "" { @@ -1259,7 +1258,6 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs } setStoreSkuBindStatus(skuBind, model.SyncFlagNewMask) dao.WrapAddIDCULDEntity(skuBind, userName) - globals.SugarLogger.Debugf("2222222222222", utils.Format4Output(skuBind, false)) if deletedSku := dao.GetDeletedStoreSkuBind(db, skuBind.StoreID, skuBind.SkuID); deletedSku == nil { if err = dao.CreateEntity(db, skuBind); err != nil { dao.Rollback(db) From a17211c679f9931b885e76d6543797395222ddf7 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, 18 Mar 2021 09:55:11 +0800 Subject: [PATCH 160/252] aa --- business/jxstore/cms/sku.go | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index a6fc6e20d..84ef15188 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1656,14 +1656,28 @@ func GetJdUpcCodeByName(ctx *jxcontext.Context, name, upcCode string) (productIn } } else { productInfos, err = GetJdUpcCodeByCode(ctx, upcCode) + if len(productInfos) == 0 { + if result, err := api.MtwmAPI.GetStandardProductListWithCond(upcCode); err == nil && result != nil { + productInfo := &jdapi.ProductInfo{ + OriginalName: result.Name, + OriginalSpec: result.Spec, + } + _, name, _, specUnit, unit, specQuality := jxutils.SplitSkuName(productInfo.OriginalName) + productInfo.Name = name + productInfo.SpecUnit = specUnit + productInfo.Unit = unit + productInfo.SpecQuality = specQuality + productInfo.ImgList = strings.Split(result.Pic, ",") + productInfo.Weight = float32(result.Weight) + productInfo.Price = result.AvgPrice + productInfo.BrandName = result.BrandNamePath + productInfos = append(productInfos, productInfo) + } + } } return productInfos, err } -func GetMTUpcCodeByCode(upcCode string) { - -} - func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, imgWaterMark string, vendorID int, exPrefix, fromTime, toTime string, isAsync, isContinueWhenError bool) (hint string, err error) { var ( fromTimeP time.Time From c87c32ead1c935ce5f3124f46ad4b13af769d369 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, 18 Mar 2021 10:04:10 +0800 Subject: [PATCH 161/252] aa --- business/jxstore/cms/sku.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 84ef15188..75fedbcd2 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1662,11 +1662,11 @@ func GetJdUpcCodeByName(ctx *jxcontext.Context, name, upcCode string) (productIn OriginalName: result.Name, OriginalSpec: result.Spec, } - _, name, _, specUnit, unit, specQuality := jxutils.SplitSkuName(productInfo.OriginalName) + // _, name, _, specUnit, unit, specQuality := jxutils.SplitSkuName(productInfo.OriginalName) productInfo.Name = name - productInfo.SpecUnit = specUnit - productInfo.Unit = unit - productInfo.SpecQuality = specQuality + productInfo.SpecUnit = result.SpecUnit + productInfo.Unit = result.Unit + productInfo.SpecQuality = float32(result.SpecNew) productInfo.ImgList = strings.Split(result.Pic, ",") productInfo.Weight = float32(result.Weight) productInfo.Price = result.AvgPrice From 86ef0528a2207d874d02b184317527a2fdad5dbe 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, 18 Mar 2021 10:40:14 +0800 Subject: [PATCH 162/252] aa --- business/partner/purchase/mtwm/store.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 770f25b5a..8beba8f76 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -303,6 +303,7 @@ func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask func (p *PurchaseHandler) onStoreStatusChanged(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse) { var err error + globals.SugarLogger.Debugf("mtwm onStoreStatusChanged: ", utils.Format4Output(msg, false)) vendorStoreID := msg.FormData.Get("app_poi_code") storeStatus := 0 if msg.Cmd == mtwmapi.MsgTypeStoreStatusChanged { From fe489660b89c7b23ce40e5ba8e4ce4230c729aed 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, 18 Mar 2021 10:46:00 +0800 Subject: [PATCH 163/252] aa --- business/jxstore/cms/sku.go | 58 +++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 9 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 75fedbcd2..3f5a37f1a 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -2335,15 +2335,6 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, fmt.Sprintf("暂不支持的图片格式:[%v]", skuName.Img))} return retVal, err } - //需要把图片传到七牛云上 - if !strings.Contains(skuName.Img, "image.jxc4.com") { - downloadURL, err := uploadImgStandard(skuName.Img) - if err != nil { - retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} - return retVal, err - } - skuName.Img = downloadURL - } skuName.Status = model.SkuStatusNormal skuName.IsGlobal = model.YES if categoryID == 0 { @@ -2387,6 +2378,55 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID } } } + //需要把图片传到七牛云上, 很难受 + if !strings.Contains(skuName.Img, "image.jxc4.com") { + downloadURL, err := uploadImgStandard(skuName.Img) + if err != nil { + retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} + return retVal, err + } + skuName.Img = downloadURL + } + if skuName.Img2 != "" { + if !strings.Contains(skuName.Img2, "image.jxc4.com") { + downloadURL, err := uploadImgStandard(skuName.Img2) + if err != nil { + retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} + return retVal, err + } + skuName.Img2 = downloadURL + } + } + if skuName.Img3 != "" { + if !strings.Contains(skuName.Img3, "image.jxc4.com") { + downloadURL, err := uploadImgStandard(skuName.Img3) + if err != nil { + retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} + return retVal, err + } + skuName.Img3 = downloadURL + } + } + if skuName.Img4 != "" { + if !strings.Contains(skuName.Img4, "image.jxc4.com") { + downloadURL, err := uploadImgStandard(skuName.Img4) + if err != nil { + retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} + return retVal, err + } + skuName.Img4 = downloadURL + } + } + if skuName.Img5 != "" { + if !strings.Contains(skuName.Img5, "image.jxc4.com") { + downloadURL, err := uploadImgStandard(skuName.Img5) + if err != nil { + retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} + return retVal, err + } + skuName.Img5 = downloadURL + } + } _, err = AddSkuName(ctx, skuName, ctx.GetUserName()) if err != nil { retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, err.Error())} From 7bb3c81f00a19365e2db0ce92914368b911f634b 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, 18 Mar 2021 10:53:37 +0800 Subject: [PATCH 164/252] aa --- controllers/mtwm_callback.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/controllers/mtwm_callback.go b/controllers/mtwm_callback.go index 4d0c24ca4..c93c71683 100644 --- a/controllers/mtwm_callback.go +++ b/controllers/mtwm_callback.go @@ -3,6 +3,7 @@ package controllers import ( "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm" + "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" "github.com/astaxie/beego" ) @@ -69,6 +70,7 @@ func (c *MtwmController) OrderPartialRefund() { } func (c *MtwmController) StoreStatusChanged() { + globals.SugarLogger.Debugf("mtwm StoreStatusChanged test", "1") c.onCallbackMsg(mtwmapi.MsgTypeStoreStatusChanged) } From 0f21a0df0b2254ce818a87f26a4a26a14b7b4cc9 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, 18 Mar 2021 11:24:34 +0800 Subject: [PATCH 165/252] aa --- business/jxstore/cms/storeman.go | 2 +- business/partner/purchase/mtwm/store.go | 1 - controllers/mtwm_callback.go | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/business/jxstore/cms/storeman.go b/business/jxstore/cms/storeman.go index 39748e951..63340723e 100644 --- a/business/jxstore/cms/storeman.go +++ b/business/jxstore/cms/storeman.go @@ -24,7 +24,7 @@ func init() { } func (s *StoreManager) OnStoreStatusChanged(vendorStoreID string, vendorID int, storeStatus int) (err error) { - return err + // return err globals.SugarLogger.Debugf("OnStoreStatusChanged venvendorStoreID:%s, storeStatus:%d", vendorStoreID, storeStatus) db := dao.GetDB() storeDetail, err := dao.GetStoreDetailByVendorStoreID(db, vendorStoreID, vendorID, "") diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 8beba8f76..770f25b5a 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -303,7 +303,6 @@ func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask func (p *PurchaseHandler) onStoreStatusChanged(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse) { var err error - globals.SugarLogger.Debugf("mtwm onStoreStatusChanged: ", utils.Format4Output(msg, false)) vendorStoreID := msg.FormData.Get("app_poi_code") storeStatus := 0 if msg.Cmd == mtwmapi.MsgTypeStoreStatusChanged { diff --git a/controllers/mtwm_callback.go b/controllers/mtwm_callback.go index c93c71683..4d0c24ca4 100644 --- a/controllers/mtwm_callback.go +++ b/controllers/mtwm_callback.go @@ -3,7 +3,6 @@ package controllers import ( "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm" - "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" "github.com/astaxie/beego" ) @@ -70,7 +69,6 @@ func (c *MtwmController) OrderPartialRefund() { } func (c *MtwmController) StoreStatusChanged() { - globals.SugarLogger.Debugf("mtwm StoreStatusChanged test", "1") c.onCallbackMsg(mtwmapi.MsgTypeStoreStatusChanged) } From e1fced0a71e7b2ed3786527b25931c00175210d3 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, 18 Mar 2021 14:09:43 +0800 Subject: [PATCH 166/252] aa --- business/jxstore/cms/sku.go | 9 +++++++++ business/jxstore/permission/permission.go | 4 +--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 3f5a37f1a..5b080c5ff 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1657,6 +1657,9 @@ func GetJdUpcCodeByName(ctx *jxcontext.Context, name, upcCode string) (productIn } else { productInfos, err = GetJdUpcCodeByCode(ctx, upcCode) if len(productInfos) == 0 { + if configs, err := dao.QueryConfigs(dao.GetDB(), "mtwmCookieStr", model.ConfigTypeCookie, ""); err == nil { + api.MtwmAPI.SetCookieWithStr(configs[0].Value) + } if result, err := api.MtwmAPI.GetStandardProductListWithCond(upcCode); err == nil && result != nil { productInfo := &jdapi.ProductInfo{ OriginalName: result.Name, @@ -2344,6 +2347,9 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID } skuName.Skus[0].Status = model.SkuStatusNormal if skuName.Img == model.NOSkuNameImg { + if configs, err := dao.QueryConfigs(dao.GetDB(), "mtwmCookieStr", model.ConfigTypeCookie, ""); err == nil { + api.MtwmAPI.SetCookieWithStr(configs[0].Value) + } result, _ := api.MtwmAPI.GetStandardProductListWithCond(*skuName.Upc) if result != nil { imgs := strings.Split(result.Pic, ",") @@ -2376,6 +2382,9 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID skuName.Img4 = imgs[3] skuName.Img5 = imgs[4] } + } else { + retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, "美团cookie过期了吧")} + return retVal, err } } //需要把图片传到七牛云上, 很难受 diff --git a/business/jxstore/permission/permission.go b/business/jxstore/permission/permission.go index 28ae73342..7e4ab3ebe 100644 --- a/business/jxstore/permission/permission.go +++ b/business/jxstore/permission/permission.go @@ -375,9 +375,7 @@ func GetUserStoresResultMap(userID string) (resultMap map[int]int, err error) { } if stores, err := dao.GetStoreList(db, storeIDs, cityCodes, nil, brandIDs, nil, ""); len(stores) > 0 && err == nil { for _, v := range stores { - if _, ok := resultMap[v.ID]; !ok { - resultMap[v.ID] = v.ID - } + resultMap[v.ID] = v.ID } } } From ab9d270aa97b0529bd4bb58564dce317cc4ac494 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, 18 Mar 2021 14:33:35 +0800 Subject: [PATCH 167/252] aa --- business/model/user.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/model/user.go b/business/model/user.go index 62b71b07a..3abd5caf8 100644 --- a/business/model/user.go +++ b/business/model/user.go @@ -264,6 +264,7 @@ type Menu struct { Level int `json:"level"` //级别 ParentID int `orm:"column(parent_id)" json:"parentID"` //父功能ID Color string `json:"color"` //颜色 + Type int `json:"type"` //0为功能菜单,1为权限菜单 } func (*Menu) TableUnique() [][]string { From 4d4c5d6b9dda2624ba4124bc07cf0719f0add79b 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, 18 Mar 2021 17:50:53 +0800 Subject: [PATCH 168/252] aa --- business/jxstore/cms/store.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index b280c63a1..5f8aa236e 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1198,6 +1198,7 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend if store != nil { storeMap.DeliveryType = store.DeliveryType storeMap.Status = store.Status + storeMap.VendorStoreName = store.Name } err = nil } From 1f5f97240226c540cf30a09198cab909d4b08c31 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, 18 Mar 2021 18:20:58 +0800 Subject: [PATCH 169/252] aa --- business/partner/purchase/jdshop/store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/jdshop/store.go b/business/partner/purchase/jdshop/store.go index c9f433e91..c78da72e1 100644 --- a/business/partner/purchase/jdshop/store.go +++ b/business/partner/purchase/jdshop/store.go @@ -103,7 +103,7 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri url, _ := getAPI("2").UploadImageNew(data, "2659335b16e3880e367759b8fc675933.tem.png") ex := store.LicenceExpire if ex == "" { - ex = utils.Time2Str(utils.Str2Time(store.LicenceValid).AddDate(0, 6, 0)) + ex = utils.Time2Str(utils.Str2Time(store.LicenceValid).AddDate(10, 0, 0)) } if !strings.Contains(ex, "00:00:00") { ex += " 00:00:00" From 875c29f655574f520913f083d1b44b9e9bb0fb6c 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, 19 Mar 2021 09:11:57 +0800 Subject: [PATCH 170/252] aa --- controllers/cms_sku.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 50fcc1674..79afdda4c 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -683,3 +683,13 @@ func (c *SkuController) LoadStoreVendorCategories() { return retVal, "", err }) } + +// @Title 刷新没图的商品 +// @Description 刷新没图的商品 +// @Param token header string true "认证token" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /RefreshNoImgSku [post] +func (c *SkuController) RefreshNoImgSku() { + +} From 3c6d72742353d2a49e30bbcc26b7af2e4cb60353 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, 19 Mar 2021 09:18:34 +0800 Subject: [PATCH 171/252] aa --- business/jxstore/cms/sku.go | 174 +++++++++++++++++++++++ business/jxstore/tempop/tempop.go | 193 -------------------------- controllers/cms_sku.go | 4 +- routers/commentsRouter_controllers.go | 9 ++ 4 files changed, 186 insertions(+), 194 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 5b080c5ff..f38286eb2 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -3065,3 +3065,177 @@ func LoadStoreVendorCategories(ctx *jxcontext.Context, vendorOrgCode string, ven } return err } + +func RefreshNoImgSku(ctx *jxcontext.Context) (err error) { + var ( + db = dao.GetDB() + skuNames []*model.SkuName + ) + sql := ` + SELECT * FROM sku_name WHERE deleted_at = ? AND upc <> '' AND img2 = '' + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + } + dao.GetRows(db, &skuNames, sql, sqlParams) + task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + v := batchItemList[0].(*model.SkuName) + if v.Upc != nil { + productInfos, _ := api.JdAPI.GetJdUpcCodeByName("", *v.Upc, 1, 30) + if len(productInfos) > 0 { + productInfo := productInfos[0] + if len(productInfo.ImgList) >= 5 { + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + } else { + result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) + if result != nil { + imgs := strings.Split(result.Pic, ",") + if len(imgs) >= 5 { + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } else { + if len(imgs) > len(productInfo.ImgList) { + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + } else { + switch len(productInfo.ImgList) { + case 0: + case 1: + v.Img = productInfo.ImgList[0] + case 2: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + case 3: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + case 4: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + case 5: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + default: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + } + } + } + } else { + switch len(productInfo.ImgList) { + case 0: + case 1: + v.Img = productInfo.ImgList[0] + case 2: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + case 3: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + case 4: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + case 5: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + default: + v.Img = productInfo.ImgList[0] + v.Img2 = productInfo.ImgList[1] + v.Img3 = productInfo.ImgList[2] + v.Img4 = productInfo.ImgList[3] + v.Img5 = productInfo.ImgList[4] + } + } + } + } else { + result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) + if result != nil { + imgs := strings.Split(result.Pic, ",") + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + } + } + dao.UpdateEntity(db, v, "Img", "Img2", "Img3", "Img4", "Img5") + } + return retVal, err + }, skuNames) + tasksch.HandleTask(task, nil, true).Run() + _, err = task.GetResult(0) + return err +} diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 221aa3fa6..214b4c5d0 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1865,199 +1865,6 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // }, storeMaps) // tasksch.HandleTask(task, nil, true).Run() // _, err = task.GetResult(0) - // var ( - // storeMaps []*model.StoreMap - // db = dao.GetDB() - // ) - // storeMaps, err = dao.GetStoresMapList(db, []int{3}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") - // task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - // storeMap := batchItemList[0].(*model.StoreMap) - // if storeMap.CoverArea == 0 { - // handler := partner.GetPurchasePlatformFromVendorID(storeMap.VendorID) - // if store, err := handler.ReadStore(ctx, storeMap.VendorOrgCode, storeMap.VendorStoreID); err == nil { - // if storeMap.VendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { - // storeMap.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) - // } else { - // storeMap.CoverArea = report.CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), storeMap.VendorID) - // } - // dao.UpdateEntity(db, storeMap, "CoverArea") - // } - // } - // return retVal, err - // }, storeMaps) - // tasksch.HandleTask(task, nil, true).Run() - // _, err = task.GetResult(0) - var ( - db = dao.GetDB() - skuNames []*model.SkuName - ) - sql := ` - SELECT * FROM sku_name WHERE deleted_at = ? AND upc <> '' AND img2 = '' - ` - sqlParams := []interface{}{ - utils.DefaultTimeValue, - } - dao.GetRows(db, &skuNames, sql, sqlParams) - task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - v := batchItemList[0].(*model.SkuName) - if v.Upc != nil { - productInfos, _ := api.JdAPI.GetJdUpcCodeByName("", *v.Upc, 1, 30) - if len(productInfos) > 0 { - productInfo := productInfos[0] - if len(productInfo.ImgList) >= 5 { - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - } else { - result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) - if result != nil { - imgs := strings.Split(result.Pic, ",") - if len(imgs) >= 5 { - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - } else { - if len(imgs) > len(productInfo.ImgList) { - switch len(imgs) { - case 0: - case 1: - v.Img = imgs[0] - case 2: - v.Img = imgs[0] - v.Img2 = imgs[1] - case 3: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - case 4: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - case 5: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - default: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - } - } else { - switch len(productInfo.ImgList) { - case 0: - case 1: - v.Img = productInfo.ImgList[0] - case 2: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - case 3: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - case 4: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - case 5: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - default: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - } - } - } - } else { - switch len(productInfo.ImgList) { - case 0: - case 1: - v.Img = productInfo.ImgList[0] - case 2: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - case 3: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - case 4: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - case 5: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - default: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - } - } - } - } else { - result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) - if result != nil { - imgs := strings.Split(result.Pic, ",") - switch len(imgs) { - case 0: - case 1: - v.Img = imgs[0] - case 2: - v.Img = imgs[0] - v.Img2 = imgs[1] - case 3: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - case 4: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - case 5: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - default: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - } - } - } - dao.UpdateEntity(db, v, "Img", "Img2", "Img3", "Img4", "Img5") - } - return retVal, err - }, skuNames) - tasksch.HandleTask(task, nil, true).Run() - _, err = task.GetResult(0) return err } diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 79afdda4c..87f92508b 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -691,5 +691,7 @@ func (c *SkuController) LoadStoreVendorCategories() { // @Failure 200 {object} controllers.CallResult // @router /RefreshNoImgSku [post] func (c *SkuController) RefreshNoImgSku() { - + c.callRefreshNoImgSku(func(params *tSkuRefreshNoImgSkuParams) (retVal interface{}, errCode string, err error) { + return retVal, "", err + }) } diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 170f78cc2..aea3210a9 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1836,6 +1836,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], + beego.ControllerComments{ + Method: "RefreshNoImgSku", + Router: `/RefreshNoImgSku`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], beego.ControllerComments{ Method: "ReorderCategories", From 7e20fb35fe5da3f1c02cb17f2766878479134f03 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, 19 Mar 2021 09:31:45 +0800 Subject: [PATCH 172/252] aa --- business/jxstore/tempop/tempop.go | 162 +++++++++++++++--------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 214b4c5d0..95439fa8d 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -14,6 +14,7 @@ import ( "github.com/qiniu/api.v7/storage" "git.rosy.net.cn/baseapi/platformapi/jdapi" + "git.rosy.net.cn/baseapi/platformapi/jdshopapi" "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils/errlist" @@ -1745,87 +1746,86 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // } // } // } - //京东商城补身份证 - // var ( - // storeMaps []*model.StoreMap - // db = dao.GetDB() - // ) - // sql := ` - // SELECT * from store_map where vendor_id = 5 and deleted_at = '1970-01-01 00:00:00' and vendor_org_code = 2 - // and store_id <> 100206 - // ` - // dao.GetRows(db, &storeMaps, sql, nil) - // for _, v := range storeMaps { - // detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) - // storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") - - // var ( - // url2 string - // idCode string - // startTime string - // ) - // if storeDetail.IDCardFront != "" { - // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) - // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } else { - // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") - // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } - // if storeDetail.IDCode == "" { - // idCode = "610126198012230014" - // } else { - // idCode = storeDetail.IDCode - // } - // if storeDetail.IDValid == "" { - // startTime = "2013-01-25 00:00:00" - // } else { - // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) - // } - // ex := storeDetail.IDExpire - // if ex == "" { - // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(20, 0, 0)) - // } - // if !strings.Contains(ex, "00:00:00") { - // ex += " 00:00:00" - // } - // api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ - // StoreID: detail.StoreID, - // StoreName: detail.StoreName, - // CategoryID2: detail.CategoryID2, - // Coordinate: detail.Coordinate, - // BussinessBeginTime: detail.BussinessBeginTime, - // BussinessEndTime: detail.BussinessEndTime, - // ImgURL: detail.ImgURL, - // StorePhone: detail.StorePhone, - // AddName: storeDetail.Address, - // AddCode1: detail.AddCode1, - // AddCode2: detail.AddCode2, - // AddCode3: detail.AddCode3, - // CategoryID1: detail.CategoryID1, - // QualificationRequests: []*jdshopapi.QualificationRequests{ - // &jdshopapi.QualificationRequests{ - // QualificationID: 41, - // QualificationName: "营业执照", - // QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, - // QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, - // StartTime: detail.QualificationInfoTOList[0].StartTime, - // EndingTime: detail.QualificationInfoTOList[0].EndingTime, - // Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, - // }, - // &jdshopapi.QualificationRequests{ - // QualificationID: 42, - // QualificationName: "身份证件", - // QualificationNo: idCode, - // QualificationURL: url2, - // StartTime: startTime, - // EndingTime: ex, - // Time: []string{startTime, ex}, - // }, - // }, - // }) - // } + // 京东商城补身份证 + var ( + storeMaps []*model.StoreMap + db = dao.GetDB() + ) + sql := ` + SELECT * from store_map where vendor_id = 5 and deleted_at = '1970-01-01 00:00:00' and vendor_org_code = 2 + AND store_id = 667400 + ` + dao.GetRows(db, &storeMaps, sql, nil) + for _, v := range storeMaps { + detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) + // storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") + var ( + // url2 string + // idCode string + // startTime string + ) + // if storeDetail.IDCardFront != "" { + // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) + // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } else { + // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") + // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } + // if storeDetail.IDCode == "" { + // idCode = "610126198012230014" + // } else { + // idCode = storeDetail.IDCode + // } + // if storeDetail.IDValid == "" { + // startTime = "2013-01-25 00:00:00" + // } else { + // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) + // } + // ex := storeDetail.IDExpire + // if ex == "" { + // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) + // } + // if !strings.Contains(ex, "00:00:00") { + // ex += " 00:00:00" + // } + api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ + StoreID: detail.StoreID, + StoreName: detail.StoreName, + CategoryID2: detail.CategoryID2, + Coordinate: detail.Coordinate, + BussinessBeginTime: detail.BussinessBeginTime, + BussinessEndTime: detail.BussinessEndTime, + ImgURL: detail.ImgURL, + StorePhone: detail.StorePhone, + AddName: detail.AddName, + AddCode1: detail.AddCode1, + AddCode2: detail.AddCode2, + AddCode3: detail.AddCode3, + CategoryID1: detail.CategoryID1, + QualificationRequests: []*jdshopapi.QualificationRequests{ + &jdshopapi.QualificationRequests{ + QualificationID: 41, + QualificationName: "营业执照", + QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, + QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, + StartTime: detail.QualificationInfoTOList[0].StartTime, + EndingTime: utils.Time2Str(utils.Str2Time(detail.QualificationInfoTOList[0].StartTime).AddDate(10, 0, 0)), + Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, + }, + // &jdshopapi.QualificationRequests{ + // QualificationID: 42, + // QualificationName: "身份证件", + // QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, + // QualificationURL: url2, + // StartTime: startTime, + // EndingTime: ex, + // Time: []string{startTime, ex}, + // }, + }, + }) + } // var ( // db = dao.GetDB() // vendorThingIDs []int64 From ef53db347a23e78957b6008c41afb49e0e7f19f7 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, 19 Mar 2021 09:41:26 +0800 Subject: [PATCH 173/252] aa --- business/jxstore/tempop/tempop.go | 99 +++++++++++++++++-------------- 1 file changed, 53 insertions(+), 46 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 95439fa8d..1534ccbe5 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1758,38 +1758,38 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { dao.GetRows(db, &storeMaps, sql, nil) for _, v := range storeMaps { detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) - // storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") + storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") var ( - // url2 string - // idCode string - // startTime string + url2 string + idCode string + startTime string ) - // if storeDetail.IDCardFront != "" { - // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) - // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } else { - // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") - // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } - // if storeDetail.IDCode == "" { - // idCode = "610126198012230014" - // } else { - // idCode = storeDetail.IDCode - // } - // if storeDetail.IDValid == "" { - // startTime = "2013-01-25 00:00:00" - // } else { - // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) - // } - // ex := storeDetail.IDExpire - // if ex == "" { - // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) - // } - // if !strings.Contains(ex, "00:00:00") { - // ex += " 00:00:00" - // } + if storeDetail.IDCardFront != "" { + data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) + fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] + url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + } else { + data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") + fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" + url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + } + if storeDetail.IDCode == "" { + idCode = "610126198012230014" + } else { + idCode = storeDetail.IDCode + } + if storeDetail.IDValid == "" { + startTime = "2013-01-25 00:00:00" + } else { + startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) + } + ex := storeDetail.IDExpire + if ex == "" { + ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) + } + if !strings.Contains(ex, "00:00:00") { + ex += " 00:00:00" + } api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ StoreID: detail.StoreID, StoreName: detail.StoreName, @@ -1806,23 +1806,30 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { CategoryID1: detail.CategoryID1, QualificationRequests: []*jdshopapi.QualificationRequests{ &jdshopapi.QualificationRequests{ - QualificationID: 41, - QualificationName: "营业执照", - QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, - QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, - StartTime: detail.QualificationInfoTOList[0].StartTime, - EndingTime: utils.Time2Str(utils.Str2Time(detail.QualificationInfoTOList[0].StartTime).AddDate(10, 0, 0)), - Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, + QualificationID: 41, + QualificationName: "营业执照", + QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, + QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, + QualificationBusType: 2, + QualificationBusName: storeDetail.LicenceCorpName, + StartTime: detail.QualificationInfoTOList[0].StartTime, + EndingTime: utils.Time2Str(utils.Str2Time(detail.QualificationInfoTOList[0].StartTime).AddDate(10, 0, 0)), + Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, + }, + &jdshopapi.QualificationRequests{ + QualificationID: 42, + QualificationName: "身份证件", + // QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, + // QualificationURL: detail.QualificationInfoTOList[1].QualificationURL, + // StartTime: detail.QualificationInfoTOList[1].StartTime, + // EndingTime: detail.QualificationInfoTOList[1].EndingTime, + // Time: []string{detail.QualificationInfoTOList[1].StartTime, detail.QualificationInfoTOList[1].EndingTime}, + QualificationNo: idCode, + QualificationURL: url2, + StartTime: startTime, + EndingTime: ex, + Time: []string{startTime, ex}, }, - // &jdshopapi.QualificationRequests{ - // QualificationID: 42, - // QualificationName: "身份证件", - // QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, - // QualificationURL: url2, - // StartTime: startTime, - // EndingTime: ex, - // Time: []string{startTime, ex}, - // }, }, }) } From 1fc7e9f5a0cfb9a69432ea4291ff1fced78a2e7b 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, 19 Mar 2021 09:48:59 +0800 Subject: [PATCH 174/252] aa --- business/jxstore/tempop/tempop.go | 84 +++++++++++++++---------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 1534ccbe5..514cfa1eb 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1753,43 +1753,43 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { ) sql := ` SELECT * from store_map where vendor_id = 5 and deleted_at = '1970-01-01 00:00:00' and vendor_org_code = 2 - AND store_id = 667400 + AND store_id = 667431 ` dao.GetRows(db, &storeMaps, sql, nil) for _, v := range storeMaps { detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") - var ( - url2 string - idCode string - startTime string - ) - if storeDetail.IDCardFront != "" { - data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) - fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] - url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - } else { - data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") - fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" - url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - } - if storeDetail.IDCode == "" { - idCode = "610126198012230014" - } else { - idCode = storeDetail.IDCode - } - if storeDetail.IDValid == "" { - startTime = "2013-01-25 00:00:00" - } else { - startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) - } - ex := storeDetail.IDExpire - if ex == "" { - ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) - } - if !strings.Contains(ex, "00:00:00") { - ex += " 00:00:00" - } + // var ( + // url2 string + // idCode string + // startTime string + // ) + // if storeDetail.IDCardFront != "" { + // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) + // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } else { + // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") + // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } + // if storeDetail.IDCode == "" { + // idCode = "610126198012230014" + // } else { + // idCode = storeDetail.IDCode + // } + // if storeDetail.IDValid == "" { + // startTime = "2013-01-25 00:00:00" + // } else { + // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) + // } + // ex := storeDetail.IDExpire + // if ex == "" { + // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) + // } + // if !strings.Contains(ex, "00:00:00") { + // ex += " 00:00:00" + // } api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ StoreID: detail.StoreID, StoreName: detail.StoreName, @@ -1819,16 +1819,16 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { &jdshopapi.QualificationRequests{ QualificationID: 42, QualificationName: "身份证件", - // QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, - // QualificationURL: detail.QualificationInfoTOList[1].QualificationURL, - // StartTime: detail.QualificationInfoTOList[1].StartTime, - // EndingTime: detail.QualificationInfoTOList[1].EndingTime, - // Time: []string{detail.QualificationInfoTOList[1].StartTime, detail.QualificationInfoTOList[1].EndingTime}, - QualificationNo: idCode, - QualificationURL: url2, - StartTime: startTime, - EndingTime: ex, - Time: []string{startTime, ex}, + QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, + QualificationURL: detail.QualificationInfoTOList[1].QualificationURL, + StartTime: detail.QualificationInfoTOList[1].StartTime, + EndingTime: detail.QualificationInfoTOList[1].EndingTime, + Time: []string{detail.QualificationInfoTOList[1].StartTime, detail.QualificationInfoTOList[1].EndingTime}, + // QualificationNo: idCode, + // QualificationURL: url2, + // StartTime: startTime, + // EndingTime: ex, + // Time: []string{startTime, ex}, }, }, }) From e6b789324372c91a0ba9c1cfcabade2efdf92434 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, 19 Mar 2021 09:51:49 +0800 Subject: [PATCH 175/252] aa --- business/jxstore/tempop/tempop.go | 159 +++++++++++++++--------------- 1 file changed, 82 insertions(+), 77 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 514cfa1eb..0ec2f055c 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1753,86 +1753,91 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { ) sql := ` SELECT * from store_map where vendor_id = 5 and deleted_at = '1970-01-01 00:00:00' and vendor_org_code = 2 - AND store_id = 667431 ` dao.GetRows(db, &storeMaps, sql, nil) - for _, v := range storeMaps { - detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) - storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") - // var ( - // url2 string - // idCode string - // startTime string - // ) - // if storeDetail.IDCardFront != "" { - // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) - // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } else { - // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") - // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } - // if storeDetail.IDCode == "" { - // idCode = "610126198012230014" - // } else { - // idCode = storeDetail.IDCode - // } - // if storeDetail.IDValid == "" { - // startTime = "2013-01-25 00:00:00" - // } else { - // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) - // } - // ex := storeDetail.IDExpire - // if ex == "" { - // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) - // } - // if !strings.Contains(ex, "00:00:00") { - // ex += " 00:00:00" - // } - api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ - StoreID: detail.StoreID, - StoreName: detail.StoreName, - CategoryID2: detail.CategoryID2, - Coordinate: detail.Coordinate, - BussinessBeginTime: detail.BussinessBeginTime, - BussinessEndTime: detail.BussinessEndTime, - ImgURL: detail.ImgURL, - StorePhone: detail.StorePhone, - AddName: detail.AddName, - AddCode1: detail.AddCode1, - AddCode2: detail.AddCode2, - AddCode3: detail.AddCode3, - CategoryID1: detail.CategoryID1, - QualificationRequests: []*jdshopapi.QualificationRequests{ - &jdshopapi.QualificationRequests{ - QualificationID: 41, - QualificationName: "营业执照", - QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, - QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, - QualificationBusType: 2, - QualificationBusName: storeDetail.LicenceCorpName, - StartTime: detail.QualificationInfoTOList[0].StartTime, - EndingTime: utils.Time2Str(utils.Str2Time(detail.QualificationInfoTOList[0].StartTime).AddDate(10, 0, 0)), - Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, + // for _, v := range storeMaps { + task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + v := batchItemList[0].(*model.StoreMap) + detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) + storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") + // var ( + // url2 string + // idCode string + // startTime string + // ) + // if storeDetail.IDCardFront != "" { + // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) + // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } else { + // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") + // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } + // if storeDetail.IDCode == "" { + // idCode = "610126198012230014" + // } else { + // idCode = storeDetail.IDCode + // } + // if storeDetail.IDValid == "" { + // startTime = "2013-01-25 00:00:00" + // } else { + // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) + // } + // ex := storeDetail.IDExpire + // if ex == "" { + // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) + // } + // if !strings.Contains(ex, "00:00:00") { + // ex += " 00:00:00" + // } + api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ + StoreID: detail.StoreID, + StoreName: detail.StoreName, + CategoryID2: detail.CategoryID2, + Coordinate: detail.Coordinate, + BussinessBeginTime: detail.BussinessBeginTime, + BussinessEndTime: detail.BussinessEndTime, + ImgURL: detail.ImgURL, + StorePhone: detail.StorePhone, + AddName: detail.AddName, + AddCode1: detail.AddCode1, + AddCode2: detail.AddCode2, + AddCode3: detail.AddCode3, + CategoryID1: detail.CategoryID1, + QualificationRequests: []*jdshopapi.QualificationRequests{ + &jdshopapi.QualificationRequests{ + QualificationID: 41, + QualificationName: "营业执照", + QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, + QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, + QualificationBusType: 2, + QualificationBusName: storeDetail.LicenceCorpName, + StartTime: detail.QualificationInfoTOList[0].StartTime, + EndingTime: utils.Time2Str(utils.Str2Time(detail.QualificationInfoTOList[0].StartTime).AddDate(10, 0, 0)), + Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, + }, + &jdshopapi.QualificationRequests{ + QualificationID: 42, + QualificationName: "身份证件", + QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, + QualificationURL: detail.QualificationInfoTOList[1].QualificationURL, + StartTime: detail.QualificationInfoTOList[1].StartTime, + EndingTime: detail.QualificationInfoTOList[1].EndingTime, + Time: []string{detail.QualificationInfoTOList[1].StartTime, detail.QualificationInfoTOList[1].EndingTime}, + // QualificationNo: idCode, + // QualificationURL: url2, + // StartTime: startTime, + // EndingTime: ex, + // Time: []string{startTime, ex}, + }, }, - &jdshopapi.QualificationRequests{ - QualificationID: 42, - QualificationName: "身份证件", - QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, - QualificationURL: detail.QualificationInfoTOList[1].QualificationURL, - StartTime: detail.QualificationInfoTOList[1].StartTime, - EndingTime: detail.QualificationInfoTOList[1].EndingTime, - Time: []string{detail.QualificationInfoTOList[1].StartTime, detail.QualificationInfoTOList[1].EndingTime}, - // QualificationNo: idCode, - // QualificationURL: url2, - // StartTime: startTime, - // EndingTime: ex, - // Time: []string{startTime, ex}, - }, - }, - }) - } + }) + return retVal, err + }, storeMaps) + tasksch.HandleTask(task, nil, true).Run() + task.GetID() // var ( // db = dao.GetDB() // vendorThingIDs []int64 From c2954f52d255b020db02d04cea1ddc61efdb8265 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, 19 Mar 2021 10:00:49 +0800 Subject: [PATCH 176/252] aa --- business/jxstore/tempop/tempop.go | 62 +++++++++++------------ business/partner/purchase/jdshop/store.go | 42 ++++++++++++++- 2 files changed, 72 insertions(+), 32 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 0ec2f055c..60ae9c0c7 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1761,37 +1761,37 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { v := batchItemList[0].(*model.StoreMap) detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") - // var ( - // url2 string - // idCode string - // startTime string - // ) - // if storeDetail.IDCardFront != "" { - // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) - // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } else { - // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") - // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } - // if storeDetail.IDCode == "" { - // idCode = "610126198012230014" - // } else { - // idCode = storeDetail.IDCode - // } - // if storeDetail.IDValid == "" { - // startTime = "2013-01-25 00:00:00" - // } else { - // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) - // } - // ex := storeDetail.IDExpire - // if ex == "" { - // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) - // } - // if !strings.Contains(ex, "00:00:00") { - // ex += " 00:00:00" - // } + var ( + url2 string + idCode string + startTime string + ) + if storeDetail.IDCardFront != "" { + data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) + fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] + url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + } else { + data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") + fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" + url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + } + if storeDetail.IDCode == "" { + idCode = "610126198012230014" + } else { + idCode = storeDetail.IDCode + } + if storeDetail.IDValid == "" { + startTime = "2013-01-25 00:00:00" + } else { + startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) + } + ex := storeDetail.IDExpire + if ex == "" { + ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) + } + if !strings.Contains(ex, "00:00:00") { + ex += " 00:00:00" + } api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ StoreID: detail.StoreID, StoreName: detail.StoreName, diff --git a/business/partner/purchase/jdshop/store.go b/business/partner/purchase/jdshop/store.go index c78da72e1..b031588bf 100644 --- a/business/partner/purchase/jdshop/store.go +++ b/business/partner/purchase/jdshop/store.go @@ -103,7 +103,7 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri url, _ := getAPI("2").UploadImageNew(data, "2659335b16e3880e367759b8fc675933.tem.png") ex := store.LicenceExpire if ex == "" { - ex = utils.Time2Str(utils.Str2Time(store.LicenceValid).AddDate(10, 0, 0)) + ex = utils.Time2Str(utils.Str2Time(store.LicenceValid).AddDate(20, 0, 0)) } if !strings.Contains(ex, "00:00:00") { ex += " 00:00:00" @@ -146,6 +146,37 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri AddCode3: store.JdsCode, CategoryID1: 3, } + var ( + url3 string + idCode string + startTime string + ) + if storeDetail.IDCardFront != "" { + data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) + fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] + url3, _ = api.JdShop2API.UploadImageNew(data2, fileName) + } else { + data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") + fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" + url3, _ = api.JdShop2API.UploadImageNew(data2, fileName) + } + if storeDetail.IDCode == "" { + idCode = "610126198012230014" + } else { + idCode = storeDetail.IDCode + } + if storeDetail.IDValid == "" { + startTime = "2013-01-25 00:00:00" + } else { + startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) + } + ex2 := storeDetail.IDExpire + if ex2 == "" { + ex2 = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(20, 0, 0)) + } + if !strings.Contains(ex2, "00:00:00") { + ex2 += " 00:00:00" + } if url2 != "" { param.CategoryID1 = 34 param.CategoryID2 = 62 @@ -159,6 +190,15 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri EndingTime: ex, Time: []string{utils.Time2Str(utils.Str2Time(store.LicenceValid)), ex}, }, + &jdshopapi.QualificationRequests{ + QualificationID: 42, + QualificationName: "身份证件", + QualificationNo: idCode, + QualificationURL: url3, + StartTime: startTime, + EndingTime: ex2, + Time: []string{startTime, ex2}, + }, } } if store.JdsStreetCode != 0 { From 8dba6fe19fb5b68423cbe2af21d9c584075f0931 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, 19 Mar 2021 10:01:54 +0800 Subject: [PATCH 177/252] aa --- business/jxstore/tempop/tempop.go | 62 +++++++++++++++---------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 60ae9c0c7..0ec2f055c 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1761,37 +1761,37 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { v := batchItemList[0].(*model.StoreMap) detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") - var ( - url2 string - idCode string - startTime string - ) - if storeDetail.IDCardFront != "" { - data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) - fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] - url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - } else { - data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") - fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" - url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - } - if storeDetail.IDCode == "" { - idCode = "610126198012230014" - } else { - idCode = storeDetail.IDCode - } - if storeDetail.IDValid == "" { - startTime = "2013-01-25 00:00:00" - } else { - startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) - } - ex := storeDetail.IDExpire - if ex == "" { - ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) - } - if !strings.Contains(ex, "00:00:00") { - ex += " 00:00:00" - } + // var ( + // url2 string + // idCode string + // startTime string + // ) + // if storeDetail.IDCardFront != "" { + // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) + // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } else { + // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") + // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } + // if storeDetail.IDCode == "" { + // idCode = "610126198012230014" + // } else { + // idCode = storeDetail.IDCode + // } + // if storeDetail.IDValid == "" { + // startTime = "2013-01-25 00:00:00" + // } else { + // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) + // } + // ex := storeDetail.IDExpire + // if ex == "" { + // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) + // } + // if !strings.Contains(ex, "00:00:00") { + // ex += " 00:00:00" + // } api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ StoreID: detail.StoreID, StoreName: detail.StoreName, From 2ba2ff59940a0e1f73bc5a9b24fa404a53796457 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, 19 Mar 2021 10:45:27 +0800 Subject: [PATCH 178/252] aa --- business/jxstore/cms/store.go | 74 ++++++++++++----------- business/jxstore/permission/permission.go | 8 +-- business/model/dao/permission.go | 6 +- 3 files changed, 49 insertions(+), 39 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 5f8aa236e..82d1840b6 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -183,33 +183,33 @@ var ( "payeeBankCode": "开户行代码", "payPercentage": "支付比例", } - roleMoblieMap = map[string]string{ - "17380734342": "17380734342", //漆云的手机 ,用于判断updatestore的权限 - "18328080405": "18328080405", //肖娜娜的手机 - "13350726500": "13350726500", //谭翔心 - "15928865396": "15928865396", //何佳梦 - "18048531223": "18048531223", //石老板 - "18982250714": "18982250714", //赵敏夫 - "13708196093": "13708196093", //顾子航 - "15680070110": "15680070110", //李荣维 - "15208271238": "15208271238", - } + // roleMoblieMap = map[string]string{ + // "17380734342": "17380734342", //漆云的手机 ,用于判断updatestore的权限 + // "18328080405": "18328080405", //肖娜娜的手机 + // "13350726500": "13350726500", //谭翔心 + // "15928865396": "15928865396", //何佳梦 + // "18048531223": "18048531223", //石老板 + // "18982250714": "18982250714", //赵敏夫 + // "13708196093": "13708196093", //顾子航 + // "15680070110": "15680070110", //李荣维 + // "15208271238": "15208271238", + // } marketManPhoneRoleMap = map[string]string{ "marketManPhone": "市场负责人电话", } - marketManPhoneRoleMoblieMap = map[string]string{ - "13684045763": "13684045763", - "18160030913": "18160030913", - "18048531223": "18048531223", - "18328080405": "18328080405", - "17380734342": "17380734342", - "15208271238": "15208271238", - "18583684218": "18583684218", - "18982250714": "18982250714", - "13708196093": "13708196093", - } + // marketManPhoneRoleMoblieMap = map[string]string{ + // "13684045763": "13684045763", + // "18160030913": "18160030913", + // "18048531223": "18048531223", + // "18328080405": "18328080405", + // "17380734342": "17380734342", + // "15208271238": "15208271238", + // "18583684218": "18583684218", + // "18982250714": "18982250714", + // "13708196093": "13708196093", + // } ) func getStoresSql(ctx *jxcontext.Context, keyword string, params map[string]interface{}, orderTimeFrom, orderTimeTo time.Time) (sql string, sqlParams []interface{}, sqlFrom string, sqlFromParams []interface{}, err error) { @@ -921,20 +921,26 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa } for k, _ := range valid { - if roleMap[k] != "" { - if authInfo, err := ctx.GetV2AuthInfo(); err == nil { - if roleMoblieMap[authInfo.Mobile] == "" { - return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改 [%v] 字段!", authInfo.Name, roleMap[k])) - } - } - } - if marketManPhoneRoleMap[k] != "" { - if authInfo, err := ctx.GetV2AuthInfo(); err == nil { - if marketManPhoneRoleMoblieMap[authInfo.Mobile] == "" { - return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改 [%v] 字段!", authInfo.Name, roleMap[k])) - } + if roleMap[k] != "" || marketManPhoneRoleMap[k] != "" { + menus, _ := dao.GetMenu(db, "结算权限", 0, 1, ctx.GetUserID()) + if len(menus) == 0 { + return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改此字段!", ctx.GetUserName())) } } + // if roleMap[k] != "" { + // if authInfo, err := ctx.GetV2AuthInfo(); err == nil { + // if roleMoblieMap[authInfo.Mobile] == "" { + // return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改 [%v] 字段!", authInfo.Name, roleMap[k])) + // } + // } + // } + // if marketManPhoneRoleMap[k] != "" { + // if authInfo, err := ctx.GetV2AuthInfo(); err == nil { + // if marketManPhoneRoleMoblieMap[authInfo.Mobile] == "" { + // return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改 [%v] 字段!", authInfo.Name, roleMap[k])) + // } + // } + // } } // districtCode := 0 diff --git a/business/jxstore/permission/permission.go b/business/jxstore/permission/permission.go index 7e4ab3ebe..1af04da96 100644 --- a/business/jxstore/permission/permission.go +++ b/business/jxstore/permission/permission.go @@ -16,17 +16,17 @@ import ( func GetMenu(ctx *jxcontext.Context, userID string) (menus []*model.Menu, err error) { if userID == "" { - return dao.GetMenu(dao.GetDB(), "", 0, userID) + return dao.GetMenu(dao.GetDB(), "", 0, 0, userID) } else { if user, err := dao.GetUserByID(dao.GetDB(), "user_id", userID); err == nil { if user.Type&model.UserTypeRole != 0 { return dao.GetMenuWithUser(dao.GetDB(), "", 0, userID) } else { - return dao.GetMenu(dao.GetDB(), "", 0, "") + return dao.GetMenu(dao.GetDB(), "", 0, 0, "") } } } - return dao.GetMenu(dao.GetDB(), "", 0, userID) + return dao.GetMenu(dao.GetDB(), "", 0, 0, userID) } func AddMenu(ctx *jxcontext.Context, menu *model.Menu) (err error) { @@ -39,7 +39,7 @@ func AddMenu(ctx *jxcontext.Context, menu *model.Menu) (err error) { if menu.Name == "" || menu.Level == 0 { return fmt.Errorf("添加失败!menu 名称和等级必须有值!") } - menus, err := dao.GetMenu(db, menu.Name, menu.Level, "") + menus, err := dao.GetMenu(db, menu.Name, menu.Level, 0, "") if len(menus) > 0 { return fmt.Errorf("添加失败!已存在相同名称的 menu name : %v", menu.Name) } diff --git a/business/model/dao/permission.go b/business/model/dao/permission.go index 94d4fc989..eeff516a9 100644 --- a/business/model/dao/permission.go +++ b/business/model/dao/permission.go @@ -5,7 +5,7 @@ import ( "git.rosy.net.cn/jx-callback/business/model" ) -func GetMenu(db *DaoDB, name string, level int, userID string) (menus []*model.Menu, err error) { +func GetMenu(db *DaoDB, name string, level, menuType int, userID string) (menus []*model.Menu, err error) { sqlParams := []interface{}{} sql := ` SELECT DISTINCT a.* @@ -29,6 +29,10 @@ func GetMenu(db *DaoDB, name string, level int, userID string) (menus []*model.M sql += " AND a.level = ?" sqlParams = append(sqlParams, level) } + if menuType != 0 { + sql += " AND a.type = ?" + sqlParams = append(sqlParams, menuType) + } sql += " ORDER BY a.id" err = GetRows(db, &menus, sql, sqlParams) return menus, err From dd34822b86f0eaa273b1dd9b792278fe05c3e5dd 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, 19 Mar 2021 10:56:10 +0800 Subject: [PATCH 179/252] aa --- business/jxstore/cms/store.go | 2 +- business/jxstore/permission/permission.go | 2 +- business/model/dao/permission.go | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 82d1840b6..5937d1b8f 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -922,7 +922,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa for k, _ := range valid { if roleMap[k] != "" || marketManPhoneRoleMap[k] != "" { - menus, _ := dao.GetMenu(db, "结算权限", 0, 1, ctx.GetUserID()) + menus, _ := dao.GetMenuWithUser(dao.GetDB(), "结算权限", 0, 1, ctx.GetUserID()) if len(menus) == 0 { return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改此字段!", ctx.GetUserName())) } diff --git a/business/jxstore/permission/permission.go b/business/jxstore/permission/permission.go index 1af04da96..6756a44b1 100644 --- a/business/jxstore/permission/permission.go +++ b/business/jxstore/permission/permission.go @@ -20,7 +20,7 @@ func GetMenu(ctx *jxcontext.Context, userID string) (menus []*model.Menu, err er } else { if user, err := dao.GetUserByID(dao.GetDB(), "user_id", userID); err == nil { if user.Type&model.UserTypeRole != 0 { - return dao.GetMenuWithUser(dao.GetDB(), "", 0, userID) + return dao.GetMenuWithUser(dao.GetDB(), "", 0, 0, userID) } else { return dao.GetMenu(dao.GetDB(), "", 0, 0, "") } diff --git a/business/model/dao/permission.go b/business/model/dao/permission.go index eeff516a9..cd6ad0d2b 100644 --- a/business/model/dao/permission.go +++ b/business/model/dao/permission.go @@ -38,7 +38,7 @@ func GetMenu(db *DaoDB, name string, level, menuType int, userID string) (menus return menus, err } -func GetMenuWithUser(db *DaoDB, name string, level int, userID string) (menus []*model.Menu, err error) { +func GetMenuWithUser(db *DaoDB, name string, level, menuType int, userID string) (menus []*model.Menu, err error) { sql := ` SELECT DISTINCT b.* FROM ( SELECT a.id,a.parent_id @@ -47,9 +47,10 @@ func GetMenuWithUser(db *DaoDB, name string, level int, userID string) (menus [] JOIN role_menu c ON c.menu_id = a.id AND c.role_id = b.role_id AND c.deleted_at = ? WHERE a.deleted_at = ?)a JOIN menu b ON (b.id = a.id OR b.id = a.parent_id) + WHERE b.type = ? ORDER BY b.id ` - sqlParams := []interface{}{userID, utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue} + sqlParams := []interface{}{userID, utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, menuType} err = GetRows(db, &menus, sql, sqlParams) return menus, err } From b4efae54a1c47f0cf010fff8e261e590f6c13ef6 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, 19 Mar 2021 11:35:37 +0800 Subject: [PATCH 180/252] aa --- business/model/dao/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 14047a9ac..9e84028e1 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -100,7 +100,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time, SUM(total_shop_money-earning_price-desired_fee-distance_freight_money-waybill_tip_money-80) total_gross_profit FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id - WHERE a.status != ? + WHERE a.status <> ? ` sqlParams := []interface{}{ model.OrderStatusCanceled, //排除已取消的订单 From 9ae33352063f8582a35592218630cbabde10ce07 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, 19 Mar 2021 11:40:54 +0800 Subject: [PATCH 181/252] aa --- business/model/dao/report.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 9e84028e1..b1f3c7ddb 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -96,14 +96,14 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time, SUM(IF(a.vendor_id = a.waybill_vendor_id,waybill_tip_money,0)) waybill_tip_money, SUM(total_shop_money) total_shop_money, SUM(pm_subsidy_money) pm_subsidy_money, - SUM(earning_price) earning_price, - SUM(total_shop_money-earning_price-desired_fee-distance_freight_money-waybill_tip_money-80) total_gross_profit + SUM(new_earning_price) earning_price, + SUM(total_shop_money-new_earning_price-desired_fee-distance_freight_money-waybill_tip_money-80) total_gross_profit FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id - WHERE a.status <> ? + WHERE a.status = ? ` sqlParams := []interface{}{ - model.OrderStatusCanceled, //排除已取消的订单 + model.OrderStatusFinished, } if !utils.IsTimeZero(fromDate) && !utils.IsTimeZero(toDate) { sql += ` AND a.order_created_at BETWEEN ? AND ?` From 89306f76b66e14f357965cd59a9b9ce771993f03 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, 19 Mar 2021 13:57:05 +0800 Subject: [PATCH 182/252] aa --- business/model/dao/report.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index b1f3c7ddb..4b0835328 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -96,8 +96,8 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time, SUM(IF(a.vendor_id = a.waybill_vendor_id,waybill_tip_money,0)) waybill_tip_money, SUM(total_shop_money) total_shop_money, SUM(pm_subsidy_money) pm_subsidy_money, - SUM(new_earning_price) earning_price, - SUM(total_shop_money-new_earning_price-desired_fee-distance_freight_money-waybill_tip_money-80) total_gross_profit + SUM(IF(a.earning_type = 1, earning_price, new_earning_price)) earning_price, + SUM(IF(a.order_tpye = 0,total_shop_money-IF(a.earning_type = 1, earning_price, new_earning_price)-desired_fee-distance_freight_money-waybill_tip_money, 80) total_gross_profit FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id WHERE a.status = ? From b1f87f43340728f178af7abf9c02c32fde911fdf 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, 19 Mar 2021 14:01:38 +0800 Subject: [PATCH 183/252] aa --- business/model/dao/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 4b0835328..67173798b 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -97,7 +97,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time, SUM(total_shop_money) total_shop_money, SUM(pm_subsidy_money) pm_subsidy_money, SUM(IF(a.earning_type = 1, earning_price, new_earning_price)) earning_price, - SUM(IF(a.order_tpye = 0,total_shop_money-IF(a.earning_type = 1, earning_price, new_earning_price)-desired_fee-distance_freight_money-waybill_tip_money, 80) total_gross_profit + SUM(IF(a.order_type = 0,total_shop_money-IF(a.earning_type = 1, earning_price, new_earning_price)-desired_fee-distance_freight_money-waybill_tip_money, 80) total_gross_profit FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id WHERE a.status = ? From 119c56961855f87c3ffa6cb725bd4377bc51aa01 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, 19 Mar 2021 14:06:00 +0800 Subject: [PATCH 184/252] aa --- business/model/dao/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 67173798b..cd45242a9 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -97,7 +97,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time, SUM(total_shop_money) total_shop_money, SUM(pm_subsidy_money) pm_subsidy_money, SUM(IF(a.earning_type = 1, earning_price, new_earning_price)) earning_price, - SUM(IF(a.order_type = 0,total_shop_money-IF(a.earning_type = 1, earning_price, new_earning_price)-desired_fee-distance_freight_money-waybill_tip_money, 80) total_gross_profit + SUM(IF(a.order_type = 0,total_shop_money-IF(a.earning_type = 1, earning_price, new_earning_price)-desired_fee-distance_freight_money-waybill_tip_money, 80)) total_gross_profit FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id WHERE a.status = ? From ee63b713de8abe6bf3f1c3af96774f4b2f9f34a5 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, 19 Mar 2021 14:23:27 +0800 Subject: [PATCH 185/252] aa --- controllers/jx_report.go | 1 + 1 file changed, 1 insertion(+) diff --git a/controllers/jx_report.go b/controllers/jx_report.go index a3be12b75..5625ae33f 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -16,6 +16,7 @@ type ReportController struct { // @Description 根据门店idlist和时间范围查询 // @Param token header string true "认证token" // @Param storeIDs formData string true "京西门店ID列表[1,2,3]" +// @Param vendorIDs formData string true "平台ID列表[1,2,3]" // @Param fromDate formData string true "开始日期(包含),格式(2006-01-02 00:00:00)" // @Param toDate formData string true "结束日期(包含),格式(2006-01-02 00:00:00)" // @Success 200 {object} controllers.CallResult From 6446b02cdc878e8b5fadad880f40eea270460469 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, 19 Mar 2021 14:26:42 +0800 Subject: [PATCH 186/252] aa --- business/jxstore/report/report.go | 4 ++-- business/model/dao/report.go | 6 +++++- controllers/jx_report.go | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 05fdb3e39..5d69aaff1 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -34,7 +34,7 @@ type tStoreSkuBindAndSkuName struct { UnitPriceList []int } -func GetStatisticsReportForOrders(ctx *jxcontext.Context, storeIDs []int, fromDate string, toDate string) (statisticsReportForOrdersList []*dao.StatisticsReportForOrdersList, err error) { +func GetStatisticsReportForOrders(ctx *jxcontext.Context, storeIDs, vendorIDs []int, fromDate string, toDate string) (statisticsReportForOrdersList []*dao.StatisticsReportForOrdersList, err error) { db := dao.GetDB() fromDateParm := utils.Str2Time(fromDate) toDateParm := utils.Str2Time(toDate) @@ -42,7 +42,7 @@ func GetStatisticsReportForOrders(ctx *jxcontext.Context, storeIDs []int, fromDa if math.Ceil(toDateParm.Sub(fromDateParm).Hours()/24) > 92 { return nil, errors.New(fmt.Sprintf("查询间隔时间不允许大于3个月!: 时间范围:[%v] 至 [%v]", fromDate, toDate)) } - statisticsReportForOrdersList, err = dao.GetStatisticsReportForOrders(db, storeIDs, fromDateParm, toDateParm) + statisticsReportForOrdersList, err = dao.GetStatisticsReportForOrders(db, storeIDs, vendorIDs, fromDateParm, toDateParm) return statisticsReportForOrdersList, err } diff --git a/business/model/dao/report.go b/business/model/dao/report.go index cd45242a9..2f27048ed 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -50,7 +50,7 @@ type PriceReferSnapshotExt struct { } //查询统计订单信息 -func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time, toDate time.Time) (statisticsReportForOrdersList []*StatisticsReportForOrdersList, err error) { +func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate time.Time, toDate time.Time) (statisticsReportForOrdersList []*StatisticsReportForOrdersList, err error) { sql := ` SELECT c.id store_id, @@ -113,6 +113,10 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time, sql += ` AND IF(a.jx_store_id != 0, a.jx_store_id, a.store_id) IN(` + GenQuestionMarks(len(storeIDs)) + `)` sqlParams = append(sqlParams, storeIDs) } + if len(vendorIDs) > 0 { + sql += ` AND a.vendor_id IN(` + GenQuestionMarks(len(vendorIDs)) + `)` + sqlParams = append(sqlParams, vendorIDs) + } sql += ` GROUP BY 1 )s diff --git a/controllers/jx_report.go b/controllers/jx_report.go index 5625ae33f..e80011d25 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -24,9 +24,9 @@ type ReportController struct { // @router /StatisticsReportForOrders [post] func (c *ReportController) StatisticsReportForOrders() { c.callStatisticsReportForOrders(func(params *tReportStatisticsReportForOrdersParams) (retVal interface{}, errCode string, err error) { - var storeIDList []int - if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDList); err == nil { - retVal, err = report.GetStatisticsReportForOrders(params.Ctx, storeIDList, params.FromDate, params.ToDate) + var storeIDList, vendorIDs []int + if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDList, params.VendorIDs, &vendorIDs); err == nil { + retVal, err = report.GetStatisticsReportForOrders(params.Ctx, storeIDList, vendorIDs, params.FromDate, params.ToDate) } return retVal, "", err }) From 0f4806c1789b6b97087f781608907bf1dc3eded7 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, 19 Mar 2021 14:43:25 +0800 Subject: [PATCH 187/252] aa --- controllers/jx_report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/jx_report.go b/controllers/jx_report.go index e80011d25..81bcdb069 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -15,7 +15,7 @@ type ReportController struct { // @Title 查询订单统计信息 // @Description 根据门店idlist和时间范围查询 // @Param token header string true "认证token" -// @Param storeIDs formData string true "京西门店ID列表[1,2,3]" +// @Param storeIDs formData string false "京西门店ID列表[1,2,3]" // @Param vendorIDs formData string true "平台ID列表[1,2,3]" // @Param fromDate formData string true "开始日期(包含),格式(2006-01-02 00:00:00)" // @Param toDate formData string true "结束日期(包含),格式(2006-01-02 00:00:00)" From 452fef7336cf9e3045ef3fc3e65db6c39b40c49b 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, 19 Mar 2021 14:44:14 +0800 Subject: [PATCH 188/252] aa --- controllers/jx_report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/jx_report.go b/controllers/jx_report.go index 81bcdb069..cd69c0c40 100644 --- a/controllers/jx_report.go +++ b/controllers/jx_report.go @@ -16,7 +16,7 @@ type ReportController struct { // @Description 根据门店idlist和时间范围查询 // @Param token header string true "认证token" // @Param storeIDs formData string false "京西门店ID列表[1,2,3]" -// @Param vendorIDs formData string true "平台ID列表[1,2,3]" +// @Param vendorIDs formData string false "平台ID列表[1,2,3]" // @Param fromDate formData string true "开始日期(包含),格式(2006-01-02 00:00:00)" // @Param toDate formData string true "结束日期(包含),格式(2006-01-02 00:00:00)" // @Success 200 {object} controllers.CallResult From bd2c116afee514b1e374f6a2dc2808ad6299cd45 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, 19 Mar 2021 14:56:55 +0800 Subject: [PATCH 189/252] aa --- business/model/dao/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 2f27048ed..feedc4d0f 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -82,7 +82,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate LEFT JOIN user om ON om.mobile <> '' AND om.mobile = c.operator_phone LEFT JOIN user om2 ON om2.mobile <> '' AND om2.mobile = c.operator_phone2 LEFT JOIN user om3 ON om3.mobile <> '' AND om3.mobile = c.operator_phone3 - LEFT JOIN + JOIN ( SELECT IF(a.jx_store_id <> 0,a.jx_store_id,store_id) store_id, From e184f7a85616729277e0f38909fb4ef4807a6cfa 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, 19 Mar 2021 15:11:08 +0800 Subject: [PATCH 190/252] aa --- business/model/dao/report.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index feedc4d0f..dea820b3c 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -67,7 +67,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate s.total_shop_money, s.pm_subsidy_money, s.earning_price, - s.total_gross_profit, + s.total_gross_profit1 - s.afs_price total_gross_profit, IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,total_gross_profit,(total_gross_profit*c.jx_brand_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) com_gross_profit, IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,0,(total_gross_profit*c.market_add_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) city_manager_gross_profit, c.status, c.tel1, @@ -97,12 +97,16 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate SUM(total_shop_money) total_shop_money, SUM(pm_subsidy_money) pm_subsidy_money, SUM(IF(a.earning_type = 1, earning_price, new_earning_price)) earning_price, - SUM(IF(a.order_type = 0,total_shop_money-IF(a.earning_type = 1, earning_price, new_earning_price)-desired_fee-distance_freight_money-waybill_tip_money, 80)) total_gross_profit + SUM(IF(a.order_type = 0,total_shop_money-IF(a.earning_type = 1, earning_price, new_earning_price)-desired_fee-distance_freight_money-waybill_tip_money, 80)) total_gross_profit1, + SUM(d.shop_price) afs_price FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id + LEFT JOIN afs_order c ON c.vendor_order_id = a.vendor_order_id + LEFT JOIN order_sku_financial d ON d.afs_order_id = c.afs_order_id AND d.is_afs_order = ? WHERE a.status = ? ` sqlParams := []interface{}{ + model.YES, model.OrderStatusFinished, } if !utils.IsTimeZero(fromDate) && !utils.IsTimeZero(toDate) { From 531aee3f71c2e2c8242b3b7020eeb8eb0b3a3e1b 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, 19 Mar 2021 15:14:27 +0800 Subject: [PATCH 191/252] aa --- business/model/dao/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index dea820b3c..9c98abad4 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -85,7 +85,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate JOIN ( SELECT - IF(a.jx_store_id <> 0,a.jx_store_id,store_id) store_id, + IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, COUNT(*) order_counts, SUM(sale_price) sale_price, SUM(actual_pay_price) actual_pay_price, From b076524fa01e198ec5fa2c6798b446878f18bb62 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, 19 Mar 2021 15:17:42 +0800 Subject: [PATCH 192/252] aa --- business/model/dao/report.go | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 9c98abad4..f88680be9 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -87,17 +87,17 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate SELECT IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, COUNT(*) order_counts, - SUM(sale_price) sale_price, - SUM(actual_pay_price) actual_pay_price, - SUM(shop_price) shop_price, - SUM(discount_money) discount_money, - SUM(desired_fee) desired_fee, - SUM(distance_freight_money) distance_freight_money, - SUM(IF(a.vendor_id = a.waybill_vendor_id,waybill_tip_money,0)) waybill_tip_money, - SUM(total_shop_money) total_shop_money, - SUM(pm_subsidy_money) pm_subsidy_money, - SUM(IF(a.earning_type = 1, earning_price, new_earning_price)) earning_price, - SUM(IF(a.order_type = 0,total_shop_money-IF(a.earning_type = 1, earning_price, new_earning_price)-desired_fee-distance_freight_money-waybill_tip_money, 80)) total_gross_profit1, + SUM(a.sale_price) sale_price, + SUM(a.actual_pay_price) actual_pay_price, + SUM(a.shop_price) shop_price, + SUM(a.discount_money) discount_money, + SUM(a.desired_fee) desired_fee, + SUM(a.distance_freight_money) distance_freight_money, + SUM(IF(a.vendor_id = a.waybill_vendor_id,a.waybill_tip_money,0)) waybill_tip_money, + SUM(a.total_shop_money) total_shop_money, + SUM(a.pm_subsidy_money) pm_subsidy_money, + SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price, + SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit1, SUM(d.shop_price) afs_price FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id From 253979944393ff3199683ea96c799085dcdb956a 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, 19 Mar 2021 15:19:48 +0800 Subject: [PATCH 193/252] aa --- business/model/dao/report.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index f88680be9..55b307521 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -91,7 +91,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate SUM(a.actual_pay_price) actual_pay_price, SUM(a.shop_price) shop_price, SUM(a.discount_money) discount_money, - SUM(a.desired_fee) desired_fee, + SUM(b.desired_fee) desired_fee, SUM(a.distance_freight_money) distance_freight_money, SUM(IF(a.vendor_id = a.waybill_vendor_id,a.waybill_tip_money,0)) waybill_tip_money, SUM(a.total_shop_money) total_shop_money, From 08bec358e71d110e7f31274afb0c94bdaec65b1c 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, 19 Mar 2021 15:23:56 +0800 Subject: [PATCH 194/252] aa --- business/model/dao/report.go | 51 +++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 55b307521..baa560631 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -67,9 +67,9 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate s.total_shop_money, s.pm_subsidy_money, s.earning_price, - s.total_gross_profit1 - s.afs_price total_gross_profit, - IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,total_gross_profit,(total_gross_profit*c.jx_brand_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) com_gross_profit, - IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,0,(total_gross_profit*c.market_add_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) city_manager_gross_profit, + s.total_gross_profit, + IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,s.total_gross_profit,(s.total_gross_profit*c.jx_brand_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) com_gross_profit, + IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,0,(s.total_gross_profit*c.market_add_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) city_manager_gross_profit, c.status, c.tel1, IF(mm.name <> '', mm.name, mm.user_id2) market_man_name, IF(om.name <> '', om.name, om.user_id2) operator_name, @@ -84,26 +84,29 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate LEFT JOIN user om3 ON om3.mobile <> '' AND om3.mobile = c.operator_phone3 JOIN ( - SELECT - IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, - COUNT(*) order_counts, - SUM(a.sale_price) sale_price, - SUM(a.actual_pay_price) actual_pay_price, - SUM(a.shop_price) shop_price, - SUM(a.discount_money) discount_money, - SUM(b.desired_fee) desired_fee, - SUM(a.distance_freight_money) distance_freight_money, - SUM(IF(a.vendor_id = a.waybill_vendor_id,a.waybill_tip_money,0)) waybill_tip_money, - SUM(a.total_shop_money) total_shop_money, - SUM(a.pm_subsidy_money) pm_subsidy_money, - SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price, - SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit1, - SUM(d.shop_price) afs_price - FROM goods_order a - LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id - LEFT JOIN afs_order c ON c.vendor_order_id = a.vendor_order_id - LEFT JOIN order_sku_financial d ON d.afs_order_id = c.afs_order_id AND d.is_afs_order = ? - WHERE a.status = ? + SELECT ss.*, + ss.total_gross_profit1 - ss.afs_price total_gross_profit + FROM ( + SELECT + IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, + COUNT(*) order_counts, + SUM(a.sale_price) sale_price, + SUM(a.actual_pay_price) actual_pay_price, + SUM(a.shop_price) shop_price, + SUM(a.discount_money) discount_money, + SUM(b.desired_fee) desired_fee, + SUM(a.distance_freight_money) distance_freight_money, + SUM(IF(a.vendor_id = a.waybill_vendor_id,a.waybill_tip_money,0)) waybill_tip_money, + SUM(a.total_shop_money) total_shop_money, + SUM(a.pm_subsidy_money) pm_subsidy_money, + SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price, + SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit1, + SUM(d.shop_price) afs_price + FROM goods_order a + LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id + LEFT JOIN afs_order c ON c.vendor_order_id = a.vendor_order_id + LEFT JOIN order_sku_financial d ON d.afs_order_id = c.afs_order_id AND d.is_afs_order = ? + WHERE a.status = ? ` sqlParams := []interface{}{ model.YES, @@ -123,7 +126,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate } sql += ` GROUP BY 1 - )s + )ss ) s ON s.store_id = c.id ` if len(storeIDs) > 0 { From 7e7cdce60ed0fa5244c5b8b79e591100b50b9d8e 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, 19 Mar 2021 15:51:10 +0800 Subject: [PATCH 195/252] aa --- business/model/dao/report.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index baa560631..8651c3bd4 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -85,7 +85,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate JOIN ( SELECT ss.*, - ss.total_gross_profit1 - ss.afs_price total_gross_profit + ss.earning_price - ss.afs_price earning_price FROM ( SELECT IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, @@ -100,7 +100,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate SUM(a.total_shop_money) total_shop_money, SUM(a.pm_subsidy_money) pm_subsidy_money, SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price, - SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit1, + SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit, SUM(d.shop_price) afs_price FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id From 6dd3b558763811c8bacd8be7a46dc71ab1564bd9 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, 19 Mar 2021 15:53:21 +0800 Subject: [PATCH 196/252] aa --- business/model/dao/report.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 8651c3bd4..0167eb309 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -85,7 +85,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate JOIN ( SELECT ss.*, - ss.earning_price - ss.afs_price earning_price + ss.earning_price1 - ss.afs_price earning_price FROM ( SELECT IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, @@ -99,7 +99,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate SUM(IF(a.vendor_id = a.waybill_vendor_id,a.waybill_tip_money,0)) waybill_tip_money, SUM(a.total_shop_money) total_shop_money, SUM(a.pm_subsidy_money) pm_subsidy_money, - SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price, + SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price1, SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit, SUM(d.shop_price) afs_price FROM goods_order a From 1cc13e5811e1c95764a48c1cd596d6c01326e608 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, 19 Mar 2021 16:02:09 +0800 Subject: [PATCH 197/252] aa --- business/model/dao/report.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 0167eb309..be1a8ac12 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -85,7 +85,8 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate JOIN ( SELECT ss.*, - ss.earning_price1 - ss.afs_price earning_price + ss.earning_price1 - IFNULL(ss.afs_price,0) earning_price, + ss.total_gross_profit1 - IFNULL(ss.afs_price,0) total_gross_profit FROM ( SELECT IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, @@ -100,7 +101,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate SUM(a.total_shop_money) total_shop_money, SUM(a.pm_subsidy_money) pm_subsidy_money, SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price1, - SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit, + SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit1, SUM(d.shop_price) afs_price FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id From 3a8c83434ce412697dd7c35b1ed57bcdcb09d87f 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, 19 Mar 2021 17:39:32 +0800 Subject: [PATCH 198/252] aa --- business/model/dao/report.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index be1a8ac12..d57afd754 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -85,8 +85,9 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate JOIN ( SELECT ss.*, - ss.earning_price1 - IFNULL(ss.afs_price,0) earning_price, - ss.total_gross_profit1 - IFNULL(ss.afs_price,0) total_gross_profit + ss.earning_price1 - IFNULL(ss.afs_shop_price,0) earning_price, + ss.total_gross_profit1 - IFNULL(ss.afs_shop_price,0) total_gross_profit, + ss.total_shop_money1 - IFNULL(ss.afs_total_money,0) total_shop_money FROM ( SELECT IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, @@ -98,11 +99,12 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate SUM(b.desired_fee) desired_fee, SUM(a.distance_freight_money) distance_freight_money, SUM(IF(a.vendor_id = a.waybill_vendor_id,a.waybill_tip_money,0)) waybill_tip_money, - SUM(a.total_shop_money) total_shop_money, + SUM(a.total_shop_money) total_shop_money1, SUM(a.pm_subsidy_money) pm_subsidy_money, SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price1, SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit1, - SUM(d.shop_price) afs_price + SUM(d.shop_price) afs_shop_price, + SUM(d.refund_money_by_cal) afs_total_money FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id LEFT JOIN afs_order c ON c.vendor_order_id = a.vendor_order_id From 2d3cecd1dae3d003d81cf04e7d08bdf25e1b86bf 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, 19 Mar 2021 18:09:23 +0800 Subject: [PATCH 199/252] aa --- business/model/dao/report.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index d57afd754..80d146cdf 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -86,8 +86,8 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate ( SELECT ss.*, ss.earning_price1 - IFNULL(ss.afs_shop_price,0) earning_price, - ss.total_gross_profit1 - IFNULL(ss.afs_shop_price,0) total_gross_profit, - ss.total_shop_money1 - IFNULL(ss.afs_total_money,0) total_shop_money + ss.total_shop_money1 - IFNULL(ss.afs_total_money,0) total_shop_money, + ss.total_gross_profit1 + IFNULL(ss.afs_shop_price,0) - IFNULL(ss.afs_total_money,0)-ss.order_counts*0.8*100 total_gross_profit FROM ( SELECT IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, @@ -102,7 +102,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate SUM(a.total_shop_money) total_shop_money1, SUM(a.pm_subsidy_money) pm_subsidy_money, SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price1, - SUM(IF(a.order_type = 0,a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee-a.distance_freight_money-a.waybill_tip_money, 80)) total_gross_profit1, + SUM(a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee) total_gross_profit1, SUM(d.shop_price) afs_shop_price, SUM(d.refund_money_by_cal) afs_total_money FROM goods_order a From 51837e2f1596acc3a167119966cefd5be1fdf563 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, 19 Mar 2021 18:35:10 +0800 Subject: [PATCH 200/252] aa --- business/jxstore/tempop/tempop.go | 91 ++++++++++++++++--------------- business/model/dao/report.go | 2 +- 2 files changed, 47 insertions(+), 46 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 0ec2f055c..f759ca56f 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -14,7 +14,6 @@ import ( "github.com/qiniu/api.v7/storage" "git.rosy.net.cn/baseapi/platformapi/jdapi" - "git.rosy.net.cn/baseapi/platformapi/jdshopapi" "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils/errlist" @@ -1753,14 +1752,16 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { ) sql := ` SELECT * from store_map where vendor_id = 5 and deleted_at = '1970-01-01 00:00:00' and vendor_org_code = 2 + AND store_id = 100117 ` dao.GetRows(db, &storeMaps, sql, nil) // for _, v := range storeMaps { task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(*model.StoreMap) - detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) - storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") + // detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) + // storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") + api.JdShop2API.UpdateExpand(utils.Str2Int(v.VendorStoreID)) // var ( // url2 string // idCode string @@ -1792,48 +1793,48 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // if !strings.Contains(ex, "00:00:00") { // ex += " 00:00:00" // } - api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ - StoreID: detail.StoreID, - StoreName: detail.StoreName, - CategoryID2: detail.CategoryID2, - Coordinate: detail.Coordinate, - BussinessBeginTime: detail.BussinessBeginTime, - BussinessEndTime: detail.BussinessEndTime, - ImgURL: detail.ImgURL, - StorePhone: detail.StorePhone, - AddName: detail.AddName, - AddCode1: detail.AddCode1, - AddCode2: detail.AddCode2, - AddCode3: detail.AddCode3, - CategoryID1: detail.CategoryID1, - QualificationRequests: []*jdshopapi.QualificationRequests{ - &jdshopapi.QualificationRequests{ - QualificationID: 41, - QualificationName: "营业执照", - QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, - QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, - QualificationBusType: 2, - QualificationBusName: storeDetail.LicenceCorpName, - StartTime: detail.QualificationInfoTOList[0].StartTime, - EndingTime: utils.Time2Str(utils.Str2Time(detail.QualificationInfoTOList[0].StartTime).AddDate(10, 0, 0)), - Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, - }, - &jdshopapi.QualificationRequests{ - QualificationID: 42, - QualificationName: "身份证件", - QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, - QualificationURL: detail.QualificationInfoTOList[1].QualificationURL, - StartTime: detail.QualificationInfoTOList[1].StartTime, - EndingTime: detail.QualificationInfoTOList[1].EndingTime, - Time: []string{detail.QualificationInfoTOList[1].StartTime, detail.QualificationInfoTOList[1].EndingTime}, - // QualificationNo: idCode, - // QualificationURL: url2, - // StartTime: startTime, - // EndingTime: ex, - // Time: []string{startTime, ex}, - }, - }, - }) + // api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ + // StoreID: detail.StoreID, + // StoreName: detail.StoreName, + // CategoryID2: detail.CategoryID2, + // Coordinate: detail.Coordinate, + // BussinessBeginTime: detail.BussinessBeginTime, + // BussinessEndTime: detail.BussinessEndTime, + // ImgURL: detail.ImgURL, + // StorePhone: detail.StorePhone, + // AddName: detail.AddName, + // AddCode1: detail.AddCode1, + // AddCode2: detail.AddCode2, + // AddCode3: detail.AddCode3, + // CategoryID1: detail.CategoryID1, + // QualificationRequests: []*jdshopapi.QualificationRequests{ + // &jdshopapi.QualificationRequests{ + // QualificationID: 41, + // QualificationName: "营业执照", + // QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, + // QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, + // QualificationBusType: 2, + // QualificationBusName: storeDetail.LicenceCorpName, + // StartTime: detail.QualificationInfoTOList[0].StartTime, + // EndingTime: utils.Time2Str(utils.Str2Time(detail.QualificationInfoTOList[0].StartTime).AddDate(10, 0, 0)), + // Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, + // }, + // &jdshopapi.QualificationRequests{ + // QualificationID: 42, + // QualificationName: "身份证件", + // QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, + // QualificationURL: detail.QualificationInfoTOList[1].QualificationURL, + // StartTime: detail.QualificationInfoTOList[1].StartTime, + // EndingTime: detail.QualificationInfoTOList[1].EndingTime, + // Time: []string{detail.QualificationInfoTOList[1].StartTime, detail.QualificationInfoTOList[1].EndingTime}, + // QualificationNo: idCode, + // QualificationURL: url2, + // StartTime: startTime, + // EndingTime: ex, + // Time: []string{startTime, ex}, + // }, + // }, + // }) return retVal, err }, storeMaps) tasksch.HandleTask(task, nil, true).Run() diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 80d146cdf..01e2086ac 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -87,7 +87,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate SELECT ss.*, ss.earning_price1 - IFNULL(ss.afs_shop_price,0) earning_price, ss.total_shop_money1 - IFNULL(ss.afs_total_money,0) total_shop_money, - ss.total_gross_profit1 + IFNULL(ss.afs_shop_price,0) - IFNULL(ss.afs_total_money,0)-ss.order_counts*0.8*100 total_gross_profit + ss.total_gross_profit1 + IFNULL(ss.afs_shop_price,0) - IFNULL(ss.afs_total_money,0) - ss.order_counts*0.8*100 total_gross_profit FROM ( SELECT IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id, From 7c97ebc3d8daf2c17fd8358f9aa742cf5d3d61c6 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, 19 Mar 2021 18:43:32 +0800 Subject: [PATCH 201/252] aa --- business/jxstore/tempop/tempop.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index f759ca56f..cf0116b67 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1756,7 +1756,7 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { ` dao.GetRows(db, &storeMaps, sql, nil) // for _, v := range storeMaps { - task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, + task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(*model.StoreMap) // detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) From cc9f5d77b9eeb422ef8ab84d66c409c29fefc0d3 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, 22 Mar 2021 10:46:22 +0800 Subject: [PATCH 202/252] aa --- business/jxstore/cms/user2.go | 8 ++++++++ business/model/sku.go | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/user2.go b/business/jxstore/cms/user2.go index ffa73ae19..dd5a6afa6 100644 --- a/business/jxstore/cms/user2.go +++ b/business/jxstore/cms/user2.go @@ -248,6 +248,14 @@ func TryAddStoreBossRole4StoreByMobile(ctx *jxcontext.Context, storeID int, mobi if v != "" { if userList, _, err := dao.GetUsers(dao.GetDB(), model.UserTypeStoreBoss, "", nil, nil, []string{v}, 0, -1); err == nil && len(userList) > 0 { userIDs = append(userIDs, userList[0].GetID()) + } else { + if manTokenInfo, err := auth2.GetTokenInfo(ctx.GetToken()); err == nil { + RegisterUserWithMobile(ctx, &model.User{ + Name: v, + Mobile: &v, + UserID2: v, + }, "", nil, manTokenInfo) + } } } } diff --git a/business/model/sku.go b/business/model/sku.go index 80445176e..620e97231 100644 --- a/business/model/sku.go +++ b/business/model/sku.go @@ -204,7 +204,7 @@ type SkuName struct { func (*SkuName) TableUnique() [][]string { return [][]string{ - []string{"Name", "Prefix", "SpecQuality", "SpecUnit", "Unit", "IsSpu", "DeletedAt"}, + []string{"Name", "Prefix", "SpecQuality", "SpecUnit", "Unit", "IsSpu", "Upc", "DeletedAt"}, []string{"Upc", "DeletedAt"}, } } From c4fe1245082594a2d0660ef6ec46c19fd16c61a9 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, 22 Mar 2021 11:57:54 +0800 Subject: [PATCH 203/252] aa --- business/jxstore/cms/sku.go | 26 +++++++++++++++ business/jxstore/cms/store.go | 60 +++++++++++++++++------------------ 2 files changed, 56 insertions(+), 30 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index f38286eb2..655345ff8 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -2946,6 +2946,29 @@ func UpdateVendorCategoryMap(ctx *jxcontext.Context, ID int, vendorCategoryMap * } } } + var countInfos []*struct{ Ct int } + db := dao.GetDB() + if err = dao.GetRows(db, &countInfos, ` + SELECT COUNT(*) ct + FROM sku t1 + WHERE t1.category_id = ? AND t1.deleted_at = ? + UNION ALL + SELECT COUNT(*) ct + FROM sku_name t1 + WHERE t1.category_id = ? AND t1.deleted_at = ? + UNION ALL + SELECT COUNT(*) ct + FROM sku_category t1 + WHERE t1.parent_id = ? AND t1.deleted_at = ? + `, vendorCategoryMap2.CategoryID, utils.DefaultTimeValue, vendorCategoryMap2.CategoryID, utils.DefaultTimeValue, vendorCategoryMap2.CategoryID, utils.DefaultTimeValue, &countInfos); err == nil { + if countInfos[0].Ct != 0 { + return 0, errors.New("还有商品使用此类别,不能删除") + } else if countInfos[1].Ct != 0 { + return 0, errors.New("还有商品名使用此类别,不能删除") + } else if countInfos[2].Ct != 0 { + return 0, errors.New("还有商品类别使用此类别,不能删除") + } + } } vendorOrgCodes, err := dao.GetVendorOrgCode(db, vendorCategoryMap2.VendorID, vendorCategoryMap2.VendorOrgCode, model.VendorOrgTypePlatform) dao.Begin(db) @@ -3016,6 +3039,9 @@ func LoadStoreVendorCategories(ctx *jxcontext.Context, vendorOrgCode string, ven return fmt.Errorf("未查询到该门店有门店分类,请重新选择! [%v]", storeID) } vendorOrgCodes, _ := dao.GetVendorOrgCode(db, vendorID, vendorOrgCode, model.VendorOrgTypePlatform) + if vendorCatMap, _ := dao.GetVendorCategoryMap(db, -1, 0, vendorID, vendorOrgCode, 0); len(vendorCatMap) > 0 { + return fmt.Errorf("该账号下已有分类,请在这里修改!") + } dao.Begin(db) defer func() { if r := recover(); r != nil { diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 5937d1b8f..675177160 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -3267,36 +3267,36 @@ func UpdateStoreCategoryMap(ctx *jxcontext.Context, ID int, storeCategoryMap *mo } } } - // var storeSkus []*model.StoreSkuBind - // sql := ` - // SELECT a.* - // FROM store_sku_bind a - // JOIN sku b ON a.sku_id = b.id - // JOIN sku_name c ON c.id = b.name_id - // WHERE a.deleted_at = ? AND b.deleted_at = ? AND c.deleted_at = ? - // AND c.category_id = ? AND a.store_id = ? - // UNION ALL - // SELECT a.* - // FROM store_sku_bind a - // JOIN sku b ON a.sku_id = b.id - // JOIN sku_name c ON c.id = b.name_id - // JOIN sku_category d ON d.id = c.category_id - // JOIN sku_category e ON e.id = d.parent_id - // WHERE a.deleted_at = ? AND b.deleted_at = ? AND c.deleted_at = ? - // AND e.id = ? AND a.store_id = ? - // ` - // sqlParams := []interface{}{ - // utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, - // storeCategoryMap2.CategoryID, storeCategoryMap2.StoreID, - // utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, - // storeCategoryMap2.CategoryID, storeCategoryMap2.StoreID, - // } - // if err = dao.GetRows(db, &storeSkus, sql, sqlParams); err != nil { - // return 0, err - // } - // if len(storeSkus) > 0 { - // return 0, fmt.Errorf("该分类下或该分类的子分类下有关注的商品,不可删除!分类名:[%v]", storeCategoryMap2.StoreCategoryName) - // } + var storeSkus []*model.StoreSkuBind + sql := ` + SELECT a.* + FROM store_sku_bind a + JOIN sku b ON a.sku_id = b.id + JOIN sku_name c ON c.id = b.name_id + WHERE a.deleted_at = ? AND b.deleted_at = ? AND c.deleted_at = ? + AND c.category_id = ? AND a.store_id = ? + UNION ALL + SELECT a.* + FROM store_sku_bind a + JOIN sku b ON a.sku_id = b.id + JOIN sku_name c ON c.id = b.name_id + JOIN sku_category d ON d.id = c.category_id + JOIN sku_category e ON e.id = d.parent_id + WHERE a.deleted_at = ? AND b.deleted_at = ? AND c.deleted_at = ? + AND e.id = ? AND a.store_id = ? + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, + storeCategoryMap2.CategoryID, storeCategoryMap2.StoreID, + utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, + storeCategoryMap2.CategoryID, storeCategoryMap2.StoreID, + } + if err = dao.GetRows(db, &storeSkus, sql, sqlParams); err != nil { + return 0, err + } + if len(storeSkus) > 0 { + return 0, fmt.Errorf("该分类下或该分类的子分类下有关注的商品,不可删除!分类名:[%v]", storeCategoryMap2.StoreCategoryName) + } catIDs = append(catIDs, storeCategoryMap.CategoryID) SetStoreCategorySyncStatus2(db, []int{storeCategoryMap2.StoreID}, catIDs, model.SyncFlagModifiedMask) } else { From be3476e35192fdd7dce7370438bd8cc21e5fdb8c 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, 22 Mar 2021 14:06:46 +0800 Subject: [PATCH 204/252] aa --- business/auth2/auth2.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/auth2/auth2.go b/business/auth2/auth2.go index 617d6d6db..e1f9c23d2 100644 --- a/business/auth2/auth2.go +++ b/business/auth2/auth2.go @@ -243,6 +243,7 @@ func LoginInternal(ctx *Context, authType, authID, authIDType, authSecret string realAuthID = user.GetID() } if authBindEx, err = handler.VerifySecret(realAuthID, authSecret); err == nil { + globals.SugarLogger.Debugf("Login authBindEx", utils.Format4Output(authBindEx, false)) if authBindEx == nil { // mobile, email会返回nil(表示不会新建AuthBind实体) user = userProvider.GetUser(authID, authIDType) authBindEx = &AuthBindEx{ From 34cab3adf99c21304f9d1240df72de585f8f7d53 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, 22 Mar 2021 16:03:14 +0800 Subject: [PATCH 205/252] aa --- business/auth2/auth2.go | 4 + business/jxstore/cms/sku.go | 247 +++++++++--------------------- business/jxstore/cms/store_sku.go | 93 ++++++----- 3 files changed, 121 insertions(+), 223 deletions(-) diff --git a/business/auth2/auth2.go b/business/auth2/auth2.go index e1f9c23d2..d2d6ecff8 100644 --- a/business/auth2/auth2.go +++ b/business/auth2/auth2.go @@ -266,6 +266,10 @@ func LoginInternal(ctx *Context, authType, authID, authIDType, authSecret string // if user != nil { // authBindEx.UserID = user.GetID() // } + if user2 := userProvider.GetUser(authBindEx.UserHint.Email, UserIDMobile); user2 != nil { + user = user2 + } + } else if authBindEx.UserID != "" { user = userProvider.GetUser(authBindEx.UserID, UserIDID) } diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 655345ff8..c404ebb10 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -2293,37 +2293,8 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID skuName.Skus[0].SpecUnit = productInfo.SpecUnit } } - //难受呀 if len(productInfo.ImgList) > 0 { - switch len(productInfo.ImgList) { - case 0: - case 1: - skuName.Img = productInfo.ImgList[0] - case 2: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - case 3: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - skuName.Img3 = productInfo.ImgList[2] - case 4: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - skuName.Img3 = productInfo.ImgList[2] - skuName.Img4 = productInfo.ImgList[3] - case 5: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - skuName.Img3 = productInfo.ImgList[2] - skuName.Img4 = productInfo.ImgList[3] - skuName.Img5 = productInfo.ImgList[4] - default: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - skuName.Img3 = productInfo.ImgList[2] - skuName.Img4 = productInfo.ImgList[3] - skuName.Img5 = productInfo.ImgList[4] - } + setImgs(skuName, productInfo.ImgList) } else { skuName.Img = model.NOSkuNameImg } @@ -2353,35 +2324,7 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID result, _ := api.MtwmAPI.GetStandardProductListWithCond(*skuName.Upc) if result != nil { imgs := strings.Split(result.Pic, ",") - switch len(imgs) { - case 0: - case 1: - skuName.Img = imgs[0] - case 2: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - case 3: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - skuName.Img3 = imgs[2] - case 4: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - skuName.Img3 = imgs[2] - skuName.Img4 = imgs[3] - case 5: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - skuName.Img3 = imgs[2] - skuName.Img4 = imgs[3] - skuName.Img5 = imgs[4] - default: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - skuName.Img3 = imgs[2] - skuName.Img4 = imgs[3] - skuName.Img5 = imgs[4] - } + setImgs(skuName, imgs) } else { retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, "美团cookie过期了吧")} return retVal, err @@ -3129,132 +3072,20 @@ func RefreshNoImgSku(ctx *jxcontext.Context) (err error) { v.Img5 = imgs[4] } else { if len(imgs) > len(productInfo.ImgList) { - switch len(imgs) { - case 0: - case 1: - v.Img = imgs[0] - case 2: - v.Img = imgs[0] - v.Img2 = imgs[1] - case 3: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - case 4: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - case 5: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - default: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - } + setImgs2(v, imgs) } else { - switch len(productInfo.ImgList) { - case 0: - case 1: - v.Img = productInfo.ImgList[0] - case 2: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - case 3: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - case 4: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - case 5: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - default: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - } + setImgs2(v, productInfo.ImgList) } } } else { - switch len(productInfo.ImgList) { - case 0: - case 1: - v.Img = productInfo.ImgList[0] - case 2: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - case 3: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - case 4: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - case 5: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - default: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - } + setImgs2(v, productInfo.ImgList) } } } else { result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) if result != nil { imgs := strings.Split(result.Pic, ",") - switch len(imgs) { - case 0: - case 1: - v.Img = imgs[0] - case 2: - v.Img = imgs[0] - v.Img2 = imgs[1] - case 3: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - case 4: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - case 5: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - default: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - } + setImgs2(v, imgs) } } dao.UpdateEntity(db, v, "Img", "Img2", "Img3", "Img4", "Img5") @@ -3265,3 +3096,69 @@ func RefreshNoImgSku(ctx *jxcontext.Context) (err error) { _, err = task.GetResult(0) return err } + +func setImgs(v *model.SkuNameExt, imgs []string) (err error) { + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + return err +} + +func setImgs2(v *model.SkuName, imgs []string) (err error) { + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + return err +} diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index dac74b4c8..31458c2e8 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4476,8 +4476,9 @@ func buildStoreSkuBindInfosAndFocus(ctx *jxcontext.Context, db *dao.DaoDB, store func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.ProductInfo, price, storeID int) (err error) { var ( - db = dao.GetDB() - skuBindInfos []*StoreSkuBindInfo + db = dao.GetDB() + skuBindInfos []*StoreSkuBindInfo + outSkuNameExt *model.SkuNameExt ) if productInfo == nil { @@ -4519,56 +4520,52 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product productInfo.Unit = unit productInfo.SpecUnit = specUnit } - skuNames2, err := dao.GetSkuNames(db, nil, nil, productInfo.Name, false) - if err != nil { - return err - } if productInfo.Name == "" { - return fmt.Errorf("暂时无法创建此商品,[%v]", productInfo.Name) - } - if len(skuNames2) > 1 { - return fmt.Errorf("此商品名在京西库中查询出了大于1个商品,[%v]", productInfo.Name) - } - //表示查到了,需要把upc更新上去,没查到就要新建 - if len(skuNames2) == 1 && (productInfo.SpecQuality == skuNames2[0].SpecQuality && productInfo.SpecUnit == skuNames2[0].SpecUnit) { - skuNames2[0].Upc = &productInfo.UpcCode - dao.UpdateEntity(db, skuNames2[0], "Upc") - focusSku(skuNames2[0].ID) - } else { - skuNameExt := &model.SkuNameExt{ - SkuName: model.SkuName{ - Name: productInfo.Name, - Upc: &productInfo.UpcCode, - Status: model.SkuStatusNormal, - CategoryID: model.NoCatCatgoryID, - IsGlobal: model.YES, - Unit: productInfo.Unit, - }, - Skus: []*model.SkuWithVendor{ - &model.SkuWithVendor{ - Sku: &model.Sku{}, - }, - }, - // Places: []int{510100}, //默认成都 + if result, err := api.MtwmAPI.GetStandardProductListWithCond(productInfo.UpcCode); err == nil && result != nil { + productInfo.OriginalName = result.Name + productInfo.OriginalSpec = result.Spec + productInfo.Name = result.Name + productInfo.SpecUnit = result.SpecUnit + productInfo.Unit = result.Unit + productInfo.SpecQuality = float32(result.SpecNew) + productInfo.ImgList = strings.Split(result.Pic, ",") + productInfo.Weight = float32(result.Weight) + productInfo.BrandName = result.BrandNamePath } - skuNameExt.Price = price - skuNameExt.Skus[0].SpecQuality = productInfo.SpecQuality - skuNameExt.Skus[0].SpecUnit = productInfo.SpecUnit - skuNameExt.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(productInfo.Weight)))) - skuNameExt.Skus[0].Status = model.SkuStatusNormal - if len(productInfo.ImgList) > 0 { - skuNameExt.Img = productInfo.ImgList[0] - } - outSkuNameExt, err := AddSkuName(ctx, skuNameExt, ctx.GetUserName()) - if err != nil { - if _, ok := err.(*SyncError); ok { - err = nil - } else { - return err - } + } + skuNameExt := &model.SkuNameExt{ + SkuName: model.SkuName{ + Name: productInfo.Name, + Upc: &productInfo.UpcCode, + Status: model.SkuStatusNormal, + CategoryID: model.NoCatCatgoryID, + IsGlobal: model.YES, + Unit: productInfo.Unit, + }, + Skus: []*model.SkuWithVendor{ + &model.SkuWithVendor{ + Sku: &model.Sku{}, + }, + }, + // Places: []int{510100}, //默认成都 + } + skuNameExt.Price = price + skuNameExt.Skus[0].SpecQuality = productInfo.SpecQuality + skuNameExt.Skus[0].SpecUnit = productInfo.SpecUnit + skuNameExt.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(productInfo.Weight)))) + skuNameExt.Skus[0].Status = model.SkuStatusNormal + if len(productInfo.ImgList) > 0 { + setImgs(skuNameExt, productInfo.ImgList) + } + outSkuNameExt, err = AddSkuName(ctx, skuNameExt, ctx.GetUserName()) + if err != nil { + if _, ok := err.(*SyncError); ok { + err = nil } else { - focusSku(outSkuNameExt.ID) + return err } + } else { + focusSku(outSkuNameExt.ID) } } else { focusSku(skuNames[0].ID) From bbd2ca3487c9f4ea1f1546cd574f93e5df505009 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, 23 Mar 2021 08:55:06 +0800 Subject: [PATCH 206/252] aa --- business/jxstore/cms/store_sku.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 31458c2e8..dff48f294 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4557,6 +4557,14 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product if len(productInfo.ImgList) > 0 { setImgs(skuNameExt, productInfo.ImgList) } + //可能就是没查出来 + if skuNameExt.Name == "" { + skuNameExt.Name = productInfo.OriginalName + skuNameExt.Unit = model.UnitNames[5] + skuNameExt.Skus[0].SpecQuality = 100 + skuNameExt.Skus[0].SpecUnit = model.SpecUnitNames[0] + skuNameExt.Skus[0].Weight = 100 + } outSkuNameExt, err = AddSkuName(ctx, skuNameExt, ctx.GetUserName()) if err != nil { if _, ok := err.(*SyncError); ok { From 9cba4e483c3f8541c96e0f824f696edb484f92cf 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, 23 Mar 2021 14:02:19 +0800 Subject: [PATCH 207/252] aa --- business/partner/purchase/jd/jd.go | 67 ++++++++++++++++++++++++++++++ controllers/jd_callback.go | 1 + 2 files changed, 68 insertions(+) diff --git a/business/partner/purchase/jd/jd.go b/business/partner/purchase/jd/jd.go index c463e2f95..b2f790a98 100644 --- a/business/partner/purchase/jd/jd.go +++ b/business/partner/purchase/jd/jd.go @@ -1,6 +1,11 @@ package jd import ( + "encoding/json" + "net/url" + + "git.rosy.net.cn/jx-callback/business/model/dao" + "git.rosy.net.cn/baseapi/platformapi/jdapi" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/model" @@ -84,3 +89,65 @@ func JxStoreStatus2JdStatus(status int) (yn, closeStatus int) { func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, vendorOrgCode, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { return imgHint, err } + +type JdCode struct { + Code string `json:"code"` + VenderID string `json:"venderId"` +} + +type JdToken struct { + Token string `json:"token"` + VenderID string `json:"venderId"` +} + +func OnTokenChange(values url.Values) { + db := dao.GetDB() + codeInfo := &JdCode{} + if dataStr := values.Get("code"); dataStr != "" { + json.Unmarshal([]byte(dataStr), &codeInfo) + } + if codeInfo != nil { + voc := &model.VendorOrgCode{} + sql := ` + SELECT * FROM tmp_jd WHERE vendor_org_code = ? + ` + sqlParams := []interface{}{codeInfo.VenderID} + if err := dao.GetRow(db, &voc, sql, sqlParams); err == nil && voc != nil { + if result, _ := dao.GetVendorOrgCode(db, model.VendorIDJD, codeInfo.VenderID, model.VendorOrgTypePlatform); len(result) == 0 { + voc2 := &model.VendorOrgCode{ + Comment: voc.Comment, + VendorOrgCode: codeInfo.VenderID, + } + dao.WrapAddIDCULDEntity(voc2, "jxadmin") + if err := dao.CreateEntity(db, voc2); err == nil { + //添加成功后去开发者后台填验证码 + + } + } else { + globals.SugarLogger.Debugf("OnTokenChange, 发验证码,但是库里有这个账号了") + } + } + } else { + tokenInfo := &JdToken{} + if dataStr := values.Get("token"); dataStr != "" { + json.Unmarshal([]byte(dataStr), &tokenInfo) + } + if tokenInfo == nil { + return + } + voc := &model.VendorOrgCode{} + sql := ` + SELECT * FROM tmp_jd WHERE vendor_org_code = ? + ` + sqlParams := []interface{}{tokenInfo.VenderID} + if err := dao.GetRow(db, &voc, sql, sqlParams); err == nil && voc != nil { + if result, _ := dao.GetVendorOrgCode(db, model.VendorIDJD, voc.VendorOrgCode, model.VendorOrgTypePlatform); len(result) > 0 { + result[0].Token = tokenInfo.Token + dao.UpdateEntity(db, result[0], "Token") + } else { + globals.SugarLogger.Debugf("OnTokenChange, 发token,但是库里没这个账号") + } + } + } + +} diff --git a/controllers/jd_callback.go b/controllers/jd_callback.go index e2d1894ae..6713c907d 100644 --- a/controllers/jd_callback.go +++ b/controllers/jd_callback.go @@ -113,6 +113,7 @@ func (c *DjswController) Token() { if err == nil { globals.SugarLogger.Info(utils.Format4Output(utils.URLValues2Map(urlValues), false)) } + jd.OnTokenChange(urlValues) c.Data["json"] = c.transferResponse("Token", nil) c.ServeJSON() } From 2211b15f4ced751ec78e17529f8421f752c48899 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, 23 Mar 2021 14:13:57 +0800 Subject: [PATCH 208/252] aa --- business/partner/purchase/jd/jd.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/business/partner/purchase/jd/jd.go b/business/partner/purchase/jd/jd.go index b2f790a98..6b21a2dc3 100644 --- a/business/partner/purchase/jd/jd.go +++ b/business/partner/purchase/jd/jd.go @@ -2,8 +2,11 @@ package jd import ( "encoding/json" + "fmt" "net/url" + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/baseapi/platformapi/jdapi" @@ -117,6 +120,7 @@ func OnTokenChange(values url.Values) { voc2 := &model.VendorOrgCode{ Comment: voc.Comment, VendorOrgCode: codeInfo.VenderID, + VendorType: model.VendorOrgTypePlatform, } dao.WrapAddIDCULDEntity(voc2, "jxadmin") if err := dao.CreateEntity(db, voc2); err == nil { @@ -129,9 +133,12 @@ func OnTokenChange(values url.Values) { } } else { tokenInfo := &JdToken{} + fmt.Println("11111111111111111111", values) if dataStr := values.Get("token"); dataStr != "" { json.Unmarshal([]byte(dataStr), &tokenInfo) } + fmt.Println("11111111111111111111", values.Get("token")) + fmt.Println("11111111111111111111", utils.Format4Output(tokenInfo, false)) if tokenInfo == nil { return } From 58cf99509137d20f69b8f3f2be5777203dab6bf9 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, 23 Mar 2021 14:17:55 +0800 Subject: [PATCH 209/252] aa --- business/partner/purchase/jd/jd.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/partner/purchase/jd/jd.go b/business/partner/purchase/jd/jd.go index 6b21a2dc3..3f798b4b0 100644 --- a/business/partner/purchase/jd/jd.go +++ b/business/partner/purchase/jd/jd.go @@ -109,6 +109,8 @@ func OnTokenChange(values url.Values) { if dataStr := values.Get("code"); dataStr != "" { json.Unmarshal([]byte(dataStr), &codeInfo) } + fmt.Println("11111111111111111111", values) + fmt.Println("22222222222222222222", utils.Format4Output(codeInfo, false)) if codeInfo != nil { voc := &model.VendorOrgCode{} sql := ` From b40e508ac2a3f80c57fd554bf738f8f8cce78c50 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, 23 Mar 2021 14:20:07 +0800 Subject: [PATCH 210/252] aa --- business/partner/purchase/jd/jd.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/business/partner/purchase/jd/jd.go b/business/partner/purchase/jd/jd.go index 3f798b4b0..00cac72f3 100644 --- a/business/partner/purchase/jd/jd.go +++ b/business/partner/purchase/jd/jd.go @@ -109,9 +109,7 @@ func OnTokenChange(values url.Values) { if dataStr := values.Get("code"); dataStr != "" { json.Unmarshal([]byte(dataStr), &codeInfo) } - fmt.Println("11111111111111111111", values) - fmt.Println("22222222222222222222", utils.Format4Output(codeInfo, false)) - if codeInfo != nil { + if codeInfo.Code != "" { voc := &model.VendorOrgCode{} sql := ` SELECT * FROM tmp_jd WHERE vendor_org_code = ? From 97a96057120934510992f464187d773b986b28f4 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, 23 Mar 2021 16:50:29 +0800 Subject: [PATCH 211/252] aa --- business/jxstore/tempop/tempop.go | 196 +++++++++++++++-------------- business/partner/purchase/jd/jd.go | 13 +- 2 files changed, 111 insertions(+), 98 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index cf0116b67..d7ae2daec 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1746,99 +1746,99 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // } // } // 京东商城补身份证 - var ( - storeMaps []*model.StoreMap - db = dao.GetDB() - ) - sql := ` - SELECT * from store_map where vendor_id = 5 and deleted_at = '1970-01-01 00:00:00' and vendor_org_code = 2 - AND store_id = 100117 - ` - dao.GetRows(db, &storeMaps, sql, nil) + // var ( + // storeMaps []*model.StoreMap + // db = dao.GetDB() + // ) + // sql := ` + // SELECT * from store_map where vendor_id = 5 and deleted_at = '1970-01-01 00:00:00' and vendor_org_code = 2 + // AND store_id = 100117 + // ` + // dao.GetRows(db, &storeMaps, sql, nil) // for _, v := range storeMaps { - task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - v := batchItemList[0].(*model.StoreMap) - // detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) - // storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") - api.JdShop2API.UpdateExpand(utils.Str2Int(v.VendorStoreID)) - // var ( - // url2 string - // idCode string - // startTime string - // ) - // if storeDetail.IDCardFront != "" { - // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) - // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } else { - // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") - // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" - // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) - // } - // if storeDetail.IDCode == "" { - // idCode = "610126198012230014" - // } else { - // idCode = storeDetail.IDCode - // } - // if storeDetail.IDValid == "" { - // startTime = "2013-01-25 00:00:00" - // } else { - // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) - // } - // ex := storeDetail.IDExpire - // if ex == "" { - // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) - // } - // if !strings.Contains(ex, "00:00:00") { - // ex += " 00:00:00" - // } - // api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ - // StoreID: detail.StoreID, - // StoreName: detail.StoreName, - // CategoryID2: detail.CategoryID2, - // Coordinate: detail.Coordinate, - // BussinessBeginTime: detail.BussinessBeginTime, - // BussinessEndTime: detail.BussinessEndTime, - // ImgURL: detail.ImgURL, - // StorePhone: detail.StorePhone, - // AddName: detail.AddName, - // AddCode1: detail.AddCode1, - // AddCode2: detail.AddCode2, - // AddCode3: detail.AddCode3, - // CategoryID1: detail.CategoryID1, - // QualificationRequests: []*jdshopapi.QualificationRequests{ - // &jdshopapi.QualificationRequests{ - // QualificationID: 41, - // QualificationName: "营业执照", - // QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, - // QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, - // QualificationBusType: 2, - // QualificationBusName: storeDetail.LicenceCorpName, - // StartTime: detail.QualificationInfoTOList[0].StartTime, - // EndingTime: utils.Time2Str(utils.Str2Time(detail.QualificationInfoTOList[0].StartTime).AddDate(10, 0, 0)), - // Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, - // }, - // &jdshopapi.QualificationRequests{ - // QualificationID: 42, - // QualificationName: "身份证件", - // QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, - // QualificationURL: detail.QualificationInfoTOList[1].QualificationURL, - // StartTime: detail.QualificationInfoTOList[1].StartTime, - // EndingTime: detail.QualificationInfoTOList[1].EndingTime, - // Time: []string{detail.QualificationInfoTOList[1].StartTime, detail.QualificationInfoTOList[1].EndingTime}, - // QualificationNo: idCode, - // QualificationURL: url2, - // StartTime: startTime, - // EndingTime: ex, - // Time: []string{startTime, ex}, - // }, - // }, - // }) - return retVal, err - }, storeMaps) - tasksch.HandleTask(task, nil, true).Run() - task.GetID() + // task := tasksch.NewParallelTask("uuuuu", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // v := batchItemList[0].(*model.StoreMap) + // detail, _ := api.JdShop2API.ShopDetail(utils.Str2Int(v.VendorStoreID)) + // storeDetail, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "2") + // api.JdShop2API.UpdateExpand(utils.Str2Int(v.VendorStoreID)) + // var ( + // url2 string + // idCode string + // startTime string + // ) + // if storeDetail.IDCardFront != "" { + // data2, _, _ := jxutils.DownloadFileByURL(storeDetail.IDCardFront) + // fileName := storeDetail.IDCardFront[strings.LastIndex(storeDetail.IDCardFront, "/")+1 : len(storeDetail.IDCardFront)] + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } else { + // data2, _, _ := jxutils.DownloadFileByURL("http://image.jxc4.com/image/a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg") + // fileName := "a9bfc170a950ab9a4c76bd10b48b222b.tem.jpg" + // url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + // } + // if storeDetail.IDCode == "" { + // idCode = "610126198012230014" + // } else { + // idCode = storeDetail.IDCode + // } + // if storeDetail.IDValid == "" { + // startTime = "2013-01-25 00:00:00" + // } else { + // startTime = utils.Time2Str(utils.Str2Time(storeDetail.IDValid)) + // } + // ex := storeDetail.IDExpire + // if ex == "" { + // ex = utils.Time2Str(utils.Str2Time(storeDetail.IDValid).AddDate(10, 0, 0)) + // } + // if !strings.Contains(ex, "00:00:00") { + // ex += " 00:00:00" + // } + // api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{ + // StoreID: detail.StoreID, + // StoreName: detail.StoreName, + // CategoryID2: detail.CategoryID2, + // Coordinate: detail.Coordinate, + // BussinessBeginTime: detail.BussinessBeginTime, + // BussinessEndTime: detail.BussinessEndTime, + // ImgURL: detail.ImgURL, + // StorePhone: detail.StorePhone, + // AddName: detail.AddName, + // AddCode1: detail.AddCode1, + // AddCode2: detail.AddCode2, + // AddCode3: detail.AddCode3, + // CategoryID1: detail.CategoryID1, + // QualificationRequests: []*jdshopapi.QualificationRequests{ + // &jdshopapi.QualificationRequests{ + // QualificationID: 41, + // QualificationName: "营业执照", + // QualificationNo: detail.QualificationInfoTOList[0].QualificationNo, + // QualificationURL: detail.QualificationInfoTOList[0].QualificationURL, + // QualificationBusType: 2, + // QualificationBusName: storeDetail.LicenceCorpName, + // StartTime: detail.QualificationInfoTOList[0].StartTime, + // EndingTime: utils.Time2Str(utils.Str2Time(detail.QualificationInfoTOList[0].StartTime).AddDate(10, 0, 0)), + // Time: []string{detail.QualificationInfoTOList[0].StartTime, detail.QualificationInfoTOList[0].EndingTime}, + // }, + // &jdshopapi.QualificationRequests{ + // QualificationID: 42, + // QualificationName: "身份证件", + // QualificationNo: detail.QualificationInfoTOList[1].QualificationNo, + // QualificationURL: detail.QualificationInfoTOList[1].QualificationURL, + // StartTime: detail.QualificationInfoTOList[1].StartTime, + // EndingTime: detail.QualificationInfoTOList[1].EndingTime, + // Time: []string{detail.QualificationInfoTOList[1].StartTime, detail.QualificationInfoTOList[1].EndingTime}, + // QualificationNo: idCode, + // QualificationURL: url2, + // StartTime: startTime, + // EndingTime: ex, + // Time: []string{startTime, ex}, + // }, + // }, + // }) + // return retVal, err + // }, storeMaps) + // tasksch.HandleTask(task, nil, true).Run() + // task.GetID() // var ( // db = dao.GetDB() // vendorThingIDs []int64 @@ -1878,6 +1878,18 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // }, storeMaps) // tasksch.HandleTask(task, nil, true).Run() // _, err = task.GetResult(0) + //京东账号更新 + var ( + db = dao.GetDB() + ) + result, _ := api.JdAPI.GetJdAppInfo() + if result != nil { + if vocs, _ := dao.GetVendorOrgCode(db, model.VendorIDJD, result.OrgCode, model.VendorOrgTypePlatform); len(vocs) > 0 { + vocs[0].AppKey = result.AppKey + vocs[0].AppSecret = result.AppSecret + dao.UpdateEntity(db, vocs[0], "AppKey", "AppSecret") + } + } return err } diff --git a/business/partner/purchase/jd/jd.go b/business/partner/purchase/jd/jd.go index 00cac72f3..79b6b5533 100644 --- a/business/partner/purchase/jd/jd.go +++ b/business/partner/purchase/jd/jd.go @@ -2,10 +2,9 @@ package jd import ( "encoding/json" - "fmt" "net/url" - "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/globals/api" "git.rosy.net.cn/jx-callback/business/model/dao" @@ -125,7 +124,12 @@ func OnTokenChange(values url.Values) { dao.WrapAddIDCULDEntity(voc2, "jxadmin") if err := dao.CreateEntity(db, voc2); err == nil { //添加成功后去开发者后台填验证码 - + if configs, err := dao.QueryConfigs(dao.GetDB(), "jdConfigCookie", model.ConfigTypeCookie, ""); err == nil { + api.JdAPI.SetCookieWithStr(configs[0].Value) + if appID, err := api.JdAPI.GetJdNoAuthAppID(codeInfo.VenderID); err == nil { + api.JdAPI.SetCode(codeInfo.Code, appID) + } + } } } else { globals.SugarLogger.Debugf("OnTokenChange, 发验证码,但是库里有这个账号了") @@ -133,12 +137,9 @@ func OnTokenChange(values url.Values) { } } else { tokenInfo := &JdToken{} - fmt.Println("11111111111111111111", values) if dataStr := values.Get("token"); dataStr != "" { json.Unmarshal([]byte(dataStr), &tokenInfo) } - fmt.Println("11111111111111111111", values.Get("token")) - fmt.Println("11111111111111111111", utils.Format4Output(tokenInfo, false)) if tokenInfo == nil { return } From 08ddc2308d9fc9444c3b95553af0225a7bb7a043 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, 23 Mar 2021 16:55:41 +0800 Subject: [PATCH 212/252] aa --- business/jxstore/tempop/tempop.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index d7ae2daec..f76e907c4 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1882,12 +1882,15 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { var ( db = dao.GetDB() ) - result, _ := api.JdAPI.GetJdAppInfo() - if result != nil { - if vocs, _ := dao.GetVendorOrgCode(db, model.VendorIDJD, result.OrgCode, model.VendorOrgTypePlatform); len(vocs) > 0 { - vocs[0].AppKey = result.AppKey - vocs[0].AppSecret = result.AppSecret - dao.UpdateEntity(db, vocs[0], "AppKey", "AppSecret") + if configs, err := dao.QueryConfigs(dao.GetDB(), "jdConfigCookie", model.ConfigTypeCookie, ""); err == nil { + api.JdAPI.SetCookieWithStr(configs[0].Value) + result, _ := api.JdAPI.GetJdAppInfo() + if result != nil { + if vocs, _ := dao.GetVendorOrgCode(db, model.VendorIDJD, result.OrgCode, model.VendorOrgTypePlatform); len(vocs) > 0 { + vocs[0].AppKey = result.AppKey + vocs[0].AppSecret = result.AppSecret + dao.UpdateEntity(db, vocs[0], "AppKey", "AppSecret") + } } } return err From bba3e273f69bd15389819213a8f511f580cf1567 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, 24 Mar 2021 10:17:11 +0800 Subject: [PATCH 213/252] aa --- business/jxcallback/orderman/order.go | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 1aecca92e..bffa12d16 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -345,14 +345,12 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao } else { globals.SugarLogger.Warnf("saveOrder create order:%v, error:%v", order, err) } - if err == nil { - dao.Commit(db) - } //修改商品库存 if err == nil { - utils.CallFuncAsync(func() { - err = ModifyOrderSkusStock(db, order, false) - }) + err = ModifyOrderSkusStock(db, order, false) + } + if err == nil { + dao.Commit(db) } return isDuplicated, err } @@ -384,7 +382,7 @@ func ModifyOrderSkusStock(db *dao.DaoDB, order *model.GoodsOrder, isAdd bool) (e if len(storeSkus2) > 0 { storeSku3 := storeSkus2[0] storeSku3.Stock = storeSku3.Stock + sku.Count - dao.UpdateEntity(db, storeSku3, "Stock") + db.Db.Update(storeSku3, "Stock") } } realStock := checkPriceDefendOrderByStock(db, jxutils.GetSaleStoreIDFromOrder(order), sku.SkuID, stock, storeSku.JxPrice) @@ -393,9 +391,9 @@ func ModifyOrderSkusStock(db *dao.DaoDB, order *model.GoodsOrder, isAdd bool) (e } } storeSku.Stock = stock - dao.UpdateEntity(db, storeSku, "Stock") + db.Db.Update(storeSku, "Stock") if order.VendorID != model.VendorIDJX { - dao.SetStoreSkuSyncStatus(db, order.VendorID, []int{jxutils.GetSaleStoreIDFromOrder(order)}, []int{sku.SkuID}, model.SyncFlagStockMask) + // dao.SetStoreSkuSyncStatus(db, order.VendorID, []int{jxutils.GetSaleStoreIDFromOrder(order)}, []int{sku.SkuID}, model.SyncFlagStockMask) } } return err @@ -597,9 +595,6 @@ func updateSingleOrderEarningPrice(order *model.GoodsOrder, db *dao.DaoDB) { if true { //v.StoreSubName != "" { // 之前这里为什么要加判断? v.StoreSubID = actStoreSku.ActID } - if v.EarningPrice != v.ShopPrice { - baseapi.SugarLogger.Warnf("不等于了。:%v", v.EarningPrice, order.VendorOrderID, utils.Format4Output(actStoreSku, false)) - } } } } From dda5e519bbc7ea4933f946c34a0663cde383e88f 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, 24 Mar 2021 15:29:31 +0800 Subject: [PATCH 214/252] aa --- business/jxstore/cms/sku.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index c404ebb10..457671c7c 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -688,7 +688,8 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric LIMIT ? OFFSET ?` pageSize = jxutils.FormalizePageSize(pageSize) offset = jxutils.FormalizePageOffset(offset) - + fmt.Println(sqlData) + fmt.Println(sqlParams) sqlParams = append(sqlParams, pageSize, offset) skuNamesInfo = &SkuNamesInfo{} dao.Begin(db) // todo 这里用事务的原因是,SQL_CALC_FOUND_ROWS会出错 From ec111a543af46fdb3ad57e5e096902e131715c91 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, 24 Mar 2021 16:06:31 +0800 Subject: [PATCH 215/252] aa --- business/jxstore/cms/sku.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 457671c7c..58512894f 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -437,6 +437,18 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric sql := ` FROM sku_name t1 LEFT JOIN sku t2 ON t1.id = t2.name_id AND t2.deleted_at = ? + ` + if params["isExd"] != nil { + var idExd = params["isExd"].(bool) + if idExd { + sql += " AND t2.exd_sku_id <> ''" + } else { + sql += " AND t2.exd_sku_id = ''" + } + } else { + sql += " AND t2.exd_sku_id = ''" + } + sql += ` LEFT JOIN sku_name_place_bind t3 ON t1.id = t3.name_id ` sqlParams := []interface{}{ @@ -484,16 +496,6 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric sqlParams = append(sqlParams, nameIDs) } } - if params["isExd"] != nil { - var idExd = params["isExd"].(bool) - if idExd { - sql += " AND t2.exd_sku_id <> ''" - } else { - sql += " AND t2.exd_sku_id = ''" - } - } else { - sql += " AND t2.exd_sku_id = ''" - } if params["categoryID"] != nil { cat := &model.SkuCategory{} cat.ID = params["categoryID"].(int) From 03f4ea45ade97ce68bddddad737261a9f4bd5106 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, 24 Mar 2021 16:46:09 +0800 Subject: [PATCH 216/252] aa --- business/jxstore/cms/sku.go | 160 +++++++++++++----------------------- 1 file changed, 59 insertions(+), 101 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 58512894f..5b78c633a 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -437,18 +437,6 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric sql := ` FROM sku_name t1 LEFT JOIN sku t2 ON t1.id = t2.name_id AND t2.deleted_at = ? - ` - if params["isExd"] != nil { - var idExd = params["isExd"].(bool) - if idExd { - sql += " AND t2.exd_sku_id <> ''" - } else { - sql += " AND t2.exd_sku_id = ''" - } - } else { - sql += " AND t2.exd_sku_id = ''" - } - sql += ` LEFT JOIN sku_name_place_bind t3 ON t1.id = t3.name_id ` sqlParams := []interface{}{ @@ -510,6 +498,16 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric } sql += ")" } + if params["isExd"] != nil { + var idExd = params["isExd"].(bool) + if idExd { + sql += " AND t2.exd_sku_id <> ''" + } else { + sql += " AND t2.exd_sku_id = ''" + } + } else { + sql += " AND t2.exd_sku_id = ''" + } if params["skuCategoryID"] != nil { cat := &model.SkuCategory{} cat.ID = params["skuCategoryID"].(int) @@ -591,49 +589,10 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric sql += " AND t2.status >= ? AND t2.status <= ?" sqlParams = append(sqlParams, fromStatus, toStatus) } - sql += ` - GROUP BY - t1.id, - t1.created_at, - t1.updated_at, - t1.last_operator, - t1.deleted_at, - t1.prefix, - t1.name, - t1.brand_id, - t1.category_id, - t1.jd_category_id, - t1.is_global, - t1.unit, - t1.price, - t1.img, - t1.img2, - t1.img3, - t1.img_watermark, - t1.img_mix, - t1.status, - t1.is_spu, - t1.desc_img, - t1.upc, - t1.ex_prefix, - t1.ex_prefix_begin, - t1.ex_prefix_end, - t1.yb_name_suffix, - t1.jds_stock_switch, - t1.preparation_time, - t1.best_seller - ` - if isQueryMidPrice { - sql += `, - t4.mid_unit_price` - } - if isBySku { - sql += `, - t2.id` - } sqlData := ` SELECT SQL_CALC_FOUND_ROWS + DISTINCT t1.id, t1.created_at, t1.updated_at, @@ -656,42 +615,22 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric t1.is_spu, t1.desc_img, t1.upc, - /* - t1.jd_id, - t1.jd_sync_status, - */ t1.ex_prefix, t1.ex_prefix_begin, t1.ex_prefix_end, t1.yb_name_suffix, t1.jds_stock_switch, t1.preparation_time, - t1.best_seller, + t1.best_seller ` if isQueryMidPrice { - sqlData += " t4.mid_unit_price," + sqlData += ",t4.mid_unit_price" } - sqlData += - ` - CONCAT("[", GROUP_CONCAT(DISTINCT CONCAT('{"id":', t2.id, ',"comment":"', t2.comment, '","status":', t2.status, - ',"createdAt":"', CONCAT(REPLACE(t2.created_at," ","T"),"+08:00"), '","updatedAt":"', CONCAT(REPLACE(t2.updated_at," ","T"),"+08:00"), - '","lastOperator":"', t2.last_operator, '","specQuality":', t2.spec_quality, ',"specUnit":"', t2.spec_unit, - '","exdSkuID":"', t2.exd_sku_id, - '","eclpID":"', t2.eclp_id, - '","weight":', t2.weight, ',"categoryID":', t2.category_id, ',"nameID":', t2.name_id, - ', "seq":', t2.seq, - ', "minOrderCount":', t2.min_order_count, - ', "ladderBoxNum":', t2.ladder_box_num, - ', "ladderBoxPrice":', t2.ladder_box_price, - "}")), "]") skus_str, - CONCAT("[", GROUP_CONCAT(DISTINCT t3.place_code), "]") places_str - ` + sql + ` - ORDER BY MIN(t2.seq), t1.id DESC + sqlData += sql + ` + ORDER BY t1.id DESC LIMIT ? OFFSET ?` pageSize = jxutils.FormalizePageSize(pageSize) offset = jxutils.FormalizePageOffset(offset) - fmt.Println(sqlData) - fmt.Println(sqlParams) sqlParams = append(sqlParams, pageSize, offset) skuNamesInfo = &SkuNamesInfo{} dao.Begin(db) // todo 这里用事务的原因是,SQL_CALC_FOUND_ROWS会出错 @@ -701,30 +640,28 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric panic(r) } }() - // globals.SugarLogger.Debug(sqlData) - // globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false)) if err = dao.GetRows(db, &skuNamesInfo.SkuNames, sqlData, sqlParams...); err == nil { skuNamesInfo.TotalCount = dao.GetLastTotalRowCount(db) dao.Commit(db) - var skuIDs []int + // var skuIDs []int for _, skuName := range skuNamesInfo.SkuNames { skuName.FullName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, "", "", 0, "", 0, skuName.ExPrefix, skuName.ExPrefixBegin, skuName.ExPrefixEnd) - if skuName.SkusStr != "" { - if err = utils.UnmarshalUseNumber([]byte(skuName.SkusStr), &skuName.Skus); err != nil { - dao.Rollback(db) - return nil, err - } - for _, v := range skuName.Skus { - skuIDs = append(skuIDs, v.ID) - } - } - if skuName.PlacesStr != "" { - if err = utils.UnmarshalUseNumber([]byte(skuName.PlacesStr), &skuName.Places); err != nil { - dao.Rollback(db) - return nil, err - } - } + // if skuName.SkusStr != "" { + // if err = utils.UnmarshalUseNumber([]byte(skuName.SkusStr), &skuName.Skus); err != nil { + // dao.Rollback(db) + // return nil, err + // } + // for _, v := range skuName.Skus { + // skuIDs = append(skuIDs, v.ID) + // } + // } + // if skuName.PlacesStr != "" { + // if err = utils.UnmarshalUseNumber([]byte(skuName.PlacesStr), &skuName.Places); err != nil { + // dao.Rollback(db) + // return nil, err + // } + // } skuVendorCats, _ := dao.GetSkuVendorCategoryMaps(db, []int{skuName.ID}, []int{model.VendorIDMTWM, model.VendorIDEBAI, model.VendorIDJDShop, model.VendorIDJD}, nil) if len(skuVendorCats) > 0 { for _, v := range skuVendorCats { @@ -742,15 +679,36 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric } } } - } - if len(skuIDs) > 0 { - thingMapMap, err2 := dao.GetThingMapMap(db, model.ThingTypeSku, nil, skuIDs) - if err = err2; err == nil { - for _, skuName := range skuNamesInfo.SkuNames { - for _, v := range skuName.Skus { - v.MapList = thingMapMap[int64(v.ID)] + var skus []*model.Sku + sql := ` + SELECT * FROM sku WEHRE deleted_at = ? AND name_id = ? + ` + sqlParams := []interface{}{utils.DefaultTimeValue, skuName.ID} + if err = dao.GetRows(db, &skus, sql, sqlParams); err == nil { + var skusVendors []*model.SkuWithVendor + for _, v := range skus { + skusVendor := &model.SkuWithVendor{ + Sku: v, } + skusVendors = append(skusVendors, skusVendor) } + skuName.Skus = skusVendors + // thingMapMap, err2 := dao.GetThingMapMap(db, model.ThingTypeSku, nil, nil) + // if err = err2; err == nil { + // for _, skuName := range skuNamesInfo.SkuNames { + // for _, v := range skuName.Skus { + // v.MapList = thingMapMap[int64(v.ID)] + // } + // } + // } + } + var places []*model.SkuNamePlaceBind + sql2 := ` + SELECT * FROM sku_name_place_bind WHERE name_id = ? + ` + sqlParams2 := []interface{}{skuName.ID} + if err = dao.GetRows(db, &places, sql2, sqlParams2); err == nil { + } } } else { From 67a11f61dd0eb5292e459bae69e92e3a995aa5fe 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, 24 Mar 2021 16:47:21 +0800 Subject: [PATCH 217/252] aa --- business/jxstore/cms/sku.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 5b78c633a..47676be07 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -702,13 +702,19 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric // } // } } - var places []*model.SkuNamePlaceBind + var ( + places []*model.SkuNamePlaceBind + placeCodes []int + ) sql2 := ` SELECT * FROM sku_name_place_bind WHERE name_id = ? ` sqlParams2 := []interface{}{skuName.ID} if err = dao.GetRows(db, &places, sql2, sqlParams2); err == nil { - + for _, v := range places { + placeCodes = append(placeCodes, v.PlaceCode) + } + skuName.Places = placeCodes } } } else { From 08e2bc5dea42180ef04a88852998faca8a7929cc 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, 24 Mar 2021 17:02:14 +0800 Subject: [PATCH 218/252] aa --- business/jxstore/cms/sku.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 47676be07..13cc2a4c8 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -684,12 +684,16 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric SELECT * FROM sku WEHRE deleted_at = ? AND name_id = ? ` sqlParams := []interface{}{utils.DefaultTimeValue, skuName.ID} + fmt.Println(sql) + fmt.Println(sqlParams) + if err = dao.GetRows(db, &skus, sql, sqlParams); err == nil { var skusVendors []*model.SkuWithVendor for _, v := range skus { skusVendor := &model.SkuWithVendor{ Sku: v, } + fmt.Println("111111111111111111111111", utils.Format4Output(skusVendor, false)) skusVendors = append(skusVendors, skusVendor) } skuName.Skus = skusVendors From 96477648946dbd02658555c5e96bf0dfa7efe39a 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, 24 Mar 2021 17:06:02 +0800 Subject: [PATCH 219/252] aa --- business/jxstore/cms/sku.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 13cc2a4c8..2fdf44782 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -681,19 +681,15 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric } var skus []*model.Sku sql := ` - SELECT * FROM sku WEHRE deleted_at = ? AND name_id = ? + SELECT * FROM sku WHERE deleted_at = ? AND name_id = ? ` sqlParams := []interface{}{utils.DefaultTimeValue, skuName.ID} - fmt.Println(sql) - fmt.Println(sqlParams) - if err = dao.GetRows(db, &skus, sql, sqlParams); err == nil { var skusVendors []*model.SkuWithVendor for _, v := range skus { skusVendor := &model.SkuWithVendor{ Sku: v, } - fmt.Println("111111111111111111111111", utils.Format4Output(skusVendor, false)) skusVendors = append(skusVendors, skusVendor) } skuName.Skus = skusVendors @@ -714,6 +710,9 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric SELECT * FROM sku_name_place_bind WHERE name_id = ? ` sqlParams2 := []interface{}{skuName.ID} + fmt.Println(sql2) + fmt.Println(sqlParams2) + if err = dao.GetRows(db, &places, sql2, sqlParams2); err == nil { for _, v := range places { placeCodes = append(placeCodes, v.PlaceCode) From 17d31987b600aff0331290221e51bf73c568ba33 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, 24 Mar 2021 17:55:05 +0800 Subject: [PATCH 220/252] aa --- business/jxstore/cms/sku.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 2fdf44782..f7d34f26a 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -710,9 +710,6 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric SELECT * FROM sku_name_place_bind WHERE name_id = ? ` sqlParams2 := []interface{}{skuName.ID} - fmt.Println(sql2) - fmt.Println(sqlParams2) - if err = dao.GetRows(db, &places, sql2, sqlParams2); err == nil { for _, v := range places { placeCodes = append(placeCodes, v.PlaceCode) From 1f74c0139706d3a788fddc7fe76258aa4f544221 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, 25 Mar 2021 10:04:35 +0800 Subject: [PATCH 221/252] aa --- business/jxstore/cms/store_sku.go | 2 ++ controllers/cms_store_sku.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index dff48f294..db23850a4 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -634,6 +634,8 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str } var tmpList []*tGetStoresSkusInfo beginTime := time.Now() + fmt.Println(sql) + fmt.Println(sqlParams) if err = dao.GetRows(db, &tmpList, sql, sqlParams...); err != nil { dao.Rollback(db) return nil, err diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index c9029e4be..b5828e5cc 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -940,3 +940,32 @@ func (c *StoreSkuController) GetVendorStoreSkus() { return retVal, "", err }) } + +// @Title 得到商家商品信息 +// @Description 得到商家商品信息,如下条件之间是与的关系。对于没有认领的商品,按城市限制。但对于已经认领的商品就不限制了,因为已经在平台上可售,可以操作(改价等等) +// @Param token header string false "认证token" +// @Param storeIDs query string false "门店ID" +// @Param isFocus query bool true "是否已关注(认领)" +// @Param keyword query string false "查询关键字(可以为空,为空表示不限制)" +// @Param name query string false "商品名称(不要求完全一致)" +// @Param categoryID query int false "商品所属类别ID" +// @Param fromStatus query int false "查询起始状态(0:不可售,1:可售)" +// @Param toStatus query int false "查询结束状态(0:不可售,1:可售)" +// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" +// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" +// @Param isBySku query bool false "是否按SKU分拆" +// @Param isAct query bool false "是否活动商品(包括正常活动与补贴)" +// @Param actVendorID query int false "要得到哪个平台的活动信息(缺省不限制,非零最小值)" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetStoresSkusForStore [get] +func (c *StoreSkuController) GetStoresSkusForStore() { + // c.callGetStoresSkus(func(params *tStoreSkuGetStoresSkusParams) (retVal interface{}, errCode string, err error) { + // var storeIDs, skuIDs []int + // var upcs []string + // if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.SkuIDs, &skuIDs, params.Upcs, &upcs); err == nil { + // retVal, err = cms.GetStoresSkus(params.Ctx, storeIDs, skuIDs, upcs, params.IsFocus, params.IsHighPrice, params.PriceType, params.Keyword, params.IsBySku, params.IsAct, params.MapData, params.Offset, params.PageSize) + // } + // return retVal, "", err + // }) +} From e5495ef3517e8d5a1b0acadd14e7c85660230bc9 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, 25 Mar 2021 10:23:31 +0800 Subject: [PATCH 222/252] aa --- business/jxstore/cms/store_sku.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index db23850a4..c637c3e7c 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -591,6 +591,8 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str sqlParams2 = append(sqlParams2, sqlParamsPage) var storeNameList []*tStoreNameBind beginTime := time.Now() + fmt.Println(sql2) + fmt.Println(sqlParams2) if err = dao.GetRows(db, &storeNameList, sql2, sqlParams2...); err != nil { dao.Rollback(db) return nil, err @@ -634,8 +636,6 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str } var tmpList []*tGetStoresSkusInfo beginTime := time.Now() - fmt.Println(sql) - fmt.Println(sqlParams) if err = dao.GetRows(db, &tmpList, sql, sqlParams...); err != nil { dao.Rollback(db) return nil, err From baae588ec46e154210ed077d8d4d6abd2ffd2c33 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, 25 Mar 2021 11:20:49 +0800 Subject: [PATCH 223/252] aa --- business/jxstore/cms/store_sku.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index c637c3e7c..dff48f294 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -591,8 +591,6 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str sqlParams2 = append(sqlParams2, sqlParamsPage) var storeNameList []*tStoreNameBind beginTime := time.Now() - fmt.Println(sql2) - fmt.Println(sqlParams2) if err = dao.GetRows(db, &storeNameList, sql2, sqlParams2...); err != nil { dao.Rollback(db) return nil, err From 4c19bd32a0687e697425d142eb019a9c8c122834 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, 25 Mar 2021 11:30:23 +0800 Subject: [PATCH 224/252] aa --- controllers/auth2.go | 43 +++++++++++++++++++++++++++ routers/commentsRouter_controllers.go | 18 +++++++++++ 2 files changed, 61 insertions(+) diff --git a/controllers/auth2.go b/controllers/auth2.go index d4828d04b..b3fcc9442 100644 --- a/controllers/auth2.go +++ b/controllers/auth2.go @@ -6,6 +6,7 @@ import ( "net/http" "strings" + "git.rosy.net.cn/baseapi/platformapi/weixinapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/auth2" "git.rosy.net.cn/jx-callback/business/auth2/authprovider/dingding" @@ -13,6 +14,7 @@ import ( "git.rosy.net.cn/jx-callback/business/auth2/authprovider/password" "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego" ) @@ -322,3 +324,44 @@ func (c *Auth2Controller) DeletedTokenInfoWithoutParam() { return retVal, "", err }) } + +type UserInfoWithWeixin struct { + Mobile string `json:"mobile"` + IsExist bool `json:"isExist"` +} + +// @Title 根据小程序jsCode查询用户信息 +// @Description 根据小程序jsCode查询用户信息 +// @Param token header string false "认证token" +// @Param data formData string true "加密数据" +// @Param iv formData string true "iv" +// @Param jsCode formData string false "小程序jsCode" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetUserByMiniInfo [post] +func (c *Auth2Controller) GetUserByMiniInfo() { + c.callGetUserByMiniInfo(func(params *tAuth2GetUserByMiniInfoParams) (retVal interface{}, errCode string, err error) { + authInfo := &auth2.AuthInfo{} + if err == nil { + decryptedDataBase64, err2 := weixin.AutherObjMini.DecryptData(authInfo, GetComposedCode(&c.Controller, params.JsCode), params.Data, params.Iv) + if err = err2; err == nil { + var userInfo *weixinapi.MiniUserInfo + if err = utils.UnmarshalUseNumber([]byte(decryptedDataBase64), &userInfo); err == nil { + result := &UserInfoWithWeixin{} + result.Mobile = userInfo.PhoneNumber + if userInfo.PhoneNumber != "" { + if user, err := dao.GetUserByID(dao.GetDB(), "mobile", userInfo.PhoneNumber); err == nil { + if user != nil { + result.IsExist = true + } else { + result.IsExist = false + } + } + } + retVal = result + } + } + } + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index aea3210a9..24c09375d 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -169,6 +169,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"], + beego.ControllerComments{ + Method: "GetUserByMiniInfo", + Router: `/GetUserByMiniInfo`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"], beego.ControllerComments{ Method: "Login", @@ -2601,6 +2610,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"], + beego.ControllerComments{ + Method: "GetStoresSkusForStore", + Router: `/GetStoresSkusForStore`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"], beego.ControllerComments{ Method: "GetStoresSkusSaleInfo", From ca8f2c8f9daf28a85feb081a86c25a93069216f0 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, 25 Mar 2021 11:38:32 +0800 Subject: [PATCH 225/252] aa --- business/jxstore/cms/store.go | 4 ++++ business/model/dao/sku.go | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 675177160..7b151767e 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -3177,6 +3177,10 @@ func GetStoreCategoryMap(ctx *jxcontext.Context, parentID, level int, storeID in if err != nil { return nil, err } + //表示没有门店分类 + if len(storeCatMaps) == 0 { + storeCatMaps, err = dao.GetCategoriesForStore(db, parentID, 0, nil) + } return storeCatMaps, err } diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index 995211095..24fd5418a 100644 --- a/business/model/dao/sku.go +++ b/business/model/dao/sku.go @@ -97,6 +97,31 @@ func GetCategories(db *DaoDB, parentID, level int, catIDs []int, isExd bool) (ca return cats, GetRows(db, &cats, sql, params) } +func GetCategoriesForStore(db *DaoDB, parentID, level int, catIDs []int) (cats []*model.StoreCategoryMap, err error) { + sql := ` + SELECT t1.* + FROM sku_category t1 + WHERE t1.deleted_at = ?` + params := []interface{}{ + utils.DefaultTimeValue, + } + if parentID != -1 { + sql += " AND t1.parent_id = ?" + params = append(params, parentID) + } + if len(catIDs) > 0 { + sql += " AND t1.id IN (" + GenQuestionMarks(len(catIDs)) + ")" + params = append(params, catIDs) + } + if level > 0 { + sql += " AND t1.level = ?" + params = append(params, level) + } + sql += ` AND t1.is_exd_spec = 0 + ORDER BY t1.level, t1.seq` + return cats, GetRows(db, &cats, sql, params) +} + func GetSkus(db *DaoDB, skuIDs, nameIDs, statuss, catIDs []int, eclpIDs []string) (skuList []*model.SkuAndName, err error) { sql := ` SELECT t1.*, t2.name, t2.unit, t2.prefix, t2.is_spu, t2.ex_prefix, t2.ex_prefix_begin, t2.ex_prefix_end, t2.upc From d54c9a8d07d2c7c01b1638ed11e2f856d0389ee8 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, 25 Mar 2021 11:43:44 +0800 Subject: [PATCH 226/252] aa --- business/model/dao/sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index 24fd5418a..7950cb534 100644 --- a/business/model/dao/sku.go +++ b/business/model/dao/sku.go @@ -99,7 +99,7 @@ func GetCategories(db *DaoDB, parentID, level int, catIDs []int, isExd bool) (ca func GetCategoriesForStore(db *DaoDB, parentID, level int, catIDs []int) (cats []*model.StoreCategoryMap, err error) { sql := ` - SELECT t1.* + SELECT t1.*, t1.seq store_category_seq FROM sku_category t1 WHERE t1.deleted_at = ?` params := []interface{}{ From e35d761fea2a065c454238d38fccf77cd02b7e4c 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, 25 Mar 2021 11:48:52 +0800 Subject: [PATCH 227/252] aa --- business/model/dao/sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index 7950cb534..2bf5c2d65 100644 --- a/business/model/dao/sku.go +++ b/business/model/dao/sku.go @@ -99,7 +99,7 @@ func GetCategories(db *DaoDB, parentID, level int, catIDs []int, isExd bool) (ca func GetCategoriesForStore(db *DaoDB, parentID, level int, catIDs []int) (cats []*model.StoreCategoryMap, err error) { sql := ` - SELECT t1.*, t1.seq store_category_seq + SELECT t1.*, t1.seq store_category_seq, t1.id category_id FROM sku_category t1 WHERE t1.deleted_at = ?` params := []interface{}{ From 989277c929c6e94cd091ff5930044f209bcffe63 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, 25 Mar 2021 11:51:35 +0800 Subject: [PATCH 228/252] aa --- business/model/dao/sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index 2bf5c2d65..01c94be67 100644 --- a/business/model/dao/sku.go +++ b/business/model/dao/sku.go @@ -99,7 +99,7 @@ func GetCategories(db *DaoDB, parentID, level int, catIDs []int, isExd bool) (ca func GetCategoriesForStore(db *DaoDB, parentID, level int, catIDs []int) (cats []*model.StoreCategoryMap, err error) { sql := ` - SELECT t1.*, t1.seq store_category_seq, t1.id category_id + SELECT t1.*, t1.seq store_category_seq, t1.id category_id, t1.name store_category_name FROM sku_category t1 WHERE t1.deleted_at = ?` params := []interface{}{ From 0bf471365c560e9d57eb1d95b73514b9695c6030 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, 25 Mar 2021 11:59:02 +0800 Subject: [PATCH 229/252] aa --- business/jxstore/cms/store.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 7b151767e..e64799db3 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/auth2" + "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/jxstore/permission" "git.rosy.net.cn/jx-callback/business/authz" @@ -3177,6 +3179,9 @@ func GetStoreCategoryMap(ctx *jxcontext.Context, parentID, level int, storeID in if err != nil { return nil, err } + if ctx.GetLoginType() != weixin.AuthTypeMP && ctx.GetLoginType() != weixin.AuthTypeMini && ctx.GetLoginType() != weixin.AuthTypeWxApp && ctx.GetLoginType() != auth2.AuthTypeMobile { + return storeCatMaps, err + } //表示没有门店分类 if len(storeCatMaps) == 0 { storeCatMaps, err = dao.GetCategoriesForStore(db, parentID, 0, nil) From c647fdb17e1a910e64c8d9b5dd7a26e3b06a7c05 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, 25 Mar 2021 15:51:15 +0800 Subject: [PATCH 230/252] aa --- business/jxstore/cms/store_sku.go | 119 ++++++++++++++++++++++++++++++ controllers/cms_store_sku.go | 20 ++--- 2 files changed, 125 insertions(+), 14 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index dff48f294..7b9d16948 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -264,6 +264,125 @@ var ( } ) +func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct bool, keyword string, categoryID, status, offset, pageSize int) (skuNamesInfo *dao.StoreSkuNamesInfo, err error) { + //权限 + if permission.IsRoled(ctx) { + if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { + if storeIDsMap[storeID] == 0 { + return skuNamesInfo, err + } + } + } + var ( + sqlParams []interface{} + db = dao.GetDB() + SkuNames []*dao.StoreSkuNameExt + ) + sql := ` + SELECT SQL_CALC_FOUND_ROWS a.*, c.store_id + FROM sku_name a + LEFT JOIN sku b ON b.name_id = a.id AND b.status = ? AND b.deleted_at = ? + JOIN store d ON d.deleted_at = ? AND d.id = ? + ` + sqlParams = append(sqlParams, + model.SkuStatusNormal, utils.DefaultTimeValue, + utils.DefaultTimeValue, storeID, + ) + if isFocus { + sql += ` + LEFT + ` + } + sql += ` + JOIN store_sku_bind c ON c.sku_id = b.id AND c.deleted_at = ? AND c.store_id = d.id + ` + sqlParams = append(sqlParams, utils.DefaultTimeValue) + if status != -1 { + sql += " AND c.status = ?" + sqlParams = append(sqlParams, status) + } + sql += ` + LEFT JOIN sku_category d ON d.id = c.category_id AND d.deleted_at = ? + ` + if categoryID != 0 { + sql += " AND d.id = ?" + sqlParams = append(sqlParams, categoryID) + } + if isAct { + sql += ` + JOIN ( + SELECT t2.store_id, t2.sku_id, + MIN(IF(t3.actual_act_price <= 0, NULL, t3.actual_act_price)) actual_act_price, /*non-zero min value*/ + MIN(IF(t2.earning_price <= 0, NULL, t2.earning_price)) earning_price /*non-zero min value*/ + FROM act t1 + JOIN act_store_sku t2 ON t2.act_id = t1.id AND t2.deleted_at = ? + JOIN act_store_sku_map t3 ON t3.bind_id = t2.id AND t3.act_id = t1.id AND (t3.sync_status & ? = 0 OR t1.type = ?) + JOIN act_map t4 ON t4.act_id = t1.id AND t4.vendor_id = t3.vendor_id AND t4.deleted_at = ? AND (t4.sync_status & ? = 0 OR t1.type = ?) + WHERE t1.deleted_at = ? AND t1.status = ? AND NOT (t1.begin_at > ? OR t1.end_at < ?) + AND t2.store_id = ? + GROUP BY 1,2 + ) ta ON ta.store_id = d.id AND ta.sku_id = b.id + ` + sqlParams = append(sqlParams, + utils.DefaultTimeValue, + model.SyncFlagNewMask, + model.ActSkuFake, + utils.DefaultTimeValue, + model.SyncFlagNewMask, + model.ActSkuFake, + utils.DefaultTimeValue, + model.ActStatusCreated, + time.Now(), + time.Now(), + storeID, + ) + } + sql += ` + WHERE a.deleted_at = ? AND a.status = ? + ` + sqlParams = append(sqlParams, + utils.DefaultTimeValue, model.SkuStatusNormal, + ) + + if keyword != "" { + sql += " AND a.name LIKE ?" + sqlParams = append(sqlParams, "%"+keyword+"%") + } + sql += ` + LIMIT ? OFFSET ? + ` + pageSize = jxutils.FormalizePageSize(pageSize) + offset = jxutils.FormalizePageOffset(offset) + sqlParams = append(sqlParams, pageSize, offset) + dao.Begin(db) + defer dao.Commit(db) + if err = dao.GetRows(db, &SkuNames, sql, sqlParams...); err == nil { + skuNamesInfo.TotalCount = dao.GetLastTotalRowCount(db) + for _, v := range SkuNames { + var skus []*dao.StoreSkuExt + sql := ` + SELECT * FROM sku WHERE deleted_at = ? AND name_id = ? + ` + sqlParams := []interface{}{utils.DefaultTimeValue, v.ID} + if err = dao.GetRows(db, &skus, sql, sqlParams); err == nil { + v.Skus = skus + } + } + skuNamesInfo.SkuNames = SkuNames + if err == nil { + if isFocus { + if err == nil { + storeIDs, skuIDs := GetStoreAndSkuIDsFromInfo(skuNamesInfo) + err = dao.UpdateActPrice4StoreSkuNameNew(db, storeIDs, skuIDs, skuNamesInfo, -1) + } + } else { + err = updateUnitPrice4StoreSkuNameNew(db, skuNamesInfo) + } + } + } + return skuNamesInfo, err +} + func GetStoreSkus(ctx *jxcontext.Context, storeID int, skuIDs []int, isFocus bool, keyword string, isBySku, isAct bool, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *dao.StoreSkuNamesInfo, err error) { return GetStoresSkus(ctx, []int{storeID}, skuIDs, nil, isFocus, false, 0, keyword, isBySku, isAct, params, offset, pageSize) } diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index b5828e5cc..c8a76ad69 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -944,28 +944,20 @@ func (c *StoreSkuController) GetVendorStoreSkus() { // @Title 得到商家商品信息 // @Description 得到商家商品信息,如下条件之间是与的关系。对于没有认领的商品,按城市限制。但对于已经认领的商品就不限制了,因为已经在平台上可售,可以操作(改价等等) // @Param token header string false "认证token" -// @Param storeIDs query string false "门店ID" +// @Param storeID query int true "门店ID" // @Param isFocus query bool true "是否已关注(认领)" // @Param keyword query string false "查询关键字(可以为空,为空表示不限制)" -// @Param name query string false "商品名称(不要求完全一致)" // @Param categoryID query int false "商品所属类别ID" -// @Param fromStatus query int false "查询起始状态(0:不可售,1:可售)" -// @Param toStatus query int false "查询结束状态(0:不可售,1:可售)" +// @Param status query int false "查询起始状态(0:不可售,1:可售,-1 全部)" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" // @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" -// @Param isBySku query bool false "是否按SKU分拆" // @Param isAct query bool false "是否活动商品(包括正常活动与补贴)" -// @Param actVendorID query int false "要得到哪个平台的活动信息(缺省不限制,非零最小值)" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetStoresSkusForStore [get] func (c *StoreSkuController) GetStoresSkusForStore() { - // c.callGetStoresSkus(func(params *tStoreSkuGetStoresSkusParams) (retVal interface{}, errCode string, err error) { - // var storeIDs, skuIDs []int - // var upcs []string - // if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.SkuIDs, &skuIDs, params.Upcs, &upcs); err == nil { - // retVal, err = cms.GetStoresSkus(params.Ctx, storeIDs, skuIDs, upcs, params.IsFocus, params.IsHighPrice, params.PriceType, params.Keyword, params.IsBySku, params.IsAct, params.MapData, params.Offset, params.PageSize) - // } - // return retVal, "", err - // }) + c.callGetStoresSkusForStore(func(params *tStoreSkuGetStoresSkusForStoreParams) (retVal interface{}, errCode string, err error) { + retVal, err = cms.GetStoresSkusForStore(params.Ctx, params.StoreID, params.IsFocus, params.IsAct, params.Keyword, params.CategoryID, params.Status, params.Offset, params.PageSize) + return retVal, "", err + }) } From 27aceae1d33d3ea1a0293e2d812cfc25d55c2dba 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, 25 Mar 2021 16:10:43 +0800 Subject: [PATCH 231/252] aa --- business/jxstore/cms/store.go | 21 +++++++++++++++++++++ business/jxstore/cms/store_sku.go | 6 +++--- business/jxstore/cms/user2.go | 16 +++++++--------- business/jxstore/misc/misc.go | 2 ++ 4 files changed, 33 insertions(+), 12 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index e64799db3..a547db60d 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -4088,3 +4088,24 @@ func GetStoreAcctBalance(ctx *jxcontext.Context, storeID int) (storeAcct *model. // dao.GetStoresMapList(db, []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "") // return err // } + +func RefreshStoreBind(ctx *jxcontext.Context) (err error) { + var ( + db = dao.GetDB() + ) + stores, err := dao.GetStoreList(db, nil, nil, []int{model.StoreStatusClosed, model.StoreStatusHaveRest, model.StoreStatusOpened}, nil, nil, "") + task := tasksch.NewParallelTask("RefreshStoreBind", tasksch.NewParallelConfig().SetParallelCount(5).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + store := batchItemList[0].(*model.Store) + var userIDs []string + userList := getAllUsers4Store(ctx, db, store) + for _, v := range userList { + userIDs = append(userIDs, v.UserID) + } + err = AddUsers4Role(ctx, autils.NewRole(authz.StoreRoleBoss, store.ID), userIDs) + return retVal, err + }, stores) + tasksch.HandleTask(task, nil, true).Run() + task.GetID() + return err +} diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 7b9d16948..7aada02a4 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -282,7 +282,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b SELECT SQL_CALC_FOUND_ROWS a.*, c.store_id FROM sku_name a LEFT JOIN sku b ON b.name_id = a.id AND b.status = ? AND b.deleted_at = ? - JOIN store d ON d.deleted_at = ? AND d.id = ? + JOIN store e ON e.deleted_at = ? AND e.id = ? ` sqlParams = append(sqlParams, model.SkuStatusNormal, utils.DefaultTimeValue, @@ -294,7 +294,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b ` } sql += ` - JOIN store_sku_bind c ON c.sku_id = b.id AND c.deleted_at = ? AND c.store_id = d.id + JOIN store_sku_bind c ON c.sku_id = b.id AND c.deleted_at = ? AND c.store_id = e.id ` sqlParams = append(sqlParams, utils.DefaultTimeValue) if status != -1 { @@ -321,7 +321,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b WHERE t1.deleted_at = ? AND t1.status = ? AND NOT (t1.begin_at > ? OR t1.end_at < ?) AND t2.store_id = ? GROUP BY 1,2 - ) ta ON ta.store_id = d.id AND ta.sku_id = b.id + ) ta ON ta.store_id = e.id AND ta.sku_id = b.id ` sqlParams = append(sqlParams, utils.DefaultTimeValue, diff --git a/business/jxstore/cms/user2.go b/business/jxstore/cms/user2.go index dd5a6afa6..750124564 100644 --- a/business/jxstore/cms/user2.go +++ b/business/jxstore/cms/user2.go @@ -8,8 +8,6 @@ import ( "sync" "time" - "git.rosy.net.cn/jx-callback/business/jxstore/permission" - "git.rosy.net.cn/jx-callback/business/partner/purchase/jd" "git.rosy.net.cn/jx-callback/globals/api/apimanager" @@ -571,13 +569,13 @@ func AddUsers4Role(ctx *jxcontext.Context, r *authz.RoleInfo, userIDList []strin errList := errlist.New() for _, v := range userIDList { - if permission.IsRoledByUserID(v) { - if storeIDsMap, err := permission.GetUserStoresResultMap(v); err == nil { - if storeIDsMap[r.StoreID] == 0 { - return fmt.Errorf("此用户没有该门店[%v]的权限,无法添加到分组", r.StoreID) - } - } - } + // if permission.IsRoledByUserID(v) { + // if storeIDsMap, err := permission.GetUserStoresResultMap(v); err == nil { + // if storeIDsMap[r.StoreID] == 0 { + // return fmt.Errorf("此用户没有该门店[%v]的权限,无法添加到分组", r.StoreID) + // } + // } + // } if err = checkUserType(v, model.UserTypeNonConsumer); err != nil { return err diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index f65ef16c2..6e3ecd1ca 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -433,6 +433,8 @@ func doDailyWork2() { cms.SyncJdsStoreStock(jxcontext.AdminCtx, true, true) //刷新京东商城订单结算价 orderman.RefreshJdShopOrdersEarningPrice(jxcontext.AdminCtx, utils.Time2Str(time.Now().AddDate(0, 0, -2)), utils.Time2Str(time.Now())) + //刷新门店分组管理 + cms.RefreshStoreBind(jxcontext.AdminCtx) } func doDailyWork() { From ab52769654275984f635972ce55e89d236fc9be1 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, 25 Mar 2021 16:12:49 +0800 Subject: [PATCH 232/252] aa --- business/jxstore/cms/store_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 7aada02a4..ab8692464 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -302,7 +302,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sqlParams = append(sqlParams, status) } sql += ` - LEFT JOIN sku_category d ON d.id = c.category_id AND d.deleted_at = ? + LEFT JOIN sku_category d ON d.id = a.category_id AND d.deleted_at = ? ` if categoryID != 0 { sql += " AND d.id = ?" From fe8ee55d90fa0643c402e18fca297a2bc5e19aa8 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, 25 Mar 2021 16:14:53 +0800 Subject: [PATCH 233/252] aa --- business/jxstore/cms/store_sku.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index ab8692464..41549b1df 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -304,6 +304,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sql += ` LEFT JOIN sku_category d ON d.id = a.category_id AND d.deleted_at = ? ` + sqlParams = append(sqlParams, utils.DefaultTimeValue) if categoryID != 0 { sql += " AND d.id = ?" sqlParams = append(sqlParams, categoryID) From 185d51dd49402dbb34a90402047b6e629ae5136e 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, 25 Mar 2021 16:17:48 +0800 Subject: [PATCH 234/252] a --- business/jxstore/cms/store_sku.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 41549b1df..a7710e46b 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -358,7 +358,10 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b dao.Begin(db) defer dao.Commit(db) if err = dao.GetRows(db, &SkuNames, sql, sqlParams...); err == nil { - skuNamesInfo.TotalCount = dao.GetLastTotalRowCount(db) + skuNamesInfo = &dao.StoreSkuNamesInfo{ + TotalCount: dao.GetLastTotalRowCount(db), + } + // skuNamesInfo.TotalCount = dao.GetLastTotalRowCount(db) for _, v := range SkuNames { var skus []*dao.StoreSkuExt sql := ` From b540ba28f06d5845c6cf31581b63b5d6ec5a5493 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, 25 Mar 2021 16:20:35 +0800 Subject: [PATCH 235/252] aa --- business/jxstore/cms/store_sku.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index a7710e46b..9c9960273 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -355,6 +355,8 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b pageSize = jxutils.FormalizePageSize(pageSize) offset = jxutils.FormalizePageOffset(offset) sqlParams = append(sqlParams, pageSize, offset) + fmt.Println(sql) + fmt.Println(sqlParams) dao.Begin(db) defer dao.Commit(db) if err = dao.GetRows(db, &SkuNames, sql, sqlParams...); err == nil { From 304b1dfd563d2e58672397da6cd32c00d4dab4e5 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, 25 Mar 2021 16:21:59 +0800 Subject: [PATCH 236/252] aa --- business/jxstore/cms/store_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 9c9960273..b8815c55a 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -281,7 +281,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sql := ` SELECT SQL_CALC_FOUND_ROWS a.*, c.store_id FROM sku_name a - LEFT JOIN sku b ON b.name_id = a.id AND b.status = ? AND b.deleted_at = ? + JOIN sku b ON b.name_id = a.id AND b.status = ? AND b.deleted_at = ? JOIN store e ON e.deleted_at = ? AND e.id = ? ` sqlParams = append(sqlParams, From 9450b30d49949e278141830199afadf6886c7031 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, 25 Mar 2021 16:22:55 +0800 Subject: [PATCH 237/252] aa --- business/jxstore/cms/store_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index b8815c55a..6ca925fa6 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -279,7 +279,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b SkuNames []*dao.StoreSkuNameExt ) sql := ` - SELECT SQL_CALC_FOUND_ROWS a.*, c.store_id + SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, c.store_id FROM sku_name a JOIN sku b ON b.name_id = a.id AND b.status = ? AND b.deleted_at = ? JOIN store e ON e.deleted_at = ? AND e.id = ? From 6ec18af9394e71b65c71b3ac7feb9d14b822042c 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, 25 Mar 2021 16:28:15 +0800 Subject: [PATCH 238/252] aa --- business/jxstore/cms/store_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 6ca925fa6..470492017 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -279,7 +279,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b SkuNames []*dao.StoreSkuNameExt ) sql := ` - SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, c.store_id + SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, e.id store_id FROM sku_name a JOIN sku b ON b.name_id = a.id AND b.status = ? AND b.deleted_at = ? JOIN store e ON e.deleted_at = ? AND e.id = ? From fba334121e453e92614337d623be7380193c53b4 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, 25 Mar 2021 16:33:24 +0800 Subject: [PATCH 239/252] aa --- business/jxstore/cms/store_sku.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 470492017..91767b174 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -288,7 +288,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b model.SkuStatusNormal, utils.DefaultTimeValue, utils.DefaultTimeValue, storeID, ) - if isFocus { + if !isFocus { sql += ` LEFT ` @@ -344,7 +344,9 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sqlParams = append(sqlParams, utils.DefaultTimeValue, model.SkuStatusNormal, ) - + if !isFocus { + sql += " AND c.sku_id IS NULL" + } if keyword != "" { sql += " AND a.name LIKE ?" sqlParams = append(sqlParams, "%"+keyword+"%") From 6da9b98dc93886d303f3e688531fa1e9a4373439 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, 25 Mar 2021 16:46:46 +0800 Subject: [PATCH 240/252] aa --- business/jxstore/cms/store_sku.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 91767b174..5fca1d7f1 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -368,11 +368,18 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b // skuNamesInfo.TotalCount = dao.GetLastTotalRowCount(db) for _, v := range SkuNames { var skus []*dao.StoreSkuExt - sql := ` - SELECT * FROM sku WHERE deleted_at = ? AND name_id = ? + sql2 := ` + SELECT a.*, b.status store_sku_status + FROM sku a + JOIN store_sku_bind b ON a.id = b.sku_id AND b.deleted_at = ? + WHERE a.deleted_at = ? AND a.name_id = ? ` - sqlParams := []interface{}{utils.DefaultTimeValue, v.ID} - if err = dao.GetRows(db, &skus, sql, sqlParams); err == nil { + sqlParams2 := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue, v.ID} + if status != -1 { + sql2 += " AND b.status = ?" + sqlParams = append(sqlParams2, status) + } + if err = dao.GetRows(db, &skus, sql2, sqlParams2); err == nil { v.Skus = skus } } From 604317bb78ce75a035b3f8c676671c55efcaf912 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, 25 Mar 2021 16:52:40 +0800 Subject: [PATCH 241/252] aa --- business/jxstore/cms/store_sku.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 5fca1d7f1..937077241 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -371,10 +371,10 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sql2 := ` SELECT a.*, b.status store_sku_status FROM sku a - JOIN store_sku_bind b ON a.id = b.sku_id AND b.deleted_at = ? + JOIN store_sku_bind b ON a.id = b.sku_id AND b.deleted_at = ? AND b.store_id = ? WHERE a.deleted_at = ? AND a.name_id = ? ` - sqlParams2 := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue, v.ID} + sqlParams2 := []interface{}{utils.DefaultTimeValue, storeID, utils.DefaultTimeValue, v.ID} if status != -1 { sql2 += " AND b.status = ?" sqlParams = append(sqlParams2, status) From f2b8089536636233fe059c1ff818374215949981 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, 25 Mar 2021 17:20:21 +0800 Subject: [PATCH 242/252] aa --- business/jxstore/cms/store_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 937077241..00bac9c94 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -377,7 +377,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sqlParams2 := []interface{}{utils.DefaultTimeValue, storeID, utils.DefaultTimeValue, v.ID} if status != -1 { sql2 += " AND b.status = ?" - sqlParams = append(sqlParams2, status) + sqlParams2 = append(sqlParams2, status) } if err = dao.GetRows(db, &skus, sql2, sqlParams2); err == nil { v.Skus = skus From 8f0e1ecb2f0fef31be3393c21e150d55c865ff72 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, 25 Mar 2021 17:25:17 +0800 Subject: [PATCH 243/252] aa --- business/jxstore/cms/store_sku.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 00bac9c94..332ddd53e 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -303,6 +303,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b } sql += ` LEFT JOIN sku_category d ON d.id = a.category_id AND d.deleted_at = ? + LEFT JOIN sku_name_place_bind f ON a.id = f.name_id AND e.city_code = f.place_code ` sqlParams = append(sqlParams, utils.DefaultTimeValue) if categoryID != 0 { @@ -339,7 +340,9 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b ) } sql += ` - WHERE a.deleted_at = ? AND a.status = ? + WHERE a.deleted_at = ? + AND a.status = ? + AND (a.is_global = 1 OR f.id IS NOT NULL) ` sqlParams = append(sqlParams, utils.DefaultTimeValue, model.SkuStatusNormal, From 735a35e97ef481a2035bb563801e94f96a3fd120 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, 25 Mar 2021 17:29:40 +0800 Subject: [PATCH 244/252] aa --- 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 332ddd53e..f38497c9a 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -342,7 +342,8 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sql += ` WHERE a.deleted_at = ? AND a.status = ? - AND (a.is_global = 1 OR f.id IS NOT NULL) + AND (a.is_global = 1 OR f.id IS NOT NULL) + AND ((a.status = 1 AND b.status = 1) OR c.status = 1) ` sqlParams = append(sqlParams, utils.DefaultTimeValue, model.SkuStatusNormal, From 964f13e2f1157baaa3e1c3cadcab65777bd1b333 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, 25 Mar 2021 17:30:24 +0800 Subject: [PATCH 245/252] aa --- business/jxstore/cms/store_sku.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index f38497c9a..6aecb62ee 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -281,11 +281,11 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sql := ` SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, e.id store_id FROM sku_name a - JOIN sku b ON b.name_id = a.id AND b.status = ? AND b.deleted_at = ? + JOIN sku b ON b.name_id = a.id AND b.deleted_at = ? JOIN store e ON e.deleted_at = ? AND e.id = ? ` sqlParams = append(sqlParams, - model.SkuStatusNormal, utils.DefaultTimeValue, + utils.DefaultTimeValue, utils.DefaultTimeValue, storeID, ) if !isFocus { @@ -341,12 +341,11 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b } sql += ` WHERE a.deleted_at = ? - AND a.status = ? AND (a.is_global = 1 OR f.id IS NOT NULL) AND ((a.status = 1 AND b.status = 1) OR c.status = 1) ` sqlParams = append(sqlParams, - utils.DefaultTimeValue, model.SkuStatusNormal, + utils.DefaultTimeValue, ) if !isFocus { sql += " AND c.sku_id IS NULL" From e61db3ce10a78a0377705c31c56874cd45355978 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, 25 Mar 2021 17:38:41 +0800 Subject: [PATCH 246/252] aa --- business/jxstore/cms/store_sku.go | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 6aecb62ee..faa7bd41c 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -341,14 +341,15 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b } sql += ` WHERE a.deleted_at = ? - AND (a.is_global = 1 OR f.id IS NOT NULL) - AND ((a.status = 1 AND b.status = 1) OR c.status = 1) + AND (a.is_global = 1 OR f.id IS NOT NULL OR 1 = ?) ` - sqlParams = append(sqlParams, - utils.DefaultTimeValue, - ) - if !isFocus { - sql += " AND c.sku_id IS NULL" + sqlParams = append(sqlParams, utils.DefaultTimeValue, utils.Bool2Int(isFocus)) + if isFocus { + sql += " AND ((a.status = ? AND b.status = ?) OR c.status = ?)" + sqlParams = append(sqlParams, model.SkuStatusNormal, model.SkuStatusNormal, model.SkuStatusNormal) + } else { + sql += " AND c.sku_id IS NULL AND (a.status = ? AND b.status = ?)" + sqlParams = append(sqlParams, model.SkuStatusNormal, model.SkuStatusNormal) } if keyword != "" { sql += " AND a.name LIKE ?" @@ -375,9 +376,13 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b SELECT a.*, b.status store_sku_status FROM sku a JOIN store_sku_bind b ON a.id = b.sku_id AND b.deleted_at = ? AND b.store_id = ? - WHERE a.deleted_at = ? AND a.name_id = ? + JOIN sku_name c ON a.name_id = c.id AND c.deleted_at = ? AND c.status = ? + WHERE a.deleted_at = ? AND a.name_id = ? AND a.status = ? ` - sqlParams2 := []interface{}{utils.DefaultTimeValue, storeID, utils.DefaultTimeValue, v.ID} + sqlParams2 := []interface{}{utils.DefaultTimeValue, storeID, + utils.DefaultTimeValue, model.SkuStatusNormal, + utils.DefaultTimeValue, v.ID, model.SkuStatusNormal, + } if status != -1 { sql2 += " AND b.status = ?" sqlParams2 = append(sqlParams2, status) From dd038c8de20177a2cc264e813e7eb2b1a08da772 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, 25 Mar 2021 17:41:12 +0800 Subject: [PATCH 247/252] aa --- business/jxstore/cms/store_sku.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index faa7bd41c..f49a170b1 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -733,6 +733,8 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str sqlParams2 = append(sqlParams2, sqlParamsPage) var storeNameList []*tStoreNameBind beginTime := time.Now() + fmt.Println(sql2) + fmt.Println(sqlParams2) if err = dao.GetRows(db, &storeNameList, sql2, sqlParams2...); err != nil { dao.Rollback(db) return nil, err From 42f4c8977136d14b9d36e9705d1860ea2382ceab 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, 25 Mar 2021 17:47:14 +0800 Subject: [PATCH 248/252] aa --- business/jxstore/cms/store_sku.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index f49a170b1..ec6a0eb1d 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -282,11 +282,11 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, e.id store_id FROM sku_name a JOIN sku b ON b.name_id = a.id AND b.deleted_at = ? - JOIN store e ON e.deleted_at = ? AND e.id = ? + JOIN store e ON e.deleted_at = ? ` sqlParams = append(sqlParams, utils.DefaultTimeValue, - utils.DefaultTimeValue, storeID, + utils.DefaultTimeValue, ) if !isFocus { sql += ` @@ -342,8 +342,9 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sql += ` WHERE a.deleted_at = ? AND (a.is_global = 1 OR f.id IS NOT NULL OR 1 = ?) + AND e.id = ? ` - sqlParams = append(sqlParams, utils.DefaultTimeValue, utils.Bool2Int(isFocus)) + sqlParams = append(sqlParams, utils.DefaultTimeValue, utils.Bool2Int(isFocus), storeID) if isFocus { sql += " AND ((a.status = ? AND b.status = ?) OR c.status = ?)" sqlParams = append(sqlParams, model.SkuStatusNormal, model.SkuStatusNormal, model.SkuStatusNormal) From 51d70c03d1e82249127644fbbaaa6e0303a382b2 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, 25 Mar 2021 17:50:24 +0800 Subject: [PATCH 249/252] aa --- business/jxstore/cms/store_sku.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index ec6a0eb1d..02923b294 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -306,10 +306,6 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b LEFT JOIN sku_name_place_bind f ON a.id = f.name_id AND e.city_code = f.place_code ` sqlParams = append(sqlParams, utils.DefaultTimeValue) - if categoryID != 0 { - sql += " AND d.id = ?" - sqlParams = append(sqlParams, categoryID) - } if isAct { sql += ` JOIN ( @@ -345,6 +341,10 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b AND e.id = ? ` sqlParams = append(sqlParams, utils.DefaultTimeValue, utils.Bool2Int(isFocus), storeID) + if categoryID != 0 { + sql += " AND d.id = ?" + sqlParams = append(sqlParams, categoryID) + } if isFocus { sql += " AND ((a.status = ? AND b.status = ?) OR c.status = ?)" sqlParams = append(sqlParams, model.SkuStatusNormal, model.SkuStatusNormal, model.SkuStatusNormal) From 86712582f263ea7433351c51119baf72c03e8b51 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, 25 Mar 2021 17:55:03 +0800 Subject: [PATCH 250/252] aa --- business/jxstore/cms/store_sku.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 02923b294..c5676504b 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -302,10 +302,8 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b sqlParams = append(sqlParams, status) } sql += ` - LEFT JOIN sku_category d ON d.id = a.category_id AND d.deleted_at = ? LEFT JOIN sku_name_place_bind f ON a.id = f.name_id AND e.city_code = f.place_code ` - sqlParams = append(sqlParams, utils.DefaultTimeValue) if isAct { sql += ` JOIN ( @@ -342,8 +340,17 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b ` sqlParams = append(sqlParams, utils.DefaultTimeValue, utils.Bool2Int(isFocus), storeID) if categoryID != 0 { - sql += " AND d.id = ?" - sqlParams = append(sqlParams, categoryID) + cat := &model.SkuCategory{} + cat.ID = categoryID + if err = dao.GetEntity(db, cat); err == nil { + sql += " AND (a.category_id = ?" + sqlParams = append(sqlParams, cat.ID) + if cat.Level == 1 { + sql += " OR a.category_id IN (SELECT id FROM sku_category WHERE parent_id = ?)" + sqlParams = append(sqlParams, cat.ID) + } + sql += ")" + } } if isFocus { sql += " AND ((a.status = ? AND b.status = ?) OR c.status = ?)" From ded95207001452a7bf4e67b085c8143b04ea628c 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, 25 Mar 2021 18:04:55 +0800 Subject: [PATCH 251/252] aa --- 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 c5676504b..0fd75f4d7 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -381,7 +381,9 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b for _, v := range SkuNames { var skus []*dao.StoreSkuExt sql2 := ` - SELECT a.*, b.status store_sku_status + SELECT a.id sku_id, a.spec_quality sku_spec_quality, a.spec_unit sku_spec_unit, a.status sku_status, + b.stock, b.price bind_price, b.unit_price, + b.status store_sku_status FROM sku a JOIN store_sku_bind b ON a.id = b.sku_id AND b.deleted_at = ? AND b.store_id = ? JOIN sku_name c ON a.name_id = c.id AND c.deleted_at = ? AND c.status = ? From a6062d17af77646162ce5c68a34903403dd36f53 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, 25 Mar 2021 18:09:07 +0800 Subject: [PATCH 252/252] aa --- business/jxstore/cms/store_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 0fd75f4d7..7d89e1523 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -279,7 +279,7 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b SkuNames []*dao.StoreSkuNameExt ) sql := ` - SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, e.id store_id + SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, e.id store_id, c.unit_price FROM sku_name a JOIN sku b ON b.name_id = a.id AND b.deleted_at = ? JOIN store e ON e.deleted_at = ?