- rf.
This commit is contained in:
@@ -2,7 +2,6 @@ package cms
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
@@ -26,6 +25,9 @@ type StoreSkuBindInfo struct {
|
||||
IsFocus int `json:"isFocus"` // -1:不关注,0:忽略,1:关注
|
||||
IsSale int `json:"isSale"` // -1:不可售,0:忽略,1:可售
|
||||
Price int `json:"price"`
|
||||
|
||||
ElmID int64 `json:"elmID"`
|
||||
EbaiID int64 `json:"ebaiID"`
|
||||
}
|
||||
|
||||
func GetStoreSkus(storeID int, keyword string, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *StoreSkuNamesInfo, err error) {
|
||||
@@ -85,8 +87,15 @@ func GetStoreSkus(storeID int, keyword string, params map[string]interface{}, of
|
||||
sqlParams = append(sqlParams, params["unit"].(string))
|
||||
}
|
||||
if params["skuID"] != nil {
|
||||
sql += " AND t2.id = ?"
|
||||
sqlParams = append(sqlParams, params["skuID"].(int))
|
||||
skuID, ok := params["skuID"].(int)
|
||||
if ok {
|
||||
sql += " AND t2.id = ?"
|
||||
sqlParams = append(sqlParams, skuID)
|
||||
} else {
|
||||
skuIDs := params["skuID"].([]interface{})
|
||||
sql += " AND t2.id IN (" + dao.GenQuestionMarks(len(skuIDs)) + ")"
|
||||
sqlParams = append(sqlParams, skuIDs)
|
||||
}
|
||||
}
|
||||
if params["fromStatus"] != nil {
|
||||
fromStatus := params["fromStatus"].(int)
|
||||
@@ -166,12 +175,10 @@ func UpdateStoreSku(storeID int, skuBinds []*StoreSkuBindInfo, userName string)
|
||||
db := dao.GetDB()
|
||||
var existBinds []*model.StoreSkuBind
|
||||
skuIDs := make([]int, len(skuBinds))
|
||||
placeHolders := make([]string, len(skuBinds))
|
||||
for k, v := range skuBinds {
|
||||
skuIDs[k] = v.SkuID
|
||||
placeHolders[k] = "?"
|
||||
}
|
||||
questions := "(" + strings.Join(placeHolders, ",") + ")"
|
||||
questions := "(" + dao.GenQuestionMarks(len(skuBinds)) + ")"
|
||||
if err = dao.GetRows(db, &existBinds, `
|
||||
SELECT *
|
||||
FROM store_sku_bind
|
||||
@@ -201,6 +208,9 @@ func UpdateStoreSku(storeID int, skuBinds []*StoreSkuBindInfo, userName string)
|
||||
if skuBind != nil {
|
||||
if v.Price != 0 {
|
||||
skuBind.Price = v.Price
|
||||
skuBind.JdSyncStatus |= model.SyncFlagPriceMask
|
||||
skuBind.ElmSyncStatus |= model.SyncFlagPriceMask
|
||||
skuBind.EbaiSyncStatus |= model.SyncFlagPriceMask
|
||||
}
|
||||
if v.IsSale != 0 {
|
||||
if v.IsSale == 1 {
|
||||
@@ -208,6 +218,9 @@ func UpdateStoreSku(storeID int, skuBinds []*StoreSkuBindInfo, userName string)
|
||||
} else {
|
||||
skuBind.Status = model.StoreSkuBindStatusDontSale
|
||||
}
|
||||
skuBind.JdSyncStatus |= model.SyncFlagSaleMask
|
||||
skuBind.ElmSyncStatus |= model.SyncFlagSaleMask
|
||||
skuBind.EbaiSyncStatus |= model.SyncFlagSaleMask
|
||||
}
|
||||
if ok {
|
||||
if v.IsFocus == -1 {
|
||||
@@ -217,13 +230,20 @@ func UpdateStoreSku(storeID int, skuBinds []*StoreSkuBindInfo, userName string)
|
||||
model.FieldEbaiSyncStatus: model.SyncFlagDeletedMask,
|
||||
})
|
||||
} else {
|
||||
// todo 如果修改ebai与elm ID怎么处理呢?
|
||||
skuBind.DeletedAt = utils.DefaultTimeValue
|
||||
skuBind.JdSyncStatus = model.SyncFlagModifiedMask
|
||||
skuBind.ElmSyncStatus = model.SyncFlagModifiedMask
|
||||
skuBind.EbaiSyncStatus = model.SyncFlagModifiedMask
|
||||
skuBind.JdSyncStatus |= model.SyncFlagModifiedMask
|
||||
skuBind.ElmSyncStatus |= model.SyncFlagModifiedMask
|
||||
skuBind.EbaiSyncStatus |= model.SyncFlagModifiedMask
|
||||
_, err = dao.UpdateEntity(db, skuBind)
|
||||
}
|
||||
} else {
|
||||
if v.EbaiID != 0 {
|
||||
skuBind.EbaiID = v.EbaiID
|
||||
}
|
||||
if v.ElmID != 0 {
|
||||
skuBind.ElmID = v.ElmID
|
||||
}
|
||||
skuBind.JdSyncStatus = model.SyncFlagNewMask
|
||||
skuBind.ElmSyncStatus = model.SyncFlagNewMask
|
||||
skuBind.EbaiSyncStatus = model.SyncFlagNewMask
|
||||
@@ -236,7 +256,7 @@ func UpdateStoreSku(storeID int, skuBinds []*StoreSkuBindInfo, userName string)
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
err = CurVendorSync.SyncStoreSku(db, storeID, -1, false, userName)
|
||||
err = CurVendorSync.SyncStoreSku(db, storeID, skuIDs, false, userName)
|
||||
}
|
||||
return num, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user