project_belong_controller.go 4.0 KB
package controllers

import (
	"encoding/json"

	"github.com/astaxie/beego"
	"github.com/linmadan/egglib-go/web/beego/utils"
	"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/projectBelong/command"
	"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/projectBelong/query"
	"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/projectBelong/service"
)

type ProjectBelongController struct {
	beego.Controller
}

func (controller *ProjectBelongController) CreateProjectBelong() {
	projectBelongService := service.NewProjectBelongService(nil)
	createProjectBelongCommand := &command.CreateProjectBelongCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), createProjectBelongCommand)
	data, err := projectBelongService.CreateProjectBelong(createProjectBelongCommand)
	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()
}

func (controller *ProjectBelongController) UpdateProjectBelong() {
	projectBelongService := service.NewProjectBelongService(nil)
	updateProjectBelongCommand := &command.UpdateProjectBelongCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), updateProjectBelongCommand)
	projectBelongId, _ := controller.GetInt(":projectBelongId")
	updateProjectBelongCommand.ProjectBelongId = projectBelongId
	data, err := projectBelongService.UpdateProjectBelong(updateProjectBelongCommand)
	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()
}

func (controller *ProjectBelongController) GetProjectBelong() {
	projectBelongService := service.NewProjectBelongService(nil)
	getProjectBelongQuery := &query.GetProjectBelongQuery{}
	projectBelongId, _ := controller.GetInt(":projectBelongId")
	getProjectBelongQuery.ProjectBelongId = projectBelongId
	data, err := projectBelongService.GetProjectBelong(getProjectBelongQuery)
	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()
}

func (controller *ProjectBelongController) RemoveProjectBelong() {
	projectBelongService := service.NewProjectBelongService(nil)
	removeProjectBelongCommand := &command.RemoveProjectBelongCommand{}
	projectBelongId, _ := controller.GetInt(":projectBelongId")
	removeProjectBelongCommand.ProjectBelongId = projectBelongId
	data, err := projectBelongService.RemoveProjectBelong(removeProjectBelongCommand)
	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()
}

func (controller *ProjectBelongController) ListProjectBelong() {
	projectBelongService := service.NewProjectBelongService(nil)
	listProjectBelongQuery := &query.ListProjectBelongQuery{}
	companyId, _ := controller.GetInt64("companyId")
	listProjectBelongQuery.CompanyId = companyId
	projectBelongName := controller.GetString("projectBelongName")
	listProjectBelongQuery.ProjectBelongName = projectBelongName
	projectBelongNameMatch := controller.GetString("projectBelongNameMatch")
	listProjectBelongQuery.ProjectBelongNameMatch = projectBelongNameMatch
	offset, _ := controller.GetInt("offset")
	listProjectBelongQuery.Offset = offset
	limit, _ := controller.GetInt("limit")
	listProjectBelongQuery.Limit = limit
	data, err := projectBelongService.ListProjectBelong(listProjectBelongQuery)
	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()
}