- add param valueMask to UpdateEntityLogicallyAndUpdateSyncStatus

- judge change content in UpdateSku
- support change sku spec
This commit is contained in:
gazebo
2019-01-31 09:46:23 +08:00
parent a0cecdc4c6
commit d420aa68fe
6 changed files with 25 additions and 15 deletions

View File

@@ -70,7 +70,7 @@ func UpdateEntityLogically(db *DaoDB, item interface{}, kvs map[string]interface
}
// 此函数会更新同步标志
func UpdateEntityLogicallyAndUpdateSyncStatus(db *DaoDB, item interface{}, kvs map[string]interface{}, userName string, conditions map[string]interface{}, syncStatusFieldName string) (num int64, err error) {
func UpdateEntityLogicallyAndUpdateSyncStatus(db *DaoDB, item interface{}, kvs map[string]interface{}, userName string, conditions map[string]interface{}, syncStatusFieldName string, valueMask int) (num int64, err error) {
if conditions != nil {
conditions = utils.MergeMaps(conditions, map[string]interface{}{
model.FieldDeletedAt: utils.DefaultTimeValue,
@@ -88,7 +88,7 @@ func UpdateEntityLogicallyAndUpdateSyncStatus(db *DaoDB, item interface{}, kvs m
valueRows = reflect.Indirect(valueRows)
for i := 0; i < valueRows.Len(); i++ {
value := reflect.Indirect(valueRows.Index(i))
status := value.FieldByName(syncStatusFieldName).Int() | model.SyncFlagModifiedMask
status := value.FieldByName(syncStatusFieldName).Int() | int64(valueMask)
num2, err2 := UpdateEntityByKV(db, value.Interface(), utils.MergeMaps(kvs, map[string]interface{}{
model.FieldUpdatedAt: time.Now(),
model.FieldLastOperator: userName,

View File

@@ -68,6 +68,7 @@ const (
SyncFlagSaleMask = 8
SyncFlagPriceMask = 16
SyncFlagSpecMask = 32
)
// const (