You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

103 lines
2.6 KiB

package main
import (
"git.ouxuan.net/hasaki-service/hasaki-sdk/hskdb"
"git.ouxuan.net/hasaki-service/hasaki-sdk/hskgin"
)
type Temp3A60 struct {
Id int
}
// ----------------------------temp------------------------------------
func (that *Temp3A60) where() (q interface{}, args []interface{}) {
//todo 根据需求修改
return "`id`=?", []interface{}{
that.Id,
}
}
func (that *Temp3A60) Save(isCols ...bool) (err error) {
tmp := Temp3A60{}
whereQuery, whereArgs := that.where()
hskdb.GetXormAuto().Where(whereQuery, whereArgs...).Get(&tmp)
if tmp.Id == 0 {
_, err = hskdb.GetXormAuto().Insert(that)
} else {
if len(isCols) > 0 && isCols[0] {
_, err = hskdb.GetXormAuto().AllCols().Where(whereQuery, whereArgs...).Update(that)
} else {
_, err = hskdb.GetXormAuto().Where(whereQuery, whereArgs...).Update(that)
}
}
return err
}
func (that *Temp3A60) Load() (err error) {
whereQuery, whereArgs := that.where()
_, err = hskdb.GetXormAuto().Where(whereQuery, whereArgs...).Get(&that)
return
}
func (that *Temp3A60) Data() (data []Temp3A60) {
hskdb.GetXormAuto().OrderBy("id desc").Find(&data)
return
}
func (that *Temp3A60) PageData(page, pageSize int) (data []Temp3A60, count int64) {
count, _ = hskdb.GetXormAuto().OrderBy("id desc").Limit(pageSize, page*pageSize).FindAndCount(&data)
return
}
func (that *Temp3A60) Delete() (err error) {
whereQuery, whereArgs := that.where()
_, err = hskdb.GetXormAuto().Where(whereQuery, whereArgs...).Delete(&that)
return
}
//该方法请不要放在db文件中
func InitializationTemp3A60(router *hskgin.GinHelper) {
var authority = func(ctx *hskgin.GinContextHelper) {
//todo 权限控制
}
router.Any("/?????/Temp3A60/get", func(ctx *hskgin.GinContextHelper) {
authority(ctx)
req := Temp3A60{}
ctx.Bind(&req)
err := req.Load()
ctx.CheckErrDisplayByError(err)
ctx.DisplayByData(req)
})
router.Any("/?????/Temp3A60/save", func(ctx *hskgin.GinContextHelper) {
authority(ctx)
req := Temp3A60{}
ctx.Bind(&req)
err := req.Save()
ctx.CheckErrDisplayByError(err)
err = req.Load()
ctx.CheckErrDisplayByError(err)
ctx.DisplayByData(req)
})
router.Any("/?????/Temp3A60/data", func(ctx *hskgin.GinContextHelper) {
authority(ctx)
req := Temp3A60{}
ctx.Bind(&req)
data := req.Data()
ctx.DisplayByData(data)
})
router.Any("/?????/Temp3A60/list", func(ctx *hskgin.GinContextHelper) {
authority(ctx)
req := Temp3A60{}
ctx.Bind(&req)
page := ctx.ParamRequired2Page(true)
data, count := req.PageData(page, 10)
ctx.DisplayByPage(data, count)
})
}
// ----------------------------temp------------------------------------