public_host 4 years ago
parent
commit
f5d07e014a
  1. 42
      auto_generated_crud_MyTestr_test.go
  2. 47
      auto_generated_http_crud_admin_MyTestr_test.go
  3. 2
      hasaki-gen-crud/hasaki-gen-crud.js
  4. 17
      test.go

42
auto_generated_crud_MyTestr_test.go

@ -0,0 +1,42 @@
package main
func (myTestr *MyTestr) Save(isAllCols ...bool) (err error) {
tmp := MyTestr{}
whereQuery, whereArgs := myTestr.wherePrimaryKey()
myTestr.getXorm().Where(whereQuery, whereArgs...).Get(&tmp)
if tmp.Id == 0 {
_, err = myTestr.getXorm().Insert(myTestr)
} else {
if len(isAllCols) > 0 && isAllCols[0] {
_, err = myTestr.getXorm().AllCols().Where(whereQuery, whereArgs...).Update(myTestr)
} else {
_, err = myTestr.getXorm().Where(whereQuery, whereArgs...).Update(myTestr)
}
}
return err
}
func (myTestr *MyTestr) Load() (err error) {
whereQuery, whereArgs := myTestr.wherePrimaryKey()
_, err = myTestr.getXorm().Where(whereQuery, whereArgs...).Get(myTestr)
return
}
func (myTestr *MyTestr) Data() (data []MyTestr) {
myTestr.getXorm().OrderBy("id desc").Find(&data)
return
}
func (myTestr *MyTestr) PageData(page, pageSize int) (data []MyTestr, count int64) {
count, _ = myTestr.getXorm().OrderBy("id desc").Limit(pageSize, page*pageSize).FindAndCount(&data)
return
}
func (myTestr *MyTestr) Delete() (err error) {
whereQuery, whereArgs := myTestr.wherePrimaryKey()
_, err = myTestr.getXorm().Where(whereQuery, whereArgs...).Delete(myTestr)
return
}

47
auto_generated_http_crud_admin_MyTestr_test.go

@ -0,0 +1,47 @@
package main
func InitializationHttpCrudAdminMyTestr(router *hskgin.GinHelper) {
var authority = func(ctx *hskgin.GinContextHelper) {
//todo 权限控制
}
router.Any("/admin/myTestr/get", func(ctx *hskgin.GinContextHelper) {
authority(ctx)
req := MyTestr{}
ctx.Bind(&req)
err := req.Load()
ctx.CheckErrDisplayByError(err)
ctx.DisplayByData(req)
})
router.Any("/admin/myTestr/save", func(ctx *hskgin.GinContextHelper) {
authority(ctx)
req := MyTestr{}
ctx.Bind(&req)
err := req.Save()
ctx.CheckErrDisplayByError(err)
err = req.Load()
ctx.CheckErrDisplayByError(err)
ctx.DisplayByData(req)
})
router.Any("/admin/myTestr/data", func(ctx *hskgin.GinContextHelper) {
authority(ctx)
req := MyTestr{}
ctx.Bind(&req)
data := req.Data()
ctx.DisplayByData(data)
})
router.Any("/admin/myTestr/list", func(ctx *hskgin.GinContextHelper) {
authority(ctx)
req := MyTestr{}
ctx.Bind(&req)
page := ctx.ParamRequired2Page(true)
data, count := req.PageData(page, 10)
ctx.DisplayByPage(data, count)
})
}

2
hasaki-gen-crud/hasaki-gen-crud.js

@ -15,7 +15,7 @@ try {
// console.log("fix:", error);
// })
// vscode.commands.executeCommand('editor.action.quickFix', vscode.Uri.file(path));
vscode.window.createTerminal("go:fix", "cmd.exe", "/c", `gopls fix -a -w ${path}`).show()
vscode.window.createTerminal("go:fix", "cmd.exe", "/c", `gopls fix -a -w ${path} && pause`).show()
}

17
test.go

@ -3,10 +3,27 @@
*/
package main
import (
"git.ouxuan.net/hasaki-service/hasaki-sdk/hskdb"
"xorm.io/xorm"
)
type MyTestr struct {
Id int
}
//wherePrimaryKey
func (myTestr *MyTestr) wherePrimaryKey() (q interface{}, args []interface{}) {
//todo 根据需求修改
return "`id`=?", []interface{}{
myTestr.Id,
}
}
func (myTestr *MyTestr) getXorm() *xorm.Engine {
return hskdb.GetXormAuto()
}
type MyTestr2 struct {
Id int
}

Loading…
Cancel
Save