Merge remote-tracking branch 'origin/mark' into yonghui
This commit is contained in:
@@ -659,17 +659,19 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
|
||||
if hasSensitiveWord, err := CheckHasSensitiveWord(skuNameExt.Name); hasSensitiveWord {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
db := dao.GetDB()
|
||||
if skuNameExt.Upc != "" {
|
||||
err = dao.GetEntity(db, &skuNameExt.SkuName, "Upc")
|
||||
if err == nil {
|
||||
return nil, fmt.Errorf("UPC:%s重复", skuNameExt.Upc)
|
||||
} else if !dao.IsNoRowsError(err) {
|
||||
return nil, err
|
||||
}
|
||||
err = nil
|
||||
if utils.Pointer2String(skuNameExt.Upc) == "" {
|
||||
skuNameExt.Upc = nil
|
||||
}
|
||||
db := dao.GetDB()
|
||||
// if skuNameExt.Upc != "" {
|
||||
// err = dao.GetEntity(db, &skuNameExt.SkuName, "Upc")
|
||||
// if err == nil {
|
||||
// return nil, fmt.Errorf("UPC:%s重复", skuNameExt.Upc)
|
||||
// } else if !dao.IsNoRowsError(err) {
|
||||
// return nil, err
|
||||
// }
|
||||
// err = nil
|
||||
// }
|
||||
skuNameExt.SkuName.Status = model.SkuStatusNormal
|
||||
if skuNameExt.IsSpu == 1 {
|
||||
return nil, fmt.Errorf("不允许创建多规格商品")
|
||||
@@ -789,19 +791,22 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
||||
valid = utils.RemoveGeneralMapKeys(valid, model.FieldSpecQuality, model.FieldSpecUnit)
|
||||
_, hasPlaces := payload["places"]
|
||||
if len(valid) > 0 || hasPlaces {
|
||||
globals.SugarLogger.Debugf("UpdateSkuName valid:%s", utils.Format4Output(valid, false))
|
||||
if upc, _ := valid["upc"].(string); upc != "" {
|
||||
skuName := &model.SkuName{
|
||||
Upc: upc,
|
||||
}
|
||||
err = dao.GetEntity(db, skuName, "Upc")
|
||||
if err == nil {
|
||||
return 0, fmt.Errorf("UPC:%s重复", upc)
|
||||
} else if !dao.IsNoRowsError(err) {
|
||||
return 0, err
|
||||
}
|
||||
err = nil
|
||||
if upc, _ := valid["Upc"].(string); upc == "" {
|
||||
valid["Upc"] = nil
|
||||
}
|
||||
globals.SugarLogger.Debugf("UpdateSkuName valid:%s", utils.Format4Output(valid, false))
|
||||
// if upc, _ := valid["Upc"].(string); upc != "" {
|
||||
// skuName := &model.SkuName{
|
||||
// Upc: upc,
|
||||
// }
|
||||
// err = dao.GetEntity(db, skuName, "Upc")
|
||||
// if err == nil {
|
||||
// return 0, fmt.Errorf("UPC:%s重复", upc)
|
||||
// } else if !dao.IsNoRowsError(err) {
|
||||
// return 0, err
|
||||
// }
|
||||
// err = nil
|
||||
// }
|
||||
for _, imgName := range []string{"img", "img2"} {
|
||||
if valid[imgName] != nil {
|
||||
if imgStr := utils.Interface2String(valid[imgName]); imgStr != "" {
|
||||
|
||||
@@ -1021,11 +1021,24 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
setStoreSkuBindStatus(skuBind, model.SyncFlagNewMask)
|
||||
dao.WrapAddIDCULDEntity(skuBind, userName)
|
||||
globals.SugarLogger.Debug(utils.Format4Output(skuBind, false))
|
||||
if err = dao.CreateEntity(db, skuBind); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
if deletedSku := dao.GetDeletedStoreSkuBind(db, skuBind.StoreID, skuBind.SkuID); deletedSku == nil {
|
||||
if err = dao.CreateEntity(db, skuBind); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
}
|
||||
num = 1
|
||||
} else {
|
||||
// 需要处理,在删除某个门店商品,同步失败的情况下,又把商品重新关注。
|
||||
// 所以统一处理成恢复删除的记录,这样避免问题
|
||||
skuBind.ID = deletedSku.ID
|
||||
// vendorSkuID的赋值意义不大
|
||||
skuBind.MtwmID = deletedSku.MtwmID
|
||||
skuBind.EbaiID = deletedSku.EbaiID
|
||||
if num, err = dao.UpdateEntity(db, skuBind); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
num = 1
|
||||
}
|
||||
} else {
|
||||
skuBind = &v.StoreSkuBind
|
||||
|
||||
Reference in New Issue
Block a user