操作日志记录优化
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user