column_setting_controller.go 4.2 KB
package controllers

import (
	"encoding/json"

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

type ColumnSettingController struct {
	beego.Controller
}

func (controller *ColumnSettingController) CreateColumnSetting() {
	columnSettingService := service.NewColumnSettingService(nil)
	createColumnSettingCommand := &command.CreateColumnSettingCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), createColumnSettingCommand)
	data, err := columnSettingService.CreateColumnSetting(createColumnSettingCommand)
	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 *ColumnSettingController) UpdateColumnSetting() {
	columnSettingService := service.NewColumnSettingService(nil)
	updateColumnSettingCommand := &command.UpdateColumnSettingCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), updateColumnSettingCommand)
	columnSettingId, _ := controller.GetInt64(":columnSettingId")
	updateColumnSettingCommand.ColumnSettingId = columnSettingId
	data, err := columnSettingService.UpdateColumnSetting(updateColumnSettingCommand)
	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 *ColumnSettingController) GetColumnSetting() {
	columnSettingService := service.NewColumnSettingService(nil)
	getColumnSettingQuery := &query.GetColumnSettingQuery{}
	columnSettingId, _ := controller.GetInt64(":columnSettingId")
	getColumnSettingQuery.ColumnSettingId = columnSettingId
	data, err := columnSettingService.GetColumnSetting(getColumnSettingQuery)
	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 *ColumnSettingController) RemoveColumnSetting() {
	columnSettingService := service.NewColumnSettingService(nil)
	removeColumnSettingCommand := &command.RemoveColumnSettingCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), removeColumnSettingCommand)
	columnSettingId, _ := controller.GetInt64(":columnSettingId")
	removeColumnSettingCommand.ColumnSettingId = columnSettingId
	data, err := columnSettingService.RemoveColumnSetting(removeColumnSettingCommand)
	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 *ColumnSettingController) ResetColumn() {
	columnSettingService := service.NewColumnSettingService(nil)
	resetColumnCommand := &command.ResetColumnCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), resetColumnCommand)
	data, err := columnSettingService.ResetColumn(resetColumnCommand)
	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 *ColumnSettingController) ListColumnSetting() {
	columnSettingService := service.NewColumnSettingService(nil)
	listColumnSettingQuery := &query.ListColumnSettingQuery{}
	offset, _ := controller.GetInt("offset")
	listColumnSettingQuery.Offset = offset
	limit, _ := controller.GetInt("limit")
	listColumnSettingQuery.Limit = limit
	data, err := columnSettingService.ListColumnSetting(listColumnSettingQuery)
	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()
}