cooperation_contract_controller.go 5.6 KB
package web_client

import (
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/cooperationContract/command"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/cooperationContract/query"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/cooperationContract/service"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/log"
)

type CooperationContractController struct {
	baseController
}

func (controller *CooperationContractController) CreateCooperationContract() {
	cooperationContractService := service.NewCooperationContractService(nil)
	createCooperationContractCommand := &command.CreateCooperationContractCommand{}
	err := controller.Unmarshal(createCooperationContractCommand)
	if err != nil {
		log.Logger.Debug("json err:" + err.Error())
		controller.Response(nil, err)
		return
	}
	createCooperationContractCommand.Operator = controller.GetOperator()
	data, err := cooperationContractService.CreateCooperationContract(createCooperationContractCommand)
	controller.Response(data, err)
}

func (controller *CooperationContractController) UpdateCooperationContract() {
	cooperationContractService := service.NewCooperationContractService(nil)
	updateCooperationContractCommand := &command.UpdateCooperationContractCommand{}
	err := controller.Unmarshal(updateCooperationContractCommand)
	if err != nil {
		log.Logger.Debug("json err:" + err.Error())
		controller.Response(nil, err)
		return
	}
	contractId, _ := controller.GetInt(":contractId")
	updateCooperationContractCommand.Operator = controller.GetOperator()
	updateCooperationContractCommand.CooperationContract.CooperationContractId = contractId
	data, err := cooperationContractService.UpdateCooperationContract(updateCooperationContractCommand)
	controller.Response(data, err)
}

func (controller *CooperationContractController) GetCooperationContract() {
	cooperationContractService := service.NewCooperationContractService(nil)
	getCooperationContractQuery := &query.GetCooperationContractQuery{}
	contractId, _ := controller.GetInt(":contractId")
	getCooperationContractQuery.Operator = controller.GetOperator()
	getCooperationContractQuery.CooperationContractId = contractId
	data, err := cooperationContractService.GetCooperationContract(getCooperationContractQuery)
	controller.Response(data, err)
}

func (controller *CooperationContractController) ListCooperationContract() {
	cooperationContractService := service.NewCooperationContractService(nil)
	listCooperationContractQuery := &query.ListCooperationContractQuery{}
	err := controller.Unmarshal(listCooperationContractQuery)
	if err != nil {
		log.Logger.Debug("json err:" + err.Error())
		controller.Response(nil, err)
		return
	}
	listCooperationContractQuery.Operator = controller.GetOperator()
	cnt, data, err := cooperationContractService.ListCooperationContract(listCooperationContractQuery)
	controller.ReturnPageListData(int64(cnt), data, err, listCooperationContractQuery.PageNumber)
}

func (controller *CooperationContractController) EnableCooperationContract() {
	cooperationContractService := service.NewCooperationContractService(nil)
	enableCooperationContractCommand := &command.EnableCooperationContractCommand{}
	err := controller.Unmarshal(enableCooperationContractCommand)
	if err != nil {
		log.Logger.Debug("json err:" + err.Error())
		controller.Response(nil, err)
		return
	}
	enableCooperationContractCommand.Operator = controller.GetOperator()
	data, err := cooperationContractService.EnableCooperationContract(enableCooperationContractCommand)
	controller.Response(data, err)
}

func (controller *CooperationContractController) SearchCooperationContractsByUndertake() {
	cooperationContractService := service.NewCooperationContractService(nil)
	listCooperationContractQuery := &query.SearchCooperationContractsByUndertake{}
	err := controller.Unmarshal(listCooperationContractQuery)
	if err != nil {
		log.Logger.Debug("json err:" + err.Error())
		controller.Response(nil, err)
		return
	}
	listCooperationContractQuery.Operator = controller.GetOperator()
	cnt, data, err := cooperationContractService.SearchCooperationContractsByUndertake(listCooperationContractQuery)
	controller.ReturnPageListData(int64(cnt), data, err, listCooperationContractQuery.PageNumber)
}

func (controller *CooperationContractController) RemoveCooperationContract() {
	cooperationContractService := service.NewCooperationContractService(nil)
	removeCooperationContractCommand := &command.RemoveCooperationContractCommand{}
	err := controller.Unmarshal(removeCooperationContractCommand)
	if err != nil {
		log.Logger.Debug("json err:" + err.Error())
		controller.Response(nil, err)
		return
	}
	removeCooperationContractCommand.Operator = controller.GetOperator()
	data, err := cooperationContractService.RemoveCooperationContract(removeCooperationContractCommand)
	controller.Response(data, err)
}

//分红订单,分红退货单获取关联合约选择列表
func (controller *CooperationContractController) SelectorContractForDividendsOrder() {
	cooperationContractService := service.NewCooperationContractService(nil)
	listCooperationContractQuery := &query.ListContractSelectorQuery{}
	err := controller.Unmarshal(listCooperationContractQuery)
	if err != nil {
		log.Logger.Debug("json err:" + err.Error())
		controller.Response(nil, err)
		return
	}
	listCooperationContractQuery.Operator = controller.GetOperator()
	cnt, data, err := cooperationContractService.ContractSelectorForDividendsOrder(listCooperationContractQuery)
	controller.ReturnPageListData(int64(cnt), data, err, listCooperationContractQuery.PageNumber)
}