From 1f99d9223cec57efcff06e876bf8873e4bb08e9a 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, 15 Jan 2020 10:11:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 37 +++++++++++++++---------------- business/jxstore/event/event.go | 3 +-- routers/router.go | 1 - 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 833e392b1..b9edac9a8 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -1040,7 +1040,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs skuBind.Status = tmpStatus } if globals.IsAddEvent { - err = AddEventDetail(model.OperateAdd, v.RealSkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), "", "") + err = AddEventDetail(db, model.OperateAdd, v.RealSkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), "", "") } setStoreSkuBindStatus(skuBind, model.SyncFlagNewMask) dao.WrapAddIDCULDEntity(skuBind, userName) @@ -1069,7 +1069,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs skuBind = &v.StoreSkuBind if skuBindInfo.IsFocus == -1 && isCanChangePrice { if globals.IsAddEvent { - err = AddEventDetail(model.OperateDelete, skuBind.SkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), "", "") + err = AddEventDetail(db, model.OperateDelete, skuBind.SkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), "", "") } if num, err = dao.DeleteEntityLogically(db, skuBind, map[string]interface{}{ model.FieldStatus: model.StoreSkuBindStatusDeleted, @@ -1127,10 +1127,8 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs if globals.IsAddEvent { if len(updateFieldMap) > 0 { mapAfter := refutil.FindMapAndStructMixed(updateFieldMap, skuBind) - afterData := utils.MustMarshal(mapAfter) mapBefore := refutil.FindMapAndStructMixed(updateFieldMap, beforeMsg) - beforeData := utils.MustMarshal(mapBefore) - err = AddEventDetail(model.OperateUpdate, v.RealSkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), string(beforeData), string(afterData)) + err = AddEventDetail(db, model.OperateUpdate, v.RealSkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), BuildDiffData(mapBefore), BuildDiffData(mapAfter)) } } if len(updateFieldMap) > 0 { @@ -1184,7 +1182,7 @@ func getSkuSaleStatus(inSkuBind *StoreSkuBindSkuInfo, skuNameBindInfo *StoreSkuB return model.StoreSkuBindStatusNA } -func AddEventDetail(operateType, thingID, thingType, storeID int, accessUUID, beforeData, afterData string) (err error) { +func AddEventDetail(db *dao.DaoDB, operateType, thingID, thingType, storeID int, accessUUID, beforeData, afterData string) (err error) { operateEventDetail := &model.OperateEventDetail{ OperateType: operateType, ThingID: thingID, @@ -1194,7 +1192,7 @@ func AddEventDetail(operateType, thingID, thingType, storeID int, accessUUID, be BeforeData: beforeData, AfterData: afterData, } - err = event.AddOperateEventDetail(operateEventDetail) + err = event.AddOperateEventDetail(db, operateEventDetail) return err } @@ -1254,21 +1252,19 @@ func updateStoreSkusSaleWithoutSync(ctx *jxcontext.Context, storeID int, skuBind } else { kvs["AutoSaleAt"] = autoSaleTime } - var status int - if v.IsSale == -1 { - status = model.StoreSkuBindStatusDontSale - } else { - status = model.StoreSkuBindStatusNormal - } if globals.IsAddEvent { + var status int + if v.IsSale == -1 { + status = model.StoreSkuBindStatusDontSale + } else { + status = model.StoreSkuBindStatusNormal + } if status != statusResult { mapAfter := make(map[string]interface{}) mapAfter["Status"] = status - afterData := utils.MustMarshal(mapAfter) mapBefore := make(map[string]interface{}) mapBefore["Status"] = statusResult - beforeData := utils.MustMarshal(mapBefore) - err = AddEventDetail(model.OperateUpdate, v.SkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), string(beforeData), string(afterData)) + err = AddEventDetail(db, model.OperateUpdate, v.SkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), BuildDiffData(mapBefore), BuildDiffData(mapAfter)) } } if num, err = dao.UpdateEntityLogically(db, skuBind, kvs, userName, nil); err != nil { @@ -1286,6 +1282,11 @@ func updateStoreSkusSaleWithoutSync(ctx *jxcontext.Context, storeID int, skuBind return needSyncSkus, err } +func BuildDiffData(mapData map[string]interface{}) string { + dd := utils.MustMarshal(mapData) + return string(dd) +} + func uniqueStoreSkuBind(skuBindSkuInfos []*StoreSkuBindSkuInfo) (outSkuBindSkuInfos []*StoreSkuBindSkuInfo) { skuIDMap := make(map[int]int) for _, v := range skuBindSkuInfos { @@ -1591,11 +1592,9 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID int, toStoreIDs []int, co mapAfter["ToStoreIDs"] = toStoreIDs mapAfter["CopyMode"] = copyMode mapAfter["IsScale"] = isScale - afterData := utils.MustMarshal(mapAfter) mapBefore := make(map[string]interface{}) mapBefore["FromStoreID"] = fromStoreID - beforeData := utils.MustMarshal(mapBefore) - err = AddEventDetail(model.OperateCopyStoreSkus, 0, model.ThingTypeSku, fromStoreID, ctx.GetTrackInfo(), string(beforeData), string(afterData)) + err = AddEventDetail(db, model.OperateCopyStoreSkus, 0, model.ThingTypeSku, fromStoreID, ctx.GetTrackInfo(), BuildDiffData(mapBefore), BuildDiffData(mapAfter)) } return num, errList.GetErrListAsOne() } diff --git a/business/jxstore/event/event.go b/business/jxstore/event/event.go index ebd7b5ab2..66f67fc8e 100644 --- a/business/jxstore/event/event.go +++ b/business/jxstore/event/event.go @@ -42,8 +42,7 @@ func AddOperateEvent(ctx *jxcontext.Context, accessUUID string) (err error) { return err } -func AddOperateEventDetail(operateEventDetail *model.OperateEventDetail) (err error) { - db := dao.GetDB() +func AddOperateEventDetail(db *dao.DaoDB, operateEventDetail *model.OperateEventDetail) (err error) { dao.Begin(db) defer func() { if r := recover(); r != nil { diff --git a/routers/router.go b/routers/router.go index 4c5f056aa..25c299a46 100644 --- a/routers/router.go +++ b/routers/router.go @@ -154,7 +154,6 @@ func init() { beego.AutoRouter(&controllers.WeixinController{}) beego.AutoRouter(&controllers.DingDingController{}) beego.AutoRouter(&controllers.WXPayController{}) - beego.AutoRouter(&controllers.EventController{}) // 如下都是用于检测存活的空接口 beego.Any("/", func(ctx *beecontext.Context) {