company_controller.go 2.8 KB
package controllers

import (
	"github.com/linmadan/egglib-go/web/beego"
	"gitlab.fjmaimaimai.com/mmm-go-pp/partner01-gateway/pkg/application/company/command"
	"gitlab.fjmaimaimai.com/mmm-go-pp/partner01-gateway/pkg/application/company/query"
	"gitlab.fjmaimaimai.com/mmm-go-pp/partner01-gateway/pkg/application/company/service"
)

type CompanyController struct {
	beego.BaseController
}

func (controller *CompanyController) CreateCompany() {
	companyService := service.NewCompanyService(nil)
	createCompanyCommand := &command.CreateCompanyCommand{}
	controller.Unmarshal(createCompanyCommand)
	data, err := companyService.CreateCompany(createCompanyCommand)
	controller.Response(data, err)
}

func (controller *CompanyController) UpdateCompany() {
	companyService := service.NewCompanyService(nil)
	updateCompanyCommand := &command.UpdateCompanyCommand{}
	controller.Unmarshal(updateCompanyCommand)
	companyId, _ := controller.GetInt64(":companyId")
	updateCompanyCommand.CompanyId = companyId
	data, err := companyService.UpdateCompany(updateCompanyCommand)
	controller.Response(data, err)
}

func (controller *CompanyController) GetCompany() {
	companyService := service.NewCompanyService(nil)
	getCompanyQuery := &query.GetCompanyQuery{}
	companyId, _ := controller.GetInt64(":companyId")
	getCompanyQuery.CompanyId = companyId
	data, err := companyService.GetCompany(getCompanyQuery)
	controller.Response(data, err)
}

func (controller *CompanyController) RemoveCompany() {
	companyService := service.NewCompanyService(nil)
	removeCompanyCommand := &command.RemoveCompanyCommand{}
	controller.Unmarshal(removeCompanyCommand)
	companyId, _ := controller.GetInt64(":companyId")
	removeCompanyCommand.CompanyId = companyId
	data, err := companyService.RemoveCompany(removeCompanyCommand)
	controller.Response(data, err)
}

func (controller *CompanyController) ListCompany() {
	companyService := service.NewCompanyService(nil)
	listCompanyQuery := &query.ListCompanyQuery{}
	offset, _ := controller.GetInt("offset")
	listCompanyQuery.Offset = offset
	limit, _ := controller.GetInt("limit")
	listCompanyQuery.Limit = limit
	data, err := companyService.ListCompany(listCompanyQuery)
	controller.Response(data, err)
}

func (controller *CompanyController) ConvertCompanyStatus() {
	companyService := service.NewCompanyService(nil)
	convertCompanyStatusCommand := &command.ConvertCompanyStatusCommand{}
	controller.Unmarshal(convertCompanyStatusCommand)
	data, err := companyService.ConvertCompanyStatus(convertCompanyStatusCommand)
	controller.Response(data, err)
}

func (controller *CompanyController) SetCompanyAdmin() {
	companyService := service.NewCompanyService(nil)
	setCompanyAdminCommand := &command.SetCompanyAdminCommand{}
	controller.Unmarshal(setCompanyAdminCommand)
	data, err := companyService.SetCompanyAdmin(setCompanyAdminCommand)
	controller.Response(data, err)
}