...
|
...
|
@@ -98,6 +98,86 @@ func (srv PersonStatisticsService) IndexStatistics(cmd *command.IndexStatisticsC |
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
// IndexStatistics 个人端 - 首页统计 (入口页面统计数据)
|
|
|
func (srv PersonStatisticsService) IndexStatisticsV2(cmd *command.IndexStatisticsCommand) (interface{}, error) {
|
|
|
gateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
|
|
|
cmd.Operator)
|
|
|
|
|
|
// 1.项目概览统计
|
|
|
contractStatisticsResult, err := gateway.CooperationStatistics(allied_creation_cooperation.PersonCooperationContractStatistics, map[string]interface{}{
|
|
|
"userBaseId": cmd.Operator.UserBaseId,
|
|
|
})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
type contractStatistics struct {
|
|
|
ContractSum int `json:"contractSum"`
|
|
|
ContractStoppedSum int `json:"contractStoppedSum"`
|
|
|
}
|
|
|
var cs = &contractStatistics{}
|
|
|
if err := json.UnmarshalFromString(json.MarshalToString(contractStatisticsResult), cs); err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
|
|
|
var response = struct {
|
|
|
OrgIds []int `json:"orgIds"`
|
|
|
}{}
|
|
|
err = gateway.CooperationStatisticsWithObject(allied_creation_cooperation.PersonCooperationCompany, map[string]interface{}{
|
|
|
"userBaseId": cmd.Operator.UserBaseId,
|
|
|
}, &response)
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
var overview = map[string]interface{}{
|
|
|
"contractSum": cs.ContractSum, //总合约数
|
|
|
"contractStoppedSum": cs.ContractStoppedSum, //停止的合约数
|
|
|
"companySum": len(response.OrgIds), //共创企业数
|
|
|
}
|
|
|
year, month, _ := time.Now().Date()
|
|
|
beginTime := time.Date(year, month, 1, 0, 0, 0, 0, time.Local)
|
|
|
endTime := beginTime.AddDate(0, 1, 0)
|
|
|
// 2.本月分红统计 - 个人
|
|
|
unPaidResult, err := gateway.CooperationStatistics(allied_creation_cooperation.CreditAccountStatistics, map[string]interface{}{
|
|
|
"userBaseId": cmd.Operator.UserBaseId,
|
|
|
"beginTime": beginTime,
|
|
|
"endTime": endTime,
|
|
|
})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
type AnnualDividend struct {
|
|
|
Total float64 `json:"total"`
|
|
|
Accounting float64 `json:"accounting"`
|
|
|
Accounted float64 `json:"accounted"`
|
|
|
Paid float64 `json:"paid"`
|
|
|
Unpaid float64 `json:"unpaid"`
|
|
|
}
|
|
|
var annualUnPaidDividend = &AnnualDividend{}
|
|
|
if err := json.UnmarshalFromString(json.MarshalToString(unPaidResult), annualUnPaidDividend); err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
// 2.本月分红统计 - 个人
|
|
|
paymentResult, err := gateway.CooperationStatistics(allied_creation_cooperation.CreditAccountStatistics, map[string]interface{}{
|
|
|
"userBaseId": cmd.Operator.UserBaseId,
|
|
|
"paymentBeginTime": beginTime,
|
|
|
"paymentEndTime": endTime,
|
|
|
})
|
|
|
var annualPaymentDividend = &AnnualDividend{}
|
|
|
if err := json.UnmarshalFromString(json.MarshalToString(paymentResult), annualPaymentDividend); err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
dividendStatistics := map[string]interface{}{
|
|
|
"dividendAmount": annualPaymentDividend.Paid + annualUnPaidDividend.Unpaid, // 分红金额 annualDividend.Total
|
|
|
"paidAmount": annualPaymentDividend.Paid, // 已支付
|
|
|
"unPaidAmount": annualUnPaidDividend.Unpaid, // 未支付
|
|
|
}
|
|
|
|
|
|
return map[string]interface{}{
|
|
|
"overview": overview,
|
|
|
"dividendStatistics": dividendStatistics,
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
// CompanyStatistics 共创用户-共创企业统计
|
|
|
func (srv PersonStatisticsService) CompanyStatistics(cmd *command.CooperationPersonStatisticsCommand) (interface{}, error) {
|
|
|
|
...
|
...
|
@@ -234,21 +314,20 @@ func (srv PersonStatisticsService) CompanyStatisticsV2(cmd *command.CooperationP |
|
|
for j := range cooperationCompanyStatisticsResponses {
|
|
|
if cooperationCompanyStatisticsResponses[j].OrgId == int64(companyList[i]) {
|
|
|
orgData, err := gatewayUser.OrgGet(allied_creation_user.ReqOrgGet{
|
|
|
OrgId: companyList[i],
|
|
|
OrgId: companyList[i],
|
|
|
FetchFlag: 1,
|
|
|
})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
//orgData,err:= gatewayUser.CompanyGet(allied_creation_user.ReqCompanyGet{
|
|
|
// OrgId: companyList[i],
|
|
|
//})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
var companyLog string
|
|
|
if orgData.Company != nil {
|
|
|
companyLog = orgData.Company.Logo
|
|
|
}
|
|
|
cooperationCompanyStatisticsResponses[j].Company = domain.Company{
|
|
|
CompanyID: orgData.OrgID,
|
|
|
CompanyName: orgData.OrgName,
|
|
|
//Logo: user.Company.Logo,
|
|
|
Logo: companyLog,
|
|
|
}
|
|
|
values = append(values, cooperationCompanyStatisticsResponses[j])
|
|
|
}
|
...
|
...
|
|