商品额外前缀
This commit is contained in:
@@ -911,7 +911,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("UpdateSkuName valid:%s", utils.Format4Output(valid, false))
|
globals.SugarLogger.Debugf("UpdateSkuName valid:%s", utils.Format4Output(valid, false))
|
||||||
for _, imgName := range []string{"img", "img2", "img3", "img_watermark", "img_mix"} {
|
for _, imgName := range []string{"img", "img2", "img3"} {
|
||||||
if valid[imgName] != nil {
|
if valid[imgName] != nil {
|
||||||
if imgStr := utils.Interface2String(valid[imgName]); imgStr != "" {
|
if imgStr := utils.Interface2String(valid[imgName]); imgStr != "" {
|
||||||
_, err2 := datares.TryRegisterDataResource(ctx, skuName.Name, valid[imgName].(string), model.ImgTypeMain, true)
|
_, err2 := datares.TryRegisterDataResource(ctx, skuName.Name, valid[imgName].(string), model.ImgTypeMain, true)
|
||||||
@@ -1525,7 +1525,7 @@ func GetJdUpcCodeByName(ctx *jxcontext.Context, name, upcCode string) (productIn
|
|||||||
return productInfos, err
|
return productInfos, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fromTime, toTime string, isAsync, isContinueWhenError bool) (hint string, err error) {
|
func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, imgWaterMark string, vendorID int, exPrefix, fromTime, toTime string, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||||
var (
|
var (
|
||||||
fromTimeP time.Time
|
fromTimeP time.Time
|
||||||
toTimeP time.Time
|
toTimeP time.Time
|
||||||
@@ -1553,24 +1553,30 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro
|
|||||||
"exPrefix": exPrefix,
|
"exPrefix": exPrefix,
|
||||||
"exPrefixBegin": fromTimeP,
|
"exPrefixBegin": fromTimeP,
|
||||||
"exPrefixEnd": toTimeP,
|
"exPrefixEnd": toTimeP,
|
||||||
|
"imgWaterMark": imgWaterMark,
|
||||||
|
"exVendorID": vendorID,
|
||||||
}
|
}
|
||||||
if now.Sub(toTimeP) <= 0 && now.Sub(fromTimeP) >= 0 {
|
if now.Sub(toTimeP) <= 0 && now.Sub(fromTimeP) <= 0 {
|
||||||
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
||||||
} else if now.Sub(fromTimeP) > 0 && now.Sub(toTimeP) > 0 {
|
} else if now.Sub(fromTimeP) > 0 && now.Sub(toTimeP) > 0 {
|
||||||
payload["exPrefixBegin"] = nil
|
payload["exPrefixBegin"] = nil
|
||||||
payload["exPrefixEnd"] = nil
|
payload["exPrefixEnd"] = nil
|
||||||
|
payload["imgWaterMark"] = nil
|
||||||
|
payload["exVendorID"] = nil
|
||||||
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
||||||
} else {
|
} else {
|
||||||
skuList, err := dao.GetSkus(db, nil, []int{nameID}, nil, nil, nil)
|
skuList, err := dao.GetSkus(db, nil, []int{nameID}, nil, nil, nil)
|
||||||
if err == nil && len(skuList) > 0 {
|
if err == nil && len(skuList) > 0 {
|
||||||
if skuList[0].ExPrefixBegin != nil {
|
if skuList[0].ExPrefixBegin != nil {
|
||||||
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
||||||
CurVendorSync.SyncStoresSkus2(ctx, nil, 0, db, partner.GetSingleStoreVendorIDs(), nil, false, []int{skuList[0].ID}, nil, model.SyncFlagModifiedMask, true, true)
|
CurVendorSync.SyncStoresSkus2(ctx, nil, 0, db, []int{vendorID}, nil, false, []int{skuList[0].ID}, nil, model.SyncFlagModifiedMask, true, true)
|
||||||
} else {
|
} else {
|
||||||
skuName := &model.SkuName{
|
skuName := &model.SkuName{
|
||||||
ExPrefix: exPrefix,
|
ExPrefix: exPrefix,
|
||||||
ExPrefixBegin: &fromTimeP,
|
ExPrefixBegin: &fromTimeP,
|
||||||
ExPrefixEnd: &toTimeP,
|
ExPrefixEnd: &toTimeP,
|
||||||
|
ImgWatermark: imgWaterMark,
|
||||||
|
ExVendorID: vendorID,
|
||||||
}
|
}
|
||||||
skuName.ID = nameID
|
skuName.ID = nameID
|
||||||
skuName.LastOperator = ctx.GetLoginID()
|
skuName.LastOperator = ctx.GetLoginID()
|
||||||
@@ -1582,7 +1588,7 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro
|
|||||||
panic(r)
|
panic(r)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
_, err = dao.UpdateEntity(db, skuName, "ExPrefix", "ExPrefixBegin", "ExPrefixEnd", "LastOperator", "UpdatedAt")
|
_, err = dao.UpdateEntity(db, skuName, "ImgWatermark", "ExVendorID", "ExPrefix", "ExPrefixBegin", "ExPrefixEnd", "LastOperator", "UpdatedAt")
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1600,7 +1606,7 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro
|
|||||||
for _, v := range skuList {
|
for _, v := range skuList {
|
||||||
skuIDs = append(skuIDs, v.ID)
|
skuIDs = append(skuIDs, v.ID)
|
||||||
}
|
}
|
||||||
CurVendorSync.SyncStoresSkus2(ctx, nil, 0, db, partner.GetSingleStoreVendorIDs(), nil, false, skuIDs, nil, model.SyncFlagModifiedMask, true, true)
|
CurVendorSync.SyncStoresSkus2(ctx, nil, 0, db, []int{vendorID}, nil, false, skuIDs, nil, model.SyncFlagModifiedMask, true, true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -280,6 +280,7 @@ func formalizeStoreSkuList(inSkuList []*dao.StoreSkuSyncInfo) []*dao.StoreSkuSyn
|
|||||||
}
|
}
|
||||||
skuItem.MergedStatus = jxutils.MergeSkuStatus(jxutils.MergeSkuStatus(skuItem.NameStatus, skuItem.Status), skuItem.StoreSkuStatus)
|
skuItem.MergedStatus = jxutils.MergeSkuStatus(jxutils.MergeSkuStatus(skuItem.NameStatus, skuItem.Status), skuItem.StoreSkuStatus)
|
||||||
skuItem.SkuName = jxutils.ComposeSkuNameSync(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0, skuItem.ExPrefix, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd)
|
skuItem.SkuName = jxutils.ComposeSkuNameSync(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0, skuItem.ExPrefix, skuItem.ExPrefixBegin, skuItem.ExPrefixEnd)
|
||||||
|
skuItem.SkuNameOrigin = jxutils.ComposeSkuNameOriginal(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return inSkuList
|
return inSkuList
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ type StoreSkuSyncInfo struct {
|
|||||||
|
|
||||||
MergedStatus int
|
MergedStatus int
|
||||||
SkuName string
|
SkuName string
|
||||||
|
SkuNameOrigin string
|
||||||
StatusSaleBegin int16 `json:"statusSaleBegin"` //商品可售时间范围
|
StatusSaleBegin int16 `json:"statusSaleBegin"` //商品可售时间范围
|
||||||
StatusSaleEnd int16 `json:"statusSaleEnd"`
|
StatusSaleEnd int16 `json:"statusSaleEnd"`
|
||||||
|
|
||||||
|
|||||||
@@ -151,12 +151,13 @@ func (*SkuCategory) TableUnique() [][]string {
|
|||||||
type SkuName struct {
|
type SkuName struct {
|
||||||
ModelIDCULD
|
ModelIDCULD
|
||||||
|
|
||||||
Prefix string `orm:"size(255)" json:"prefix"`
|
Prefix string `orm:"size(255)" json:"prefix"`
|
||||||
Name string `orm:"size(255)" json:"name"`
|
Name string `orm:"size(255)" json:"name"`
|
||||||
ExPrefix string `orm:"size(255)" json:"exPrefix"`
|
|
||||||
|
|
||||||
|
ExPrefix string `orm:"size(255)" json:"exPrefix"`
|
||||||
ExPrefixBegin *time.Time `orm:"null" json:"exPrefixBegin"`
|
ExPrefixBegin *time.Time `orm:"null" json:"exPrefixBegin"`
|
||||||
ExPrefixEnd *time.Time `orm:"null" json:"exPrefixEnd"`
|
ExPrefixEnd *time.Time `orm:"null" json:"exPrefixEnd"`
|
||||||
|
ExVendorID int `json:"exVendorID"`
|
||||||
|
|
||||||
BrandID int `orm:"column(brand_id);default(0)" json:"brandID"` // todo,此属性暂时没有使用,且有问题,应该是不同平台都有一个brandid
|
BrandID int `orm:"column(brand_id);default(0)" json:"brandID"` // todo,此属性暂时没有使用,且有问题,应该是不同平台都有一个brandid
|
||||||
CategoryID int `orm:"column(category_id);index" json:"categoryID"` // 标准类别
|
CategoryID int `orm:"column(category_id);index" json:"categoryID"` // 标准类别
|
||||||
|
|||||||
@@ -199,6 +199,8 @@ func (c *SkuController) UpdateSkuName() {
|
|||||||
delete(payload, "exPrefix")
|
delete(payload, "exPrefix")
|
||||||
delete(payload, "exPrefixBegin")
|
delete(payload, "exPrefixBegin")
|
||||||
delete(payload, "exPrefixEnd")
|
delete(payload, "exPrefixEnd")
|
||||||
|
delete(payload, "imgWaterMark")
|
||||||
|
delete(payload, "exVendorID")
|
||||||
retVal, err = cms.UpdateSkuName(params.Ctx, params.NameID, payload, params.IsExd)
|
retVal, err = cms.UpdateSkuName(params.Ctx, params.NameID, payload, params.IsExd)
|
||||||
}
|
}
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
@@ -403,9 +405,11 @@ func (c *SkuController) GetJdUpcCodeByName() {
|
|||||||
// @Description 批量设置商品额外前缀
|
// @Description 批量设置商品额外前缀
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param nameIDs formData string true "商品nameIDs"
|
// @Param nameIDs formData string true "商品nameIDs"
|
||||||
// @Param exPrefix formData string true "商品额外前缀"
|
// @Param exPrefix formData string false "商品额外前缀"
|
||||||
// @Param fromDate formData string true "生效开始时间,格式 2006-01-01 "
|
// @Param fromDate formData string true "生效开始时间,格式 2006-01-01 "
|
||||||
// @Param toDate formData string true "生效结束时间,格式 2006-01-01 "
|
// @Param toDate formData string true "生效结束时间,格式 2006-01-01 "
|
||||||
|
// @Param imgWaterMark formData string false "商品水印图"
|
||||||
|
// @Param vendorID formData int true "平台ID"
|
||||||
// @Param isAsync formData bool false "是否异步"
|
// @Param isAsync formData bool false "是否异步"
|
||||||
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
@@ -415,7 +419,7 @@ func (c *SkuController) UpdateSkuNamesExPrefix() {
|
|||||||
c.callUpdateSkuNamesExPrefix(func(params *tSkuUpdateSkuNamesExPrefixParams) (retVal interface{}, errCode string, err error) {
|
c.callUpdateSkuNamesExPrefix(func(params *tSkuUpdateSkuNamesExPrefixParams) (retVal interface{}, errCode string, err error) {
|
||||||
var skuIDList []int
|
var skuIDList []int
|
||||||
if err = jxutils.Strings2Objs(params.NameIDs, &skuIDList); err == nil {
|
if err = jxutils.Strings2Objs(params.NameIDs, &skuIDList); err == nil {
|
||||||
retVal, err = cms.UpdateSkuNamesExPrefix(params.Ctx, skuIDList, params.ExPrefix, params.FromDate, params.ToDate, params.IsAsync, params.IsContinueWhenError)
|
retVal, err = cms.UpdateSkuNamesExPrefix(params.Ctx, skuIDList, params.ImgWaterMark, params.VendorID, params.ExPrefix, params.FromDate, params.ToDate, params.IsAsync, params.IsContinueWhenError)
|
||||||
}
|
}
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user