contract_dividends_person.go 2.6 KB
package service

import (
	"github.com/linmadan/egglib-go/core/application"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/mobile/cooperation/command"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/mobile/cooperation/dto"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_cooperation"
)

// 企业端分红服务
type PersonDividendsService struct {
}

// GetDividendContracts  企业的合约列表(分红信息按合约划分)
func (srv PersonDividendsService) GetDividendContracts(cmd *command.GetDividendContractsCommand) (interface{}, error) {
	gateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
		cmd.Operator)
	result, err := gateway.CooperationStatistics(allied_creation_cooperation.GetContractDividends, cmd)
	if err != nil {
		return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
	}
	return result, nil
}

// GetDividendContracts  企业的合约列表(分红信息按合约划分)
func (srv PersonDividendsService) SearchDividendContracts(cmd *command.SearchDividendContractsCommand) (int64, interface{}, error) {
	cmd.OrgId = cmd.Operator.OrgId
	gateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
		cmd.Operator)
	result, err := gateway.CooperationStatistics(allied_creation_cooperation.SearchContractDividends, cmd)
	if err != nil {
		return 0, nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
	}
	return 0, result, nil
}

// DividendsStatistics  TODO:企业的合约统计(分红统计)
func (srv PersonDividendsService) DividendsStatistics(userMenusCommand *command.DividendsStatisticsCommand) (interface{}, error) {
	return map[string]interface{}{
		"allDividends": map[string]interface{}{
			"sumTotal":   9000,
			"accounting": 6000,
			"accounted":  3000,
			"paid":       2000,
		},
		"annualDividends": map[string]interface{}{
			"sumTotal":   9000,
			"accounting": 6000,
			"accounted":  3000,
			"paid":       2000,
		},
		"quarterDividends": map[string]interface{}{
			"sumTotal":   9000,
			"accounting": 6000,
			"accounted":  3000,
			"paid":       2000,
		},
	}, nil
}

// SearchDividendsEstimates  企业的合约明细列表(分红预算信息)
func (srv PersonDividendsService) SearchDividendsEstimates(userMenusCommand *command.SearchDividendsEstimatesCommand) (int64, interface{}, error) {
	var items []*dto.DividendsEstimatesDto
	for i := 0; i < 2; i++ {
		item := dto.NewDividendsEstimatesDto()
		item.LoadDto()
		items = append(items, item)
	}
	return 2, items, nil
}