操作日志记录优化

This commit is contained in:
苏尹岚
2020-01-15 10:11:22 +08:00
parent 59ffb8838f
commit 1f99d9223c
3 changed files with 19 additions and 22 deletions

View File

@@ -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
}
if globals.IsAddEvent {
var status int
if v.IsSale == -1 {
status = model.StoreSkuBindStatusDontSale
} else {
status = model.StoreSkuBindStatusNormal
}
if globals.IsAddEvent {
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()
}

View File

@@ -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 {

View File

@@ -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) {