Files
jx-callback/business/jxstore/cms/cms.go
gazebo d8907cf010 - sku category man almost ok.
- mysql connect str add utf8mb4.
2018-09-09 20:43:48 +08:00

51 lines
1.3 KiB
Go

package cms
import (
"errors"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
)
type VendorSync struct {
}
var (
CurVendorSync VendorSync
)
var (
ErrHaveNotImplementedYet = errors.New("还没有实现")
)
func GetPurchaseHandler(vendorID int) partner.IPurchasePlatformHandler {
return basesch.FixedBaseScheduler.GetPurchasePlatformFromVendorID(vendorID)
}
func (v *VendorSync) SyncCategory(categoryID int, isForce bool, userName string) (err error) {
db := dao.GetDB()
cats := []*model.SkuCategory{}
if categoryID != 0 {
err = dao.GetRows(db, &cats, "SELECT * FROM sku_category WHERE id = ?", categoryID)
} else {
err = dao.GetRows(db, &cats, "SELECT * FROM sku_category")
}
for _, cat := range cats {
if (cat.JdSyncStatus & model.SyncFlagNewMask) != 0 { // 新增
err = GetPurchaseHandler(model.VendorIDJD).CreateCategory(cat, userName)
} else if (cat.JdSyncStatus&model.SyncFlagModifiedMask) != 0 || isForce { // 修改
err = GetPurchaseHandler(model.VendorIDJD).UpdateCategory(cat, userName)
}
if err == nil {
cat.JdSyncStatus = 0
_, err = dao.UpdateEntity(db, cat, "JdSyncStatus")
}
if err != nil {
break
}
}
return err
}