customer_value_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/customerValue/command"
	"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/customerValue/query"
	"gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/customerValue/service"
)

type CustomerValueController struct {
	beego.Controller
}

func (controller *CustomerValueController) CreateCustomerValue() {
	customerValueService := service.NewCustomerValueService(nil)
	createCustomerValueCommand := &command.CreateCustomerValueCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), createCustomerValueCommand)
	data, err := customerValueService.CreateCustomerValue(createCustomerValueCommand)
	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 *CustomerValueController) UpdateCustomerValue() {
	customerValueService := service.NewCustomerValueService(nil)
	updateCustomerValueCommand := &command.UpdateCustomerValueCommand{}
	json.Unmarshal(controller.Ctx.Input.GetData("requestBody").([]byte), updateCustomerValueCommand)
	customerValueId, _ := controller.GetInt(":customerValueId")
	updateCustomerValueCommand.CustomerValueId = customerValueId
	data, err := customerValueService.UpdateCustomerValue(updateCustomerValueCommand)
	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 *CustomerValueController) GetCustomerValue() {
	customerValueService := service.NewCustomerValueService(nil)
	getCustomerValueQuery := &query.GetCustomerValueQuery{}
	customerValueId, _ := controller.GetInt(":customerValueId")
	getCustomerValueQuery.CustomerValueId = customerValueId
	data, err := customerValueService.GetCustomerValue(getCustomerValueQuery)
	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 *CustomerValueController) RemoveCustomerValue() {
	customerValueService := service.NewCustomerValueService(nil)
	removeCustomerValueCommand := &command.RemoveCustomerValueCommand{}
	customerValueId, _ := controller.GetInt(":customerValueId")
	removeCustomerValueCommand.CustomerValueId = customerValueId
	data, err := customerValueService.RemoveCustomerValue(removeCustomerValueCommand)
	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 *CustomerValueController) ListCustomerValue() {
	customerValueService := service.NewCustomerValueService(nil)
	listCustomerValueQuery := &query.ListCustomerValueQuery{}
	companyId, _ := controller.GetInt64("companyId")
	listCustomerValueQuery.CompanyId = companyId
	customerValueName := controller.GetString("customerValueName")
	listCustomerValueQuery.CustomerValueName = customerValueName
	customerValueNameMatch := controller.GetString("customerValueNameMatch")
	listCustomerValueQuery.CustomerValueNameMatch = customerValueNameMatch
	offset, _ := controller.GetInt("offset")
	listCustomerValueQuery.Offset = offset
	limit, _ := controller.GetInt("limit")
	listCustomerValueQuery.Limit = limit
	data, err := customerValueService.ListCustomerValue(listCustomerValueQuery)
	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()
}