- fix bug in UpdateEntityLogically

This commit is contained in:
gazebo
2018-09-20 12:24:24 +08:00
parent 582b4c9722
commit 1fa6540f19
2 changed files with 10 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ import (
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals"
) )
// 这里面的函数要求实体是IDCUDL的即含有ID, UpdatedAt, LastOperator, DeletedAt字段 // 这里面的函数要求实体是IDCUDL的即含有ID, UpdatedAt, LastOperator, DeletedAt字段
@@ -49,19 +50,24 @@ func UpdateEntityByKV(db *DaoDB, item interface{}, kvs map[string]interface{}, c
qs = qs.Filter(k, v) qs = qs.Filter(k, v)
} }
} }
globals.SugarLogger.Debugf("UpdateEntityByKV befor item:%s, kvs:%s, conditions:%s", utils.Format4Output(item, false), utils.Format4Output(kvs, false), utils.Format4Output(conditions, false))
num, err = qs.Update(kvs) num, err = qs.Update(kvs)
globals.SugarLogger.Debugf("UpdateEntityByKV fater update, num:%d", num)
return err return err
}, reflect.TypeOf(item).Name()) }, reflect.TypeOf(item).Name())
return num, err return num, err
} }
func UpdateEntityLogically(db *DaoDB, item interface{}, kvs map[string]interface{}, userName string, conditions map[string]interface{}) (num int64, err error) { func UpdateEntityLogically(db *DaoDB, item interface{}, kvs map[string]interface{}, userName string, conditions map[string]interface{}) (num int64, err error) {
if conditions != nil {
conditions = utils.MergeMaps(conditions, map[string]interface{}{
model.FieldDeletedAt: utils.DefaultTimeValue,
})
}
return UpdateEntityByKV(db, item, utils.MergeMaps(kvs, map[string]interface{}{ return UpdateEntityByKV(db, item, utils.MergeMaps(kvs, map[string]interface{}{
model.FieldUpdatedAt: time.Now(), model.FieldUpdatedAt: time.Now(),
model.FieldLastOperator: userName, model.FieldLastOperator: userName,
}), utils.MergeMaps(conditions, map[string]interface{}{ }), conditions)
model.FieldDeletedAt: utils.DefaultTimeValue,
}))
} }
func DeleteEntityLogically(db *DaoDB, item interface{}, kvs map[string]interface{}, userName string, conditions map[string]interface{}) (num int64, err error) { func DeleteEntityLogically(db *DaoDB, item interface{}, kvs map[string]interface{}, userName string, conditions map[string]interface{}) (num int64, err error) {

View File

@@ -26,7 +26,7 @@ func (p *PurchaseHandler) SyncStoreSku(storeID int, skuIDs []int, isForce bool,
sql += " AND sku_id IN (" + dao.GenQuestionMarks(len(skuIDs)) + ")" sql += " AND sku_id IN (" + dao.GenQuestionMarks(len(skuIDs)) + ")"
sqlParams = append(sqlParams, skuIDs) sqlParams = append(sqlParams, skuIDs)
} }
globals.SugarLogger.Debug(sql) globals.SugarLogger.Debug(sql, sqlParams)
if err = dao.GetRows(db, &storeSkus, sql, sqlParams); err == nil { if err = dao.GetRows(db, &storeSkus, sql, sqlParams); err == nil {
outStationNo := utils.Int2Str(storeID) outStationNo := utils.Int2Str(storeID)
task := tasksch.RunTask("", func(batchItemList []interface{}, params ...interface{}) (interface{}, error) { task := tasksch.RunTask("", func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {