作者 yangfu

控制器优化

... ... @@ -7,5 +7,6 @@ import (
)
func main() {
beego.BConfig.CopyRequestBody = true
beego.Run()
}
... ...
package service
import (
"context"
"fmt"
"github.com/linmadan/egglib-go/core/application"
"github.com/linmadan/egglib-go/utils/tool_funs"
... ... @@ -11,6 +12,7 @@ import (
)
type UsersService struct {
ctx context.Context
}
// 创建
... ... @@ -208,5 +210,8 @@ func (usersService *UsersService) UpdateUsers(updateUsersCommand *command.Update
func NewUsersService(options map[string]interface{}) *UsersService {
newUsersService := &UsersService{}
if ctx, ok := options["context"]; ok {
newUsersService.ctx = ctx.(context.Context)
}
return newUsersService
}
... ...
... ... @@ -9,7 +9,7 @@ import (
)
func init() {
beego.InsertFilter("/*", beego.BeforeExec, filters.CreateRequestBodyFilter())
//beego.InsertFilter("/*", beego.BeforeExec, filters.CreateRequestBodyFilter())
beego.InsertFilter("/*", beego.BeforeExec, filters.CreateRequstLogFilter(Logger))
beego.InsertFilter("/*", beego.AfterExec, filters.CreateResponseLogFilter(Logger), false)
}
... ...
package controllers
import (
"encoding/json"
"github.com/astaxie/beego"
"github.com/linmadan/egglib-go/web/beego/utils"
"github.com/tiptok/godevp/pkg/application/users/command"
"github.com/tiptok/godevp/pkg/application/users/query"
... ... @@ -11,72 +8,44 @@ import (
)
type UsersController struct {
beego.Controller
utils.Controller
}
func (controller *UsersController) CreateUsers() {
usersService := service.NewUsersService(nil)
createUsersCommand := &command.CreateUsersCommand{}
json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), createUsersCommand)
controller.Unmarshal(createUsersCommand)
data, err := usersService.CreateUsers(createUsersCommand)
var response utils.JsonResponse
if err != nil {
response = utils.ResponseError(controller.Ctx, err)
} else {
response = utils.ResponseData(controller.Ctx, data)
}
controller.Data["json"] = response
controller.ServeJSON()
controller.Response(data, err)
}
func (controller *UsersController) UpdateUsers() {
usersService := service.NewUsersService(nil)
updateUsersCommand := &command.UpdateUsersCommand{}
json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), updateUsersCommand)
controller.Unmarshal(updateUsersCommand)
Id, _ := controller.GetInt64(":Id")
updateUsersCommand.UsersId = Id
data, err := usersService.UpdateUsers(updateUsersCommand)
var response utils.JsonResponse
if err != nil {
response = utils.ResponseError(controller.Ctx, err)
} else {
response = utils.ResponseData(controller.Ctx, data)
}
controller.Data["json"] = response
controller.ServeJSON()
controller.Response(data, err)
}
func (controller *UsersController) GetUsers() {
usersService := service.NewUsersService(nil)
usersService := service.NewUsersService(map[string]interface{}{"context": controller.Ctx.Request.Context()})
getUsersQuery := &query.GetUsersQuery{}
Id, _ := controller.GetInt64(":Id")
getUsersQuery.UsersId = Id
data, err := usersService.GetUsers(getUsersQuery)
var response utils.JsonResponse
if err != nil {
response = utils.ResponseError(controller.Ctx, err)
} else {
response = utils.ResponseData(controller.Ctx, data)
}
controller.Data["json"] = response
controller.ServeJSON()
controller.Response(data, err)
}
func (controller *UsersController) RemoveUsers() {
usersService := service.NewUsersService(nil)
removeUsersCommand := &command.RemoveUsersCommand{}
json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), removeUsersCommand)
controller.Unmarshal(removeUsersCommand)
Id, _ := controller.GetInt64(":Id")
removeUsersCommand.UsersId = Id
data, err := usersService.RemoveUsers(removeUsersCommand)
var response utils.JsonResponse
if err != nil {
response = utils.ResponseError(controller.Ctx, err)
} else {
response = utils.ResponseData(controller.Ctx, data)
}
controller.Data["json"] = response
controller.ServeJSON()
controller.Response(data, err)
}
func (controller *UsersController) ListUsers() {
... ... @@ -87,12 +56,5 @@ func (controller *UsersController) ListUsers() {
limit, _ := controller.GetInt("limit")
listUsersQuery.Limit = limit
data, err := usersService.ListUsers(listUsersQuery)
var response utils.JsonResponse
if err != nil {
response = utils.ResponseError(controller.Ctx, err)
} else {
response = utils.ResponseData(controller.Ctx, data)
}
controller.Data["json"] = response
controller.ServeJSON()
controller.Response(data, err)
}
... ...