mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-23 10:58:35 +08:00
优化功能,通知功能,任务功能
This commit is contained in:
188
resource/template/go/api.template
Normal file
188
resource/template/go/api.template
Normal file
@@ -0,0 +1,188 @@
|
||||
// ==========================================================================
|
||||
// GFast自动生成控制器相关代码,只生成一次,按需修改,再次生成不会覆盖.
|
||||
// 生成日期:{{.table.CreateTime}}
|
||||
// 生成路径: {{.table.PackageName}}/api/{{.table.BusinessName}}.go
|
||||
// 生成人:{{.table.FunctionAuthor}}
|
||||
// ==========================================================================
|
||||
////
|
||||
{{$structName := .table.BusinessName | CaseCamelLower}}
|
||||
|
||||
package api
|
||||
|
||||
{{$hasGStr:=false}}
|
||||
{{$gjsonTag:=false}}
|
||||
{{$libTag:=false}}
|
||||
{{range $index,$column:=.table.Columns}}
|
||||
{{if eq $column.HtmlType "checkbox"}}
|
||||
{{$hasGStr = true}}
|
||||
{{else if eq $column.HtmlType "images" "file" "files"}}
|
||||
{{$gjsonTag = true}}
|
||||
{{$libTag = true}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
||||
import (
|
||||
{{if ne $.table.ModuleName "system"}}
|
||||
sysApi "gfast/app/system/api"
|
||||
{{end}}
|
||||
{{if $libTag}}
|
||||
"gfast/library"
|
||||
{{end}}
|
||||
"{{.table.PackageName}}/dao"
|
||||
"{{.table.PackageName}}/service"
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/net/ghttp"
|
||||
"github.com/gogf/gf/util/gvalid"
|
||||
{{if $hasGStr}}
|
||||
"github.com/gogf/gf/text/gstr"
|
||||
{{end}}
|
||||
{{if $gjsonTag}}
|
||||
"github.com/gogf/gf/encoding/gjson"
|
||||
{{end}}
|
||||
)
|
||||
|
||||
type {{$structName}} struct {
|
||||
{{if ne $.table.ModuleName "system"}}
|
||||
sysApi.SystemBase
|
||||
{{else}}
|
||||
SystemBase
|
||||
{{end}}
|
||||
}
|
||||
|
||||
var {{.table.ClassName}} = new({{$structName}})
|
||||
|
||||
// List 列表
|
||||
func (c *{{$structName}}) List(r *ghttp.Request) {
|
||||
var req *dao.{{.table.ClassName}}SearchReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
c.FailJsonExit(r, err.(gvalid.Error).FirstString())
|
||||
}
|
||||
req.Ctx = r.GetCtx()
|
||||
total, page, list, err := service.{{.table.ClassName}}.GetList(req)
|
||||
if err != nil {
|
||||
c.FailJsonExit(r, err.Error())
|
||||
}
|
||||
result := g.Map{
|
||||
"currentPage": page,
|
||||
"total": total,
|
||||
"list": list,
|
||||
}
|
||||
c.SusJsonExit(r, result)
|
||||
}
|
||||
|
||||
// Add 添加
|
||||
func (c *{{$structName}}) Add(r *ghttp.Request) {
|
||||
var req *dao.{{.table.ClassName}}AddReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
c.FailJsonExit(r, err.(gvalid.Error).FirstString())
|
||||
}
|
||||
{{range $index,$column:= .table.Columns}}
|
||||
{{if eq $column.ColumnName "created_by"}}
|
||||
req.CreatedBy = c.GetCurrentUser(r.GetCtx()).GetUserId()
|
||||
{{end}}
|
||||
{{if eq $column.HtmlType "checkbox"}}
|
||||
{{$column.HtmlField}} := r.GetStrings("{{$column.HtmlField}}")
|
||||
if len({{$column.HtmlField}})>0{
|
||||
req.{{$column.GoField}} = gstr.Join({{$column.HtmlField}},",")
|
||||
}else{
|
||||
req.{{$column.GoField}} = ""
|
||||
}
|
||||
{{else if eq $column.HtmlType "images" "file" "files"}}
|
||||
up{{$column.GoField}}:=gjson.New(req.{{$column.GoField}})
|
||||
for _,obj:=range up{{$column.GoField}}.Array(){
|
||||
mp := obj.(g.MapStrAny)
|
||||
var err error
|
||||
mp["url"],err = library.GetFilesPath(mp["url"].(string))
|
||||
if err!=nil{
|
||||
c.FailJsonExit(r, err.Error())
|
||||
}
|
||||
}
|
||||
req.{{$column.GoField}} = up{{$column.GoField}}.MustToJsonString()
|
||||
{{end}}
|
||||
{{end}}
|
||||
err := service.{{.table.ClassName}}.Add(r.GetCtx(),req)
|
||||
if err != nil {
|
||||
c.FailJsonExit(r, err.Error())
|
||||
}
|
||||
c.SusJsonExit(r, "添加成功")
|
||||
}
|
||||
|
||||
|
||||
// Get 获取
|
||||
func (c *{{$structName}}) Get(r *ghttp.Request) {
|
||||
id := r.Get{{$.table.PkColumn.GoType | CaseCamel}}("id")
|
||||
info, err := service.{{.table.ClassName}}.GetInfoById(r.GetCtx(),id)
|
||||
if err != nil {
|
||||
c.FailJsonExit(r, err.Error())
|
||||
}
|
||||
c.SusJsonExit(r, info)
|
||||
}
|
||||
|
||||
// Edit 修改
|
||||
func (c *{{$structName}}) Edit(r *ghttp.Request) {
|
||||
var req *dao.{{.table.ClassName}}EditReq
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
c.FailJsonExit(r, err.(gvalid.Error).FirstString())
|
||||
}
|
||||
{{range $index,$column:= .table.Columns}}
|
||||
{{if eq $column.ColumnName "updated_by"}}
|
||||
req.UpdatedBy = c.GetCurrentUser(r.GetCtx()).GetUserId() //获取登陆用户id
|
||||
{{end}}
|
||||
{{if eq $column.HtmlType "checkbox"}}
|
||||
{{$column.HtmlField}} := r.GetStrings("{{$column.HtmlField}}")
|
||||
if len({{$column.HtmlField}})>0{
|
||||
req.{{$column.GoField}} = gstr.Join({{$column.HtmlField}},",")
|
||||
}else{
|
||||
req.{{$column.GoField}} = ""
|
||||
}
|
||||
{{else if eq $column.HtmlType "images" "file" "files"}}
|
||||
up{{$column.GoField}}:=gjson.New(req.{{$column.GoField}})
|
||||
for _,obj:=range up{{$column.GoField}}.Array(){
|
||||
mp := obj.(g.MapStrAny)
|
||||
var err error
|
||||
mp["url"],err = library.GetFilesPath(mp["url"].(string))
|
||||
if err!=nil{
|
||||
c.FailJsonExit(r, err.Error())
|
||||
}
|
||||
}
|
||||
req.{{$column.GoField}} = up{{$column.GoField}}.MustToJsonString()
|
||||
{{end}}
|
||||
{{end}}
|
||||
err := service.{{.table.ClassName}}.Edit(r.GetCtx(),req)
|
||||
if err != nil {
|
||||
c.FailJsonExit(r, err.Error())
|
||||
}
|
||||
c.SusJsonExit(r, "修改成功")
|
||||
}
|
||||
|
||||
|
||||
// Delete 删除
|
||||
func (c *{{$structName}}) Delete(r *ghttp.Request) {
|
||||
ids := r.GetInts("ids")
|
||||
err := service.{{.table.ClassName}}.DeleteByIds(r.GetCtx(),ids)
|
||||
if err != nil {
|
||||
c.FailJsonExit(r, err.Error())
|
||||
}
|
||||
c.SusJsonExit(r, "删除成功")
|
||||
}
|
||||
|
||||
{{range $index,$column:= .table.Columns}}
|
||||
{{if and (HasSuffix $column.ColumnName "status") (eq $column.IsList "1") }}
|
||||
// Change{{$column.GoField}} 修改状态
|
||||
func (c *{{$structName}}) Change{{$column.GoField}}(r *ghttp.Request){
|
||||
var req *dao.{{$.table.ClassName}}{{$column.GoField}}Req
|
||||
//获取参数
|
||||
if err := r.Parse(&req); err != nil {
|
||||
c.FailJsonExit(r, err.(gvalid.Error).FirstString())
|
||||
}
|
||||
if err := service.{{$.table.ClassName}}.Change{{$column.GoField}}(r.GetCtx(),req); err != nil {
|
||||
c.FailJsonExit(r, err.Error())
|
||||
} else {
|
||||
c.SusJsonExit(r, "状态设置成功")
|
||||
}
|
||||
}
|
||||
{{end}}
|
||||
{{end}}
|
||||
Reference in New Issue
Block a user