From b4020318604394c840aadbd4279e7f646490d6c8 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, 19 Mar 2020 09:55:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8D=E7=AE=97=E4=BA=AC=E8=A5=BF=E4=BB=B7bu?= =?UTF-8?q?g=EF=BC=8C=E9=93=B6=E8=B1=B9=E5=B9=B3=E5=8F=B0=EF=BC=8C?= =?UTF-8?q?=E6=B2=A1=E7=8E=A9=E5=88=B7=E6=96=B0=E7=89=A9=E6=96=99=E8=AE=A2?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 2 + business/model/api_config.go | 3 + business/partner/purchase/jx/localjx/order.go | 58 +++++++++++++++++++ conf/app.conf | 9 +++ globals/api/api.go | 10 ++++ 5 files changed, 82 insertions(+) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 83a26b283..5f23772b6 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -3649,10 +3649,12 @@ func RefreshJxPriceByVendor(ctx *jxcontext.Context, jdStoreSkus []*JdStoreSkus, } else { vendorPrice = v.Price } + fmt.Println("RefreshJxPriceByVendor1", vendorPrice) jxPrice := jxutils.CaculateJxPriceByPricePack(pricePercentagePack, 0, vendorPrice) if skus[0].Unit == model.SpecialUnit { jxPrice = jxPrice * int(utils.Float64TwoInt64(utils.Int2Float64(model.SpecialSpecQuality)/specQuality)) } + fmt.Println("RefreshJxPriceByVendor2", jxPrice) jdMap[store.ID] = append(jdMap[store.ID], &JdStoreSkus{ JdSkuID: skus[0].NameID, Price: jxPrice, diff --git a/business/model/api_config.go b/business/model/api_config.go index 585369c0f..7eaca8751 100644 --- a/business/model/api_config.go +++ b/business/model/api_config.go @@ -14,6 +14,7 @@ const ( VendorIDMTWM = 1 VendorIDELM = 2 VendorIDEBAI = 3 + VendorIDYB = 4 //银豹 VendorIDWSC = 11 // 微盟微商城 VendorIDPurchaseEnd = 11 VendorIDJX = 9 // 这是一个假的京西VendorID @@ -67,6 +68,7 @@ var ( VendorIDELM: "Elm", VendorIDEBAI: "Ebai", VendorIDWSC: "Wsc", + VendorIDYB: "YinBao", VendorIDJX: "Jx", VendorIDDada: "Dada", @@ -92,6 +94,7 @@ var ( VendorIDMTWM: "美团外卖", VendorIDELM: "饿了么", VendorIDEBAI: "饿百新零售", + VendorIDYB: "银豹", VendorIDWSC: "微盟微商城", VendorIDJX: "京西商城", diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 4b2a87724..3f9e0976d 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -1226,6 +1226,64 @@ func GetHalfHoursList() (strs []string) { return strs } +func RefreshAllMatterOrderStatus() (err error) { + var ( + db = dao.GetDB() + goodsList []*model.GoodsOrder + realTime time.Time + ) + realTime = time.Now().AddDate(0, 0, -3) + sql := ` + SELECT * FROM goods_order WHERE store_id = 666666 AND order_created_at >= ? AND status <> ? AND vendor_id = ? AND eclp_out_id = '' AND LENGTH(vendor_order_id) = 14 + ` + sqlParams := []interface{}{realTime, model.OrderStatusFinished, model.VendorIDJX} + err = dao.GetRows(db, &goodsList, sql, sqlParams) + for _, v := range goodsList { + var ( + goodsList2 []*model.GoodsOrder + finishedCount int + ) + sql2 := "SELECT * FROM goods_order WHERE vendor_order_id LIKE ? OR vendor_order_id LIKE ? AND vendor_id = ? AND eclp_out_id <> '' AND LENGTH(vendor_order_id) = 16" + sqlParams2 := []interface{}{v.VendorOrderID + "0%", v.VendorOrderID + "1%", model.VendorIDJX} + err = dao.GetRows(db, &goodsList2, sql2, sqlParams2) + for _, vv := range goodsList2 { + if vv.Status != model.OrderStatusFinished { + queryOrderStatus, _ := api.JdEclpAPI.QueryOrderStatus(vv.EclpOutID) + if len(queryOrderStatus.OrderStatusList) > 0 { + if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 { + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } + }() + vv.Status = model.OrderStatusFinished + dao.UpdateEntity(db, vv, "Status") + finishedCount++ + dao.Commit(db) + } + } + } else { + finishedCount++ + } + } + if finishedCount == len(goodsList2) { + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } + }() + v.Status = model.OrderStatusFinished + dao.UpdateEntity(db, v, "Status") + dao.Commit(db) + } + } + return err +} + func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result []*MatterOrderStatus, err error) { var ( db = dao.GetDB() diff --git a/conf/app.conf b/conf/app.conf index 36f29f073..711141e95 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -218,6 +218,9 @@ dingdingSecret = "LWrZAFeqUfuVv7n_tc8vPpCAx6PT4CwManx2XCVhJOqGsx2L5XCDuX1sAN_Jtv dingdingCallbackURL = "http://callback.jxc4.com/dingding/msg" +yinbaoAppID = "18C0E0867E467DBC26EFF5E957B02EC4" +yinbaoAppKey = "682628966212343269" + [jxgy] httpport = 8088 EnableDocs = false @@ -287,6 +290,9 @@ jdEclpAccessToken = "7e9c1a5fe4ac4ea48c3c572d488e60b8hnwz" jdEclpAppKey = "0D397F05CF11C51BCDCC81744680EBC3" jdEclpAppSecret = "f16a5e57ff4f4f428b702c40d2d4b933" +yinbaoAppID = "18C0E0867E467DBC26EFF5E957B02EC4" +yinbaoAppKey = "682628966212343269" + storeName = "京西果园" [test] @@ -404,3 +410,6 @@ getWeixin2TokenURL = "http://www.jxc4.com/v2/sys/GetWX2Token" getWeimobTokenURL = "http://www.jxc4.com/v2/sys/GetWeimobToken" dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true" + +yinbaoAppID = "18C0E0867E467DBC26EFF5E957B02EC4" +yinbaoAppKey = "682628966212343269" \ No newline at end of file diff --git a/globals/api/api.go b/globals/api/api.go index 1e1fa6cbd..7652e29e3 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -3,6 +3,8 @@ package api import ( "time" + "git.rosy.net.cn/baseapi/platformapi/yinbaoapi" + "git.rosy.net.cn/baseapi/platformapi/jdeclpapi" "git.rosy.net.cn/baseapi/platformapi/tonglianpayapi" @@ -58,6 +60,8 @@ var ( WxpayAPI *wxpayapi.API // 微信支付API TLpayAPI *tonglianpayapi.API //通联收银宝api + YinBaoAPI *yinbaoapi.API //银豹平台api + WeixinPageAPI *weixinapi.API // 用户微信扫码登录 AliPayAPI *alipayapi.API @@ -156,6 +160,12 @@ func Init() { Ebai2API = nil } + if !beego.AppConfig.DefaultBool("disableYb", false) { + YinBaoAPI = yinbaoapi.New(beego.AppConfig.String("yinbaoAppKey"), beego.AppConfig.String("yinbaoAppID")) + } else { + YinBaoAPI = nil + } + if !beego.AppConfig.DefaultBool("disableMtps", false) { MtpsAPI = mtpsapi.New(beego.AppConfig.String("mtpsAppKey"), beego.AppConfig.String("mtpsSecret")) // if mtpsStoreToken := beego.AppConfig.DefaultString("mtpsStoreToken", ""); mtpsStoreToken != "" {