添加一些model
This commit is contained in:
@@ -34,6 +34,8 @@ var (
|
||||
"image-star.elemecdn.com",
|
||||
},
|
||||
}
|
||||
|
||||
letterBytes = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
)
|
||||
|
||||
const fileExt = ".xlsx"
|
||||
@@ -49,55 +51,12 @@ func init() {
|
||||
orderNoBeginTimestamp = utils.Str2Time("2010-01-01 00:00:00").Unix()
|
||||
}
|
||||
|
||||
func SplitUniversalOrderID(universalOrderID string) (orderID string, vendorID int) {
|
||||
index := strings.Index(universalOrderID, "|")
|
||||
if index != -1 {
|
||||
orderID = universalOrderID[:index]
|
||||
vendorID = int(utils.Str2Int64(universalOrderID[index+1:]))
|
||||
} else {
|
||||
if vendorID = GetPossibleVendorIDFromVendorOrderID(universalOrderID); vendorID == model.VendorIDUnknown {
|
||||
// globals.SugarLogger.Errorf("unkown order type:%v", universalOrderID)
|
||||
panic(fmt.Sprintf("unkown order type, orderID:%s", universalOrderID))
|
||||
}
|
||||
orderID = universalOrderID
|
||||
func RandStringBytes(n int) string {
|
||||
b := make([]byte, n)
|
||||
for i := range b {
|
||||
b[i] = letterBytes[rand.Intn(len(letterBytes))]
|
||||
}
|
||||
return orderID, vendorID
|
||||
}
|
||||
|
||||
func GetPossibleVendorIDFromVendorOrderID(vendorOrderID string) (vendorID int) {
|
||||
vendorID = model.VendorIDUnknown
|
||||
if vendorOrderIDInt64 := utils.Str2Int64WithDefault(vendorOrderID, 0); vendorOrderIDInt64 > 0 {
|
||||
orderIDLen := len(vendorOrderID)
|
||||
// 5287873015048 13 wsc
|
||||
// 15380342248732 14 old ebai order
|
||||
// 800402581000221 15,16 jd order
|
||||
// 33437032333978492 17 mtwm order
|
||||
// 3022716176275221584 19 elm order, new ebai order
|
||||
|
||||
// 京东到家从2020年开始订单号的长度都会在现有基础上加一位,订单号的前两位取的是当年的最后两位数(如:2020取的20),以适应业务的发展。
|
||||
// 改造点:
|
||||
// 1、订单号位数变化,由原有15位数增加1位数调整为16位数,对接商家需检查是否有对订单号位数做长度校验。
|
||||
// 2、第一位数字发生变化,由原来9开头调整为当年年份后两位数如:2020年订单开头为20;
|
||||
if orderIDLen == len("925265130002541") || orderIDLen == len("1925265130002541") {
|
||||
vendorID = model.VendorIDJD
|
||||
} else if orderIDLen == len("3022716176275221584") {
|
||||
// vendorID = model.VendorIDELM
|
||||
vendorID = model.VendorIDEBAI // 饿百零售开放平台订单接口中订单ID“order_id”字段长度将调整为19位,和饿了么订单ID“eleme_order_id”字段格式保持一致。
|
||||
} else if orderIDLen == len("15380342248732") {
|
||||
if vendorOrderID[:2] == "88" {
|
||||
vendorID = model.VendorIDJX
|
||||
} else {
|
||||
vendorID = model.VendorIDEBAI
|
||||
}
|
||||
} else if orderIDLen == len("33437032333978492") {
|
||||
vendorID = model.VendorIDMTWM
|
||||
} else if orderIDLen == len("1000004390") {
|
||||
vendorID = model.VendorIDJX
|
||||
} else if orderIDLen == len("124557362562000001") || orderIDLen == len("13153183146800000100") {
|
||||
vendorID = model.VendorIDJDShop
|
||||
}
|
||||
}
|
||||
return vendorID
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func GenRand6() (num int) {
|
||||
@@ -119,85 +78,6 @@ func GenOrderNo() (orderNo int64) {
|
||||
return orderNo
|
||||
}
|
||||
|
||||
func GenJobOrderNo() (orderNo int64) {
|
||||
const prefix = 88
|
||||
const randPartNum = 1000
|
||||
orderNo = time.Now().Unix() - orderNoBeginTimestamp
|
||||
orderNo = orderNo * randPartNum
|
||||
md5Bytes := md5.Sum([]byte(utils.GetUUID()))
|
||||
randPart := 0
|
||||
for k, v := range md5Bytes {
|
||||
randPart += int(v) << ((k % 3) * 8)
|
||||
}
|
||||
orderNo += int64(randPart % randPartNum)
|
||||
orderNo += int64(math.Pow10(int(math.Log10(float64(orderNo)))+1)) * prefix
|
||||
return orderNo
|
||||
}
|
||||
|
||||
func GenBillID() (billID int64) {
|
||||
const prefix = 66
|
||||
const randPartNum = 100
|
||||
billID = time.Now().Unix() - orderNoBeginTimestamp
|
||||
billID = billID * randPartNum
|
||||
md5Bytes := md5.Sum([]byte(utils.GetUUID()))
|
||||
randPart := 0
|
||||
for k, v := range md5Bytes {
|
||||
randPart += int(v) << ((k % 3) * 8)
|
||||
}
|
||||
billID += int64(randPart % randPartNum)
|
||||
billID += int64(math.Pow10(int(math.Log10(float64(billID)))+1)) * prefix
|
||||
return billID
|
||||
}
|
||||
|
||||
func GenGroupID() (groupID int64) {
|
||||
const randPartNum = 100
|
||||
groupID = time.Now().Unix() - orderNoBeginTimestamp
|
||||
groupID = groupID * randPartNum
|
||||
md5Bytes := md5.Sum([]byte(utils.GetUUID()))
|
||||
randPart := 0
|
||||
for k, v := range md5Bytes {
|
||||
randPart += int(v) << ((k % 3) * 8)
|
||||
}
|
||||
groupID += int64(randPart % randPartNum)
|
||||
groupID += int64(math.Pow10(int(math.Log10(float64(groupID))) + 1))
|
||||
return groupID
|
||||
}
|
||||
|
||||
func GenAfsOrderNo() (orderNo int64) {
|
||||
const prefix = 80
|
||||
const randPartNum = 100
|
||||
orderNo = time.Now().Unix() - orderNoBeginTimestamp
|
||||
orderNo = orderNo * randPartNum
|
||||
md5Bytes := md5.Sum([]byte(utils.GetUUID()))
|
||||
randPart := 0
|
||||
for k, v := range md5Bytes {
|
||||
randPart += int(v) << ((k % 3) * 8)
|
||||
}
|
||||
orderNo += int64(randPart % randPartNum)
|
||||
orderNo += int64(math.Pow10(int(math.Log10(float64(orderNo)))+1)) * prefix
|
||||
return orderNo
|
||||
}
|
||||
|
||||
func GetPossibleVendorIDFromAfsOrderID(afsOrderID string) (vendorID int) {
|
||||
vendorID = model.VendorIDUnknown
|
||||
if afsOrderIDInt64 := utils.Str2Int64WithDefault(afsOrderID, 0); afsOrderIDInt64 > 0 {
|
||||
orderIDLen := len(afsOrderID)
|
||||
if orderIDLen == len("22586438") { // 8
|
||||
vendorID = model.VendorIDJD
|
||||
} else if orderIDLen == len("1413138834") { // 10
|
||||
vendorID = model.VendorIDEBAI
|
||||
} else if orderIDLen == len("29488498752") { // 11
|
||||
vendorID = model.VendorIDMTWM
|
||||
}
|
||||
}
|
||||
return vendorID
|
||||
}
|
||||
|
||||
func ComposeUniversalOrderID(orderID string, vendorID int) string {
|
||||
// return fmt.Sprintf("%s|%d", orderID, vendorID)
|
||||
return orderID // 当前用长度就能区分,先不加上vendorID
|
||||
}
|
||||
|
||||
// distance单位为米
|
||||
func ConvertDistanceToLogLat(lng, lat, distance, angle float64) (newLng, newLat float64) {
|
||||
oneDu := 111319.55 // 单位为米
|
||||
|
||||
@@ -1 +1,10 @@
|
||||
package model
|
||||
|
||||
type Apps struct {
|
||||
ModelIDCULD
|
||||
|
||||
Name string `json:"name"` //应用名称
|
||||
Type int `json:"type"` //应用类型
|
||||
AppKey string `json:"app_key"` //Key
|
||||
Status int `json:"status"` //状态
|
||||
}
|
||||
|
||||
17
business/model/print.go
Normal file
17
business/model/print.go
Normal file
@@ -0,0 +1,17 @@
|
||||
package model
|
||||
|
||||
type Printer struct {
|
||||
ModelIDCULD
|
||||
|
||||
AppID int `orm:"column(app_id)" json:"app_id"` //应用编号
|
||||
PrintNo string `json:"print_no"` //打印机编号
|
||||
PrintKey string `json:"print_key"` //打印机识别码
|
||||
Name string `json:"name"` //打印机备注名
|
||||
Status int `json:"status"` //打印机状态
|
||||
}
|
||||
|
||||
func (v *Printer) TableIndex() [][]string {
|
||||
return [][]string{
|
||||
[]string{"PrintNo"},
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,8 @@ func Init() {
|
||||
orm.RegisterDataBase("default", "mysql", beego.AppConfig.String("dbConnectStr"), 30)
|
||||
// orm.RegisterDataBase("c4", "mysql", "root:WebServer@1@tcp(gold1.jxc4.com:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true", 30)
|
||||
|
||||
orm.RegisterModel(&model.Apps{})
|
||||
orm.RegisterModel(&model.Printer{})
|
||||
orm.RegisterModel(&model.NewConfig{})
|
||||
orm.RegisterModel(&model.User{})
|
||||
orm.RegisterModel(&model.Place{})
|
||||
|
||||
Reference in New Issue
Block a user