操作日志记录(beta)-门店商品
This commit is contained in:
@@ -143,6 +143,7 @@ func InitServiceInfo(version string, buildTime time.Time, gitCommit string) {
|
||||
"supplementType": model.SupplementTypeName,
|
||||
"operateType": model.OperateTypeName,
|
||||
"thingType": model.ThingTypeName,
|
||||
"apiFunctionName": model.ApiFunctionName,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,8 @@ import (
|
||||
"time"
|
||||
"unicode"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/globals/refutil"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/event"
|
||||
|
||||
"git.rosy.net.cn/baseapi"
|
||||
@@ -1037,7 +1039,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
if tmpStatus := getSkuSaleStatus(inSkuBind, skuBindInfo); tmpStatus != model.StoreSkuBindStatusNA {
|
||||
skuBind.Status = tmpStatus
|
||||
}
|
||||
// err = AddEventDetail(model.OperateAdd, v.RealSkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), "", "")
|
||||
err = AddEventDetail(model.OperateAdd, v.RealSkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), "", "")
|
||||
setStoreSkuBindStatus(skuBind, model.SyncFlagNewMask)
|
||||
dao.WrapAddIDCULDEntity(skuBind, userName)
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(skuBind, false))
|
||||
@@ -1061,9 +1063,10 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
}
|
||||
}
|
||||
} else {
|
||||
beforeMsg := *v
|
||||
skuBind = &v.StoreSkuBind
|
||||
if skuBindInfo.IsFocus == -1 && isCanChangePrice {
|
||||
// err = AddEventDetail(model.OperateDelete, skuBind.SkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), "", "")
|
||||
err = AddEventDetail(model.OperateDelete, skuBind.SkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), "", "")
|
||||
if num, err = dao.DeleteEntityLogically(db, skuBind, map[string]interface{}{
|
||||
model.FieldStatus: model.StoreSkuBindStatusDeleted,
|
||||
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
@@ -1117,12 +1120,13 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
skuBind.StatusSaleEnd = skuBindInfo.StatusSaleEnd
|
||||
}
|
||||
}
|
||||
// if updateFieldMap != nil {
|
||||
// afterData := utils.MustMarshal(updateFieldMap)
|
||||
// mapresult := refutil.FindMapAndStructMixed(updateFieldMap, skuBind)
|
||||
// beforeData := utils.MustMarshal(mapresult)
|
||||
// AddEventDetail(model.OperateUpdate, v.RealSkuID, model.ThingTypeSku, storeID, ctx.GetTrackInfo(), string(beforeData), string(afterData))
|
||||
// }
|
||||
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))
|
||||
}
|
||||
if len(updateFieldMap) > 0 {
|
||||
updateFieldMap[model.FieldJdSyncStatus] = 1
|
||||
updateFieldMap[model.FieldEbaiSyncStatus] = 1
|
||||
@@ -1225,6 +1229,7 @@ func updateStoreSkusSaleWithoutSync(ctx *jxcontext.Context, storeID int, skuBind
|
||||
for _, skuBind := range storeSkuList {
|
||||
if v := skuBindSkuInfosMap[skuBind.SkuID]; v != nil && v.IsSale != 0 {
|
||||
if !(!utils.IsTimeZero(autoSaleTime) && ignoreDontSale && skuBind.Status == model.StoreSkuBindStatusDontSale) {
|
||||
statusResult := skuBind.Status
|
||||
if v.IsSale == -1 || !utils.IsTimeZero(autoSaleTime) {
|
||||
skuBind.Status = model.StoreSkuBindStatusDontSale
|
||||
} else if v.IsSale == 1 {
|
||||
@@ -1243,6 +1248,21 @@ 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 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))
|
||||
}
|
||||
if num, err = dao.UpdateEntityLogically(db, skuBind, kvs, userName, nil); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
@@ -1300,7 +1320,6 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID int, toStoreIDs []int, co
|
||||
if copyMode != CopyStoreSkuModeFresh && copyMode != CopyStoreSkuModeUpdate && copyMode != CopyStoreSkuModeUpdatePrice {
|
||||
return 0, fmt.Errorf("不支持的拷贝模式:%s", copyMode)
|
||||
}
|
||||
|
||||
db := dao.GetDB()
|
||||
fromStore, err := checkStoreExisting(db, fromStoreID)
|
||||
if err != nil {
|
||||
@@ -1559,6 +1578,15 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID int, toStoreIDs []int, co
|
||||
globals.SugarLogger.Debugf("CopyStoreSkus fromStoreID:%d, toStoreID:%d, trackInfo:%s num3:%d", fromStoreID, toStoreID, ctx.GetTrackInfo(), num2)
|
||||
dao.Commit(db)
|
||||
}
|
||||
mapAfter := make(map[string]interface{})
|
||||
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))
|
||||
return num, errList.GetErrListAsOne()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user