diff --git a/business/auth2/auth2.go b/business/auth2/auth2.go index e1f9c23d2..d2d6ecff8 100644 --- a/business/auth2/auth2.go +++ b/business/auth2/auth2.go @@ -266,6 +266,10 @@ func LoginInternal(ctx *Context, authType, authID, authIDType, authSecret string // if user != nil { // authBindEx.UserID = user.GetID() // } + if user2 := userProvider.GetUser(authBindEx.UserHint.Email, UserIDMobile); user2 != nil { + user = user2 + } + } else if authBindEx.UserID != "" { user = userProvider.GetUser(authBindEx.UserID, UserIDID) } diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 655345ff8..c404ebb10 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -2293,37 +2293,8 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID skuName.Skus[0].SpecUnit = productInfo.SpecUnit } } - //难受呀 if len(productInfo.ImgList) > 0 { - switch len(productInfo.ImgList) { - case 0: - case 1: - skuName.Img = productInfo.ImgList[0] - case 2: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - case 3: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - skuName.Img3 = productInfo.ImgList[2] - case 4: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - skuName.Img3 = productInfo.ImgList[2] - skuName.Img4 = productInfo.ImgList[3] - case 5: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - skuName.Img3 = productInfo.ImgList[2] - skuName.Img4 = productInfo.ImgList[3] - skuName.Img5 = productInfo.ImgList[4] - default: - skuName.Img = productInfo.ImgList[0] - skuName.Img2 = productInfo.ImgList[1] - skuName.Img3 = productInfo.ImgList[2] - skuName.Img4 = productInfo.ImgList[3] - skuName.Img5 = productInfo.ImgList[4] - } + setImgs(skuName, productInfo.ImgList) } else { skuName.Img = model.NOSkuNameImg } @@ -2353,35 +2324,7 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader, categoryID result, _ := api.MtwmAPI.GetStandardProductListWithCond(*skuName.Upc) if result != nil { imgs := strings.Split(result.Pic, ",") - switch len(imgs) { - case 0: - case 1: - skuName.Img = imgs[0] - case 2: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - case 3: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - skuName.Img3 = imgs[2] - case 4: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - skuName.Img3 = imgs[2] - skuName.Img4 = imgs[3] - case 5: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - skuName.Img3 = imgs[2] - skuName.Img4 = imgs[3] - skuName.Img5 = imgs[4] - default: - skuName.Img = imgs[0] - skuName.Img2 = imgs[1] - skuName.Img3 = imgs[2] - skuName.Img4 = imgs[3] - skuName.Img5 = imgs[4] - } + setImgs(skuName, imgs) } else { retVal = []*CreateUpcSkuByExcelErr{buildCreateUpcSkuByExcelErr(v, "美团cookie过期了吧")} return retVal, err @@ -3129,132 +3072,20 @@ func RefreshNoImgSku(ctx *jxcontext.Context) (err error) { v.Img5 = imgs[4] } else { if len(imgs) > len(productInfo.ImgList) { - switch len(imgs) { - case 0: - case 1: - v.Img = imgs[0] - case 2: - v.Img = imgs[0] - v.Img2 = imgs[1] - case 3: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - case 4: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - case 5: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - default: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - } + setImgs2(v, imgs) } else { - switch len(productInfo.ImgList) { - case 0: - case 1: - v.Img = productInfo.ImgList[0] - case 2: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - case 3: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - case 4: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - case 5: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - default: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - } + setImgs2(v, productInfo.ImgList) } } } else { - switch len(productInfo.ImgList) { - case 0: - case 1: - v.Img = productInfo.ImgList[0] - case 2: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - case 3: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - case 4: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - case 5: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - default: - v.Img = productInfo.ImgList[0] - v.Img2 = productInfo.ImgList[1] - v.Img3 = productInfo.ImgList[2] - v.Img4 = productInfo.ImgList[3] - v.Img5 = productInfo.ImgList[4] - } + setImgs2(v, productInfo.ImgList) } } } else { result, _ := api.MtwmAPI.GetStandardProductListWithCond(*v.Upc) if result != nil { imgs := strings.Split(result.Pic, ",") - switch len(imgs) { - case 0: - case 1: - v.Img = imgs[0] - case 2: - v.Img = imgs[0] - v.Img2 = imgs[1] - case 3: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - case 4: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - case 5: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - default: - v.Img = imgs[0] - v.Img2 = imgs[1] - v.Img3 = imgs[2] - v.Img4 = imgs[3] - v.Img5 = imgs[4] - } + setImgs2(v, imgs) } } dao.UpdateEntity(db, v, "Img", "Img2", "Img3", "Img4", "Img5") @@ -3265,3 +3096,69 @@ func RefreshNoImgSku(ctx *jxcontext.Context) (err error) { _, err = task.GetResult(0) return err } + +func setImgs(v *model.SkuNameExt, imgs []string) (err error) { + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + return err +} + +func setImgs2(v *model.SkuName, imgs []string) (err error) { + switch len(imgs) { + case 0: + case 1: + v.Img = imgs[0] + case 2: + v.Img = imgs[0] + v.Img2 = imgs[1] + case 3: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + case 4: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + case 5: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + default: + v.Img = imgs[0] + v.Img2 = imgs[1] + v.Img3 = imgs[2] + v.Img4 = imgs[3] + v.Img5 = imgs[4] + } + return err +} diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index dac74b4c8..31458c2e8 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4476,8 +4476,9 @@ func buildStoreSkuBindInfosAndFocus(ctx *jxcontext.Context, db *dao.DaoDB, store func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.ProductInfo, price, storeID int) (err error) { var ( - db = dao.GetDB() - skuBindInfos []*StoreSkuBindInfo + db = dao.GetDB() + skuBindInfos []*StoreSkuBindInfo + outSkuNameExt *model.SkuNameExt ) if productInfo == nil { @@ -4519,56 +4520,52 @@ func CreateSkusAndFocusFromWx(ctx *jxcontext.Context, productInfo *jdapi.Product productInfo.Unit = unit productInfo.SpecUnit = specUnit } - skuNames2, err := dao.GetSkuNames(db, nil, nil, productInfo.Name, false) - if err != nil { - return err - } if productInfo.Name == "" { - return fmt.Errorf("暂时无法创建此商品,[%v]", productInfo.Name) - } - if len(skuNames2) > 1 { - return fmt.Errorf("此商品名在京西库中查询出了大于1个商品,[%v]", productInfo.Name) - } - //表示查到了,需要把upc更新上去,没查到就要新建 - if len(skuNames2) == 1 && (productInfo.SpecQuality == skuNames2[0].SpecQuality && productInfo.SpecUnit == skuNames2[0].SpecUnit) { - skuNames2[0].Upc = &productInfo.UpcCode - dao.UpdateEntity(db, skuNames2[0], "Upc") - focusSku(skuNames2[0].ID) - } else { - skuNameExt := &model.SkuNameExt{ - SkuName: model.SkuName{ - Name: productInfo.Name, - Upc: &productInfo.UpcCode, - Status: model.SkuStatusNormal, - CategoryID: model.NoCatCatgoryID, - IsGlobal: model.YES, - Unit: productInfo.Unit, - }, - Skus: []*model.SkuWithVendor{ - &model.SkuWithVendor{ - Sku: &model.Sku{}, - }, - }, - // Places: []int{510100}, //默认成都 + if result, err := api.MtwmAPI.GetStandardProductListWithCond(productInfo.UpcCode); err == nil && result != nil { + productInfo.OriginalName = result.Name + productInfo.OriginalSpec = result.Spec + productInfo.Name = result.Name + productInfo.SpecUnit = result.SpecUnit + productInfo.Unit = result.Unit + productInfo.SpecQuality = float32(result.SpecNew) + productInfo.ImgList = strings.Split(result.Pic, ",") + productInfo.Weight = float32(result.Weight) + productInfo.BrandName = result.BrandNamePath } - skuNameExt.Price = price - skuNameExt.Skus[0].SpecQuality = productInfo.SpecQuality - skuNameExt.Skus[0].SpecUnit = productInfo.SpecUnit - skuNameExt.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(productInfo.Weight)))) - skuNameExt.Skus[0].Status = model.SkuStatusNormal - if len(productInfo.ImgList) > 0 { - skuNameExt.Img = productInfo.ImgList[0] - } - outSkuNameExt, err := AddSkuName(ctx, skuNameExt, ctx.GetUserName()) - if err != nil { - if _, ok := err.(*SyncError); ok { - err = nil - } else { - return err - } + } + skuNameExt := &model.SkuNameExt{ + SkuName: model.SkuName{ + Name: productInfo.Name, + Upc: &productInfo.UpcCode, + Status: model.SkuStatusNormal, + CategoryID: model.NoCatCatgoryID, + IsGlobal: model.YES, + Unit: productInfo.Unit, + }, + Skus: []*model.SkuWithVendor{ + &model.SkuWithVendor{ + Sku: &model.Sku{}, + }, + }, + // Places: []int{510100}, //默认成都 + } + skuNameExt.Price = price + skuNameExt.Skus[0].SpecQuality = productInfo.SpecQuality + skuNameExt.Skus[0].SpecUnit = productInfo.SpecUnit + skuNameExt.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(productInfo.Weight)))) + skuNameExt.Skus[0].Status = model.SkuStatusNormal + if len(productInfo.ImgList) > 0 { + setImgs(skuNameExt, productInfo.ImgList) + } + outSkuNameExt, err = AddSkuName(ctx, skuNameExt, ctx.GetUserName()) + if err != nil { + if _, ok := err.(*SyncError); ok { + err = nil } else { - focusSku(outSkuNameExt.ID) + return err } + } else { + focusSku(outSkuNameExt.ID) } } else { focusSku(skuNames[0].ID)