Files
jx-callback/business/model/model.go
gazebo fb7c59b38e - SyncFlagSpecMask从32改为64
- 添加SyncFlagStockMask为32
- 修复新关注商品在同步至多门店平台时,同步出错时可能的清同步标识不正确的问题
2019-08-07 23:48:39 +08:00

137 lines
4.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package model
import (
"time"
)
const (
FieldID = "ID"
FieldParentID = "ParentID"
FieldDeletedAt = "DeletedAt"
FieldCreatedAt = "CreatedAt"
FieldUpdatedAt = "UpdatedAt"
FieldLastOperator = "LastOperator"
FieldStatus = "Status"
FieldSyncStatus = "SyncStatus"
FieldJdSyncStatus = "JdSyncStatus"
FieldElmSyncStatus = "ElmSyncStatus"
FieldEbaiSyncStatus = "EbaiSyncStatus"
FieldMtwmSyncStatus = "MtwmSyncStatus"
FieldWscSyncStatus = "WscSyncStatus"
FieldVendorID = "VendorID"
FieldStoreID = "StoreID"
FieldVendorStoreID = "VendorStoreID"
FieldNameID = "NameID"
FieldPlaceCode = "PlaceCode"
FieldCategoryID = "CategoryID"
FieldJdID = "JdID"
FieldElmID = "ElmID"
FieldEbaiID = "EbaiID"
FieldMtwmID = "MtwmID"
FieldWscID = "WscID"
FieldWscID2 = "WscID2"
FieldSkuID = "SkuID"
FieldLevel = "Level"
FieldEnabled = "Enabled"
FieldSpecQuality = "SpecQuality"
FieldSpecUnit = "SpecUnit"
FieldName = "Name"
FieldRemark = "Remark"
FieldVendorOrderID = "VendorOrderID"
FieldVendorOrderID2 = "VendorOrderID2"
FieldActID = "ActID"
FieldVendorActID = "VendorActID"
)
type ModelIDCUL struct {
ID int64 `orm:"column(id)" json:"id"`
CreatedAt time.Time `orm:"auto_now_add;type(datetime)" json:"createdAt"`
UpdatedAt time.Time `orm:"auto_now;type(datetime)" json:"updatedAt"`
LastOperator string `orm:"size(32)" json:"lastOperator"` // 最后操作员
}
type ModelIDCULD struct {
ID int `orm:"column(id)" json:"id"`
CreatedAt time.Time `orm:"auto_now_add;type(datetime)" json:"createdAt"`
UpdatedAt time.Time `orm:"auto_now;type(datetime)" json:"updatedAt"`
LastOperator string `orm:"size(32)" json:"lastOperator"` // 最后操作员
DeletedAt time.Time `orm:"type(datetime);default('1970-01-01 00:00:00')" json:"deletedAt"`
}
// flag按位表示第一位表示修改第二位表示新增第三位表示删除
const (
SyncFlagModifiedMask = 1
SyncFlagNewMask = 2
SyncFlagDeletedMask = 4
SyncFlagSaleMask = 8 // 改了门店商品可售状态必须设置此标志
SyncFlagPriceMask = 16 // 改了门店商品价格必须设置此标志
SyncFlagStockMask = 32 // 修改库存同步标识,当前只有多门店平台才会用到
SyncFlagSpecMask = 64 // 原值32
SyncFlagStoreSkuOnlyMask = SyncFlagSaleMask | SyncFlagPriceMask | SyncFlagStockMask
SyncFlagStoreSkuModifiedMask = SyncFlagStoreSkuOnlyMask | SyncFlagModifiedMask
SyncFlagChangedMask = SyncFlagSpecMask | SyncFlagNewMask | SyncFlagDeletedMask | SyncFlagStoreSkuModifiedMask
SyncFlagStoreName = 8
SyncFlagStoreAddress = 16
SyncFlagStoreStatus = 32
)
func IsSyncStatusNew(syncStatus int8) bool {
return (syncStatus & SyncFlagNewMask) != 0
}
func IsSyncStatusDelete(syncStatus int8) bool {
return (syncStatus & SyncFlagDeletedMask) != 0
}
func IsSyncStatusUpdate(syncStatus int8) bool {
return (syncStatus & SyncFlagModifiedMask) != 0
}
func IsSyncStatusSale(syncStatus int8) bool {
return (syncStatus & SyncFlagSaleMask) != 0
}
func IsSyncStatusPrice(syncStatus int8) bool {
return (syncStatus & SyncFlagPriceMask) != 0
}
func IsSyncStatusNeedCreate(syncStatus int8) bool {
return IsSyncStatusNew(syncStatus) && !IsSyncStatusDelete(syncStatus)
}
func IsSyncStatusNeedDelete(syncStatus int8) bool {
return !IsSyncStatusNew(syncStatus) && IsSyncStatusDelete(syncStatus)
}
func IsSyncStatusNeedUpdate(syncStatus int8) bool {
return !IsSyncStatusNew(syncStatus) && !IsSyncStatusDelete(syncStatus) && IsSyncStatusUpdate(syncStatus)
}
// const (
// KeyJdFlag = "jdFlag"
// KeyJdSyncedAt = "jdSyncedAt"
// KeyElmFlag = "elmFlag"
// KeyElmSyncedAt = "elmSyncedAt"
// KeyEbaiFlag = "ebaiFlag"
// KeyEbaiSyncedAt = "ebaiSyncedAt"
// )
// type ModelSyncFlag struct {
// JdFlag int8 `orm:"column(jd_flag);default(2)" json:"jdFlag"` // 京东同步状态
// JdSyncedAt time.Time `orm:"column(jd_synced_at);null" json:"jdSyncedAt"` // 京东最新成功同步时间
// ElmFlag int8 `orm:"column(elm_flag);default(2)" json:"elmFlag"` // 饿了么同步状态
// ElmSyncedAt time.Time `orm:"column(elm_synced_at);null" json:"elmSyncedAt"` // 京东最新成功同步时间
// EbaiFlag int8 `orm:"column(ebai_flag);default(2)" json:"ebaiFlag"` // 饿百同步状态
// EbaiSyncedAt time.Time `orm:"column(ebai_synced_at);null" json:"ebaiSyncedAt"` // 京东最新成功同步时间
// }