From 59a4c6c59cf541a0868505d17bb2056d1ee5b3ca 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, 3 Mar 2021 14:42:48 +0800 Subject: [PATCH 01/25] aa --- business/partner/purchase/jdshop/callback.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 8d59faa2d..58550388c 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -264,7 +264,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err } } order.PickDeadline = order.ExpectedDeliveredTime.Add(-time.Hour) - } else if msg.OrderState == jdshopapi.OrderStatusWait { + } else if msg.OrderState == jdshopapi.OrderStatusWait || msg.OrderState == "WAIT_GOODS_RECEIVE_CONFIRM" { order.ExpectedDeliveredTime = order.OrderCreatedAt.Add(time.Hour) order.BusinessType = model.BusinessTypeImmediate } else if msg.OrderState == "UN_KNOWN" { From a1b17255d20ff2e5bccd8d42c46bc3a281f04654 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, 3 Mar 2021 18:01:01 +0800 Subject: [PATCH 02/25] aa --- business/partner/purchase/mtwm/store.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 44b283022..bd1206742 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -164,8 +164,9 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri }, MultiPoiShippingInfo: &mtwmapi.MultiPoiShippingInfo{ ShippingType: 5, //1:商家自配 5:美团专送,101:美团快送 - MinPrice: params["minPrice"].(float64), - ShippingFee: params["shippingFee"].(float64), + //美团专送不需要输下面这俩 + // MinPrice: params["minPrice"].(float64), + // ShippingFee: params["shippingFee"].(float64), }, //资质 }, From 61b99337177280c4fd7c38c2548a44ba8f97d91e 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, 4 Mar 2021 09:10:55 +0800 Subject: [PATCH 03/25] aa --- business/model/vendor_org_code.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/model/vendor_org_code.go b/business/model/vendor_org_code.go index caacf146c..46467af57 100644 --- a/business/model/vendor_org_code.go +++ b/business/model/vendor_org_code.go @@ -18,4 +18,7 @@ type VendorOrgCode struct { IsOpen int `json:"isOpen"` //主要三方配送用,是否配送,默认0表示打开,1表示关 EmpowerURL string `orm:"column(empower_url)" json:"empowerURL"` //授权地址 StoreBrandName string `json:"storeBrandName"` //建店品牌名(和饿百供应商不同,美团是根据平台账号划分) + Token string `json:"token"` + AppKey string `json:"appKey"` + AppSecret string `json:"appSecret"` } From 399ddf968ab51e8599859ebe8d0eff508ad4efe2 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, 4 Mar 2021 09:35:24 +0800 Subject: [PATCH 04/25] 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 bd1206742..a0522f9b6 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -214,7 +214,7 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri cert.LicensePic, cert.LicenseSocialCreditCode, cert.LicenseNumber, cert.LicenseLegalPerson, cert.LicenseAddress, cert.LicenseValidStartDate, cert.LicenseValidity, cert.IsLongTime = switchCertType(v) certs = append(certs, cert) } - mtapi := getAPIWithoutToken(storeDetail.VendorOrgCode) + mtapi := getAPIWithoutToken(vendorOrgCode) if vendorStoreID, err = mtapi.PoiSettleSave(poiSettleSaveParam); err == nil { err = mtapi.PoiSettleAuditSubmit([]string{vendorStoreID}) } From 262db00540d8303a2e3fa895060b452981ea70b7 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, 4 Mar 2021 09:55:36 +0800 Subject: [PATCH 05/25] aa --- business/auth2/authprovider/password/password.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/auth2/authprovider/password/password.go b/business/auth2/authprovider/password/password.go index 5c5f97d17..9360804bf 100644 --- a/business/auth2/authprovider/password/password.go +++ b/business/auth2/authprovider/password/password.go @@ -81,6 +81,9 @@ func (a *Auther) encryptPassword(password, salt string) string { } func (a *Auther) checkPassword(authBind *model.AuthBind, passMD5 string) (err error) { + fmt.Println("1111111111111111111111", a.encryptPassword(passMD5, authBind.AuthSecret2)) + fmt.Println("2222222222222222222", authBind.AuthSecret) + if authBind.AuthSecret != a.encryptPassword(passMD5, authBind.AuthSecret2) { return ErrUserAndPassNotMatch } From 72d839e0491b0cd3fa05d9eff6741a5dbc4ad066 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, 4 Mar 2021 09:57:51 +0800 Subject: [PATCH 06/25] aa --- business/auth2/authprovider/password/password.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/business/auth2/authprovider/password/password.go b/business/auth2/authprovider/password/password.go index 9360804bf..5c5f97d17 100644 --- a/business/auth2/authprovider/password/password.go +++ b/business/auth2/authprovider/password/password.go @@ -81,9 +81,6 @@ func (a *Auther) encryptPassword(password, salt string) string { } func (a *Auther) checkPassword(authBind *model.AuthBind, passMD5 string) (err error) { - fmt.Println("1111111111111111111111", a.encryptPassword(passMD5, authBind.AuthSecret2)) - fmt.Println("2222222222222222222", authBind.AuthSecret) - if authBind.AuthSecret != a.encryptPassword(passMD5, authBind.AuthSecret2) { return ErrUserAndPassNotMatch } From c4650f518198a3c434547ab06f96b04cb0aefb17 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, 4 Mar 2021 10:34:59 +0800 Subject: [PATCH 07/25] 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 a0522f9b6..63d0b0c26 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -214,6 +214,7 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri cert.LicensePic, cert.LicenseSocialCreditCode, cert.LicenseNumber, cert.LicenseLegalPerson, cert.LicenseAddress, cert.LicenseValidStartDate, cert.LicenseValidity, cert.IsLongTime = switchCertType(v) certs = append(certs, cert) } + poiSettleSaveParam.ApplyInfos[0].MultiPoiCertInfos = certs mtapi := getAPIWithoutToken(vendorOrgCode) if vendorStoreID, err = mtapi.PoiSettleSave(poiSettleSaveParam); err == nil { err = mtapi.PoiSettleAuditSubmit([]string{vendorStoreID}) From 54937a1e7bcca0f4683b52318edf9ffda70e3d0c 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, 4 Mar 2021 11:34:12 +0800 Subject: [PATCH 08/25] aa --- globals/api/api.go | 21 +++++++++++++-------- globals/api/apimanager/apimanager.go | 19 ++++++++++--------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/globals/api/api.go b/globals/api/api.go index 843a0ce2b..bbfa8515b 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -112,29 +112,34 @@ func init() { // 这样写的原因是在测试时,可以重新读取配置文件 func Init() { if !beego.AppConfig.DefaultBool("disableJd", false) { - JdAPI = jdapi.New(beego.AppConfig.String("jdToken"), beego.AppConfig.String("jdAppKey"), beego.AppConfig.String("jdSecret")) - // cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "") - // JdAPI.SetJdCookie(cookieValue) + //初始化京东api + // JdAPI = jdapi.New(beego.AppConfig.String("jdToken"), beego.AppConfig.String("jdAppKey"), beego.AppConfig.String("jdSecret")) + JdAPI = jdapi.New("", "", "") + cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "") + JdAPI.SetJdCookie(cookieValue) conf := platformapi.NewDefAPIConfig() conf.MaxSleepSecondWhenExceedLimit = 60 * 30 // 最大重试间隙30分钟 JdPageAPI = jdapi.NewPageOnly("", conf) if globals.Jd2OrgCode != "" { - Jd2API = jdapi.New(beego.AppConfig.String("jd2Token"), beego.AppConfig.String("jd2AppKey"), beego.AppConfig.String("jd2Secret")) - // Jd2API.SetJdCookie(beego.AppConfig.DefaultString("jd2StorePageCookie", "")) + // Jd2API = jdapi.New(beego.AppConfig.String("jd2Token"), beego.AppConfig.String("jd2AppKey"), beego.AppConfig.String("jd2Secret")) + Jd2API = jdapi.New("", "", "") } if globals.Jd3OrgCode != "" { - Jd3API = jdapi.New(beego.AppConfig.String("jd3Token"), beego.AppConfig.String("jd3AppKey"), beego.AppConfig.String("jd3Secret")) + // Jd3API = jdapi.New(beego.AppConfig.String("jd3Token"), beego.AppConfig.String("jd3AppKey"), beego.AppConfig.String("jd3Secret")) + Jd3API = jdapi.New("", "", "") } if globals.JdcsOrgCode != "" { - JdcsAPI = jdapi.New(beego.AppConfig.String("jdcsToken"), beego.AppConfig.String("jdcsAppKey"), beego.AppConfig.String("jdcsSecret")) + // JdcsAPI = jdapi.New(beego.AppConfig.String("jdcsToken"), beego.AppConfig.String("jdcsAppKey"), beego.AppConfig.String("jdcsSecret")) + JdAPI = jdapi.New("", "", "") } if globals.JdydOrgCode != "" { - JdydAPI = jdapi.New(beego.AppConfig.String("jdydToken"), beego.AppConfig.String("jdydAppKey"), beego.AppConfig.String("jdydSecret")) + // JdydAPI = jdapi.New(beego.AppConfig.String("jdydToken"), beego.AppConfig.String("jdydAppKey"), beego.AppConfig.String("jdydSecret")) + JdAPI = jdapi.New("", "", "") } fakeJdToken := beego.AppConfig.DefaultString("fakeJdToken", "") diff --git a/globals/api/apimanager/apimanager.go b/globals/api/apimanager/apimanager.go index 21275ad6f..bce9f062e 100644 --- a/globals/api/apimanager/apimanager.go +++ b/globals/api/apimanager/apimanager.go @@ -1,9 +1,11 @@ package apimanager import ( + "git.rosy.net.cn/baseapi/platformapi/jdapi" "git.rosy.net.cn/jx-callback/business/jxutils" "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" "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" @@ -32,19 +34,18 @@ func init() { } func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{}) { + var ( + db = dao.GetDB() + ) switch vendorID { case model.VendorIDJD: - pfAPI = api.JdAPI if appOrgCode == FakeJdOrgCode { pfAPI = api.FakeJdAPI - } else if appOrgCode != "" && appOrgCode == globals.Jd2OrgCode { - pfAPI = api.Jd2API - } else if appOrgCode != "" && appOrgCode == globals.Jd3OrgCode { - pfAPI = api.Jd3API - } else if appOrgCode != "" && appOrgCode == globals.JdcsOrgCode { - pfAPI = api.JdcsAPI - } else if appOrgCode != "" && appOrgCode == globals.JdydOrgCode { - pfAPI = api.JdydAPI + } else { + codes, _ := dao.GetVendorOrgCode(db, vendorID, appOrgCode, "platform") + code := codes[0] + api.JdAPI = jdapi.New(code.Token, code.AppKey, code.AppSecret) + pfAPI = api.JdAPI } case model.VendorIDMTWM: pfAPI = api.MtwmAPI From 2a3b838dca934984e8cda2ab8a11c5692a7df1d1 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, 4 Mar 2021 14:07:41 +0800 Subject: [PATCH 09/25] aa --- globals/api/api.go | 4 +--- globals/api/apimanager/apimanager.go | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/globals/api/api.go b/globals/api/api.go index bbfa8515b..8a23d8247 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -114,9 +114,7 @@ func Init() { if !beego.AppConfig.DefaultBool("disableJd", false) { //初始化京东api // JdAPI = jdapi.New(beego.AppConfig.String("jdToken"), beego.AppConfig.String("jdAppKey"), beego.AppConfig.String("jdSecret")) - JdAPI = jdapi.New("", "", "") - cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "") - JdAPI.SetJdCookie(cookieValue) + // JdAPI = jdapi.New("", "", "") conf := platformapi.NewDefAPIConfig() conf.MaxSleepSecondWhenExceedLimit = 60 * 30 // 最大重试间隙30分钟 diff --git a/globals/api/apimanager/apimanager.go b/globals/api/apimanager/apimanager.go index bce9f062e..d2d4d330c 100644 --- a/globals/api/apimanager/apimanager.go +++ b/globals/api/apimanager/apimanager.go @@ -9,6 +9,7 @@ import ( "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" + "github.com/astaxie/beego" ) const ( @@ -46,6 +47,8 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{}) code := codes[0] api.JdAPI = jdapi.New(code.Token, code.AppKey, code.AppSecret) pfAPI = api.JdAPI + cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "") + api.JdAPI.SetJdCookie(cookieValue) } case model.VendorIDMTWM: pfAPI = api.MtwmAPI From caebd3921f6c7af0cf7b791f4b2ce2f1ef5d1ef4 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, 4 Mar 2021 14:16:58 +0800 Subject: [PATCH 10/25] aa --- business/jxstore/misc/misc.go | 3 --- globals/api/apimanager/apimanager.go | 7 ++++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index edc36d2c6..f38cbf499 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -332,9 +332,6 @@ func Init() { if configs, err := dao.QueryConfigs(dao.GetDB(), "mtpsStoreToken", model.ConfigTypeCookie, ""); err == nil { mtpsStoreToken = configs[0].Value } - if configs, err := dao.QueryConfigs(dao.GetDB(), "jdStorePageCookie", model.ConfigTypeCookie, ""); err == nil { - JdStorePageCookie = configs[0].Value - } if configs, err := dao.QueryConfigs(dao.GetDB(), "jdStorePageEarning", model.ConfigTypeCookie, ""); err == nil { jdStorePageEarning = configs[0].Value } diff --git a/globals/api/apimanager/apimanager.go b/globals/api/apimanager/apimanager.go index d2d4d330c..b93228b71 100644 --- a/globals/api/apimanager/apimanager.go +++ b/globals/api/apimanager/apimanager.go @@ -9,7 +9,6 @@ import ( "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" - "github.com/astaxie/beego" ) const ( @@ -47,8 +46,10 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{}) code := codes[0] api.JdAPI = jdapi.New(code.Token, code.AppKey, code.AppSecret) pfAPI = api.JdAPI - cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "") - api.JdAPI.SetJdCookie(cookieValue) + if configs, err := dao.QueryConfigs(dao.GetDB(), "jdStorePageCookie", model.ConfigTypeCookie, ""); err == nil { + JdStorePageCookie := configs[0].Value + api.JdAPI.SetJdCookie(JdStorePageCookie) + } } case model.VendorIDMTWM: pfAPI = api.MtwmAPI From cbdfdff5fdeb0670f3acde7908a7227117f72787 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, 4 Mar 2021 14:51:29 +0800 Subject: [PATCH 11/25] aa --- business/jxstore/misc/misc.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index f38cbf499..edc36d2c6 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -332,6 +332,9 @@ func Init() { if configs, err := dao.QueryConfigs(dao.GetDB(), "mtpsStoreToken", model.ConfigTypeCookie, ""); err == nil { mtpsStoreToken = configs[0].Value } + if configs, err := dao.QueryConfigs(dao.GetDB(), "jdStorePageCookie", model.ConfigTypeCookie, ""); err == nil { + JdStorePageCookie = configs[0].Value + } if configs, err := dao.QueryConfigs(dao.GetDB(), "jdStorePageEarning", model.ConfigTypeCookie, ""); err == nil { jdStorePageEarning = configs[0].Value } From 8b9207608b2278b00efd515e46b0f494e8e8de8b 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, 4 Mar 2021 15:30:10 +0800 Subject: [PATCH 12/25] aa --- business/partner/purchase/jd/store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/jd/store.go b/business/partner/purchase/jd/store.go index 111b53717..bc0de8142 100644 --- a/business/partner/purchase/jd/store.go +++ b/business/partner/purchase/jd/store.go @@ -431,7 +431,7 @@ func (c *PurchaseHandler) SyncQualify(ctx *jxcontext.Context, storeDetail *dao.S } var qualifyList []*jdapi.QualifyItem licenceDetail, err := api.JdPageAPI.GetCorporationInfo(storeDetail.VendorStoreID, storeDetail.LicenceCode) - if err != nil { + if err != nil && !strings.Contains(err.Error(), "degrade") { return addStoreInfo2Err(err, storeDetail.ID) } licenceURL, err := c.storeUploadImgByURL(storeDetail.VendorOrgCode, storeDetail.Licence) From a58ee4a59712be684f897484931b27a11423421f 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, 4 Mar 2021 16:47:26 +0800 Subject: [PATCH 13/25] aa --- business/partner/purchase/jx/localjx/order.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 327c9bb70..91db375e8 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -566,6 +566,7 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) { err = nil } } + err = nil } return err } From f65c9f835521a758ba9b029d61911274011fbdb1 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, 4 Mar 2021 16:48:47 +0800 Subject: [PATCH 14/25] aa --- business/partner/partner_store_acct.go | 4 ++-- business/partner/purchase/jx/localjx/order.go | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/business/partner/partner_store_acct.go b/business/partner/partner_store_acct.go index 02a574a70..74f0f9b57 100644 --- a/business/partner/partner_store_acct.go +++ b/business/partner/partner_store_acct.go @@ -19,12 +19,12 @@ func InitStoreAcctManager(curStoreManager IStoreAcctManager) { type IStoreAcctManager interface { //增加一条收入流水 - InsertStoreAcctIncome(ctx *jxcontext.Context, db *dao.DaoDB, storeID, price, acctType int) (err error) + InsertStoreAcctIncome(ctx *jxcontext.Context, db *dao.DaoDB, storeID, price, acctType int, vendorOrderID string) (err error) //增加一条支出流水 InsertStoreAcctExpend(ctx *jxcontext.Context, db *dao.DaoDB, storeID, price, acctType int, vendorOrderID string) (err error) //更新门店账户 UpdateStoreAcctBalance(ctx *jxcontext.Context, storeID, price int, isIncome bool) (err error) InsertStoreAcctExpendAndUpdateStoreAcctBalance(ctx *jxcontext.Context, storeID, price, acctType int, vendorOrderID string) (err error) - InsertStoreAcctIncomeAndUpdateStoreAcctBalance(ctx *jxcontext.Context, storeID, price, acctType int) (err error) + InsertStoreAcctIncomeAndUpdateStoreAcctBalance(ctx *jxcontext.Context, storeID, price, acctType int, vendorOrderID string) (err error) CheckStoreAcctExpendExist(storeID int, vendorOrderID string) (result bool, err error) } diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 91db375e8..3062edcb0 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -558,6 +558,17 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) { dao.UpdateEntity(dao.GetDB(), userMembers[0], "IsPay") err = nil } + case model.PayTypeTL_StoreAcctPay: //门店账户充值完成后直接入账 + storeOrder := &model.StoreAcctOrder{ + VendorOrderID: orderPay.VendorOrderID, + } + if err = dao.GetEntity(dao.GetDB(), storeOrder, "VendorOrderID"); err == nil && storeOrder.ID != 0 { + storeOrder.OrderFinishedAt = time.Now() + storeOrder.Status = model.OrderStatusFinished + if _, err = dao.UpdateEntity(dao.GetDB(), storeOrder, "OrderFinishedAt", "Status"); err == nil { + partner.CurStoreAcctManager.InsertStoreAcctIncomeAndUpdateStoreAcctBalance(nil, storeOrder.StoreID, storeOrder.ActualPayPrice, partner.StoreAcctTypeIncomePay, orderPay.VendorOrderID) + } + } default: priceDefendOrders, _ := dao.GetPriceDefendOrder(dao.GetDB(), orderPay.VendorOrderID, nil, nil, []int{jxutils.GetDefendPriceIssue()}, 0, -1, -1, 0, "", utils.ZeroTimeValue, utils.ZeroTimeValue, false) if len(priceDefendOrders) > 0 { From dda3d11583ef71f4018e7f058796ccb510ba549c 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, 4 Mar 2021 16:49:45 +0800 Subject: [PATCH 15/25] aa --- business/jxstore/cms/store_acct.go | 114 +++++++++++++++++++++++------ business/model/store.go | 9 ++- 2 files changed, 96 insertions(+), 27 deletions(-) diff --git a/business/jxstore/cms/store_acct.go b/business/jxstore/cms/store_acct.go index fac82d992..d4872bb07 100644 --- a/business/jxstore/cms/store_acct.go +++ b/business/jxstore/cms/store_acct.go @@ -1,10 +1,12 @@ package cms import ( + "git.rosy.net.cn/baseapi/utils" "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" "git.rosy.net.cn/jx-callback/business/partner" + "git.rosy.net.cn/jx-callback/globals" ) type StoreAcctManager struct { @@ -19,28 +21,64 @@ func init() { partner.InitStoreAcctManager(FixedStoreAcctManager) } -func (s *StoreAcctManager) InsertStoreAcctIncome(ctx *jxcontext.Context, db *dao.DaoDB, storeID, price, acctType int) (err error) { - storeAcctIncome := &model.StoreAcctIncome{ - StoreID: storeID, - IncomePrice: price, - Type: acctType, - UserID: ctx.GetUserID(), +func (s *StoreAcctManager) InsertStoreAcctIncome(ctx *jxcontext.Context, db *dao.DaoDB, storeID, price, acctType int, vendorOrderID string) (err error) { + var ( + userID, userName string + goodsVendorOrderID string + ) + if ctx != nil { + userID = ctx.GetUserID() + userName = ctx.GetUserName() + goodsVendorOrderID = vendorOrderID + } else { + storeOrder := &model.StoreAcctOrder{ + VendorOrderID: vendorOrderID, + } + if err = dao.GetEntity(db, storeOrder, "VendorOrderID"); err == nil && storeOrder.ID != 0 { + userID = storeOrder.UserID + userName = storeOrder.LastOperator + goodsVendorOrderID = storeOrder.GoodsVendorOrderID + } } - dao.WrapAddIDCULEntity(storeAcctIncome, ctx.GetUserName()) + storeAcctIncome := &model.StoreAcctIncome{ + StoreID: storeID, + IncomePrice: price, + Type: acctType, + UserID: userID, + VendorOrderID: goodsVendorOrderID, + } + dao.WrapAddIDCULEntity(storeAcctIncome, userName) err = dao.CreateEntity(db, storeAcctIncome) + globals.SugarLogger.Debugf("InsertStoreAcctIncome orderID: [%v] , price :[%v] , type :[%v]", vendorOrderID, price, acctType) return err } func (s *StoreAcctManager) InsertStoreAcctExpend(ctx *jxcontext.Context, db *dao.DaoDB, storeID, price, acctType int, vendorOrderID string) (err error) { + var ( + userID, userName string + ) + if ctx != nil { + userID = ctx.GetUserID() + userName = ctx.GetUserName() + } else { + storeOrder := &model.StoreAcctOrder{ + VendorOrderID: vendorOrderID, + } + if err = dao.GetEntity(db, storeOrder, "VendorOrderID"); err == nil && storeOrder.ID != 0 { + userID = storeOrder.UserID + userName = storeOrder.LastOperator + } + } storeAcctExpend := &model.StoreAcctExpend{ StoreID: storeID, ExpendPrice: price, Type: acctType, - UserID: ctx.GetUserID(), + UserID: userID, VendorOrderID: vendorOrderID, } - dao.WrapAddIDCULEntity(storeAcctExpend, ctx.GetUserName()) + dao.WrapAddIDCULEntity(storeAcctExpend, userName) err = dao.CreateEntity(db, storeAcctExpend) + globals.SugarLogger.Debugf("InsertStoreAcctExpend orderID: [%v] , price :[%v] , type :[%v]", vendorOrderID, price, acctType) return err } @@ -48,14 +86,13 @@ func (s *StoreAcctManager) UpdateStoreAcctBalance(ctx *jxcontext.Context, storeI var ( db = dao.GetDB() ) + globals.SugarLogger.Debugf("UpdateStoreAcctBalance storeID: [%v] , price :[%v] ,", storeID, price) + if ctx == nil { + ctx = jxcontext.AdminCtx + } storeAcct := &model.StoreAcct{ StoreID: storeID, } - if isIncome { - storeAcct.AccountBalance += price - } else { - storeAcct.AccountBalance -= price - } dao.Begin(db) defer func() { if r := recover(); r != nil || err != nil { @@ -73,10 +110,17 @@ func (s *StoreAcctManager) UpdateStoreAcctBalance(ctx *jxcontext.Context, storeI return err } } else { + globals.SugarLogger.Debugf("UpdateStoreAcctBalance1 storeID: [%v] , balance :[%v] ,", storeID, storeAcct.AccountBalance) + if isIncome { + storeAcct.AccountBalance += price + } else { + storeAcct.AccountBalance -= price + } if _, err = dao.UpdateEntity(db, storeAcct, "AccountBalance"); err != nil { dao.Rollback(db) return err } + globals.SugarLogger.Debugf("UpdateStoreAcctBalance2 storeID: [%v] , balance :[%v] ,", storeID, storeAcct.AccountBalance) } dao.Commit(db) return err @@ -86,22 +130,46 @@ func (s *StoreAcctManager) InsertStoreAcctExpendAndUpdateStoreAcctBalance(ctx *j var ( db = dao.GetDB() ) - if err = s.InsertStoreAcctExpend(ctx, db, storeID, price, acctType, vendorOrderID); err == nil { - s.UpdateStoreAcctBalance(ctx, storeID, price, false) - } + utils.CallFuncAsync(func() { + if err = s.InsertStoreAcctExpend(ctx, db, storeID, price, acctType, vendorOrderID); err == nil { + s.UpdateStoreAcctBalance(ctx, storeID, price, false) + } + }) return err } -func (s *StoreAcctManager) InsertStoreAcctIncomeAndUpdateStoreAcctBalance(ctx *jxcontext.Context, storeID, price, acctType int) (err error) { +func (s *StoreAcctManager) InsertStoreAcctIncomeAndUpdateStoreAcctBalance(ctx *jxcontext.Context, storeID, price, acctType int, vendorOrderID string) (err error) { var ( db = dao.GetDB() ) - if err = s.InsertStoreAcctIncome(ctx, db, storeID, price, acctType); err == nil { - s.UpdateStoreAcctBalance(ctx, storeID, price, true) - } + utils.CallFuncAsync(func() { + if err = s.InsertStoreAcctIncome(ctx, db, storeID, price, acctType, vendorOrderID); err == nil { + s.UpdateStoreAcctBalance(ctx, storeID, price, true) + } + }) return err } -func (s *StoreAcctManager) CheckStoreAcctExpendExist(storeID int, vendorOrderID string) (result bool, err error) { - return false, err +func (s *StoreAcctManager) CheckStoreAcctExpendExist(vendorOrderID string) (isEqual, isZero bool, err error) { + var ( + db = dao.GetDB() + expends, incomes int + ) + globals.SugarLogger.Debugf("CheckStoreAcctExpendExist orderID:[%v]", vendorOrderID) + expends, err = dao.GetStoreAcctExpendTotal(db, 0, []int{partner.StoreAcctTypeExpendCreateWaybillEx, partner.StoreAcctTypeRealFeeExpend}, vendorOrderID, utils.ZeroTimeValue, utils.ZeroTimeValue) + incomes, err = dao.GetStoreAcctIncomeTotal(db, 0, []int{partner.StoreAcctTypeRealFeeIncome, partner.StoreAcctTypeIncomeCancelTemp, partner.StoreAcctTypeIncomeCancelReal}, vendorOrderID, utils.ZeroTimeValue, utils.ZeroTimeValue) + if expends != incomes { + if expends > incomes { + return false, false, err + } else { + globals.SugarLogger.Debugf("CheckStoreAcctExpendExist 收入大于支出! orderID:[%v]", vendorOrderID) + } + } else { + if expends == 0 && incomes == 0 { + return true, true, err + } else { + return true, false, err + } + } + return false, false, err } diff --git a/business/model/store.go b/business/model/store.go index e6aa597f6..e4b9d77e9 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -807,10 +807,11 @@ func (*BrandStore) TableUnique() [][]string { type StoreAcctIncome struct { ModelIDCUL - StoreID int `orm:"column(store_id)" json:"storeID"` //门店ID - UserID string `orm:"column(user_id)" json:"userID"` //用户ID (谁消费的) - Type int `json:"type"` //收入类型 - IncomePrice int `json:"incomePrice"` //收入金额 + StoreID int `orm:"column(store_id)" json:"storeID"` //门店ID + VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` + UserID string `orm:"column(user_id)" json:"userID"` //用户ID (谁消费的) + Type int `json:"type"` //收入类型 + IncomePrice int `json:"incomePrice"` //收入金额 } func (v *StoreAcctIncome) TableIndex() [][]string { From 3735a0fcaa06559f8a1ad08fad40efc8901df10f 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, 4 Mar 2021 16:50:03 +0800 Subject: [PATCH 16/25] aa --- business/model/order.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/business/model/order.go b/business/model/order.go index 96f0638b1..4f2d2c3b2 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -489,14 +489,15 @@ func (v *StoreCoupons) TableIndex() [][]string { type StoreAcctOrder struct { ModelIDCUL - VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` - VendorID int `orm:"column(vendor_id)" json:"vendorID"` - StoreID int `orm:"column(store_id)" json:"storeID"` // 外部系统里记录的 jxstoreid - ActualPayPrice int `json:"actualPayPrice"` // 单位为分 顾客实际支付 - UserID string `orm:"column(user_id);size(48);index" json:"userID"` - OrderType int `json:"orderType"` - Status int `json:"status"` // 参见OrderStatus*相关的常量定义 // 重复新订单消息数,这个一般不是由于消息重发造成的(消息重发由OrderStatus过滤),一般是业务逻辑造成的 - OrderFinishedAt time.Time `orm:"type(datetime)" json:"orderFinishedAt"` + VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` + VendorID int `orm:"column(vendor_id)" json:"vendorID"` + StoreID int `orm:"column(store_id)" json:"storeID"` // 外部系统里记录的 jxstoreid + ActualPayPrice int `json:"actualPayPrice"` // 单位为分 顾客实际支付 + UserID string `orm:"column(user_id);size(48);index" json:"userID"` + OrderType int `json:"orderType"` + Status int `json:"status"` // 参见OrderStatus*相关的常量定义 // 重复新订单消息数,这个一般不是由于消息重发造成的(消息重发由OrderStatus过滤),一般是业务逻辑造成的 + OrderFinishedAt time.Time `orm:"type(datetime)" json:"orderFinishedAt"` + GoodsVendorOrderID string `orm:"column(goods_vendor_order_id);size(48)" json:"goodsVendorOrderID"` //goodsOrder表的vendorOrderID(主动充值此值为空,从配送管理中余额不足充值则是该订单号) } func (v *StoreAcctOrder) TableUnique() [][]string { From b5bf9ade80980a80ec8b6602737f221819fbc0d0 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, 4 Mar 2021 16:51:41 +0800 Subject: [PATCH 17/25] aa --- business/model/dao/store.go | 76 +++++++++++++++++++++++++++++-------- 1 file changed, 60 insertions(+), 16 deletions(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index d339b7bfb..0b7cdf912 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1011,7 +1011,7 @@ func GetBrands(db *DaoDB, name string, brandID int) (brands []*model.Brand, err return brands, err } -func GetStoreAcctIncome(db *DaoDB, storeID, incomeType int, fromTime, toTime time.Time) (storeAcctIncomes []*model.StoreAcctIncome, err error) { +func GetStoreAcctIncome(db *DaoDB, storeID int, incomeTypes []int, vendorOrderID string, fromTime, toTime time.Time) (storeAcctIncomes []*model.StoreAcctIncome, err error) { sql := ` SELECT * FROM store_acct_income @@ -1022,9 +1022,13 @@ func GetStoreAcctIncome(db *DaoDB, storeID, incomeType int, fromTime, toTime tim sql += " AND store_id = ?" sqlParams = append(sqlParams, storeID) } - if incomeType != 0 { - sql += " AND type = ?" - sqlParams = append(sqlParams, incomeType) + if len(incomeTypes) > 0 { + sql += " AND type IN (" + GenQuestionMarks(len(incomeTypes)) + ")" + sqlParams = append(sqlParams, incomeTypes) + } + if vendorOrderID != "" { + sql += " AND vendor_order_id = ?" + sqlParams = append(sqlParams, vendorOrderID) } if utils.IsTimeZero(fromTime) { sql += " AND created_at >= ?" @@ -1038,7 +1042,7 @@ func GetStoreAcctIncome(db *DaoDB, storeID, incomeType int, fromTime, toTime tim return storeAcctIncomes, err } -func GetStoreAcctIncomeTotal(db *DaoDB, storeID, incomeType int, fromTime, toTime time.Time) (incomeTotal int, err error) { +func GetStoreAcctIncomeTotal(db *DaoDB, storeID int, incomeTypes []int, vendorOrderID string, fromTime, toTime time.Time) (incomeTotal int, err error) { var income *model.StoreAcctIncome sql := ` SELECT SUM(income_price) income_price @@ -1050,9 +1054,13 @@ func GetStoreAcctIncomeTotal(db *DaoDB, storeID, incomeType int, fromTime, toTim sql += " AND store_id = ?" sqlParams = append(sqlParams, storeID) } - if incomeType != 0 { - sql += " AND type = ?" - sqlParams = append(sqlParams, incomeType) + if len(incomeTypes) > 0 { + sql += " AND type IN (" + GenQuestionMarks(len(incomeTypes)) + ")" + sqlParams = append(sqlParams, incomeTypes) + } + if vendorOrderID != "" { + sql += " AND vendor_order_id = ?" + sqlParams = append(sqlParams, vendorOrderID) } if utils.IsTimeZero(fromTime) { sql += " AND created_at >= ?" @@ -1066,7 +1074,7 @@ func GetStoreAcctIncomeTotal(db *DaoDB, storeID, incomeType int, fromTime, toTim return income.IncomePrice, err } -func GetStoreAcctExpend(db *DaoDB, storeID, expendType int, fromTime, toTime time.Time) (storeAcctExpends []*model.StoreAcctExpend, err error) { +func GetStoreAcctExpend(db *DaoDB, storeID int, expendTypes []int, vendorOrderID string, fromTime, toTime time.Time) (storeAcctExpends []*model.StoreAcctExpend, err error) { sql := ` SELECT * FROM store_acct_expend @@ -1077,9 +1085,13 @@ func GetStoreAcctExpend(db *DaoDB, storeID, expendType int, fromTime, toTime tim sql += " AND store_id = ?" sqlParams = append(sqlParams, storeID) } - if expendType != 0 { - sql += " AND type = ?" - sqlParams = append(sqlParams, expendType) + if len(expendTypes) > 0 { + sql += " AND type IN (" + GenQuestionMarks(len(expendTypes)) + ")" + sqlParams = append(sqlParams, expendTypes) + } + if vendorOrderID != "" { + sql += " AND vendor_order_id = ?" + sqlParams = append(sqlParams, vendorOrderID) } if utils.IsTimeZero(fromTime) { sql += " AND created_at >= ?" @@ -1093,7 +1105,7 @@ func GetStoreAcctExpend(db *DaoDB, storeID, expendType int, fromTime, toTime tim return storeAcctExpends, err } -func GetStoreAcctExpendTotal(db *DaoDB, storeID, expendType int, fromTime, toTime time.Time) (expendTotal int, err error) { +func GetStoreAcctExpendTotal(db *DaoDB, storeID int, expendTypes []int, vendorOrderID string, fromTime, toTime time.Time) (expendTotal int, err error) { var expend *model.StoreAcctExpend sql := ` SELECT SUM(expend_price) expend_price @@ -1105,9 +1117,13 @@ func GetStoreAcctExpendTotal(db *DaoDB, storeID, expendType int, fromTime, toTim sql += " AND store_id = ?" sqlParams = append(sqlParams, storeID) } - if expendType != 0 { - sql += " AND type = ?" - sqlParams = append(sqlParams, expendType) + if len(expendTypes) > 0 { + sql += " AND type IN (" + GenQuestionMarks(len(expendTypes)) + ")" + sqlParams = append(sqlParams, expendTypes) + } + if vendorOrderID != "" { + sql += " AND vendor_order_id = ?" + sqlParams = append(sqlParams, vendorOrderID) } if utils.IsTimeZero(fromTime) { sql += " AND created_at >= ?" @@ -1120,3 +1136,31 @@ func GetStoreAcctExpendTotal(db *DaoDB, storeID, expendType int, fromTime, toTim err = GetRow(db, &expend, sql, sqlParams) return expend.ExpendPrice, err } + +type GetStoreAcctExpendLastCreateWayBillFeeResult struct { +} + +func GetStoreAcctExpendLastCreateWayBillFee(db *DaoDB, vendorOrderID string) (lastFee int, err error) { + var expend *model.StoreAcctExpend + sql := ` + SELECT a.id, b.id exp_id, c.id inc_id + FROM store_acct_expend a + LEFT JOIN store_acct_expend b ON a.id = b.exp_id + LEFT JOIN store_acct_income c ON a.id = c.exp_id + WHERE 1 = 1 + AND a.type = ? + ` + sqlParams := []interface{}{ + 20, + } + if vendorOrderID != "" { + sql += " AND vendor_order_id = ?" + sqlParams = append(sqlParams, vendorOrderID) + } + sql += ` + ORDER BY a.created_at DESC + LIMIT 1 + ` + err = GetRow(db, &expend, sql, sqlParams) + return expend.ExpendPrice, err +} From 40cfa42170004bd251f497f9ff1d24b8d1ee5226 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, 4 Mar 2021 16:52:18 +0800 Subject: [PATCH 18/25] 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 43af24d0c..773facaa2 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -4051,11 +4051,11 @@ func GetStoreAcctBalance(ctx *jxcontext.Context, storeID int) (storeAcct *model. var ( db = dao.GetDB() ) - totalIncome, err := dao.GetStoreAcctIncomeTotal(db, storeID, 0, utils.ZeroTimeValue, utils.ZeroTimeValue) + totalIncome, err := dao.GetStoreAcctIncomeTotal(db, storeID, nil, "", utils.ZeroTimeValue, utils.ZeroTimeValue) if err != nil { return nil, err } - totalExpend, err := dao.GetStoreAcctExpendTotal(db, storeID, 0, utils.ZeroTimeValue, utils.ZeroTimeValue) + totalExpend, err := dao.GetStoreAcctExpendTotal(db, storeID, nil, "", utils.ZeroTimeValue, utils.ZeroTimeValue) if err != nil { return nil, err } From 67e33a0be09b56076f169873dd9341ce509e9434 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, 4 Mar 2021 16:54:51 +0800 Subject: [PATCH 19/25] aa --- business/partner/partner_store_acct.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/business/partner/partner_store_acct.go b/business/partner/partner_store_acct.go index 74f0f9b57..fe5286fc2 100644 --- a/business/partner/partner_store_acct.go +++ b/business/partner/partner_store_acct.go @@ -6,7 +6,20 @@ import ( ) const ( - StoreAcctType1 = 1 //主动充值 + //账户收入类型 + StoreAcctTypeIncomePay = 10 //主动充值 + StoreAcctTypeRealFeeIncome = 15 //真实运费 < 临时运费, 临时运费-真实运费的值 + StoreAcctTypeIncomeCancelTemp = 18 //运单取消,回退的临时运费 + StoreAcctTypeIncomeCancelReal = 19 //运单取消,回退的真实运费 + + //账户支出类型 + StoreAcctTypeExpendCreateWaybillEx = 20 //手动发单扣除的临时运费 + StoreAcctTypeExpendCreateWaybillTip = 21 //手动加小费扣除 + StoreAcctTypeRealFeeExpend = 25 //真实运费 > 临时运费, 真实运费的值 - 临时运费的值 +) + +const ( + MinCreateWaybillBalance = 1000 //余额小于这个值直接不能发 ) var ( @@ -26,5 +39,5 @@ type IStoreAcctManager interface { UpdateStoreAcctBalance(ctx *jxcontext.Context, storeID, price int, isIncome bool) (err error) InsertStoreAcctExpendAndUpdateStoreAcctBalance(ctx *jxcontext.Context, storeID, price, acctType int, vendorOrderID string) (err error) InsertStoreAcctIncomeAndUpdateStoreAcctBalance(ctx *jxcontext.Context, storeID, price, acctType int, vendorOrderID string) (err error) - CheckStoreAcctExpendExist(storeID int, vendorOrderID string) (result bool, err error) + CheckStoreAcctExpendExist(vendorOrderID string) (isEqual, isZero bool, err error) } From a2af241bdc6f812a67c7fb0a836b849cd03a0466 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, 4 Mar 2021 16:58:05 +0800 Subject: [PATCH 20/25] aa --- business/jxcallback/orderman/orderman_ext.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index e099ee13c..075afdbb7 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -452,6 +452,7 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS "status2", "skuInfo", "waybillTipMoney", + "orderPayPercentage", // "skuInfo2", }, } From 490ea5cdb88ba3f4bfd74beba98b314611a9b298 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, 4 Mar 2021 17:19:04 +0800 Subject: [PATCH 21/25] aa --- business/partner/purchase/jdshop/callback.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 58550388c..85e757a56 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -264,7 +264,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err } } order.PickDeadline = order.ExpectedDeliveredTime.Add(-time.Hour) - } else if msg.OrderState == jdshopapi.OrderStatusWait || msg.OrderState == "WAIT_GOODS_RECEIVE_CONFIRM" { + } else if msg.OrderState == jdshopapi.OrderStatusWait || msg.OrderState == "WAIT_GOODS_RECEIVE_CONFIRM" || msg.OrderState == "FINISHED_L" { order.ExpectedDeliveredTime = order.OrderCreatedAt.Add(time.Hour) order.BusinessType = model.BusinessTypeImmediate } else if msg.OrderState == "UN_KNOWN" { From 2c035f55fad6343878e58052c3f43fecd5c71e7f 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, 4 Mar 2021 17:29:30 +0800 Subject: [PATCH 22/25] aa --- business/jxstore/common/common.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/business/jxstore/common/common.go b/business/jxstore/common/common.go index 52bc7a10d..3d4b991b5 100644 --- a/business/jxstore/common/common.go +++ b/business/jxstore/common/common.go @@ -242,6 +242,18 @@ func UpdateVendorOrgCode(ctx *jxcontext.Context, ID int, payload map[string]inte ) vendorOrgCode.ID = ID err = dao.GetEntity(db, vendorOrgCode) + if payload["key"] != nil { + payload["vendorOrgCode"] = payload["key"] + delete(payload, "key") + } + if payload["code"] != nil { + payload["vendorID"] = payload["code"] + delete(payload, "code") + } + if payload["name"] != nil { + payload["comment"] = payload["name"] + delete(payload, "name") + } valid := dao.StrictMakeMapByStructObject(payload, vendorOrgCode, ctx.GetUserName()) if len(valid) > 0 { dao.Begin(db) From d5401d902e45dcf512f517300fffeb8de3820657 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, 4 Mar 2021 17:36:14 +0800 Subject: [PATCH 23/25] aa --- globals/api/api.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globals/api/api.go b/globals/api/api.go index 8a23d8247..c43ecb6b1 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -114,7 +114,7 @@ func Init() { if !beego.AppConfig.DefaultBool("disableJd", false) { //初始化京东api // JdAPI = jdapi.New(beego.AppConfig.String("jdToken"), beego.AppConfig.String("jdAppKey"), beego.AppConfig.String("jdSecret")) - // JdAPI = jdapi.New("", "", "") + JdAPI = jdapi.New("", "", "") conf := platformapi.NewDefAPIConfig() conf.MaxSleepSecondWhenExceedLimit = 60 * 30 // 最大重试间隙30分钟 From 05fb4dbb25694edb551997ba3a2c65f91c447ff7 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 10:03:14 +0800 Subject: [PATCH 24/25] aa --- business/partner/delivery/fn/waybill.go | 28 +++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/business/partner/delivery/fn/waybill.go b/business/partner/delivery/fn/waybill.go index fb534debc..b36aef29d 100644 --- a/business/partner/delivery/fn/waybill.go +++ b/business/partner/delivery/fn/waybill.go @@ -22,8 +22,32 @@ import ( "git.rosy.net.cn/jx-callback/globals/api" ) +const ( + ComplaintReasonsFn150 = 150 //:未保持餐品完整, + ComplaintReasonsFn220 = 220 //:少餐错餐, + ComplaintReasonsFn160 = 160 //:服务态度恶劣, + ComplaintReasonsFn190 = 190 //:额外索取费用, + ComplaintReasonsFn170 = 170 //:诱导收货人或商户退单, + ComplaintReasonsFn140 = 140 //:提前点击送达, + ComplaintReasonsFn210 = 210 //:虚假标记异常, + ComplaintReasonsFn200 = 200 //:虚假点击配送成功, + ComplaintReasonsFn130 = 130 //:未进行配送,导致订单失败或取消, + ComplaintReasonsFn120 = 120 //:配送超时 +) + var ( - curDeliveryHandler *DeliveryHandler + curDeliveryHandler *DeliveryHandler + complaintReson2FnResonMap = map[int]int{ + model.ComplaintReasons1: ComplaintReasonsFn160, + model.ComplaintReasons2: ComplaintReasonsFn130, + model.ComplaintReasons3: ComplaintReasonsFn130, + model.ComplaintReasons4: ComplaintReasonsFn120, + model.ComplaintReasons5: ComplaintReasonsFn130, + model.ComplaintReasons6: ComplaintReasonsFn150, + model.ComplaintReasons7: ComplaintReasonsFn190, + model.ComplaintReasons69: ComplaintReasonsFn170, + model.ComplaintReasons71: ComplaintReasonsFn140, + } ) type DeliveryHandler struct { @@ -59,7 +83,7 @@ func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int, } func (c *DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, resonContent string) (err error) { - + err = api.FnAPI.ComplaintRider(bill.VendorOrderID, complaintReson2FnResonMap[resonID]) return err } From bfdd404d68d3d48f8c414a90b5cde12531e4ce88 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 10:28:12 +0800 Subject: [PATCH 25/25] aa --- business/jxstore/misc/misc.go | 6 ++-- business/partner/purchase/jdshop/jds.go | 11 +++++-- business/partner/purchase/jdshop/order.go | 4 +-- business/partner/purchase/jdshop/store.go | 8 ++--- business/partner/purchase/jdshop/store_sku.go | 32 +++++++++---------- 5 files changed, 34 insertions(+), 27 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index edc36d2c6..f5f912995 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -348,9 +348,9 @@ 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(), "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/partner/purchase/jdshop/jds.go b/business/partner/purchase/jdshop/jds.go index d3951126a..843d21049 100644 --- a/business/partner/purchase/jdshop/jds.go +++ b/business/partner/purchase/jdshop/jds.go @@ -5,6 +5,7 @@ import ( "git.rosy.net.cn/baseapi/utils" "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" "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/business/partner/putils" "git.rosy.net.cn/jx-callback/globals" @@ -37,7 +38,13 @@ func getAPI(appOrgCode string) (apiObj *jdshopapi.API) { if appOrgCode == "" { globals.SugarLogger.Warnf("getAPI appOrgCode is empty") } - return partner.CurAPIManager.GetAPI(model.VendorIDJDShop, appOrgCode).(*jdshopapi.API) + apiObj = partner.CurAPIManager.GetAPI(model.VendorIDJDShop, appOrgCode).(*jdshopapi.API) + if appOrgCode == "2" { + if configs, err := dao.QueryConfigs(dao.GetDB(), "jdsCookie2", model.ConfigTypeCookie, ""); err == nil { + apiObj.SetCookieWithStr(configs[0].Value) + } + } + return } func (p *PurchaseHandler) GetVendorID() int { @@ -47,7 +54,7 @@ func (p *PurchaseHandler) GetVendorID() int { func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, vendorOrgCode, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { if globals.EnableJdShopWrite { if imgType > model.ImgTypeLocal { - result, err := api.JdShopAPI.UploadPicture(imgData, 0, imgName) + result, err := getAPI(vendorOrgCode).UploadPicture(imgData, 0, imgName) if err == nil { imgHint = result.PictureURL } diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 061a4f9dc..01539fd7c 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -61,7 +61,7 @@ func (p *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI status = model.OrderStatusAccepted //京东商城第二个号要自动接单 if order.VendorOrgCode == "2" { - err = api.JdShop2API.SetOrderStateToWait(utils.Str2Int64(order.VendorOrderID2)) + err = getAPI(order.VendorOrgCode).SetOrderStateToWait(utils.Str2Int64(order.VendorOrderID2)) } } else { status = model.OrderStatusCanceled @@ -106,7 +106,7 @@ func (p *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam func (p *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) { ChangeOrderStatus(order.VendorOrderID, model.OrderStatusFinished, "") if order.VendorOrgCode == "2" { - api.JdShop2API.SetOrderStateToFinish(utils.Str2Int64(order.VendorOrderID2)) + getAPI(order.VendorOrgCode).SetOrderStateToFinish(utils.Str2Int64(order.VendorOrderID2)) } return err } diff --git a/business/partner/purchase/jdshop/store.go b/business/partner/purchase/jdshop/store.go index 1d7b8be90..c9f433e91 100644 --- a/business/partner/purchase/jdshop/store.go +++ b/business/partner/purchase/jdshop/store.go @@ -100,7 +100,7 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri CategoryName: jdshopapi.JdsStoreCategoryName, CustomerID: utils.Int2Str(store.ID), } - url, _ := api.JdShop2API.UploadImageNew(data, "2659335b16e3880e367759b8fc675933.tem.png") + url, _ := getAPI("2").UploadImageNew(data, "2659335b16e3880e367759b8fc675933.tem.png") ex := store.LicenceExpire if ex == "" { ex = utils.Time2Str(utils.Str2Time(store.LicenceValid).AddDate(0, 6, 0)) @@ -112,7 +112,7 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri if store.Licence != "" { data2, _, _ := jxutils.DownloadFileByURL(store.Licence) fileName := store.Licence[strings.LastIndex(store.Licence, "/")+1 : len(store.Licence)] - url2, _ = api.JdShop2API.UploadImageNew(data2, fileName) + url2, _ = getAPI("2").UploadImageNew(data2, fileName) } storeName := store.Name if strings.Contains(storeName, "(") { @@ -197,9 +197,9 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri } } vendorStoreID, err = api.JdShopAPI.CreateEntityStore(createEntityStoreParam) - if vendorStroeID2, err := api.JdShop2API.SubmitBasic(param); err == nil { + if vendorStroeID2, err := getAPI("2").SubmitBasic(param); err == nil { time.Sleep(time.Second) - err = api.JdShop2API.UpdateExpand(int(vendorStroeID2)) + err = getAPI("2").UpdateExpand(int(vendorStroeID2)) var storeMap *model.StoreMap sql := ` SELECT * FROM store_map WHERE deletad_at = ? AND store_id = ? AND vendor_id = ? AND vendor_org_code = ? diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index d4d03ea94..4cb3a5563 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -58,7 +58,7 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v } } if v.VendorOrgCode == "2" && flag2 { - err = api.JdShop2API.WareDoUpdate("op", utils.Int64ToStr(v.JdsWareID)) + err = getAPI(v.VendorOrgCode).WareDoUpdate("op", utils.Int64ToStr(v.JdsWareID)) } else { if result.TotalItem > 0 && len(result.Data) > 0 && flag { //jds2 @@ -82,7 +82,7 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v var wareSaveSkus []*jdshopapi.WareSaveSkus //先把已有的规格放进去 if v.VendorOrgCode == "2" { - wareResult, _ := api.JdShop2API.FindWareById(wareSaveParam.WareID) + wareResult, _ := getAPI(v.VendorOrgCode).FindWareById(wareSaveParam.WareID) if wareResult != nil { for _, v := range wareResult.Images { wareSaveParam.ImageMap.Num0000000000 = append(wareSaveParam.ImageMap.Num0000000000, &jdshopapi.CreateSkuParamImages{ @@ -92,7 +92,7 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v }) } } - skus, _, _ := api.JdShop2API.SearchSkuList2([]int{int(wareSaveParam.WareID)}) + skus, _, _ := getAPI(v.VendorOrgCode).SearchSkuList2([]int{int(wareSaveParam.WareID)}) if len(skus) > 0 { for _, vv := range skus { sku := &jdshopapi.WareSaveSkus{ @@ -138,8 +138,8 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v } } //创建商品后要上架,改价,库存,门店关注商品等 - if err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareSaveParam.WareID)); err == nil { - err = api.JdShop2API.StoreSkuBindStore(true, []string{vv.VendorSkuID}, nil) + if err = getAPI(v.VendorOrgCode).WareDoUpdate("up", utils.Int64ToStr(wareSaveParam.WareID)); err == nil { + err = getAPI(v.VendorOrgCode).StoreSkuBindStore(true, []string{vv.VendorSkuID}, nil) } } } @@ -181,7 +181,7 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v } else { var createSkuResult []*jdshopapi.WareSaveResult for i := 0; i < 10; i++ { - createSkuResult, err = api.JdShop2API.WareSave(wareSaveParam) + createSkuResult, err = getAPI(v.VendorOrgCode).WareSave(wareSaveParam) if len(createSkuResult) > 0 { break } @@ -209,10 +209,10 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v } } //创建商品后要上架,改价,库存,门店关注商品等 - if err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareID)); err == nil { + if err = getAPI(v.VendorOrgCode).WareDoUpdate("up", utils.Int64ToStr(wareID)); err == nil { for _, vv2 := range v.StoreSkuSyncInfoJds { if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 { - err = api.JdShop2API.StoreSkuBindStore(true, []string{utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)])}, nil) + err = getAPI(v.VendorOrgCode).StoreSkuBindStore(true, []string{utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)])}, nil) } } } @@ -259,20 +259,20 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v stock := vv.Stock price := vv.VendorPrice if status == model.StoreSkuBindStatusNormal { - err = api.JdShop2API.StoreWareDoUpdate(status, storeSku.JdsID, vendorStoreID) + err = getAPI(vv.VendorOrgCode).StoreWareDoUpdate(status, storeSku.JdsID, vendorStoreID) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") return failedList, err } } if stock != 0 { - err = api.JdShop2API.StoreUpdateStock(stock, storeSku.JdsID, vendorStoreID) + err = getAPI(vv.VendorOrgCode).StoreUpdateStock(stock, storeSku.JdsID, vendorStoreID) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") return failedList, err } } - err = api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), storeSku.JdsID, vendorStoreID) + err = getAPI(v.VendorOrgCode).StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), storeSku.JdsID, vendorStoreID) } } if err != nil { @@ -440,7 +440,7 @@ func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, v wareSaveSku.SkuID = utils.Str2Int64(vv.VendorSkuID) wareSaveSkus = append(wareSaveSkus, wareSaveSku) } - api.JdShop2API.WareSave(wareSaveParam) + getAPI("2").WareSave(wareSaveParam) } } if err != nil { @@ -462,7 +462,7 @@ func (p *PurchaseHandler) DeleteStoreSkus(ctx *jxcontext.Context, storeID int, v err = getAPI(v.VendorOrgCode).DeleteWare(utils.Str2Int(v.VendorSkuID2)) } } else { - err = api.JdShop2API.WareDoUpdate("down", v.VendorSkuID2) + err = getAPI(v.VendorOrgCode).WareDoUpdate("down", v.VendorSkuID2) } } if err != nil { @@ -531,7 +531,7 @@ func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, vendorOr } } else { if vendorSkuID, err := getMainStoreVendorSkuID(model.JdShopMainStoreID2, v.SkuID); err == nil && vendorSkuID != 0 { - err = api.JdShop2API.StoreWareDoUpdate(status, vendorSkuID, vendorStoreID) + err = getAPI(v.VendorOrgCode).StoreWareDoUpdate(status, vendorSkuID, vendorStoreID) } } } @@ -555,7 +555,7 @@ func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, vendorOrg // null } else { if vendorSkuID, err := getMainStoreVendorSkuID(model.JdShopMainStoreID2, v.SkuID); err == nil && vendorSkuID != 0 { - err = api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(v.VendorPrice)), vendorSkuID, vendorStoreID) + err = getAPI(v.VendorOrgCode).StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(v.VendorPrice)), vendorSkuID, vendorStoreID) } } } @@ -579,7 +579,7 @@ func (p *PurchaseHandler) UpdateStoreSkusStock(ctx *jxcontext.Context, vendorOrg } else { if vendorSkuID, err := getMainStoreVendorSkuID(model.JdShopMainStoreID2, v.SkuID); err == nil && vendorSkuID != 0 { - err = api.JdShop2API.StoreUpdateStock(v.Stock, vendorSkuID, vendorStoreID) + err = getAPI(v.VendorOrgCode).StoreUpdateStock(v.Stock, vendorSkuID, vendorStoreID) } } }