feat: 完善小组绩效与有效端统计并修复审查问题
This commit is contained in:
@@ -0,0 +1,182 @@
|
||||
package dto
|
||||
|
||||
type DashboardQuery struct {
|
||||
Sources []string `form:"sourceDbList"`
|
||||
Period string `form:"period"`
|
||||
Begin string `form:"begin"`
|
||||
End string `form:"end"`
|
||||
}
|
||||
type DashboardOverview struct {
|
||||
Cards map[string]*WorkbenchCard `json:"cards"`
|
||||
Begin string `json:"begin"`
|
||||
End string `json:"end"`
|
||||
Settings OtherSettingsValues `json:"settings"`
|
||||
Available bool `json:"available"`
|
||||
}
|
||||
|
||||
type BusinessMemberResponse struct {
|
||||
*BusinessAccountResponse
|
||||
HireDate string `json:"hireDate"`
|
||||
Employment string `json:"employment"`
|
||||
GroupID uint64 `json:"groupId"`
|
||||
GroupName string `json:"groupName"`
|
||||
CanEdit bool `json:"canEdit"`
|
||||
CanSetGoal bool `json:"canSetGoal"`
|
||||
}
|
||||
type BusinessGroupResponse struct {
|
||||
ID uint64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
MemberIDs []uint `json:"memberIds"`
|
||||
CanEdit bool `json:"canEdit"`
|
||||
CanSetGoal bool `json:"canSetGoal"`
|
||||
Mine bool `json:"mine"`
|
||||
Partial bool `json:"partial"`
|
||||
Overlapping bool `json:"overlapping"`
|
||||
Relation string `json:"relation"`
|
||||
ChannelCount int64 `json:"channelCount"`
|
||||
}
|
||||
type TeamResponse struct {
|
||||
Revision uint64 `json:"revision"`
|
||||
Groups []*BusinessGroupResponse `json:"groups"`
|
||||
Members []*BusinessMemberResponse `json:"members"`
|
||||
CanManage bool `json:"canManage"`
|
||||
ViewerID uint `json:"viewerId"`
|
||||
}
|
||||
type GroupInput struct {
|
||||
ID uint64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
MemberIDs []uint `json:"memberIds"`
|
||||
}
|
||||
type GroupSaveRequest struct {
|
||||
Revision *uint64 `json:"revision"`
|
||||
Groups []*GroupInput `json:"groups"`
|
||||
}
|
||||
type MemberProfileRequest struct {
|
||||
UserID uint `json:"userId"`
|
||||
RealName string `json:"realName"`
|
||||
Phone string `json:"phoneNumber"`
|
||||
HireDate string `json:"hireDate"`
|
||||
Employment string `json:"employment"`
|
||||
Password string `json:"password"`
|
||||
}
|
||||
type PerformanceQuery struct {
|
||||
Year *int `form:"year"`
|
||||
BeginMonth *int `form:"beginMonth"`
|
||||
EndMonth *int `form:"endMonth"`
|
||||
Name string `form:"name"`
|
||||
Level *int `form:"level"`
|
||||
GroupID *uint64 `form:"groupId"`
|
||||
Sort string `form:"sort"`
|
||||
Order string `form:"order"`
|
||||
View string `form:"view"`
|
||||
}
|
||||
type PerformanceMetrics struct {
|
||||
Open int64 `json:"open"`
|
||||
Effective int64 `json:"effective"`
|
||||
Pay string `json:"pay"`
|
||||
}
|
||||
type PerformancePeriod struct {
|
||||
Key string `json:"key"`
|
||||
Label string `json:"label"`
|
||||
Begin string `json:"begin"`
|
||||
End string `json:"end"`
|
||||
}
|
||||
type GoalResponse struct {
|
||||
Open *int64 `json:"open"`
|
||||
Effective *int64 `json:"effective"`
|
||||
Amount *int64 `json:"amount"`
|
||||
UpdatedBy uint `json:"updatedBy"`
|
||||
UpdatedAt string `json:"updatedAt"`
|
||||
}
|
||||
type PerformanceRow struct {
|
||||
Member *BusinessMemberResponse `json:"member"`
|
||||
Total PerformanceMetrics `json:"total"`
|
||||
Rate *string `json:"rate"`
|
||||
Periods map[string]PerformanceMetrics `json:"periods"`
|
||||
Goals map[string]*GoalResponse `json:"goals"`
|
||||
DescendantCount int `json:"descendantCount"`
|
||||
}
|
||||
type PerformanceGroupRow struct {
|
||||
Group *BusinessGroupResponse `json:"group"`
|
||||
Total PerformanceMetrics `json:"total"`
|
||||
UniqueTotal PerformanceMetrics `json:"uniqueTotal"`
|
||||
Periods map[string]PerformanceMetrics `json:"periods"`
|
||||
UniquePeriods map[string]PerformanceMetrics `json:"uniquePeriods"`
|
||||
Members []*PerformanceRow `json:"members"`
|
||||
Goals map[string]*GoalResponse `json:"goals"`
|
||||
}
|
||||
type PerformancePage struct {
|
||||
MatrixTotal PerformanceMetrics `json:"matrixTotal"`
|
||||
MatrixRate *string `json:"matrixRate"`
|
||||
MatrixTrend map[string]PerformanceMetrics `json:"matrixTrend"`
|
||||
Prior PerformanceMetrics `json:"prior"`
|
||||
Rows []*PerformanceRow `json:"rows"`
|
||||
Groups []*PerformanceGroupRow `json:"groups"`
|
||||
Total PerformanceMetrics `json:"total"`
|
||||
Rate *string `json:"rate"`
|
||||
ProductiveMembers int64 `json:"productiveMembers"`
|
||||
Periods []PerformancePeriod `json:"periods"`
|
||||
Trend map[string]PerformanceMetrics `json:"trend"`
|
||||
Begin string `json:"begin"`
|
||||
End string `json:"end"`
|
||||
Granularity string `json:"granularity"`
|
||||
Settings OtherSettingsValues `json:"settings"`
|
||||
Available bool `json:"available"`
|
||||
}
|
||||
type PerformanceDetailQuery struct {
|
||||
MemberIDs string `form:"memberIds"`
|
||||
Kind string `form:"kind"`
|
||||
TargetID uint64 `form:"targetId"`
|
||||
Begin string `form:"begin"`
|
||||
End string `form:"end"`
|
||||
Metric string `form:"metric"`
|
||||
Page int `form:"page"`
|
||||
Size int `form:"size"`
|
||||
}
|
||||
type PerformanceChannel struct {
|
||||
ContributorID uint `json:"contributorId"`
|
||||
ContributorName string `json:"contributorName"`
|
||||
SourceDB string `json:"sourceDb"`
|
||||
SourceDBLabel string `json:"sourceDbLabel"`
|
||||
ID uint64 `json:"id"`
|
||||
Account string `json:"account"`
|
||||
Name string `json:"name"`
|
||||
OwnerName string `json:"ownerName"`
|
||||
CreatedAt *int64 `json:"createdAt"`
|
||||
QualifiedAt *int64 `json:"qualifiedAt"`
|
||||
WindowPay string `json:"windowPay"`
|
||||
PeriodPay string `json:"periodPay"`
|
||||
}
|
||||
type PerformanceDetailPage struct {
|
||||
Rows []*PerformanceChannel `json:"rows"`
|
||||
Total int64 `json:"total"`
|
||||
}
|
||||
type GoalQuery struct {
|
||||
Kind string `form:"kind"`
|
||||
TargetID uint64 `form:"targetId"`
|
||||
}
|
||||
type GoalRequest struct {
|
||||
Kind string `json:"kind"`
|
||||
TargetID uint64 `json:"targetId"`
|
||||
Month string `json:"month"`
|
||||
Open *int64 `json:"open"`
|
||||
Effective *int64 `json:"effective"`
|
||||
Amount *int64 `json:"amount"`
|
||||
}
|
||||
type GoalMonthResponse struct {
|
||||
Available bool `json:"available"`
|
||||
Month string `json:"month"`
|
||||
Goal *GoalResponse `json:"goal"`
|
||||
Actual PerformanceMetrics `json:"actual"`
|
||||
Status string `json:"status"`
|
||||
Missing int `json:"missing"`
|
||||
CanEdit bool `json:"canEdit"`
|
||||
}
|
||||
type GoalPage struct {
|
||||
Kind string `json:"kind"`
|
||||
TargetID uint64 `json:"targetId"`
|
||||
Name string `json:"name"`
|
||||
CanEdit bool `json:"canEdit"`
|
||||
Months []GoalMonthResponse `json:"months"`
|
||||
MemberGoals map[string]PerformanceMetrics `json:"memberGoals"`
|
||||
}
|
||||
Reference in New Issue
Block a user