credit_accounts_person.go 3.1 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"
	"time"
)

// PersonCreditAccountService 企业端账期结算
type PersonCreditAccountService struct {
}

// CreditAccountPaySearch  企业分红结算支付记录
func (srv PersonCreditAccountService) CreditAccountPaySearch(cmd *command.CreditAccountPaySearchCommand) (interface{}, error) {
	gateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
		cmd.Operator)
	resultMenu, err := gateway.CreditAccountsSearch(allied_creation_cooperation.ReqCreditAccountsSearch{
		PageNumber:    cmd.PageNumber,
		PageSize:      cmd.PageSize,
		PaymentStatus: 2,
		UserBaseId:    cmd.Operator.UserBaseId,
	})
	if err != nil {
		return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
	}
	return map[string]interface{}{
		"grid": map[string]interface{}{
			"list": resultMenu.Grid.List,
			"sum":  6000,
		},
	}, nil
}

// PaymentHistoryStatistics  支付历史统计
func (srv PersonCreditAccountService) PaymentHistoryStatistics(cmd *command.CreditAccountPaySearchCommand) (interface{}, error) {
	gateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
		cmd.Operator)
	queryOptions := map[string]interface{}{
		"orgId":                    cmd.Operator.OrgId,
		"userBaseId":               cmd.Operator.UserBaseId,
		"offset":                   cmd.PageNumber * cmd.PageSize,
		"limit":                    cmd.PageSize,
		"sortByActuallyPaidAmount": 2,
	}
	if cmd.BeginTime > 0 {
		queryOptions["beginTime"] = time.Unix(cmd.BeginTime/1000, 0)
	}
	if cmd.EndTime > 0 {
		queryOptions["endTime"] = time.Unix(cmd.EndTime/1000, 0)
	}
	cooperationUsersStatistics, err := gateway.CooperationStatistics(allied_creation_cooperation.PersonCompanyPaymentHistoryStatistics, queryOptions)
	if err != nil {
		return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
	}

	creditAccountStatistics, err := gateway.CreditAccountStatistics(allied_creation_cooperation.CreditAccountStatistics, queryOptions)
	if err != nil {
		return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
	}

	return map[string]interface{}{
		"rankItems":          cooperationUsersStatistics,
		"totalPaymentAmount": creditAccountStatistics.Paid,
	}, nil
}

// PaymentHistoryHistogramStatistics  支付历史统计-直方图
func (srv PersonCreditAccountService) PaymentHistoryHistogramStatistics(cmd *command.CreditAccountPaySearchCommand) (interface{}, error) {
	gateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
		cmd.Operator)
	paymentHistoryHistogramStatistics, err := gateway.CooperationStatistics(allied_creation_cooperation.PaymentHistoryHistogramStatistics, map[string]interface{}{
		"userBaseId": cmd.Operator.UserBaseId,
	})
	if err != nil {
		return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
	}

	return paymentHistoryHistogramStatistics, nil
}