From 6e4ecfd441402c50d83c9925223d02b5d6314234 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, 19 Feb 2020 08:43:42 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=89=93=E6=AC=BE?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E4=BF=AE=E6=94=B9=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=95=86=E5=93=81=E8=BF=87=E6=BB=A4=E9=A5=BF=E9=B2=9C=E8=BE=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/cs/weimob_order.go | 2 +- business/jxstore/cms/sku.go | 33 +++++++++++-------- business/jxstore/tempop/tempop.go | 2 +- business/partner/purchase/jx/localjx/order.go | 4 +-- controllers/cms_sku.go | 3 +- 5 files changed, 25 insertions(+), 19 deletions(-) diff --git a/business/cs/weimob_order.go b/business/cs/weimob_order.go index 412667bfb..53633a40b 100644 --- a/business/cs/weimob_order.go +++ b/business/cs/weimob_order.go @@ -79,7 +79,7 @@ func changeStoreSkusByOrder(order *weimobapi.OrderDetail) { if skuName.Status != model.SkuStatusNormal { cms.UpdateSkuName(ctx, skuName.ID, map[string]interface{}{ "status": model.SkuStatusNormal, - }) + }, false) } for _, sku := range skuName.Skus { if sku.Status != model.SkuStatusNormal { diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index fab229e5a..a7afebcb9 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -788,7 +788,7 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s return outSkuNameExt, err } -func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interface{}) (num int64, err error) { +func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interface{}, isExd bool) (num int64, err error) { userName := ctx.GetUserName() skuName := &model.SkuName{} skuName.ID = nameID @@ -853,9 +853,11 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf dao.Rollback(db) return 0, err } - if err = OnUpdateThing(ctx, db, nil, int64(nameID), model.ThingTypeSkuName); err != nil { - dao.Rollback(db) - return 0, err + if !isExd { + if err = OnUpdateThing(ctx, db, nil, int64(nameID), model.ThingTypeSkuName); err != nil { + dao.Rollback(db) + return 0, err + } } if utils.Interface2Int64WithDefault(payload["isGlobal"], 0) == 0 && payload["places"] != nil { if places, ok := payload["places"].([]interface{}); ok { @@ -888,10 +890,11 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf dao.Rollback(db) return 0, err } - - if err = OnUpdateThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil { - dao.Rollback(db) - return 0, err + if sku.ExdSkuID == "" { + if err = OnUpdateThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil { + dao.Rollback(db) + return 0, err + } } } } @@ -1075,9 +1078,11 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{} } return 0, err } - if err = OnUpdateThing(ctx, db, nil, int64(skuID), model.ThingTypeSku); err != nil { - dao.Rollback(db) - return 0, err + if sku.ExdSkuID != "" { + if err = OnUpdateThing(ctx, db, nil, int64(skuID), model.ThingTypeSku); err != nil { + dao.Rollback(db) + return 0, err + } } dao.Commit(db) @@ -1387,16 +1392,16 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro "exPrefixEnd": toTimeP, } if now.Sub(toTimeP) <= 0 && now.Sub(fromTimeP) >= 0 { - _, err = UpdateSkuName(ctx, nameID, payload) + _, err = UpdateSkuName(ctx, nameID, payload, false) } else if now.Sub(fromTimeP) > 0 && now.Sub(toTimeP) > 0 { payload["exPrefixBegin"] = nil payload["exPrefixEnd"] = nil - _, err = UpdateSkuName(ctx, nameID, payload) + _, err = UpdateSkuName(ctx, nameID, payload, false) } else { skuList, err := dao.GetSkus(db, nil, []int{nameID}, nil, nil) if err == nil && len(skuList) > 0 { if skuList[0].ExPrefixBegin != nil { - _, err = UpdateSkuName(ctx, nameID, payload) + _, err = UpdateSkuName(ctx, nameID, payload, false) CurVendorSync.SyncStoresSkus2(ctx, nil, 0, db, partner.GetSingleStoreVendorIDs(), nil, false, []int{skuList[0].ID}, nil, model.SyncFlagModifiedMask, true, true) } else { skuName := &model.SkuName{ diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 934ccd3d8..48623eb26 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -577,7 +577,7 @@ func DeleteWrongSpu(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) ( mapData := map[string]interface{}{ "name": skuNameList[step].Name, } - _, err = cms.UpdateSkuName(ctx, skuNameList[step].ID, mapData) + _, err = cms.UpdateSkuName(ctx, skuNameList[step].ID, mapData, false) if err != nil { globals.SugarLogger.Debugf("DeleteWrongSpu failed nameid:%d, name:%s, with error:%v", skuNameList[step].ID, skuNameList[step].Name, err) } diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 0bb68ed63..b9484f2e3 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -678,8 +678,8 @@ func AutoPayForPopluarMan(ctx *jxcontext.Context) (err error) { errMsg string errCode string db = dao.GetDB() - fromDateStr = time.Now().AddDate(0, 0, -5).Format("2006-1-2") + " 00:00:00" - toDateStr = time.Now().AddDate(0, 0, -5).Format("2006-1-2") + " 23:59:59" + fromDateStr = time.Now().AddDate(0, 0, -1).Format("2006-1-2") + " 00:00:00" + toDateStr = time.Now().AddDate(0, 0, -1).Format("2006-1-2") + " 23:59:59" mapResult = make(map[string]interface{}) ) result, err := dao.GetOrdersForJxPay(db, utils.Str2Time(fromDateStr), utils.Str2Time(toDateStr)) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index eeba4f5c5..62fa786d2 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -185,6 +185,7 @@ func (c *SkuController) AddSkuName() { // @Param token header string true "认证token" // @Param nameID formData int true "需要修改的商品名ID,payload中的相应数据会被忽略" // @Param payload formData string true "json数据,SkuNameExt对象(),Skus无效, Places有效" +// @Param isExd formData bool true "是否要修改饿鲜达商品" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /UpdateSkuName [put] @@ -197,7 +198,7 @@ func (c *SkuController) UpdateSkuName() { delete(payload, "exPrefix") delete(payload, "exPrefixBegin") delete(payload, "exPrefixEnd") - retVal, err = cms.UpdateSkuName(params.Ctx, params.NameID, payload) + retVal, err = cms.UpdateSkuName(params.Ctx, params.NameID, payload, params.IsExd) } return retVal, "", err }) From 14a012c9c8156f5d96266f4ed652cd46e37a9a84 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, 19 Feb 2020 08:49:19 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E6=8F=92=E5=85=A5=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E8=A1=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/event/event.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/event/event.go b/business/jxstore/event/event.go index 1d464bc75..2b39dbf3e 100644 --- a/business/jxstore/event/event.go +++ b/business/jxstore/event/event.go @@ -39,7 +39,7 @@ func AddOperateEvent(ctx *jxcontext.Context, accessUUID, jsonData string, errCod if ctx.GetRequest() == nil { return nil } - if apiFunctionSpec != "" { + if apiFunctionSpec == "" { url := ctx.GetRequest().URL.Path if url != "" { apiFunction = url[strings.LastIndex(url, "/")+1 : len(url)] From 78acdfdf1928af680b0f70679c4cd086d423071f 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, 19 Feb 2020 09:01:38 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=89=93=E6=AC=BE?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=AA=8C=E8=AF=81=E6=96=B9=E5=BC=8F=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98appid=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/auth2/auth2.go | 2 +- business/auth2/authprovider/defauther.go | 2 +- business/jxstore/cms/user2.go | 4 ++-- business/jxutils/weixinmsg/weixinmsg.go | 2 +- business/model/dao/dao_auth2.go | 6 +++++- business/partner/purchase/jx/localjx/order.go | 6 +++--- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/business/auth2/auth2.go b/business/auth2/auth2.go index 039b112b2..bcf932354 100644 --- a/business/auth2/auth2.go +++ b/business/auth2/auth2.go @@ -446,5 +446,5 @@ func DisableUser(userID, operatorUserName string) (err error) { } func GetUserBindAuthInfo(userID string) (authList []*model.AuthBind, err error) { - return dao.GetUserBindAuthInfo(dao.GetDB(), userID, model.AuthBindTypeAuth, nil, "", "") + return dao.GetUserBindAuthInfo(dao.GetDB(), userID, model.AuthBindTypeAuth, nil, "", "", "") } diff --git a/business/auth2/authprovider/defauther.go b/business/auth2/authprovider/defauther.go index ea0ea4620..510a0c17c 100644 --- a/business/auth2/authprovider/defauther.go +++ b/business/auth2/authprovider/defauther.go @@ -82,7 +82,7 @@ func (a *DefAuther) UnionFindAuthBind(curAuthType, curAuthTypeID string, unionAu } else if dao.IsNoRowsError(err) { // 直接找不到,尝试unionID if unionID != "" { // 且有unionID var authBindList []*model.AuthBind - if authBindList, err = dao.GetUserBindAuthInfo(db, "", model.AuthBindTypeAuth, unionAuthTypeList, "", unionID); err == nil && len(authBindList) > 0 { // 通过unionID找到至少一个认证方式 + if authBindList, err = dao.GetUserBindAuthInfo(db, "", model.AuthBindTypeAuth, unionAuthTypeList, "", unionID, ""); err == nil && len(authBindList) > 0 { // 通过unionID找到至少一个认证方式 authBind = authBindList[0] authBind.Type = curAuthType authBind.TypeID = curAuthTypeID diff --git a/business/jxstore/cms/user2.go b/business/jxstore/cms/user2.go index d71983974..ff29eb99b 100644 --- a/business/jxstore/cms/user2.go +++ b/business/jxstore/cms/user2.go @@ -804,7 +804,7 @@ func HandleUserWXRemark(db *dao.DaoDB, mobile string, mobileIsUerID bool) (err e } } if userID != "" { - authBindList, err2 := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{weixin.AuthTypeMP}, "", "") + authBindList, err2 := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{weixin.AuthTypeMP}, "", "", "") if err = err2; err == nil { for _, v := range authBindList { openIDs = append(openIDs, v.AuthID) @@ -972,7 +972,7 @@ func WriteToExcelJd(task *tasksch.SeqTask, jd []JdUserStruct) (err error) { func UpdateUserWxNoAndPercent(user *model.User, isReceiver bool) (num int64, err error) { db := dao.GetDB() user2, err := dao.GetUserByID(db, "user_id", user.UserID) - auth, err := dao.GetUserBindAuthInfo(db, user.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "") + auth, err := dao.GetUserBindAuthInfo(db, user.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "wx4b5930c13f8b1170") if len(auth) == 0 { return 0, fmt.Errorf("未找到此用户的微信验证方式!用户ID:[%v]\n", user.UserID) } diff --git a/business/jxutils/weixinmsg/weixinmsg.go b/business/jxutils/weixinmsg/weixinmsg.go index 5123629ac..306dd8fb0 100644 --- a/business/jxutils/weixinmsg/weixinmsg.go +++ b/business/jxutils/weixinmsg/weixinmsg.go @@ -96,7 +96,7 @@ func GetWeixinOpenIDsFromStoreID(storeID int) (retVal []string) { if globals.EnableWXAuth2 { if userIDList, err2 := api2.RoleMan.GetRoleUserList(autils.NewStoreBossRole(storeID)); err2 == nil { for _, v := range userIDList { - if authList, err2 := dao.GetUserBindAuthInfo(db, v, model.AuthBindTypeAuth, []string{weixin.AuthTypeMP}, "", ""); err2 == nil { + if authList, err2 := dao.GetUserBindAuthInfo(db, v, model.AuthBindTypeAuth, []string{weixin.AuthTypeMP}, "", "", ""); err2 == nil { for _, v := range authList { retVal = append(retVal, v.AuthID) openIDMap[v.AuthID] = 1 diff --git a/business/model/dao/dao_auth2.go b/business/model/dao/dao_auth2.go index 6933f0040..24f876168 100644 --- a/business/model/dao/dao_auth2.go +++ b/business/model/dao/dao_auth2.go @@ -27,7 +27,7 @@ func GetAuthBind(db *DaoDB, bindType int, authType, authID string) (authBind *mo return authBind, err } -func GetUserBindAuthInfo(db *DaoDB, userID string, bindType int, typeList []string, authID, authID2 string) (authList []*model.AuthBind, err error) { +func GetUserBindAuthInfo(db *DaoDB, userID string, bindType int, typeList []string, authID, authID2, typeID string) (authList []*model.AuthBind, err error) { sql := ` SELECT * FROM auth_bind t1 @@ -56,6 +56,10 @@ func GetUserBindAuthInfo(db *DaoDB, userID string, bindType int, typeList []stri sql += " AND t1.auth_id2 = ?" sqlParams = append(sqlParams, authID2) } + if typeID != "" { + sql += " AND t1.type_id = ?" + sqlParams = append(sqlParams, typeID) + } sql += " ORDER BY t1.type" err = GetRows(db, &authList, sql, sqlParams...) return authList, err diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index b9484f2e3..68813e0d1 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -652,7 +652,7 @@ func PayForPopluarMan(ctx *jxcontext.Context, vendorOrderID, userID string, pric if user == nil { return fmt.Errorf("未找到此用户!用户ID:[%v]\n", userID) } - auth, err := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "") + auth, err := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "wx4b5930c13f8b1170") if len(auth) == 0 { return fmt.Errorf("未找到此用户的微信验证方式!用户ID:[%v]\n", userID) } @@ -698,7 +698,7 @@ func AutoPayForPopluarMan(ctx *jxcontext.Context) (err error) { return err } user2, err := dao.GetUserByID(db, "mobile", user.ParentMobile) - auths, err := dao.GetUserBindAuthInfo(db, user2.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "") + auths, err := dao.GetUserBindAuthInfo(db, user2.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "wx4b5930c13f8b1170") if err != nil { return err } @@ -726,7 +726,7 @@ func AutoPayForPopluarMan(ctx *jxcontext.Context) (err error) { } if user2.ParentMobile != "" { user3, err := dao.GetUserByID(db, "mobile", user2.ParentMobile) - auths, err := dao.GetUserBindAuthInfo(db, user3.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "") + auths, err := dao.GetUserBindAuthInfo(db, user3.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "wx4b5930c13f8b1170") if err != nil { return err } From ed9db951c6765f8c9346fe1f19120665591dc08b 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, 19 Feb 2020 09:42:44 +0800 Subject: [PATCH 04/12] =?UTF-8?q?updateskuname=20isExd=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E4=B8=BA=E4=B8=8D=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/cms_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 62fa786d2..0faf886ad 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -185,7 +185,7 @@ func (c *SkuController) AddSkuName() { // @Param token header string true "认证token" // @Param nameID formData int true "需要修改的商品名ID,payload中的相应数据会被忽略" // @Param payload formData string true "json数据,SkuNameExt对象(),Skus无效, Places有效" -// @Param isExd formData bool true "是否要修改饿鲜达商品" +// @Param isExd formData bool fasle "是否要修改饿鲜达商品" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /UpdateSkuName [put] From 5770f493c81403ea0c3773c733f3729e860f9841 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, 19 Feb 2020 09:49:42 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E6=AF=8F=E6=97=A5=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=89=93=E6=AC=BE=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 68813e0d1..3e631bb2a 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -8,6 +8,7 @@ import ( "time" "git.rosy.net.cn/jx-callback/business/jxstore/event" + "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/baseapi/platformapi/wxpayapi" @@ -763,6 +764,7 @@ func AutoPayForPopluarMan(ctx *jxcontext.Context) (err error) { errCode = model.ErrCodeSuccess } err = event.AddOperateEvent(ctx, ctx.GetTrackInfo(), cms.BuildDiffData(mapResult), errCode, errMsg, 0, "AutoPayForPopluarMan") + globals.SugarLogger.Debugf("每日订单打款:[%v]", cms.BuildDiffData(mapResult)) return err } From 4daf43aa144376ab40ebbd73917996a3d1f10ba8 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, 19 Feb 2020 09:50:05 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E6=AF=8F=E6=97=A5=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=89=93=E6=AC=BE=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/misc/misc.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index 75d812172..3e770eca6 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -96,7 +96,7 @@ var ( "9:00:00", } autoPayForPopluarManList = []string{ - "9:30:00", + "10:30:00", } autoSaleStoreSkuTimeList = []string{ From cadb26b5be4939877f68f32309d665555ef59a69 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, 19 Feb 2020 11:11:33 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E5=95=86=E5=93=81=E5=BA=93=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=A2=9E=E5=8A=A0=E9=AA=8C=E8=AF=81=E9=A5=BF=E9=B2=9C?= =?UTF-8?q?=E8=BE=BE=E7=9B=B8=E5=85=B3=E4=B8=8D=E6=93=8D=E4=BD=9Cthingmap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 2 +- business/jxstore/cms/sync2.go | 45 ++++++++++++++++++++--------------- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index a7afebcb9..35c118ef1 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1078,7 +1078,7 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{} } return 0, err } - if sku.ExdSkuID != "" { + if sku.ExdSkuID == "" { if err = OnUpdateThing(ctx, db, nil, int64(skuID), model.ThingTypeSku); err != nil { dao.Rollback(db) return 0, err diff --git a/business/jxstore/cms/sync2.go b/business/jxstore/cms/sync2.go index d1ab19f03..6316c4ce0 100644 --- a/business/jxstore/cms/sync2.go +++ b/business/jxstore/cms/sync2.go @@ -91,7 +91,7 @@ func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs // TODO 同一平台不同账号会有影响needSyncParentIDs,暂不处理 var needSyncParentIDs []int for _, cat := range catList { - if cat.Level == 2 && cat.ParentVendorCatID == "" { + if cat.Level == 2 && cat.ParentVendorCatID == "" && cat.IsExdSpec == model.NO { needSyncParentIDs = append(needSyncParentIDs, cat.ParentID) } } @@ -144,6 +144,9 @@ func SyncSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int, if skuVendorInfo.BindID == 0 { return nil, fmt.Errorf("商品:%d的数据异常", skuVendorInfo.SkuID) } + if skuVendorInfo.ExdSkuID != "" { + return nil, err + } skuVendorInfo.SkuName = jxutils.ComposeSkuName(skuVendorInfo.Prefix, skuVendorInfo.Name, skuVendorInfo.Comment, skuVendorInfo.Unit, skuVendorInfo.SpecQuality, skuVendorInfo.SpecUnit, 0, skuVendorInfo.ExPrefix, skuVendorInfo.ExPrefixBegin, skuVendorInfo.ExPrefixEnd) skuVendorInfo.MergedStatus = jxutils.MergeSkuStatus(skuVendorInfo.Status, skuVendorInfo.NameStatus) if multiStoresHandler, ok := partner.GetPurchasePlatformFromVendorID(skuVendorInfo.VendorID).(partner.IMultipleStoresHandler); ok { @@ -466,18 +469,20 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, if opType == AmendPruneOnlyAmend || opType == AmendPruneAll { for _, v := range localSkuList { - if v.BindID != 0 { - if !model.IsSyncStatusDelete(v.SkuSyncStatus) { - if remoteSkuMap[v.VendorSkuID] == 0 { - if !model.IsSyncStatusNew(v.SkuSyncStatus) { - OnCreateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) + if v.ExdSkuID == "" { + if v.BindID != 0 { + if !model.IsSyncStatusDelete(v.SkuSyncStatus) { + if remoteSkuMap[v.VendorSkuID] == 0 { + if !model.IsSyncStatusNew(v.SkuSyncStatus) { + OnCreateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) + } + } else if isForceUpdate { + OnUpdateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) } - } else if isForceUpdate { - OnUpdateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) } + } else { + OnCreateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) } - } else { - OnCreateThing(ctx, db, vendorInfo, int64(v.SkuID), model.ThingTypeSku) } } } @@ -510,18 +515,20 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, cat2Delete = checkRemoteCatExist(remoteCatMap, localCatMap, remoteCatList) for _, v := range localCatList { - if v.MapID != 0 { - if !model.IsSyncStatusDelete(v.CatSyncStatus) { - if remoteCatMap[v.VendorCatID] == 0 { - if !model.IsSyncStatusNew(v.CatSyncStatus) { - OnCreateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) + if v.IsExdSpec == model.NO { + if v.MapID != 0 { + if !model.IsSyncStatusDelete(v.CatSyncStatus) { + if remoteCatMap[v.VendorCatID] == 0 { + if !model.IsSyncStatusNew(v.CatSyncStatus) { + OnCreateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) + } + } else if isForceUpdate && !model.IsSyncStatusUpdate(v.CatSyncStatus) { + OnUpdateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) } - } else if isForceUpdate && !model.IsSyncStatusUpdate(v.CatSyncStatus) { - OnUpdateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) } + } else { + OnCreateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) } - } else { - OnCreateThing(ctx, db, vendorInfo, int64(v.ID), model.ThingTypeCategory) } } } From 776657ed2b7a5b1b4830f11775f2ccabb6e555e9 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, 19 Feb 2020 11:38:55 +0800 Subject: [PATCH 08/12] =?UTF-8?q?getskunames=E5=85=B3=E4=BA=8E=E9=A5=BF?= =?UTF-8?q?=E9=B2=9C=E8=BE=BE=E5=8F=82=E6=95=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 6 +++--- business/model/const.go | 5 +++-- controllers/cms_sku.go | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 35c118ef1..20c8b742e 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -421,10 +421,10 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku bool, params ma } } if params["isExd"] != nil { - var idExd = params["isExd"].(bool) - if idExd { + var idExd = params["isExd"].(int) + if idExd == model.DISABLED { sql += " AND t2.exd_sku_id <> ''" - } else { + } else if idExd == model.NO { sql += " AND t2.exd_sku_id = ''" } } else { diff --git a/business/model/const.go b/business/model/const.go index 228d6eb79..e5d935b1b 100644 --- a/business/model/const.go +++ b/business/model/const.go @@ -396,8 +396,9 @@ const ( ) const ( - YES = 1 //通用 - NO = 0 + YES = 1 //通用 + NO = 0 + DISABLED = -1 ) func IsPurchaseVendorExist(vendorID int) bool { diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 0faf886ad..eb3beff28 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -147,7 +147,7 @@ func (c *SkuController) SyncCategory() { // @Param skuCategoryID query int false "商品所属类别ID" // @Param unit query string false "商品单位" // @Param isSpu query bool false "是否是SPU" -// @Param isExd query bool false "是否是饿鲜达商品" +// @Param isExd query int false "是否是饿鲜达商品 ,0为只查非饿鲜达,-1为只查饿鲜达,1为都查" // @Param fromStatus query int false "查询起始状态(0:下架,1:正常)" // @Param toStatus query int false "查询起始状态(0:下架,1:正常)" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" From 44c77211ecca5bc00a65edb8ec8f7a2f987a48ad 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, 19 Feb 2020 11:41:17 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E6=94=B9=E5=8A=A8=E9=80=80=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 6 +++--- controllers/cms_sku.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 20c8b742e..35c118ef1 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -421,10 +421,10 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku bool, params ma } } if params["isExd"] != nil { - var idExd = params["isExd"].(int) - if idExd == model.DISABLED { + var idExd = params["isExd"].(bool) + if idExd { sql += " AND t2.exd_sku_id <> ''" - } else if idExd == model.NO { + } else { sql += " AND t2.exd_sku_id = ''" } } else { diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index eb3beff28..0faf886ad 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -147,7 +147,7 @@ func (c *SkuController) SyncCategory() { // @Param skuCategoryID query int false "商品所属类别ID" // @Param unit query string false "商品单位" // @Param isSpu query bool false "是否是SPU" -// @Param isExd query int false "是否是饿鲜达商品 ,0为只查非饿鲜达,-1为只查饿鲜达,1为都查" +// @Param isExd query bool false "是否是饿鲜达商品" // @Param fromStatus query int false "查询起始状态(0:下架,1:正常)" // @Param toStatus query int false "查询起始状态(0:下架,1:正常)" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" From afbdeff7fc4cd9e11d73e2cc81420d7c3703ce31 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, 19 Feb 2020 13:42:54 +0800 Subject: [PATCH 10/12] =?UTF-8?q?QueryConfigs=20=20token=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/cms.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/cms.go b/controllers/cms.go index 2e9b700fa..a323bb673 100644 --- a/controllers/cms.go +++ b/controllers/cms.go @@ -286,7 +286,7 @@ func (c *CmsController) UpdateConfig() { // @Title 查询配置 // @Description 查询配置 -// @Param token header string true "认证token" +// @Param token header string fasle "认证token" // @Param type query string false "配置类型(当前只支持PricePack)" // @Param key query string false "配置名" // @Param keyword query string false "关键字" From 466d14a23ec5cb656268f5d67162890b8ca51531 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, 19 Feb 2020 13:55:14 +0800 Subject: [PATCH 11/12] =?UTF-8?q?GetStoresOrderSaleInfo=20=20=20=20=20<=3D?= =?UTF-8?q?=2024=20=E5=B0=8F=E6=97=B6=EF=BC=8C=E6=8C=89=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/orderman_ext.go | 10 +++++-- business/model/dao/dao_order.go | 30 ++++++++++++++++---- controllers/cms_sku.go | 6 ++-- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 3d9e7f2f2..0d9153c59 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -615,15 +615,19 @@ func (c *OrderManager) GetStoresOrderSaleInfo(ctx *jxcontext.Context, storeIDLis func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeIDList []int, fromTime time.Time, toTime time.Time, statusList []int) (saleInfoList []*dao.StoresOrderSaleInfo, err error) { db := dao.GetDB() - orderSkuList, err := dao.GetStoreOrderSkuList(db, storeIDList, fromTime, toTime, statusList) + var isFinish = true + if toTime.Sub(fromTime).Hours() > 24 { + isFinish = false + } + orderSkuList, err := dao.GetStoreOrderSkuList(db, storeIDList, fromTime, toTime, statusList, isFinish) if err != nil { return nil, err } - afsSkuList, err := dao.GetStoreAfsOrderSkuList(db, storeIDList, fromTime, toTime, []int{model.AfsOrderStatusFinished}) + afsSkuList, err := dao.GetStoreAfsOrderSkuList(db, storeIDList, fromTime, toTime, []int{model.AfsOrderStatusFinished}, isFinish) if err != nil { return nil, err } - orderSkuList4Afs, err := dao.GetStoreOrderSkuList4Afs(db, storeIDList, fromTime, toTime) + orderSkuList4Afs, err := dao.GetStoreOrderSkuList4Afs(db, storeIDList, fromTime, toTime, isFinish) if err != nil { return nil, err } diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 747de32a9..5ada9912c 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -352,7 +352,7 @@ func GetAfsOrderSkuInfo(db *DaoDB, vendorOrderID, afsOrderID string, vendorID in return skus, err } -func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int) (skuList []*OrderSkuWithActualPayPrice, err error) { +func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int, isFinish bool) (skuList []*OrderSkuWithActualPayPrice, err error) { // order_finished_at sql := ` SELECT t1.*, @@ -361,7 +361,12 @@ func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAt FROM order_sku t1 JOIN goods_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id LEFT JOIN store t3 ON t3.id = IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) - WHERE t2.order_finished_at >= ? AND t2.order_finished_at <= ?` + WHERE 1=1` + if isFinish { + sql += " AND t2.order_finished_at >= ? AND t2.order_finished_at <= ?" + } else { + sql += " AND t2.order_created_at >= ? AND t2.order_created_at <= ?" + } sqlParams := []interface{}{ finishedAtBegin, finishedAtEnd, @@ -378,7 +383,7 @@ func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAt return skuList, err } -func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time) (skuList []*OrderSkuWithActualPayPrice, err error) { +func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, isFinish bool) (skuList []*OrderSkuWithActualPayPrice, err error) { sql := ` SELECT t1.*, t2.actual_pay_price, t2.status, IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) store_id, @@ -389,7 +394,14 @@ func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finish JOIN ( SELECT t12.* FROM afs_order t12 - WHERE IF(t12.jx_store_id > 0, t12.jx_store_id, t12.store_id) IN (` + GenQuestionMarks(len(storeIDs)) + `) AND t12.afs_finished_at >= ? AND t12.afs_finished_at <= ? + WHERE IF(t12.jx_store_id > 0, t12.jx_store_id, t12.store_id) IN (` + GenQuestionMarks(len(storeIDs)) + `) + ` + if isFinish { + sql += " AND t12.afs_finished_at >= ? AND t12.afs_finished_at <= ?" + } else { + sql += " AND t12.afs_created_at >= ? AND t12.afs_created_at <= ?" + } + sql += ` ) t4 ON t4.vendor_order_id = t2.vendor_order_id AND t4.vendor_id = t2.vendor_id` sqlParams := []interface{}{ storeIDs, @@ -400,12 +412,18 @@ func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finish return skuList, err } -func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int) (afsSkuList []*model.OrderSkuFinancial, err error) { +func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int, isFinish bool) (afsSkuList []*model.OrderSkuFinancial, err error) { sql := ` SELECT t1.* FROM order_sku_financial t1 JOIN afs_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.afs_order_id = t1.afs_order_id - WHERE t1.is_afs_order = 1 AND t2.afs_finished_at >= ? AND t2.afs_finished_at <= ?` + WHERE t1.is_afs_order = 1 + ` + if isFinish { + sql += " AND t2.afs_finished_at >= ? AND t2.afs_finished_at <= ?" + } else { + sql += " AND t2.afs_created_at >= ? AND t2.afs_created_at <= ?" + } sqlParams := []interface{}{ finishedAtBegin, finishedAtEnd, diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 0faf886ad..a7675d1ab 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -436,7 +436,7 @@ func (c *SkuController) SumExianDaDepot() { // @Title 复制一个饿百的店的商品的价格和分类到京西饿鲜达商品 // @Description 复制一个饿百的店的商品的价格和分类到京西饿鲜达商品 // @Param token header string true "认证token" -// @Param baiduShopID formdata string true "饿百店ID" +// @Param baiduShopID formData string true "饿百店ID" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /CopyEbaiSkuPriceToJx [post] @@ -450,8 +450,8 @@ func (c *SkuController) CopyEbaiSkuPriceToJx() { // @Title 复制饿鲜达的门店商品到京西对应门店 // @Description 复制饿鲜达的门店商品到京西对应门店 // @Param token header string true "认证token" -// @Param baiduShopID formdata string true "饿百店ID" -// @Param storeID formdata int true "门店ID" +// @Param baiduShopID formData string true "饿百店ID" +// @Param storeID formData int true "门店ID" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /CopyEbaiStoreSkusToJx [post] From fabed5e23913c70677e68995d4ac1c2ebc41b9e5 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, 19 Feb 2020 14:09:49 +0800 Subject: [PATCH 12/12] =?UTF-8?q?GetStoresOrderSaleInfo=20=20=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/dao_order.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 5ada9912c..7691bcbf8 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -394,15 +394,13 @@ func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finish JOIN ( SELECT t12.* FROM afs_order t12 - WHERE IF(t12.jx_store_id > 0, t12.jx_store_id, t12.store_id) IN (` + GenQuestionMarks(len(storeIDs)) + `) - ` + WHERE IF(t12.jx_store_id > 0, t12.jx_store_id, t12.store_id) IN (` + GenQuestionMarks(len(storeIDs)) if isFinish { - sql += " AND t12.afs_finished_at >= ? AND t12.afs_finished_at <= ?" + sql += ") AND t12.afs_finished_at >= ? AND t12.afs_finished_at <= ?" } else { - sql += " AND t12.afs_created_at >= ? AND t12.afs_created_at <= ?" + sql += ") AND t12.afs_created_at >= ? AND t12.afs_created_at <= ?" } - sql += ` - ) t4 ON t4.vendor_order_id = t2.vendor_order_id AND t4.vendor_id = t2.vendor_id` + sql += ") t4 ON t4.vendor_order_id = t2.vendor_order_id AND t4.vendor_id = t2.vendor_id" sqlParams := []interface{}{ storeIDs, finishedAtBegin,