Merge remote-tracking branch 'origin/mark' into yonghui
This commit is contained in:
@@ -101,8 +101,8 @@ func AddCategory(ctx *jxcontext.Context, cat *model.SkuCategory, userName string
|
||||
}
|
||||
|
||||
dao.WrapAddIDCULDEntity(cat, userName)
|
||||
cat.JdSyncStatus = model.SyncFlagNewMask
|
||||
cat.JdID = 0
|
||||
// cat.JdSyncStatus = model.SyncFlagNewMask
|
||||
// cat.JdID = 0
|
||||
cat.Status = model.CategoryStatusEnable
|
||||
cat.Name = strings.Trim(cat.Name, " ")
|
||||
if cat.Img != "" {
|
||||
@@ -152,12 +152,12 @@ func UpdateCategory(ctx *jxcontext.Context, categoryID int, payload map[string]i
|
||||
}
|
||||
valid := dao.StrictMakeMapByStructObject(payload, cat, userName)
|
||||
if len(valid) > 0 {
|
||||
syncStatus := 0
|
||||
if valid["name"] != nil {
|
||||
valid["name"] = strings.Trim(valid["name"].(string), " ")
|
||||
syncStatus = model.SyncFlagModifiedMask
|
||||
valid[model.FieldJdSyncStatus] = int8(syncStatus) | cat.JdSyncStatus
|
||||
}
|
||||
// syncStatus := 0
|
||||
// if valid["name"] != nil {
|
||||
// valid["name"] = strings.Trim(valid["name"].(string), " ")
|
||||
// syncStatus = model.SyncFlagModifiedMask
|
||||
// valid[model.FieldJdSyncStatus] = int8(syncStatus) | cat.JdSyncStatus
|
||||
// }
|
||||
if valid["status"] != nil {
|
||||
if utils.Interface2Int64WithDefault(valid["status"], -1) == model.CategoryStatusDisabled {
|
||||
if skuList, err2 := dao.GetSkuByCats(db, []int{categoryID}); err2 == nil && len(skuList) > 0 {
|
||||
@@ -336,7 +336,10 @@ func DeleteCategory(ctx *jxcontext.Context, categoryID int, userName string) (nu
|
||||
dao.Rollback(db)
|
||||
return 0, err
|
||||
}
|
||||
if num, err = dao.DeleteEntityLogically(db, cat, utils.Params2Map(model.FieldJdSyncStatus, model.SyncFlagDeletedMask), userName, nil); err != nil {
|
||||
if num, err = dao.DeleteEntityLogically(db, cat, map[string]interface{}{
|
||||
// model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldStatus: 0,
|
||||
}, userName, nil); err != nil {
|
||||
dao.Rollback(db)
|
||||
return 0, err
|
||||
}
|
||||
@@ -441,8 +444,13 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku bool, params ma
|
||||
return nil, err
|
||||
}
|
||||
if len(vendorSkuIDs) > 0 {
|
||||
sql += " AND t2.jd_id IN (" + dao.GenQuestionMarks(len(vendorSkuIDs)) + ")"
|
||||
sqlParams = append(sqlParams, vendorSkuIDs)
|
||||
if globals.IsUseThingMap {
|
||||
sql += " AND (SELECT COUNT(*) FROM thing_map tm WHERE tm.thing_type = ? AND tm.thing_id = t2.id AND tm.deleted_at = ? AND tm.vendor_thing_id IN (" + dao.GenQuestionMarks(len(vendorSkuIDs)) + ")) > 0"
|
||||
sqlParams = append(sqlParams, utils.DefaultTimeValue, vendorSkuIDs)
|
||||
} else {
|
||||
sql += " AND t2.jd_id IN (" + dao.GenQuestionMarks(len(vendorSkuIDs)) + ")"
|
||||
sqlParams = append(sqlParams, vendorSkuIDs)
|
||||
}
|
||||
}
|
||||
}
|
||||
if params["name"] != nil {
|
||||
@@ -552,16 +560,18 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku bool, params ma
|
||||
t1.is_spu,
|
||||
t1.desc_img,
|
||||
t1.upc,
|
||||
/*
|
||||
t1.jd_id,
|
||||
t1.jd_sync_status,
|
||||
*/
|
||||
t1.ex_prefix,
|
||||
t1.ex_prefix_begin,
|
||||
t1.ex_prefix_end,
|
||||
CONCAT("[", GROUP_CONCAT(DISTINCT CONCAT('{"id":', t2.id, ',"comment":"', t2.comment, '","status":', t2.status,
|
||||
',"createdAt":"', CONCAT(REPLACE(t2.created_at," ","T"),"+08:00"), '","updatedAt":"', CONCAT(REPLACE(t2.updated_at," ","T"),"+08:00"),
|
||||
'","lastOperator":"', t2.last_operator, '","specQuality":', t2.spec_quality, ',"specUnit":"', t2.spec_unit,
|
||||
'","weight":', t2.weight, ',"jdID":', t2.jd_id, ',"categoryID":', t2.category_id, ',"nameID":', t2.name_id,
|
||||
',"jdID":', t2.jd_id, ',"jdSyncStatus":', t2.jd_sync_status, ', "seq":', t2.seq,
|
||||
'","weight":', t2.weight, ',"categoryID":', t2.category_id, ',"nameID":', t2.name_id,
|
||||
', "seq":', t2.seq,
|
||||
"}")), "]") skus_str,
|
||||
CONCAT("[", GROUP_CONCAT(DISTINCT t3.place_code), "]") places_str
|
||||
` + sql + `
|
||||
@@ -670,7 +680,7 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
|
||||
skuNameExt.SkuName.Status = model.SkuStatusNormal
|
||||
if skuNameExt.IsSpu == 1 {
|
||||
return nil, fmt.Errorf("不允许创建多规格商品")
|
||||
skuNameExt.SkuName.JdSyncStatus = model.SyncFlagNewMask
|
||||
// skuNameExt.SkuName.JdSyncStatus = model.SyncFlagNewMask
|
||||
}
|
||||
if skuNameExt.Unit == model.SpecialUnit {
|
||||
skuNameExt.SpecQuality = float32(model.SpecialSpecQuality)
|
||||
@@ -727,8 +737,8 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
|
||||
sku := v.Sku
|
||||
dao.WrapAddIDCULDEntity(sku, userName)
|
||||
sku.NameID = skuNameExt.ID
|
||||
sku.JdSyncStatus = model.SyncFlagNewMask
|
||||
sku.JdID = 0
|
||||
// sku.JdSyncStatus = model.SyncFlagNewMask
|
||||
// sku.JdID = 0
|
||||
if err = dao.CreateEntity(db, sku); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
@@ -822,7 +832,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
valid[model.FieldJdSyncStatus] = model.SyncFlagModifiedMask | skuName.JdSyncStatus
|
||||
// valid[model.FieldJdSyncStatus] = model.SyncFlagModifiedMask | skuName.JdSyncStatus
|
||||
if num, err = dao.UpdateEntityLogically(db, skuName, valid, userName, nil); err != nil {
|
||||
dao.Rollback(db)
|
||||
return 0, err
|
||||
@@ -855,7 +865,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
||||
if err = err2; err == nil {
|
||||
for _, v := range skuList {
|
||||
sku := &v.Sku
|
||||
sku.JdSyncStatus |= model.SyncFlagModifiedMask
|
||||
// sku.JdSyncStatus |= model.SyncFlagModifiedMask
|
||||
sku.LastOperator = userName
|
||||
sku.UpdatedAt = time.Now()
|
||||
if _, err = dao.UpdateEntity(db, sku); err != nil {
|
||||
@@ -930,8 +940,8 @@ func DeleteSkuName(ctx *jxcontext.Context, nameID int, userName string) (num int
|
||||
return 0, err
|
||||
}
|
||||
if _, err = dao.DeleteEntityLogically(db, sku, map[string]interface{}{
|
||||
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldStatus: model.SkuStatusDeleted,
|
||||
// model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldStatus: model.SkuStatusDeleted,
|
||||
}, userName, nil); err != nil {
|
||||
dao.Rollback(db)
|
||||
return 0, err
|
||||
@@ -947,8 +957,8 @@ func DeleteSkuName(ctx *jxcontext.Context, nameID int, userName string) (num int
|
||||
skuName := &model.SkuName{}
|
||||
skuName.ID = nameID
|
||||
if num, err = dao.DeleteEntityLogically(db, skuName, map[string]interface{}{
|
||||
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldStatus: model.SkuStatusDeleted,
|
||||
// model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldStatus: model.SkuStatusDeleted,
|
||||
}, userName, nil); err != nil {
|
||||
dao.Rollback(db)
|
||||
return 0, err
|
||||
@@ -973,8 +983,8 @@ func AddSku(ctx *jxcontext.Context, nameID int, sku *model.Sku, userName string)
|
||||
}
|
||||
|
||||
dao.WrapAddIDCULDEntity(sku, userName)
|
||||
sku.JdSyncStatus = model.SyncFlagNewMask
|
||||
sku.JdID = 0
|
||||
// sku.JdSyncStatus = model.SyncFlagNewMask
|
||||
// sku.JdID = 0
|
||||
sku.NameID = nameID
|
||||
|
||||
dao.Begin(db)
|
||||
@@ -1028,7 +1038,7 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{}
|
||||
if valid["specQuality"] != nil || valid["specUnit"] != nil {
|
||||
maskValue |= model.SyncFlagSpecMask
|
||||
}
|
||||
valid[model.FieldJdSyncStatus] = maskValue | sku.JdSyncStatus
|
||||
// valid[model.FieldJdSyncStatus] = maskValue | sku.JdSyncStatus
|
||||
if num, err = dao.UpdateEntityLogically(db, sku, valid, userName, nil); err != nil || num == 0 {
|
||||
dao.Rollback(db)
|
||||
if err == nil {
|
||||
@@ -1121,8 +1131,8 @@ func DeleteSku(ctx *jxcontext.Context, skuID int, userName string) (num int64, e
|
||||
sku := &model.Sku{}
|
||||
sku.ID = skuID
|
||||
if num, err = dao.DeleteEntityLogically(db, sku, map[string]interface{}{
|
||||
model.FieldStatus: model.SkuStatusDeleted,
|
||||
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldStatus: model.SkuStatusDeleted,
|
||||
// model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
}, userName, nil); err != nil {
|
||||
dao.Rollback(db)
|
||||
return 0, err
|
||||
|
||||
@@ -282,8 +282,15 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool
|
||||
sqlParams = append(sqlParams, keywordLike, keywordLike, keywordLike, keywordLike)
|
||||
|
||||
if keywordInt64, err2 := strconv.ParseInt(keyword, 10, 64); err2 == nil {
|
||||
sql += " OR t1.id = ? OR t2.id = ? OR t2.jd_id = ?"
|
||||
sqlParams = append(sqlParams, keywordInt64, keywordInt64, keywordInt64)
|
||||
sql += " OR t1.id = ? OR t2.id = ?"
|
||||
sqlParams = append(sqlParams, keywordInt64, keywordInt64)
|
||||
if !globals.IsUseThingMap {
|
||||
sql += " OR t2.jd_id = ?"
|
||||
sqlParams = append(sqlParams, keywordInt64)
|
||||
} else {
|
||||
sql += " OR (SELECT COUNT(*) FROM thing_map tm WHERE tm.vendor_org_code = sm.vendor_org_code AND tm.thing_type = ? AND tm.thing_id = t2.id AND tm.deleted_at = ? AND tm.vendor_thing_id = ?) > 0"
|
||||
sqlParams = append(sqlParams, model.ThingTypeSku, utils.DefaultTimeValue, keywordInt64)
|
||||
}
|
||||
if isFocus {
|
||||
sql += " OR t4.ebai_id = ? OR t4.mtwm_id = ?"
|
||||
sqlParams = append(sqlParams, keywordInt64, keywordInt64)
|
||||
|
||||
@@ -379,23 +379,23 @@ func OnThingSync(ctx *jxcontext.Context, db *dao.DaoDB, thingMap *model.ThingMap
|
||||
}
|
||||
|
||||
func updateThingMapEntity(db *dao.DaoDB, thingMap *model.ThingMap) {
|
||||
if thingMap.VendorOrgCode == globals.JdOrgCode {
|
||||
if thingMap.ThingType == model.ThingTypeCategory {
|
||||
cat := &model.SkuCategory{
|
||||
JdID: utils.Str2Int64WithDefault(thingMap.VendorThingID, 0),
|
||||
JdSyncStatus: thingMap.SyncStatus,
|
||||
}
|
||||
cat.ID = int(thingMap.ThingID)
|
||||
dao.UpdateEntity(db, cat, "JdID", "JdSyncStatus")
|
||||
} else if thingMap.ThingType == model.ThingTypeSku {
|
||||
sku := &model.Sku{
|
||||
JdID: utils.Str2Int64WithDefault(thingMap.VendorThingID, 0),
|
||||
JdSyncStatus: thingMap.SyncStatus,
|
||||
}
|
||||
sku.ID = int(thingMap.ThingID)
|
||||
dao.UpdateEntity(db, sku, "JdID", "JdSyncStatus")
|
||||
}
|
||||
}
|
||||
// if thingMap.VendorOrgCode == globals.JdOrgCode {
|
||||
// if thingMap.ThingType == model.ThingTypeCategory {
|
||||
// cat := &model.SkuCategory{
|
||||
// JdID: utils.Str2Int64WithDefault(thingMap.VendorThingID, 0),
|
||||
// JdSyncStatus: thingMap.SyncStatus,
|
||||
// }
|
||||
// cat.ID = int(thingMap.ThingID)
|
||||
// dao.UpdateEntity(db, cat, "JdID", "JdSyncStatus")
|
||||
// } else if thingMap.ThingType == model.ThingTypeSku {
|
||||
// sku := &model.Sku{
|
||||
// JdID: utils.Str2Int64WithDefault(thingMap.VendorThingID, 0),
|
||||
// JdSyncStatus: thingMap.SyncStatus,
|
||||
// }
|
||||
// sku.ID = int(thingMap.ThingID)
|
||||
// dao.UpdateEntity(db, sku, "JdID", "JdSyncStatus")
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID int, vendorOrgCode string, isAsync, isContinueWhenError bool, opType int, isForceUpdate bool) (hint string, err error) {
|
||||
|
||||
Reference in New Issue
Block a user