From 80f26a9459b86eb76e402858c244139996c504d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 17 Aug 2022 17:43:34 +0800 Subject: [PATCH] 1 --- business/dao/print_temp_utils.go | 148 ++++++++++++++-------------- business/model/print_bill.go | 23 +++++ business/model/print_bill_pay.go | 52 ++++++++++ business/model/print_bill_record.go | 25 +++++ globals/beegodb/beegodb.go | 3 + 5 files changed, 177 insertions(+), 74 deletions(-) create mode 100644 business/model/print_bill.go create mode 100644 business/model/print_bill_pay.go create mode 100644 business/model/print_bill_record.go diff --git a/business/dao/print_temp_utils.go b/business/dao/print_temp_utils.go index 9d1a5c309..a41deaec0 100644 --- a/business/dao/print_temp_utils.go +++ b/business/dao/print_temp_utils.go @@ -5,86 +5,86 @@ import ( "fmt" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" - "git.rosy.net.cn/jx-callback/globals" "strings" "time" ) var SystemTempObj map[string]*model.SystemTemp -func init() { - SystemTempObj = make(map[string]*model.SystemTemp, 0) - sysTempList, err := QuerySystemTemp() - if err != nil { - globals.SugarLogger.Debug("query system temp err :", err) - return - } - if len(sysTempList) <= 0 { - globals.SugarLogger.Debug("query system temp err :", "system temp don't have") - // 不存在系统模板,初始化系统模板 - //InitSystemTemp() - } - temp := make(map[string]*model.SystemTemp, 0) - for _, v := range sysTempList { - temp[v.TempSize] = v - SystemTempObj[v.TempSize] = v - } - - now := time.Now() - param := &model.SystemTemp{ - CreatedAt: &now, - UpdatedAt: &now, - LastOperator: "system", - DeletedAt: &utils.DefaultTimeValue, - TempName: "", - TempRank: model.SystemTempKey, - Temp: "", - UserId: "system_user", - TempType: model.TempTypeMerchant, - TempSize: model.SystemTempSizeBig, - PrintSn: "system", - IsUse: 1, - } - - // 初始化大字体模板 - if _, v := temp[model.SystemTempSizeBig]; !v { - param.TempName = "system" + model.SystemTempSizeBig - param.Temp = model.SystemTempValue - if err := AddTemp(param); err != nil { - globals.SugarLogger.Debug("init system temp err :", err) - } - SystemTempObj[model.SystemTempSizeBig] = param - } - - // 初始化中字体模板 - if _, v := temp[model.SystemTempSizeMedium]; !v { - param.TempName = "system" + model.SystemTempSizeMedium - medium := strings.Replace(model.SystemTempValue, "", "", -1) - medium2 := strings.Replace(medium, "", "", -1) - param.Temp = medium2 - param.TempSize = model.SystemTempSizeMedium - param.IsUse = 2 - if err := AddTemp(param); err != nil { - globals.SugarLogger.Debug("init system temp err :", err) - } - SystemTempObj[model.SystemTempSizeMedium] = param - } - - // 初始化小字体模板 - if _, v := temp[model.SystemTempSizeSmall]; !v { - param.TempName = "system" + model.SystemTempSizeSmall - medium := strings.Replace(model.SystemTempValue, "", " ", -1) - medium2 := strings.Replace(medium, "", " ", -1) - param.Temp = medium2 - param.TempSize = model.SystemTempSizeSmall - param.IsUse = 2 - if err := AddTemp(param); err != nil { - globals.SugarLogger.Debug("init system temp err :", err) - } - SystemTempObj[model.SystemTempSizeSmall] = param - } - -} +// +//func init() { +// SystemTempObj = make(map[string]*model.SystemTemp, 0) +// sysTempList, err := QuerySystemTemp() +// if err != nil { +// globals.SugarLogger.Debug("query system temp err :", err) +// return +// } +// if len(sysTempList) <= 0 { +// globals.SugarLogger.Debug("query system temp err :", "system temp don't have") +// // 不存在系统模板,初始化系统模板 +// //InitSystemTemp() +// } +// temp := make(map[string]*model.SystemTemp, 0) +// for _, v := range sysTempList { +// temp[v.TempSize] = v +// SystemTempObj[v.TempSize] = v +// } +// +// now := time.Now() +// param := &model.SystemTemp{ +// CreatedAt: &now, +// UpdatedAt: &now, +// LastOperator: "system", +// DeletedAt: &utils.DefaultTimeValue, +// TempName: "", +// TempRank: model.SystemTempKey, +// Temp: "", +// UserId: "system_user", +// TempType: model.TempTypeMerchant, +// TempSize: model.SystemTempSizeBig, +// PrintSn: "system", +// IsUse: 1, +// } +// +// // 初始化大字体模板 +// if _, v := temp[model.SystemTempSizeBig]; !v { +// param.TempName = "system" + model.SystemTempSizeBig +// param.Temp = model.SystemTempValue +// if err := AddTemp(param); err != nil { +// globals.SugarLogger.Debug("init system temp err :", err) +// } +// SystemTempObj[model.SystemTempSizeBig] = param +// } +// +// // 初始化中字体模板 +// if _, v := temp[model.SystemTempSizeMedium]; !v { +// param.TempName = "system" + model.SystemTempSizeMedium +// medium := strings.Replace(model.SystemTempValue, "", "", -1) +// medium2 := strings.Replace(medium, "", "", -1) +// param.Temp = medium2 +// param.TempSize = model.SystemTempSizeMedium +// param.IsUse = 2 +// if err := AddTemp(param); err != nil { +// globals.SugarLogger.Debug("init system temp err :", err) +// } +// SystemTempObj[model.SystemTempSizeMedium] = param +// } +// +// // 初始化小字体模板 +// if _, v := temp[model.SystemTempSizeSmall]; !v { +// param.TempName = "system" + model.SystemTempSizeSmall +// medium := strings.Replace(model.SystemTempValue, "", " ", -1) +// medium2 := strings.Replace(medium, "", " ", -1) +// param.Temp = medium2 +// param.TempSize = model.SystemTempSizeSmall +// param.IsUse = 2 +// if err := AddTemp(param); err != nil { +// globals.SugarLogger.Debug("init system temp err :", err) +// } +// SystemTempObj[model.SystemTempSizeSmall] = param +// } +// +//} // MakePrintMsgOnTemp 将打印数据渲染到模板当中 func MakePrintMsgOnTemp(param map[string]string, userId string) (string, error) { diff --git a/business/model/print_bill.go b/business/model/print_bill.go new file mode 100644 index 000000000..8f9c010bc --- /dev/null +++ b/business/model/print_bill.go @@ -0,0 +1,23 @@ +package model + +import "time" + +// PrintBill 打印机账户 +type PrintBill struct { + ID int `orm:"column(id)" json:"id" db:"id"` + CreatedAt time.Time `json:"created_at" db:"created_at"` + UpdatedAt time.Time `json:"updated_at" db:"updated_at"` + PrintNo string `orm:"type(varchar);size(32);index" json:"print_no" db:"print_no"` // 打印机编号 + PrintBalance int64 `orm:"type(int);size(16)" json:"print_balance" db:"print_balance"` // 账户余额 + UserId string `orm:"type(varchar);size(125)" json:"user_id" db:"user_id"` // 打印机所属用户 +} + +func (v *PrintBill) TableUnique() [][]string { + return [][]string{ + []string{"PrintNo"}, + } +} + +func (v *PrintBill) TableIndex() [][]string { + return [][]string{} +} diff --git a/business/model/print_bill_pay.go b/business/model/print_bill_pay.go new file mode 100644 index 000000000..93bf5e793 --- /dev/null +++ b/business/model/print_bill_pay.go @@ -0,0 +1,52 @@ +package model + +import "time" + +const ( + // PayTypeWX PayType 支付类型 + PayTypeWX = 1 // 微信支付 + PayTypeTL = 2 // 通联宝支付 + + // PayStatusNo Status 状态值 + PayStatusNo = 0 + PayStatusYes = 1 + PayStatusFailed = 2 + PayStatusCanceled = 3 + PayStatusRefund = 4 + + PayBody = "京西云打印机余额充值" + OrderPayVendorId = 1 // 京西平台 +) + +type OrderPay struct { + ID int `orm:"column(id)" json:"id" db:"id"` + CreatedAt time.Time `orm:"type(datetime)" json:"created_at" db:"created_at"` // 创建时间 + UpdatedAt time.Time `orm:"type(datetime)" json:"updated_at" db:"updated_at"` // 更新时间 + PayOrderID string `orm:"column(pay_order_id);size(48)" json:"pay_order_id" db:"pay_order_id"` // 京西支付定单号 + PayType int `orm:"type(int);size(2)" json:"pay_type" db:"pay_type"` // 支付类型[1-微信,2-通联,3-抖音] + VendorPayType string `orm:"size(48)" json:"vendorPayType"` // + VendorOrderID string `orm:"column(vendor_order_id);size(48);index" json:"vendor_order_id" db:"vendor_order_id"` // 支付对应的购物订单号 + PrintNo string `orm:"column(print_no);size(48);index" json:"print_no" db:"print_no"` // 充值打印机编号 + Status int `orm:"type(int);size(2)" json:"status" json:"status" db:"status"` // 订单支付状态 + PayCreatedAt time.Time `orm:"type(datetime);index" json:"pay_created_at" db:"pay_created_at"` // 下单时间 + PayFinishedAt time.Time `orm:"type(datetime)" json:"pay_finished_at" db:"pay_finished_at"` // 支付完成时间 + TotalFee int `orm:"type(int);size(11)" json:"total_fee" db:"total_fee"` // 支付金额 + PrepayID string `orm:"column(prepay_id);index;size(48)" json:"prepay_id" db:"prepay_id"` // 下单后,支付前,支付方生成的事务ID + TransactionID string `orm:"column(transaction_id);index;size(48)" json:"transaction_id" db:"transaction_id"` // 支付成功后,支付方生成的事务ID + OriginalData string `orm:"type(text)" json:"-"` // 返回消息 + VendorID int `orm:"column(vendor_id)" json:"vendor_id" db:"vendor_id"` // 购物订单所属厂商代码(当前只有京西) + CodeURL string `orm:"column(code_url);size(3200)" json:"codeURL"` // +} + +func (v *OrderPay) TableUnique() [][]string { + return [][]string{ + []string{"VendorOrderID"}, + } +} + +func (v *OrderPay) TableIndex() [][]string { + return [][]string{ + []string{"PrintNo"}, + []string{"PayCreatedAt"}, + } +} diff --git a/business/model/print_bill_record.go b/business/model/print_bill_record.go new file mode 100644 index 000000000..3a5606728 --- /dev/null +++ b/business/model/print_bill_record.go @@ -0,0 +1,25 @@ +package model + +import "time" + +// PrintBillRecord 打印机充值/小费记录 +type PrintBillRecord struct { + ID int `orm:"column(id)" json:"id" db:"id"` + CreatedAt time.Time `json:"created_at" db:"created_at"` + UpdatedAt time.Time `json:"updated_at" db:"updated_at"` + PrintNo string `orm:"type(varchar);size(32);index" json:"print_no" db:"print_no"` // 打印机编号 + PayType int `orm:"type(int);size(2)" json:"pay_type" db:"pay_type"` // 支付类型[1-充值/2-支出] + PayMoney int `orm:"type(int);size(10)" json:"pay_money" db:"pay_money"` // 金额 + OrderId string `orm:"type(varchar);size(64);index" json:"order_id" db:"order_id"` // 订单号 + UserId string `orm:"type(varchar);size(125)" json:"user_id" db:"user_id"` // 打印机所属用户 +} + +func (v *PrintBillRecord) TableUnique() [][]string { + return [][]string{} +} + +func (v *PrintBillRecord) TableIndex() [][]string { + return [][]string{ + []string{"PrintNo"}, + } +} diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index bdc771f61..c2631310f 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -20,6 +20,9 @@ func Init() { orm.RegisterModel(&model.MenuDetail{}) orm.RegisterModel(&model.SimFlowExpend{}, &model.SimFlowIncome{}) orm.RegisterModel(&model.PayOrder{}) + orm.RegisterModel(&model.PrintBill{}) + orm.RegisterModel(&model.OrderPay{}) + orm.RegisterModel(&model.PrintBillRecord{}) // create table orm.RunSyncdb("default", false, true) }