From df481cd2b54b0a127ff2e44f6a5e001730073930 Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Thu, 24 Jun 2021 16:50:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=BA=9Bmodel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/jxutils.go | 134 ++---------------------------------- business/model/app.go | 9 +++ business/model/print.go | 17 +++++ globals/beegodb/beegodb.go | 2 + 4 files changed, 35 insertions(+), 127 deletions(-) create mode 100644 business/model/print.go diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index b40d8c962..76b1f5b24 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -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 // 单位为米 diff --git a/business/model/app.go b/business/model/app.go index 8b5379070..000dd0b77 100644 --- a/business/model/app.go +++ b/business/model/app.go @@ -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"` //状态 +} diff --git a/business/model/print.go b/business/model/print.go new file mode 100644 index 000000000..ed71007d2 --- /dev/null +++ b/business/model/print.go @@ -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"}, + } +} diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index c1abd9072..8efbcf683 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -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{})