Files
jx-callback/business/model/model.go
2019-06-11 17:28:15 +08:00

127 lines
4.1 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 // 改了门店商品价格必须设置此标志
SyncFlagSpecMask = 32
SyncFlagStoreSkuOnlyMask = SyncFlagSaleMask | SyncFlagPriceMask
SyncFlagStoreSkuModifiedMask = SyncFlagStoreSkuOnlyMask | SyncFlagModifiedMask
SyncFlagChangedMask = SyncFlagSpecMask | SyncFlagNewMask | SyncFlagDeletedMask | SyncFlagStoreSkuModifiedMask
SyncFlagStoreName = 8
SyncFlagStoreAddress = 16
)
func IsSyncStatusNew(syncStatus int) bool {
return (syncStatus & SyncFlagNewMask) != 0
}
func IsSyncStatusDelete(syncStatus int) bool {
return (syncStatus & SyncFlagDeletedMask) != 0
}
func IsSyncStatusUpdate(syncStatus int) bool {
return (syncStatus & SyncFlagModifiedMask) != 0
}
func IsSyncStatusNeedCreate(syncStatus int) bool {
return IsSyncStatusNew(syncStatus) && !IsSyncStatusDelete(syncStatus)
}
func IsSyncStatusNeedDelete(syncStatus int) bool {
return !IsSyncStatusNew(syncStatus) && IsSyncStatusDelete(syncStatus)
}
func IsSyncStatusNeedUpdate(syncStatus int) 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"` // 京东最新成功同步时间
// }