...
|
...
|
@@ -181,6 +181,86 @@ func (srv PersonStatisticsService) CompanyStatistics(cmd *command.CooperationPer |
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
// CompanyStatistics 共创用户-共创企业统计
|
|
|
func (srv PersonStatisticsService) CompanyStatisticsV2(cmd *command.CooperationPersonStatisticsCommand) (interface{}, error) {
|
|
|
|
|
|
gateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
|
|
|
cmd.Operator)
|
|
|
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 companyList []int = response.OrgIds
|
|
|
if len(companyList) == 0 {
|
|
|
return map[string]interface{}{
|
|
|
"list": []struct{}{},
|
|
|
}, nil
|
|
|
}
|
|
|
result, err := gateway.CooperationStatistics(allied_creation_cooperation.CooperationCompanyStatistics, map[string]interface{}{
|
|
|
"userBaseId": cmd.Operator.UserBaseId,
|
|
|
"companyList": companyList,
|
|
|
})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
|
|
|
type cooperationCompanyStatisticsResponse struct {
|
|
|
// 当天统计的企业id
|
|
|
OrgId int64 `json:"orgId"`
|
|
|
// 共创项目数
|
|
|
CooperationProjectCount int64 `json:"cooperationProjectCount"`
|
|
|
// 共创合约数
|
|
|
CooperationContractCount int64 `json:"cooperationContractCount"`
|
|
|
// 分红占比
|
|
|
DividendsRatio float64 `json:"dividendsRatio"`
|
|
|
// 分红支出
|
|
|
DividendsIncome float64 `json:"dividendsIncome"`
|
|
|
// 企业信息
|
|
|
Company domain.Company `json:"company"`
|
|
|
}
|
|
|
var cooperationCompanyStatisticsResponses []cooperationCompanyStatisticsResponse
|
|
|
if err := json.UnmarshalFromString(json.MarshalToString(result), &cooperationCompanyStatisticsResponses); err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
var values = make([]interface{}, 0)
|
|
|
gatewayUser := allied_creation_user.NewHttplibAlliedCreationUser(
|
|
|
cmd.Operator)
|
|
|
for i := range companyList {
|
|
|
for j := range cooperationCompanyStatisticsResponses {
|
|
|
if cooperationCompanyStatisticsResponses[j].OrgId == int64(companyList[i]) {
|
|
|
orgData, err := gatewayUser.OrgGet(allied_creation_user.ReqOrgGet{
|
|
|
OrgId: companyList[i],
|
|
|
})
|
|
|
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())
|
|
|
}
|
|
|
cooperationCompanyStatisticsResponses[j].Company = domain.Company{
|
|
|
CompanyID: orgData.OrgID,
|
|
|
CompanyName: orgData.OrgName,
|
|
|
//Logo: user.Company.Logo,
|
|
|
}
|
|
|
values = append(values, cooperationCompanyStatisticsResponses[j])
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return map[string]interface{}{
|
|
|
"list": values,
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
// CooperationProjectRecommend TODO:其他公司按公开的项目查 猜你喜欢(共创项目)
|
|
|
func (srv PersonStatisticsService) CooperationProjectRecommend(projectQuery *command.ListCooperationProjectQuery) (int64, interface{}, error) {
|
|
|
if projectQuery.Operator.UserBaseId > 0 {
|
...
|
...
|
|