contract_dividends_company.go 3.3 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/infrastructure/service_gateway/allied_creation_cooperation"
)

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

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

// GetDividendContracts  企业的合约列表(分红信息按合约划分)
func (srv CompanyStatisticsService) 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, map[string]interface{}{
		"offset": cmd.PageNumber * cmd.PageSize,
		"limit":  cmd.PageSize,
		"orgId":  cmd.Operator.OrgId,
		"userId": cmd.Operator.UserId,
	})
	if err != nil {
		return 0, nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
	}
	return 0, result, nil
}

// DividendsStatistics  企业的合约统计(分红统计)
func (srv CompanyStatisticsService) DividendsStatistics(cmd *command.DividendsStatisticsCommand) (interface{}, error) {
	gateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
		cmd.Operator)
	result, err := gateway.CooperationStatistics(allied_creation_cooperation.DividendsStatistics, map[string]interface{}{
		"companyId": cmd.Operator.CompanyId,
		"orgId":     cmd.Operator.OrgId,
		"userId":    cmd.Operator.UserId,
	})
	if err != nil {
		return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
	}
	return result, nil
}

// SearchDividendsEstimates  企业的合约明细列表(分红预算信息)
func (srv CompanyStatisticsService) SearchDividendsEstimates(cmd *command.SearchDividendsEstimatesCommand) (int64, interface{}, error) {
	gateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
		cmd.Operator)
	result, err := gateway.CooperationStatistics(allied_creation_cooperation.SearchDividendsEstimates, map[string]interface{}{
		"companyId":              cmd.Operator.CompanyId,
		"orgId":                  cmd.Operator.OrgId,
		"userId":                 cmd.Operator.UserId,
		"dividendsAccountStatus": cmd.Status,
		"offset":                 cmd.PageNumber * cmd.PageSize,
		"limit":                  cmd.PageSize,
	})
	if err != nil {
		return 0, nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
	}
	return 0, result, nil
	//var items []*dto.DividendsEstimatesDto
	//for i := 0; i < 2; i++ {
	//	item := dto.NewDividendsEstimatesDto()
	//	item.LoadDto()
	//	items = append(items, item)
	//}
	//return 2, items, nil
}