From d0ff0277994196beb05dfe760960b55bd24623be Mon Sep 17 00:00:00 2001 From: richboo111 Date: Mon, 29 May 2023 10:24:43 +0800 Subject: [PATCH] sfps --- business/model/api_config.go | 2 ++ business/model/store.go | 3 ++- business/partner/delivery/sfps/waybill.go | 30 ++++++++++++++++------- conf/app.conf | 26 ++++++++++++++++++++ globals/api/api.go | 3 +++ globals/beegodb/beegodb.go | 13 +++++----- 6 files changed, 61 insertions(+), 16 deletions(-) diff --git a/business/model/api_config.go b/business/model/api_config.go index 9f8478004..55db48d36 100644 --- a/business/model/api_config.go +++ b/business/model/api_config.go @@ -107,6 +107,7 @@ var ( VendorIDDada: "Dada", VendorIDMTPS: "Mtps", VendorIDFengNiao: "Fn", + VendorIDSFPS: "Sfps", //VendorIDDYPS: "DYPS", VendorIDUUPT: "UUPT", @@ -143,6 +144,7 @@ var ( VendorIDMTPS: "美团配送", VendorIDJDWL: "京东物流", VendorIDFengNiao: "蜂鸟配送", + VendorIDSFPS: "顺丰派送", //VendorIDDYPS: "抖音配送", VendorIDUUPT: "UU跑腿", diff --git a/business/model/store.go b/business/model/store.go index ea501f06a..77042d4ff 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -35,7 +35,7 @@ const ( BrandOpenMTPS = 1 //品牌开关标志, 美团配送 BrandOpenDaDa = 2 //达达 BrandOpenFN = 4 //蜂鸟 - BrandOpenDYPS = 5 //抖音配送 + BrandOpenSFPS = 5 //顺丰派送 BrandOpenUUPT = 6 //uu跑腿 BrandOpenSMS = 8 //短信 BrandOpenVoice = 16 //语音 @@ -301,6 +301,7 @@ var ( VendorIDMTPS: BrandOpenMTPS, VendorIDDada: BrandOpenDaDa, VendorIDFengNiao: BrandOpenFN, + VendorIDSFPS: BrandOpenSFPS, //VendorIDDYPS: BrandOpenDYPS, VendorIDUUPT: BrandOpenUUPT, } diff --git a/business/partner/delivery/sfps/waybill.go b/business/partner/delivery/sfps/waybill.go index d8657a24c..f37c76bed 100644 --- a/business/partner/delivery/sfps/waybill.go +++ b/business/partner/delivery/sfps/waybill.go @@ -132,18 +132,22 @@ func (d DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee i } param.OrderDetail.ProductDetail = productDetail - sfOrderID, sfBillID, sfTotalPrice, err := api.SfPsAPI.CreateOrder(param) + sfOrderID, sfBillID, sfTotalPrice, sfReallyPrice, err := api.SfPsAPI.CreateOrder(param) if err != nil { return nil, err } + //+0.2 + desiredFee := utils.Float64TwoInt(sfTotalPrice) + utils.WayBillDeliveryMarkUp + bill = &model.Waybill{ VendorOrderID: order.VendorOrderID, OrderVendorID: order.VendorID, VendorWaybillID: sfOrderID, VendorWaybillID2: sfBillID, WaybillVendorID: model.VendorIDFengNiao, - DesiredFee: int64(sfTotalPrice), + DesiredFee: int64(desiredFee), + ActualFee: utils.Float64TwoInt64(sfReallyPrice), } delivery.OnWaybillCreated(bill) return bill, err @@ -190,7 +194,10 @@ func (d DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo } deliveryFeeInfo = &partner.WaybillFeeInfo{} price, err := api.SfPsAPI.PreCreateOrder(param) - deliveryFeeInfo.DeliveryFee = jxutils.StandardPrice2Int(price) + //+0.2 + deliveryFee := utils.Float64TwoInt(price) + utils.WayBillDeliveryMarkUp + + deliveryFeeInfo.DeliveryFee = int64(deliveryFee) return deliveryFeeInfo, err } @@ -208,7 +215,7 @@ func (d DeliveryHandler) GetDeliverLiquidatedDamages(orderId string, deliverId s if deductionFee == 0 || err != nil { return 0, err } - money = jxutils.StandardPrice2Int(deductionFee) + money = utils.Float64TwoInt64(deductionFee) return money, nil } @@ -283,6 +290,10 @@ func OnWaybillMsg(msg *sfps2.RiderStatus) (resp *sfps2.CallbackResponse) { if err != nil { return sfps2.Err2CallbackResponse(err) } + //+0.2 + sfTotalPrice := utils.Float64TwoInt(sfOrder.TotalPrice) + utils.WayBillDeliveryMarkUp + sfActualPrice := utils.Float64TwoInt64(sfOrder.RealPayMoney) + var good *model.GoodsOrder sql := `SELECT * FROM goods_order WHERE vendor_order_id = ? ORDER BY order_created_at DESC LIMIT 1 OFFSET 0` sqlParams := []interface{}{msg.ShopOrderID} @@ -292,20 +303,21 @@ func OnWaybillMsg(msg *sfps2.RiderStatus) (resp *sfps2.CallbackResponse) { orderStatus := utils.Str2Int64(order.VendorStatus) switch orderStatus { case sfps2.OrderStatusNewOrder: //1:订单创建 - order.DesiredFee = jxutils.StandardPrice2Int(sfOrder.TotalPrice) + order.DesiredFee = int64(sfTotalPrice) + order.ActualFee = sfActualPrice order.Status = model.WaybillStatusNew //5 带调度 case sfps2.OrderStatusTakeOrder: //10:配送员接单 - order.DesiredFee = jxutils.StandardPrice2Int(sfOrder.TotalPrice) + order.DesiredFee = int64(sfTotalPrice) order.Status = model.WaybillStatusCourierAssigned //12 order.Remark = order.CourierName + "," + order.CourierMobile case sfps2.OrderStatusArrivedStore: - order.DesiredFee = jxutils.StandardPrice2Int(sfOrder.TotalPrice) + order.DesiredFee = int64(sfTotalPrice) order.Status = model.WaybillStatusCourierArrived case sfps2.OrderStatusRiderArriving: - order.DesiredFee = jxutils.StandardPrice2Int(sfOrder.TotalPrice) + order.DesiredFee = int64(sfTotalPrice) order.Status = model.WaybillStatusDelivering case sfps2.OrderStatusFinished: - order.DesiredFee = jxutils.StandardPrice2Int(sfOrder.TotalPrice) + order.DesiredFee = int64(sfTotalPrice) order.Status = model.WaybillStatusDelivered case sfps2.OrderStatusOrderCancel: order.Status = model.WaybillStatusCanceled diff --git a/conf/app.conf b/conf/app.conf index 6c558737f..09f86c90e 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -208,6 +208,13 @@ fnCode = "uDEyAmTbrfS2qjYbgi20Jm" fnMerchantId= "51658" fnCallbackURL = "http://callback.jxc4.com/fn/msg" + +#顺丰派送 +sfpsAppID = 1663705444 +sfpsAppKey = "600e22db5deb6402e527e58f0d6636a0" +sfpsTestAppID = 1663705378 +sfpsTestAppKey = "0838426b310fd2530c57dd6e770ddff1" + # 快手授权地址 kuaiShouAppId = "ks680887971696897880" kuaiShouAppSecret = "1wShCPqUzhg8W1vcb8OdvA" @@ -356,6 +363,12 @@ fnCode = "uDEyAmTbrfS2qjYbgi20Jm" fnMerchantId= "51658" fnCallbackURL = "http://callback.jxc4.com/fn/msg" +#顺丰派送 +sfpsAppID = 1663705444 +sfpsAppKey = "600e22db5deb6402e527e58f0d6636a0" +sfpsTestAppID = 1663705378 +sfpsTestAppKey = "0838426b310fd2530c57dd6e770ddff1" + # 快手授权地址 kuaiShouAppId = "ks680887971696897880" kuaiShouAppSecret = "1wShCPqUzhg8W1vcb8OdvA" @@ -479,6 +492,13 @@ fnAppSecret = "c1e6c280-e618-4103-9d0a-673bc54fb22e" fnMerchantId= "51658" fnCallbackURL = "http://callback-jxgy.jxc4.com/fn/msg" +#顺丰派送 +sfpsAppID = 1663705444 +sfpsAppKey = "600e22db5deb6402e527e58f0d6636a0" +sfpsTestAppID = 1663705378 +sfpsTestAppKey = "0838426b310fd2530c57dd6e770ddff1" + + # 快手授权地址 kuaiShouAppId = "ks680887971696897880" kuaiShouAppSecret = "1wShCPqUzhg8W1vcb8OdvA" @@ -683,6 +703,12 @@ fnCode = "uDEyAmTbrfS2qjYbgi20Jm" fnMerchantId= "51658" fnCallbackURL = "http://callback.test.jxc4.com/fn/msg" +#顺丰派送 +sfpsAppID = 1663705444 +sfpsAppKey = "600e22db5deb6402e527e58f0d6636a0" +sfpsTestAppID = 1663705378 +sfpsTestAppKey = "0838426b310fd2530c57dd6e770ddff1" + # 快手授权地址 kuaiShouAppId = "ks680887971696897880" kuaiShouAppSecret = "1wShCPqUzhg8W1vcb8OdvA" diff --git a/globals/api/api.go b/globals/api/api.go index 746cd3f02..ddd3b633b 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -311,6 +311,9 @@ func Init() { } FnAPI = fnpsapi.New(beego.AppConfig.DefaultString("fnAppID", ""), beego.AppConfig.DefaultString("fnAppSecret", ""), beego.AppConfig.DefaultString("fnMerchantId", ""), beego.AppConfig.DefaultString("fnCode", "")) + //测试 + SfPsAPI = sfps2.New(beego.AppConfig.DefaultInt("sfpsTestAppID", 0), beego.AppConfig.DefaultString("sfpsTestAppKey", "")) + //SfPsAPI = sfps2.New(beego.AppConfig.DefaultInt("sfpsAppID", 0), beego.AppConfig.DefaultString("sfpsAppKey", "")) UuAPI = uuptapi.New(beego.AppConfig.DefaultString("uuAppID", ""), beego.AppConfig.DefaultString("uuAppKey", ""), beego.AppConfig.DefaultString("uuOpenID", "")) FeieAPI = feieapi.New(beego.AppConfig.DefaultString("feieUser", ""), beego.AppConfig.DefaultString("feieKey", "")) XiaoWMAPI = xiaowmapi.New(beego.AppConfig.DefaultInt("xiaoWMAppID", 0), beego.AppConfig.DefaultString("xiaoWMAppKey", "")) diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index d2590df44..b2b3d56a8 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -6,24 +6,25 @@ import ( "git.rosy.net.cn/jx-callback/business/model/legacymodel" "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego/client/orm" + "github.com/astaxie/beego/server/web" ) func Init() { // set default database // orm.RegisterDataBase(aliasName, driverName, dataSource, params) //正式服务器 - //orm.RegisterDataBase("default", "mysql", web.AppConfig.DefaultString("dbConnectStr", "")) - //orm.RegisterDataBase("c4beta", "mysql", "ubuntu:WebServer@1@tcp(111.231.218.230:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true") - //orm.RegisterDataBase("api", "mysql", "root:WebServer@1@tcp(127.0.0.1:3306)/api?charset=utf8mb4&loc=Local&parseTime=true") + orm.RegisterDataBase("default", "mysql", web.AppConfig.DefaultString("dbConnectStr", "")) + orm.RegisterDataBase("c4beta", "mysql", "ubuntu:WebServer@1@tcp(111.231.218.230:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true") + orm.RegisterDataBase("api", "mysql", "root:WebServer@1@tcp(127.0.0.1:3306)/api?charset=utf8mb4&loc=Local&parseTime=true") // 本地测试服调试 // orm.RegisterDataBase("default", "mysql", web.AppConfig.DefaultString("dbConnectStr", "")) //orm.RegisterDataBase("api", "mysql", "root:WebServer@1@tcp(127.0.0.1:3306)/api?charset=utf8mb4&loc=Local&parseTime=true") //orm.RegisterDataBase("c4beta", "mysql", "ubuntu:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true") //本地服务器测试用 -ysq - orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true") - orm.RegisterDataBase("c4beta", "mysql", "root:123456@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true") - orm.RegisterDataBase("api", "mysql", "root:123456@tcp(127.0.0.1:3306)/api?charset=utf8mb4&loc=Local&parseTime=true") + //orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true") + //orm.RegisterDataBase("c4beta", "mysql", "root:123456@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true") + //orm.RegisterDataBase("api", "mysql", "root:123456@tcp(127.0.0.1:3306)/api?charset=utf8mb4&loc=Local&parseTime=true") // 开启sql打印 //orm.Debug = true