Browse Source

'fix'

master
u 2 years ago
parent
commit
855b847f09
  1. 119
      hasaki-gen-crud/template.go

119
hasaki-gen-crud/template.go

@ -1,20 +1,25 @@
package main package main
import ( import (
"fmt"
"time"
"git.ouxuan.net/hasaki-service/hasaki-sdk/hskdb" "git.ouxuan.net/hasaki-service/hasaki-sdk/hskdb"
"git.ouxuan.net/hasaki-service/hasaki-sdk/hskgin" "git.ouxuan.net/hasaki-service/hasaki-sdk/hskgin"
"git.ouxuan.net/hasaki-service/hasaki-sdk/hsklogger/L"
"xorm.io/builder" "xorm.io/builder"
"xorm.io/xorm" "xorm.io/xorm"
) )
type Temp3A60 struct { type Temp3A60 struct {
Id int
service string
Id int
service string
QueueStatus string
} }
// ----------------------------temp------------------------------------ // ----------------------------temp------------------------------------
//wherePrimaryKey 主键查询
// wherePrimaryKey 主键查询
func (TempLowHead3A60 *Temp3A60) wherePrimaryKey() (q interface{}, args []interface{}) { func (TempLowHead3A60 *Temp3A60) wherePrimaryKey() (q interface{}, args []interface{}) {
//todo 根据需求修改 //todo 根据需求修改
return "`id`=?", []interface{}{ return "`id`=?", []interface{}{
@ -22,53 +27,53 @@ func (TempLowHead3A60 *Temp3A60) wherePrimaryKey() (q interface{}, args []interf
} }
} }
//wherePrimaryKeyWithCond 主键查询
// wherePrimaryKeyWithCond 主键查询
func (TempLowHead3A60 *Temp3A60) wherePrimaryKeyWithCond() builder.Cond { func (TempLowHead3A60 *Temp3A60) wherePrimaryKeyWithCond() builder.Cond {
//todo 根据需求修改 //todo 根据需求修改
return nil return nil
} }
//whereDataWithCond 列表查询
// whereDataWithCond 列表查询
func (TempLowHead3A60 *Temp3A60) whereDataWithCond() builder.Cond { func (TempLowHead3A60 *Temp3A60) whereDataWithCond() builder.Cond {
//todo 根据需求修改 //todo 根据需求修改
return nil return nil
} }
//whereData 列表查询筛选
// whereData 列表查询筛选
func (TempLowHead3A60 *Temp3A60) whereData() (q interface{}, args []interface{}) { func (TempLowHead3A60 *Temp3A60) whereData() (q interface{}, args []interface{}) {
//todo //todo
return "", nil return "", nil
} }
//orderData 列表查询排序
// orderData 列表查询排序
func (TempLowHead3A60 *Temp3A60) orderData() string { func (TempLowHead3A60 *Temp3A60) orderData() string {
//todo //todo
return "`id` desc" return "`id` desc"
} }
//init 数据初始化,可附加更多数据
// init 数据初始化,可附加更多数据
func (TempLowHead3A60 *Temp3A60) init() { func (TempLowHead3A60 *Temp3A60) init() {
//todo //todo
} }
//saveAllCols 保存时是否全量保存
// saveAllCols 保存时是否全量保存
func (TempLowHead3A60 *Temp3A60) isSaveAllCols() bool { func (TempLowHead3A60 *Temp3A60) isSaveAllCols() bool {
return false return false
} }
//insertPretreatment 新增前预处理
// insertPretreatment 新增前预处理
func (TempLowHead3A60 *Temp3A60) insertPretreatment() error { func (TempLowHead3A60 *Temp3A60) insertPretreatment() error {
//todo //todo
return nil return nil
} }
//updatePretreatment 修改前预处理
// updatePretreatment 修改前预处理
func (TempLowHead3A60 *Temp3A60) updatePretreatment() error { func (TempLowHead3A60 *Temp3A60) updatePretreatment() error {
//todo //todo
return nil return nil
} }
//deletePretreatment 删除前预处理
// deletePretreatment 删除前预处理
func (TempLowHead3A60 *Temp3A60) deletePretreatment() error { func (TempLowHead3A60 *Temp3A60) deletePretreatment() error {
//todo //todo
return nil return nil
@ -79,9 +84,29 @@ func (TempLowHead3A60 *Temp3A60) getXorm() *xorm.Engine {
return hskdb.GetXormAuto() return hskdb.GetXormAuto()
} }
// 队列状态
const (
Temp3A60QueueWait = 2 * time.Second
Temp3A60QueueStatusNone = "None"
Temp3A60QueueStatusIng = "Ing"
Temp3A60QueueStatusSuccess = "Success"
Temp3A60QueueStatusFail = "Fail"
)
// 不同service对应的不同队列状态
var Temp3A60QueueStatusFieldMap = map[string]string{
"service": "queue_status",
}
// 队列事件
func (TempLowHead3A60 *Temp3A60) queueEvent() error {
//todo
return nil
}
// ----------------------------temp------------------------------------ // ----------------------------temp------------------------------------
//Save 保存或者新增,通过wherePrimaryKey查不到数据时,新增数据,否则修改数据,参数:isAllCols...
// Save 保存或者新增,通过wherePrimaryKey查不到数据时,新增数据,否则修改数据,参数:isAllCols...
func (TempLowHead3A60 *Temp3A60) Save(isAllCols ...bool) (err error) { func (TempLowHead3A60 *Temp3A60) Save(isAllCols ...bool) (err error) {
if TempLowHead3A60.service == "" { if TempLowHead3A60.service == "" {
TempLowHead3A60.service = "none" TempLowHead3A60.service = "none"
@ -132,7 +157,7 @@ func (TempLowHead3A60 *Temp3A60) Save(isAllCols ...bool) (err error) {
return err return err
} }
//Load 为实例载入数据,数据来源取决于wherePrimaryKey查找实例中的数据
// Load 为实例载入数据,数据来源取决于wherePrimaryKey查找实例中的数据
func (TempLowHead3A60 *Temp3A60) Load() (err error) { func (TempLowHead3A60 *Temp3A60) Load() (err error) {
if TempLowHead3A60.service == "" { if TempLowHead3A60.service == "" {
TempLowHead3A60.service = "none" TempLowHead3A60.service = "none"
@ -158,7 +183,7 @@ func (TempLowHead3A60 *Temp3A60) Load() (err error) {
return return
} }
//Data 不进行分页的数据列表
// Data 不进行分页的数据列表
func (TempLowHead3A60 *Temp3A60) Data() (data []Temp3A60) { func (TempLowHead3A60 *Temp3A60) Data() (data []Temp3A60) {
if TempLowHead3A60.service == "" { if TempLowHead3A60.service == "" {
TempLowHead3A60.service = "none" TempLowHead3A60.service = "none"
@ -193,7 +218,7 @@ func (TempLowHead3A60 *Temp3A60) Data() (data []Temp3A60) {
return return
} }
//PageData 进行分页的数据列表,page从0开始
// PageData 进行分页的数据列表,page从0开始
func (TempLowHead3A60 *Temp3A60) PageData(page, pageSize int) (data []Temp3A60, count int64) { func (TempLowHead3A60 *Temp3A60) PageData(page, pageSize int) (data []Temp3A60, count int64) {
if TempLowHead3A60.service == "" { if TempLowHead3A60.service == "" {
TempLowHead3A60.service = "none" TempLowHead3A60.service = "none"
@ -226,7 +251,7 @@ func (TempLowHead3A60 *Temp3A60) PageData(page, pageSize int) (data []Temp3A60,
return return
} }
//Delete 删除数据
// Delete 删除数据
func (TempLowHead3A60 *Temp3A60) Delete() (err error) { func (TempLowHead3A60 *Temp3A60) Delete() (err error) {
if TempLowHead3A60.service == "" { if TempLowHead3A60.service == "" {
TempLowHead3A60.service = "none" TempLowHead3A60.service = "none"
@ -253,6 +278,64 @@ func (TempLowHead3A60 *Temp3A60) Delete() (err error) {
// ----------------------------temp------------------------------------ // ----------------------------temp------------------------------------
func StartQueueTaskPrefixHigHead3A60Temp3A60() {
serviceName := "Prefix3A60"
f := Temp3A60QueueStatusFieldMap[serviceName]
go func() {
defer func() {
err := recover()
if err != nil {
L.Error("StartQueueTaskPrefixHigHead3A60Temp3A60意外退出:", err)
}
time.Sleep(time.Second * 5)
StartQueueTaskPrefixHigHead3A60Temp3A60()
}()
for {
onec := &Temp3A60{}
hskdb.GetXormAuto().Where(fmt.Sprintf("`%s`=?", f), Temp3A60QueueStatusNone).OrderBy("rand()").Find(&onec)
session := onec.getXorm().NewSession()
defer session.Close()
whereQuery, whereArgs := onec.wherePrimaryKey()
whereCond := onec.wherePrimaryKeyWithCond()
if whereQuery != "" {
session = session.Where(whereQuery, whereArgs...)
}
if whereCond != nil {
session = session.Where(whereCond)
}
i, err := session.Where(fmt.Sprintf("`%s`=?", f), Temp3A60QueueStatusNone).Update(map[string]interface{}{f: Temp3A60QueueStatusIng})
if err == nil && i == 1 {
func() {
{
err := onec.queueEvent()
session := onec.getXorm().NewSession()
defer session.Close()
whereQuery, whereArgs := onec.wherePrimaryKey()
whereCond := onec.wherePrimaryKeyWithCond()
if whereQuery != "" {
session = session.Where(whereQuery, whereArgs...)
}
if whereCond != nil {
session = session.Where(whereCond)
}
if err != nil {
session.Where(fmt.Sprintf("`%s`=?", f), Temp3A60QueueStatusNone).Update(map[string]interface{}{f: Temp3A60QueueStatusFail})
} else {
session.Where(fmt.Sprintf("`%s`=?", f), Temp3A60QueueStatusNone).Update(map[string]interface{}{f: Temp3A60QueueStatusSuccess})
}
}
}()
}
time.Sleep(Temp3A60QueueWait)
}
}()
}
func InitializationHttpCrudPrefixHigHead3A60Temp3A60(router *hskgin.GinHelper, authoritys ...func(ctx *hskgin.GinContextHelper, TempLowHead3A60 *Temp3A60)) { func InitializationHttpCrudPrefixHigHead3A60Temp3A60(router *hskgin.GinHelper, authoritys ...func(ctx *hskgin.GinContextHelper, TempLowHead3A60 *Temp3A60)) {
var authority = func(ctx *hskgin.GinContextHelper, TempLowHead3A60 *Temp3A60) { var authority = func(ctx *hskgin.GinContextHelper, TempLowHead3A60 *Temp3A60) {
} }
@ -311,5 +394,3 @@ func InitializationHttpCrudPrefixHigHead3A60Temp3A60(router *hskgin.GinHelper, a
ctx.DisplayBySuccess("删除成功") ctx.DisplayBySuccess("删除成功")
}) })
} }
// ----------------------------temp------------------------------------
Loading…
Cancel
Save