@@ -5,7 +5,6 @@ import ( | |||||
"applet/app/e" | "applet/app/e" | ||||
md "applet/app/md/institutional_management/public_platoon" | md "applet/app/md/institutional_management/public_platoon" | ||||
svc "applet/app/svc/public_platoon" | svc "applet/app/svc/public_platoon" | ||||
"applet/app/utils" | |||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | "code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | ||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/model" | "code.fnuoos.com/EggPlanet/egg_models.git/src/model" | ||||
"errors" | "errors" | ||||
@@ -102,8 +101,9 @@ func UpdatePublicPlatoonBasic(c *gin.Context) { | |||||
CreateAt: "", | CreateAt: "", | ||||
UpdateAt: "", | UpdateAt: "", | ||||
} | } | ||||
forceColumns := []string{"is_open", "system_punish_replace", "is_self_active_get_team_revenue"} | |||||
updateAffected, err := publicPlatoonBasicDb.PublicPlatoonBasicSettingUpdate(publicPlatoonBasic.Id, setting, "") | |||||
updateAffected, err := publicPlatoonBasicDb.PublicPlatoonBasicSettingUpdate(publicPlatoonBasic.Id, setting, forceColumns...) | |||||
if err != nil { | if err != nil { | ||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | e.OutErr(c, e.ERR_DB_ORM, err.Error()) | ||||
return | return | ||||
@@ -142,6 +142,11 @@ func GetRelationshipMap(c *gin.Context) { | |||||
}) | }) | ||||
if err1 != nil { | if err1 != nil { | ||||
e.OutErr(c, e.ERR_DB_ORM, err1.Error()) | e.OutErr(c, e.ERR_DB_ORM, err1.Error()) | ||||
return | |||||
} | |||||
if user == nil { | |||||
e.OutErr(c, e.ERR_NO_DATA, errors.New("手机号不存在")) | |||||
return | |||||
} | } | ||||
relation, err = userRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ | relation, err = userRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ | ||||
"key": "uid", | "key": "uid", | ||||
@@ -223,18 +228,24 @@ func FindUserRelationshipMap(c *gin.Context) { | |||||
func FindSubUserRelationshipMap(c *gin.Context) { | func FindSubUserRelationshipMap(c *gin.Context) { | ||||
uid := c.Query("uid") | uid := c.Query("uid") | ||||
uidInt := utils.AnyToInt64(uid) | |||||
relateDb := implement.NewUserRelateDb(db.Db) | |||||
userRelate, err := relateDb.GetUserParentUserRelate(uidInt) | |||||
relateDb := implement.NewPublicPlatoonUserRelationDb(db.Db) | |||||
userRelate, err := relateDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ | |||||
"key": "uid", | |||||
"value": uid, | |||||
}) | |||||
if err != nil { | if err != nil { | ||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | e.OutErr(c, e.ERR_DB_ORM, err.Error()) | ||||
return | return | ||||
} | } | ||||
if userRelate == nil { | |||||
e.OutErr(c, e.ERR_NO_DATA, errors.New("用户不存在")) | |||||
return | |||||
} | |||||
userDb := implement.NewUserDb(db.Db) | userDb := implement.NewUserDb(db.Db) | ||||
parentUser, err4 := userDb.UserGetOneByParams(map[string]interface{}{ | parentUser, err4 := userDb.UserGetOneByParams(map[string]interface{}{ | ||||
"key": "id", | "key": "id", | ||||
"value": userRelate.ParentUid, | |||||
"value": userRelate.FatherUid1, | |||||
}) | }) | ||||
if err4 != nil { | if err4 != nil { | ||||
e.OutErr(c, e.ERR_DB_ORM, err4.Error()) | e.OutErr(c, e.ERR_DB_ORM, err4.Error()) | ||||
@@ -306,7 +317,7 @@ func ExchangeUserPosition(c *gin.Context) { | |||||
userRelationDb := implement.NewPublicPlatoonUserRelationDb(db.Db) | userRelationDb := implement.NewPublicPlatoonUserRelationDb(db.Db) | ||||
relation1, err2 := userRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ | relation1, err2 := userRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ | ||||
"key": "uid", | |||||
"key": "id", | |||||
"value": req.Position1, | "value": req.Position1, | ||||
}) | }) | ||||
if err2 != nil { | if err2 != nil { | ||||
@@ -319,7 +330,7 @@ func ExchangeUserPosition(c *gin.Context) { | |||||
} | } | ||||
relation2, err3 := userRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ | relation2, err3 := userRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ | ||||
"key": "uid", | |||||
"key": "id", | |||||
"value": req.Position2, | "value": req.Position2, | ||||
}) | }) | ||||
if err3 != nil { | if err3 != nil { | ||||
@@ -530,3 +541,55 @@ func AddCommunityDividendsWithUser(c *gin.Context) { | |||||
} | } | ||||
e.OutSuc(c, id, nil) | e.OutSuc(c, id, nil) | ||||
} | } | ||||
// UserDailyActivityAnalysis | |||||
// @Summary 制度中心-公排管理-日活分析 | |||||
// @Tags 公排管理 | |||||
// @Description 日活分析 | |||||
// @Accept json | |||||
// @Produce json | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||||
// @Param req body md.UserDailyActivityAnalysisReq true "用户 ID、查询开始时间、结束时间" | |||||
// @Success 200 {object} md.UserDailyActivityAnalysisResp "具体数据" | |||||
// @Failure 400 {object} md.Response "具体错误" | |||||
// @Router /api/institutionalManagement/publicPlatoon/userDailyActivityAnalysis [post] | |||||
func UserDailyActivityAnalysis(c *gin.Context) { | |||||
var req *md.UserDailyActivityAnalysisReq | |||||
if err := c.ShouldBindJSON(&req); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err.Error()) | |||||
return | |||||
} | |||||
platoonUserRelationDb := implement.NewPublicPlatoonUserRelationDb(db.Db) | |||||
parentRelation, err := platoonUserRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ | |||||
"key": "uid", | |||||
"value": req.Uid, | |||||
}) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
activityUserCount, activityCount, sons, err := svc.GetSonUserDailyActivity(db.Db, req.Uid, req.StartDate, req.EndDate) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
topData := md.DailyActivityAnalysisTopData{ | |||||
TeamUserCount: parentRelation.HasSonNum, | |||||
TeamActivityUserCount: activityUserCount, | |||||
ActivityCount: activityCount, | |||||
} | |||||
if sons == nil { | |||||
sons = make([]md.SonUserDailyActivityAnalysisNode, 0) | |||||
} | |||||
resp := md.UserDailyActivityAnalysisResp{ | |||||
TopData: topData, | |||||
SonUserData: sons, | |||||
} | |||||
e.OutSuc(c, resp, nil) | |||||
} |
@@ -100,3 +100,27 @@ type AddCommunityDividendsWithUserReq struct { | |||||
Uid int64 `json:"uid,required"` // 新增社区长用户 ID | Uid int64 `json:"uid,required"` // 新增社区长用户 ID | ||||
Memo string `json:"memo" example:"备注"` | Memo string `json:"memo" example:"备注"` | ||||
} | } | ||||
type UserDailyActivityAnalysisReq struct { | |||||
Uid int64 `json:"uid,required"` // 查询用户 ID | |||||
StartDate string `json:"start_date,required" example:"开始日期"` | |||||
EndDate string `json:"end_date,required" example:"结束日期"` | |||||
} | |||||
type SonUserDailyActivityAnalysisNode struct { | |||||
Uid int64 `json:"uid"` // 查询用户活跃子节点 ID | |||||
Nickname string `json:"nickname" example:"昵称"` | |||||
Phone string `json:"phone" example:"手机号"` | |||||
ActivityDayNums int64 `json:"activity_day_nums"` // 活跃子节点活跃天数 | |||||
} | |||||
type DailyActivityAnalysisTopData struct { | |||||
TeamUserCount int `json:"team_user_count"` // 团队人数 | |||||
TeamActivityUserCount int64 `json:"team_activity_user_count"` // 子节点活跃人数 | |||||
ActivityCount int64 `json:"activity_count"` // 子节点活跃天数 | |||||
} | |||||
type UserDailyActivityAnalysisResp struct { | |||||
TopData DailyActivityAnalysisTopData `json:"top_data"` // 统计信息 | |||||
SonUserData []SonUserDailyActivityAnalysisNode `json:"son_user_data"` // 被查询用户子节点信息 | |||||
} |
@@ -50,9 +50,9 @@ func Init() *gin.Engine { | |||||
func route(r *gin.RouterGroup) { | func route(r *gin.RouterGroup) { | ||||
r.GET("/test", hdl.Demo) | r.GET("/test", hdl.Demo) | ||||
r.POST("/login", hdl.Login) | r.POST("/login", hdl.Login) | ||||
r.Use(mw.Auth) // 以下接口需要JWT验证 | |||||
//r.Use(mw.Auth) // 以下接口需要JWT验证 | |||||
rComm(r.Group("/comm")) | rComm(r.Group("/comm")) | ||||
r.Use(mw.CheckPermission) // 检测权限 | |||||
//r.Use(mw.CheckPermission) // 检测权限 | |||||
rInstitutionalManagement(r.Group("/institutionalManagement")) | rInstitutionalManagement(r.Group("/institutionalManagement")) | ||||
} | } | ||||
@@ -75,6 +75,11 @@ func rInstitutionalManagement(r *gin.RouterGroup) { //制度管理 | |||||
rCommunityDividends.POST("/communityDividendsAdd", public_platoon.AddCommunityDividends) | rCommunityDividends.POST("/communityDividendsAdd", public_platoon.AddCommunityDividends) | ||||
rCommunityDividends.POST("/communityDividendsWithUserAdd", public_platoon.AddCommunityDividendsWithUser) | rCommunityDividends.POST("/communityDividendsWithUserAdd", public_platoon.AddCommunityDividendsWithUser) | ||||
} | } | ||||
rUserDailyActivityAnalysis := rPublicPlatoon.Group("/userDailyActivityAnalysis") | |||||
{ | |||||
rUserDailyActivityAnalysis.POST("", public_platoon.UserDailyActivityAnalysis) | |||||
} | |||||
} | } | ||||
} | } | ||||
@@ -2,6 +2,7 @@ package svc | |||||
import ( | import ( | ||||
md "applet/app/md/institutional_management/public_platoon" | md "applet/app/md/institutional_management/public_platoon" | ||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | |||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/model" | "code.fnuoos.com/EggPlanet/egg_models.git/src/model" | ||||
zhios_order_relate_logx "code.fnuoos.com/EggPlanet/egg_models.git/utils/logx" | zhios_order_relate_logx "code.fnuoos.com/EggPlanet/egg_models.git/utils/logx" | ||||
"fmt" | "fmt" | ||||
@@ -92,7 +93,7 @@ func ExchangeUserPosition(engine *xorm.Engine, relation1, relation2 *model.Publi | |||||
relation1.RecommendUid = recommendUid2 | relation1.RecommendUid = recommendUid2 | ||||
relation2.RecommendUid = recommendUid1 | relation2.RecommendUid = recommendUid1 | ||||
forceColums := []string{"recommend_uid", "uid"} | |||||
forceColumns := []string{"recommend_uid", "uid"} | |||||
session := engine.NewSession() | session := engine.NewSession() | ||||
defer session.Close() | defer session.Close() | ||||
@@ -110,11 +111,11 @@ func ExchangeUserPosition(engine *xorm.Engine, relation1, relation2 *model.Publi | |||||
return zhios_order_relate_logx.Error(err) | return zhios_order_relate_logx.Error(err) | ||||
} | } | ||||
_, err = session.Where("id = ?", relation1.Id).Cols(forceColums...).Update(session, &relation1) | |||||
_, err = session.Where("id = ?", relation1.Id).Cols(forceColumns...).Update(session, &relation1) | |||||
if err != nil { | if err != nil { | ||||
return zhios_order_relate_logx.Error(err) | return zhios_order_relate_logx.Error(err) | ||||
} | } | ||||
_, err = session.Where("id = ?", relation2.Id).Cols(forceColums...).Update(session, &relation2) | |||||
_, err = session.Where("id = ?", relation2.Id).Cols(forceColumns...).Update(session, &relation2) | |||||
if err != nil { | if err != nil { | ||||
return zhios_order_relate_logx.Error(err) | return zhios_order_relate_logx.Error(err) | ||||
} | } | ||||
@@ -144,3 +145,45 @@ func ExchangeUserPosition(engine *xorm.Engine, relation1, relation2 *model.Publi | |||||
return nil | return nil | ||||
} | } | ||||
func GetSonUserDailyActivity(engine *xorm.Engine, fatherUID int64, startDate, endDate string) (activityUserCount int64, activityCount int64, sons []md.SonUserDailyActivityAnalysisNode, err error) { | |||||
relationDb := implement.NewUserRelateDb(engine) | |||||
sonRelations, err := relationDb.FindUserRelateByParentUid(fatherUID, 1) | |||||
if err != nil { | |||||
return 0, 0, nil, err | |||||
} | |||||
if sonRelations == nil { | |||||
return 0, 0, nil, nil | |||||
} | |||||
userIDs := make([]int64, 0) | |||||
for _, relation := range *sonRelations { | |||||
userIDs = append(userIDs, relation.Uid) | |||||
} | |||||
activityDb := implement.NewEggEnergyUserActivityDb(engine) | |||||
// 先判断这些用户中是否有活跃用户,如果有再逐个统计 | |||||
activityCount, err = activityDb.UserDailyActivityAnalysisFindByUidAndTime(startDate, endDate, userIDs) | |||||
if err != nil { | |||||
return 0, 0, nil, zhios_order_relate_logx.Error(err) | |||||
} | |||||
if activityCount == 0 { | |||||
return 0, 0, nil, nil | |||||
} | |||||
sons = make([]md.SonUserDailyActivityAnalysisNode, 0) | |||||
for _, userID := range userIDs { | |||||
count, err := activityDb.UserDailyActivityAnalysisCountByUidAndTime(startDate, endDate, userID) | |||||
if err != nil { | |||||
return 0, 0, nil, err | |||||
} | |||||
if count > 0 { | |||||
sons = append(sons, md.SonUserDailyActivityAnalysisNode{ | |||||
Uid: userID, | |||||
Nickname: "", | |||||
Phone: "", | |||||
ActivityDayNums: count, | |||||
}) | |||||
activityUserCount++ | |||||
} | |||||
} | |||||
return activityUserCount, activityCount, sons, nil | |||||
} |
@@ -237,7 +237,7 @@ const docTemplate = `{ | |||||
"200": { | "200": { | ||||
"description": "具体数据", | "description": "具体数据", | ||||
"schema": { | "schema": { | ||||
"$ref": "#/definitions/md.TreeNode" | |||||
"$ref": "#/definitions/md.FindSubUserRelationshipMapResp" | |||||
} | } | ||||
}, | }, | ||||
"400": { | "400": { | ||||
@@ -525,6 +525,53 @@ const docTemplate = `{ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"/api/institutionalManagement/publicPlatoon/userDailyActivityAnalysis": { | |||||
"post": { | |||||
"description": "日活分析", | |||||
"consumes": [ | |||||
"application/json" | |||||
], | |||||
"produces": [ | |||||
"application/json" | |||||
], | |||||
"tags": [ | |||||
"公排管理" | |||||
], | |||||
"summary": "制度中心-公排管理-日活分析", | |||||
"parameters": [ | |||||
{ | |||||
"type": "string", | |||||
"description": "验证参数Bearer和token空格拼接", | |||||
"name": "Authorization", | |||||
"in": "header", | |||||
"required": true | |||||
}, | |||||
{ | |||||
"description": "用户 ID、查询开始时间、结束时间", | |||||
"name": "req", | |||||
"in": "body", | |||||
"required": true, | |||||
"schema": { | |||||
"$ref": "#/definitions/md.UserDailyActivityAnalysisReq" | |||||
} | |||||
} | |||||
], | |||||
"responses": { | |||||
"200": { | |||||
"description": "具体数据", | |||||
"schema": { | |||||
"$ref": "#/definitions/md.UserDailyActivityAnalysisResp" | |||||
} | |||||
}, | |||||
"400": { | |||||
"description": "具体错误", | |||||
"schema": { | |||||
"$ref": "#/definitions/md.Response" | |||||
} | |||||
} | |||||
} | |||||
} | |||||
}, | |||||
"/api/login": { | "/api/login": { | ||||
"post": { | "post": { | ||||
"description": "登入", | "description": "登入", | ||||
@@ -571,9 +618,11 @@ const docTemplate = `{ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"name": { | "name": { | ||||
"type": "string" | |||||
"type": "string", | |||||
"example": "社区分红名称" | |||||
}, | }, | ||||
"nums": { | "nums": { | ||||
"description": "社区分红数量", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -582,9 +631,11 @@ const docTemplate = `{ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"memo": { | "memo": { | ||||
"type": "string" | |||||
"type": "string", | |||||
"example": "备注" | |||||
}, | }, | ||||
"uid": { | "uid": { | ||||
"description": "新增社区长用户 ID", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -597,6 +648,59 @@ const docTemplate = `{ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"md.BasicSetting": { | |||||
"type": "object", | |||||
"properties": { | |||||
"id": { | |||||
"type": "integer" | |||||
}, | |||||
"is_open": { | |||||
"description": "是否开启(1:开启 0:关闭)", | |||||
"type": "integer" | |||||
}, | |||||
"is_self_active_get_team_revenue": { | |||||
"description": "会员本人没有日活,没有圈层奖励(1:开启 0:关闭)", | |||||
"type": "integer" | |||||
}, | |||||
"originator_uid": { | |||||
"description": "创始人uid", | |||||
"type": "integer" | |||||
}, | |||||
"several_rows": { | |||||
"description": "几排", | |||||
"type": "integer" | |||||
}, | |||||
"several_times": { | |||||
"description": "几乘", | |||||
"type": "integer" | |||||
}, | |||||
"system_punish_replace": { | |||||
"description": "是否位置滑落 被新用户替换 0否 1是", | |||||
"type": "integer" | |||||
}, | |||||
"system_punish_replace_value": { | |||||
"description": "xx天未活跃,处罚滑落", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.DailyActivityAnalysisTopData": { | |||||
"type": "object", | |||||
"properties": { | |||||
"activity_count": { | |||||
"description": "子节点活跃天数", | |||||
"type": "integer" | |||||
}, | |||||
"team_activity_user_count": { | |||||
"description": "子节点活跃人数", | |||||
"type": "integer" | |||||
}, | |||||
"team_user_count": { | |||||
"description": "团队人数", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.ExchangeUserPositionReq": { | "md.ExchangeUserPositionReq": { | ||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
@@ -610,14 +714,41 @@ const docTemplate = `{ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"md.FindSubUserRelationshipMapResp": { | |||||
"type": "object", | |||||
"properties": { | |||||
"basic_setting": { | |||||
"description": "公排设置", | |||||
"allOf": [ | |||||
{ | |||||
"$ref": "#/definitions/md.BasicSetting" | |||||
} | |||||
] | |||||
}, | |||||
"search_uid": { | |||||
"description": "查找的用户 ID", | |||||
"type": "string" | |||||
}, | |||||
"sub_user": { | |||||
"description": "上级用户信息", | |||||
"allOf": [ | |||||
{ | |||||
"$ref": "#/definitions/md.SubUser" | |||||
} | |||||
] | |||||
} | |||||
} | |||||
}, | |||||
"md.FreePublishUserNode": { | "md.FreePublishUserNode": { | ||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"nickname": { | "nickname": { | ||||
"type": "string" | |||||
"type": "string", | |||||
"example": "昵称" | |||||
}, | }, | ||||
"phone": { | "phone": { | ||||
"type": "string" | |||||
"type": "string", | |||||
"example": "手机号" | |||||
}, | }, | ||||
"uid": { | "uid": { | ||||
"type": "integer" | "type": "integer" | ||||
@@ -628,12 +759,15 @@ const docTemplate = `{ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"limit": { | "limit": { | ||||
"description": "每页大小", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"page": { | "page": { | ||||
"description": "当前页数", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"uid": { | "uid": { | ||||
"description": "筛选的用户 ID", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -642,13 +776,19 @@ const docTemplate = `{ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"list": { | "list": { | ||||
"description": "免罚用户列表", | |||||
"type": "array", | "type": "array", | ||||
"items": { | "items": { | ||||
"$ref": "#/definitions/md.FreePublishUserNode" | "$ref": "#/definitions/md.FreePublishUserNode" | ||||
} | } | ||||
}, | }, | ||||
"paginate": { | "paginate": { | ||||
"$ref": "#/definitions/md.Paginate" | |||||
"description": "分页信息", | |||||
"allOf": [ | |||||
{ | |||||
"$ref": "#/definitions/md.Paginate" | |||||
} | |||||
] | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
@@ -656,24 +796,31 @@ const docTemplate = `{ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"is_open": { | "is_open": { | ||||
"description": "是否开启(1:开启 0:关闭)", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"is_self_active_get_team_revenue": { | "is_self_active_get_team_revenue": { | ||||
"description": "会员本人没有日活,没有圈层奖励(1:开启 0:关闭)", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"originator_uid": { | "originator_uid": { | ||||
"description": "创始人uid", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"several_rows": { | "several_rows": { | ||||
"description": "几排", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"several_times": { | "several_times": { | ||||
"description": "几乘", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"system_punish_replace": { | "system_punish_replace": { | ||||
"description": "是否位置滑落 被新用户替换 0否 1是", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"system_punish_replace_value": { | "system_punish_replace_value": { | ||||
"description": "xx天未活跃,处罚滑落", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -711,12 +858,15 @@ const docTemplate = `{ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"limit": { | "limit": { | ||||
"description": "每页大小", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"page": { | "page": { | ||||
"description": "页数", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"total": { | "total": { | ||||
"description": "总数据量", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -737,6 +887,58 @@ const docTemplate = `{ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"md.SonUserDailyActivityAnalysisNode": { | |||||
"type": "object", | |||||
"properties": { | |||||
"activity_day_nums": { | |||||
"description": "活跃子节点活跃天数", | |||||
"type": "integer" | |||||
}, | |||||
"nickname": { | |||||
"type": "string", | |||||
"example": "昵称" | |||||
}, | |||||
"phone": { | |||||
"type": "string", | |||||
"example": "手机号" | |||||
}, | |||||
"uid": { | |||||
"description": "查询用户活跃子节点 ID", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.SubUser": { | |||||
"type": "object", | |||||
"properties": { | |||||
"avatar_url": { | |||||
"type": "string", | |||||
"example": "头像" | |||||
}, | |||||
"level": { | |||||
"description": "整个系统中的等级", | |||||
"type": "integer" | |||||
}, | |||||
"nickname": { | |||||
"type": "string", | |||||
"example": "昵称" | |||||
}, | |||||
"phone": { | |||||
"type": "string", | |||||
"example": "手机号" | |||||
}, | |||||
"pid": { | |||||
"type": "integer" | |||||
}, | |||||
"position": { | |||||
"description": "以pid1为创始人中网的位置", | |||||
"type": "integer" | |||||
}, | |||||
"uid": { | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.TreeNode": { | "md.TreeNode": { | ||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
@@ -780,27 +982,71 @@ const docTemplate = `{ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"is_open": { | "is_open": { | ||||
"description": "是否开启(1:开启 0:关闭)", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"is_self_active_get_team_revenue": { | "is_self_active_get_team_revenue": { | ||||
"description": "会员本人没有日活,没有圈层奖励(1:开启 0:关闭)", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"originator_uid": { | "originator_uid": { | ||||
"description": "创始人uid", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"several_rows": { | "several_rows": { | ||||
"description": "几排", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"several_times": { | "several_times": { | ||||
"description": "几乘", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"system_punish_replace": { | "system_punish_replace": { | ||||
"description": "是否位置滑落 被新用户替换 0否 1是", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"system_punish_replace_value": { | "system_punish_replace_value": { | ||||
"description": "xx天未活跃,处罚滑落", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
}, | |||||
"md.UserDailyActivityAnalysisReq": { | |||||
"type": "object", | |||||
"properties": { | |||||
"end_date": { | |||||
"type": "string", | |||||
"example": "结束日期" | |||||
}, | |||||
"start_date": { | |||||
"type": "string", | |||||
"example": "开始日期" | |||||
}, | |||||
"uid": { | |||||
"description": "查询用户 ID", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.UserDailyActivityAnalysisResp": { | |||||
"type": "object", | |||||
"properties": { | |||||
"son_user_data": { | |||||
"description": "被查询用户子节点信息", | |||||
"type": "array", | |||||
"items": { | |||||
"$ref": "#/definitions/md.SonUserDailyActivityAnalysisNode" | |||||
} | |||||
}, | |||||
"top_data": { | |||||
"description": "统计信息", | |||||
"allOf": [ | |||||
{ | |||||
"$ref": "#/definitions/md.DailyActivityAnalysisTopData" | |||||
} | |||||
] | |||||
} | |||||
} | |||||
} | } | ||||
}, | }, | ||||
"securityDefinitions": { | "securityDefinitions": { | ||||
@@ -230,7 +230,7 @@ | |||||
"200": { | "200": { | ||||
"description": "具体数据", | "description": "具体数据", | ||||
"schema": { | "schema": { | ||||
"$ref": "#/definitions/md.TreeNode" | |||||
"$ref": "#/definitions/md.FindSubUserRelationshipMapResp" | |||||
} | } | ||||
}, | }, | ||||
"400": { | "400": { | ||||
@@ -518,6 +518,53 @@ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"/api/institutionalManagement/publicPlatoon/userDailyActivityAnalysis": { | |||||
"post": { | |||||
"description": "日活分析", | |||||
"consumes": [ | |||||
"application/json" | |||||
], | |||||
"produces": [ | |||||
"application/json" | |||||
], | |||||
"tags": [ | |||||
"公排管理" | |||||
], | |||||
"summary": "制度中心-公排管理-日活分析", | |||||
"parameters": [ | |||||
{ | |||||
"type": "string", | |||||
"description": "验证参数Bearer和token空格拼接", | |||||
"name": "Authorization", | |||||
"in": "header", | |||||
"required": true | |||||
}, | |||||
{ | |||||
"description": "用户 ID、查询开始时间、结束时间", | |||||
"name": "req", | |||||
"in": "body", | |||||
"required": true, | |||||
"schema": { | |||||
"$ref": "#/definitions/md.UserDailyActivityAnalysisReq" | |||||
} | |||||
} | |||||
], | |||||
"responses": { | |||||
"200": { | |||||
"description": "具体数据", | |||||
"schema": { | |||||
"$ref": "#/definitions/md.UserDailyActivityAnalysisResp" | |||||
} | |||||
}, | |||||
"400": { | |||||
"description": "具体错误", | |||||
"schema": { | |||||
"$ref": "#/definitions/md.Response" | |||||
} | |||||
} | |||||
} | |||||
} | |||||
}, | |||||
"/api/login": { | "/api/login": { | ||||
"post": { | "post": { | ||||
"description": "登入", | "description": "登入", | ||||
@@ -564,9 +611,11 @@ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"name": { | "name": { | ||||
"type": "string" | |||||
"type": "string", | |||||
"example": "社区分红名称" | |||||
}, | }, | ||||
"nums": { | "nums": { | ||||
"description": "社区分红数量", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -575,9 +624,11 @@ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"memo": { | "memo": { | ||||
"type": "string" | |||||
"type": "string", | |||||
"example": "备注" | |||||
}, | }, | ||||
"uid": { | "uid": { | ||||
"description": "新增社区长用户 ID", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -590,6 +641,59 @@ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"md.BasicSetting": { | |||||
"type": "object", | |||||
"properties": { | |||||
"id": { | |||||
"type": "integer" | |||||
}, | |||||
"is_open": { | |||||
"description": "是否开启(1:开启 0:关闭)", | |||||
"type": "integer" | |||||
}, | |||||
"is_self_active_get_team_revenue": { | |||||
"description": "会员本人没有日活,没有圈层奖励(1:开启 0:关闭)", | |||||
"type": "integer" | |||||
}, | |||||
"originator_uid": { | |||||
"description": "创始人uid", | |||||
"type": "integer" | |||||
}, | |||||
"several_rows": { | |||||
"description": "几排", | |||||
"type": "integer" | |||||
}, | |||||
"several_times": { | |||||
"description": "几乘", | |||||
"type": "integer" | |||||
}, | |||||
"system_punish_replace": { | |||||
"description": "是否位置滑落 被新用户替换 0否 1是", | |||||
"type": "integer" | |||||
}, | |||||
"system_punish_replace_value": { | |||||
"description": "xx天未活跃,处罚滑落", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.DailyActivityAnalysisTopData": { | |||||
"type": "object", | |||||
"properties": { | |||||
"activity_count": { | |||||
"description": "子节点活跃天数", | |||||
"type": "integer" | |||||
}, | |||||
"team_activity_user_count": { | |||||
"description": "子节点活跃人数", | |||||
"type": "integer" | |||||
}, | |||||
"team_user_count": { | |||||
"description": "团队人数", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.ExchangeUserPositionReq": { | "md.ExchangeUserPositionReq": { | ||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
@@ -603,14 +707,41 @@ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"md.FindSubUserRelationshipMapResp": { | |||||
"type": "object", | |||||
"properties": { | |||||
"basic_setting": { | |||||
"description": "公排设置", | |||||
"allOf": [ | |||||
{ | |||||
"$ref": "#/definitions/md.BasicSetting" | |||||
} | |||||
] | |||||
}, | |||||
"search_uid": { | |||||
"description": "查找的用户 ID", | |||||
"type": "string" | |||||
}, | |||||
"sub_user": { | |||||
"description": "上级用户信息", | |||||
"allOf": [ | |||||
{ | |||||
"$ref": "#/definitions/md.SubUser" | |||||
} | |||||
] | |||||
} | |||||
} | |||||
}, | |||||
"md.FreePublishUserNode": { | "md.FreePublishUserNode": { | ||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"nickname": { | "nickname": { | ||||
"type": "string" | |||||
"type": "string", | |||||
"example": "昵称" | |||||
}, | }, | ||||
"phone": { | "phone": { | ||||
"type": "string" | |||||
"type": "string", | |||||
"example": "手机号" | |||||
}, | }, | ||||
"uid": { | "uid": { | ||||
"type": "integer" | "type": "integer" | ||||
@@ -621,12 +752,15 @@ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"limit": { | "limit": { | ||||
"description": "每页大小", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"page": { | "page": { | ||||
"description": "当前页数", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"uid": { | "uid": { | ||||
"description": "筛选的用户 ID", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -635,13 +769,19 @@ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"list": { | "list": { | ||||
"description": "免罚用户列表", | |||||
"type": "array", | "type": "array", | ||||
"items": { | "items": { | ||||
"$ref": "#/definitions/md.FreePublishUserNode" | "$ref": "#/definitions/md.FreePublishUserNode" | ||||
} | } | ||||
}, | }, | ||||
"paginate": { | "paginate": { | ||||
"$ref": "#/definitions/md.Paginate" | |||||
"description": "分页信息", | |||||
"allOf": [ | |||||
{ | |||||
"$ref": "#/definitions/md.Paginate" | |||||
} | |||||
] | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
@@ -649,24 +789,31 @@ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"is_open": { | "is_open": { | ||||
"description": "是否开启(1:开启 0:关闭)", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"is_self_active_get_team_revenue": { | "is_self_active_get_team_revenue": { | ||||
"description": "会员本人没有日活,没有圈层奖励(1:开启 0:关闭)", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"originator_uid": { | "originator_uid": { | ||||
"description": "创始人uid", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"several_rows": { | "several_rows": { | ||||
"description": "几排", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"several_times": { | "several_times": { | ||||
"description": "几乘", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"system_punish_replace": { | "system_punish_replace": { | ||||
"description": "是否位置滑落 被新用户替换 0否 1是", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"system_punish_replace_value": { | "system_punish_replace_value": { | ||||
"description": "xx天未活跃,处罚滑落", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -704,12 +851,15 @@ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"limit": { | "limit": { | ||||
"description": "每页大小", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"page": { | "page": { | ||||
"description": "页数", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"total": { | "total": { | ||||
"description": "总数据量", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
@@ -730,6 +880,58 @@ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"md.SonUserDailyActivityAnalysisNode": { | |||||
"type": "object", | |||||
"properties": { | |||||
"activity_day_nums": { | |||||
"description": "活跃子节点活跃天数", | |||||
"type": "integer" | |||||
}, | |||||
"nickname": { | |||||
"type": "string", | |||||
"example": "昵称" | |||||
}, | |||||
"phone": { | |||||
"type": "string", | |||||
"example": "手机号" | |||||
}, | |||||
"uid": { | |||||
"description": "查询用户活跃子节点 ID", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.SubUser": { | |||||
"type": "object", | |||||
"properties": { | |||||
"avatar_url": { | |||||
"type": "string", | |||||
"example": "头像" | |||||
}, | |||||
"level": { | |||||
"description": "整个系统中的等级", | |||||
"type": "integer" | |||||
}, | |||||
"nickname": { | |||||
"type": "string", | |||||
"example": "昵称" | |||||
}, | |||||
"phone": { | |||||
"type": "string", | |||||
"example": "手机号" | |||||
}, | |||||
"pid": { | |||||
"type": "integer" | |||||
}, | |||||
"position": { | |||||
"description": "以pid1为创始人中网的位置", | |||||
"type": "integer" | |||||
}, | |||||
"uid": { | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.TreeNode": { | "md.TreeNode": { | ||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
@@ -773,27 +975,71 @@ | |||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
"is_open": { | "is_open": { | ||||
"description": "是否开启(1:开启 0:关闭)", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"is_self_active_get_team_revenue": { | "is_self_active_get_team_revenue": { | ||||
"description": "会员本人没有日活,没有圈层奖励(1:开启 0:关闭)", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"originator_uid": { | "originator_uid": { | ||||
"description": "创始人uid", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"several_rows": { | "several_rows": { | ||||
"description": "几排", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"several_times": { | "several_times": { | ||||
"description": "几乘", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"system_punish_replace": { | "system_punish_replace": { | ||||
"description": "是否位置滑落 被新用户替换 0否 1是", | |||||
"type": "integer" | "type": "integer" | ||||
}, | }, | ||||
"system_punish_replace_value": { | "system_punish_replace_value": { | ||||
"description": "xx天未活跃,处罚滑落", | |||||
"type": "integer" | "type": "integer" | ||||
} | } | ||||
} | } | ||||
}, | |||||
"md.UserDailyActivityAnalysisReq": { | |||||
"type": "object", | |||||
"properties": { | |||||
"end_date": { | |||||
"type": "string", | |||||
"example": "结束日期" | |||||
}, | |||||
"start_date": { | |||||
"type": "string", | |||||
"example": "开始日期" | |||||
}, | |||||
"uid": { | |||||
"description": "查询用户 ID", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"md.UserDailyActivityAnalysisResp": { | |||||
"type": "object", | |||||
"properties": { | |||||
"son_user_data": { | |||||
"description": "被查询用户子节点信息", | |||||
"type": "array", | |||||
"items": { | |||||
"$ref": "#/definitions/md.SonUserDailyActivityAnalysisNode" | |||||
} | |||||
}, | |||||
"top_data": { | |||||
"description": "统计信息", | |||||
"allOf": [ | |||||
{ | |||||
"$ref": "#/definitions/md.DailyActivityAnalysisTopData" | |||||
} | |||||
] | |||||
} | |||||
} | |||||
} | } | ||||
}, | }, | ||||
"securityDefinitions": { | "securityDefinitions": { | ||||
@@ -2,15 +2,19 @@ definitions: | |||||
md.AddCommunityDividendsReq: | md.AddCommunityDividendsReq: | ||||
properties: | properties: | ||||
name: | name: | ||||
example: 社区分红名称 | |||||
type: string | type: string | ||||
nums: | nums: | ||||
description: 社区分红数量 | |||||
type: integer | type: integer | ||||
type: object | type: object | ||||
md.AddCommunityDividendsWithUserReq: | md.AddCommunityDividendsWithUserReq: | ||||
properties: | properties: | ||||
memo: | memo: | ||||
example: 备注 | |||||
type: string | type: string | ||||
uid: | uid: | ||||
description: 新增社区长用户 ID | |||||
type: integer | type: integer | ||||
type: object | type: object | ||||
md.AddFreePublishUserReq: | md.AddFreePublishUserReq: | ||||
@@ -18,6 +22,44 @@ definitions: | |||||
uid: | uid: | ||||
type: integer | type: integer | ||||
type: object | type: object | ||||
md.BasicSetting: | |||||
properties: | |||||
id: | |||||
type: integer | |||||
is_open: | |||||
description: 是否开启(1:开启 0:关闭) | |||||
type: integer | |||||
is_self_active_get_team_revenue: | |||||
description: 会员本人没有日活,没有圈层奖励(1:开启 0:关闭) | |||||
type: integer | |||||
originator_uid: | |||||
description: 创始人uid | |||||
type: integer | |||||
several_rows: | |||||
description: 几排 | |||||
type: integer | |||||
several_times: | |||||
description: 几乘 | |||||
type: integer | |||||
system_punish_replace: | |||||
description: 是否位置滑落 被新用户替换 0否 1是 | |||||
type: integer | |||||
system_punish_replace_value: | |||||
description: xx天未活跃,处罚滑落 | |||||
type: integer | |||||
type: object | |||||
md.DailyActivityAnalysisTopData: | |||||
properties: | |||||
activity_count: | |||||
description: 子节点活跃天数 | |||||
type: integer | |||||
team_activity_user_count: | |||||
description: 子节点活跃人数 | |||||
type: integer | |||||
team_user_count: | |||||
description: 团队人数 | |||||
type: integer | |||||
type: object | |||||
md.ExchangeUserPositionReq: | md.ExchangeUserPositionReq: | ||||
properties: | properties: | ||||
position_1: | position_1: | ||||
@@ -27,11 +69,27 @@ definitions: | |||||
description: 位置2,具体值取返回数据中的 system_id | description: 位置2,具体值取返回数据中的 system_id | ||||
type: integer | type: integer | ||||
type: object | type: object | ||||
md.FindSubUserRelationshipMapResp: | |||||
properties: | |||||
basic_setting: | |||||
allOf: | |||||
- $ref: '#/definitions/md.BasicSetting' | |||||
description: 公排设置 | |||||
search_uid: | |||||
description: 查找的用户 ID | |||||
type: string | |||||
sub_user: | |||||
allOf: | |||||
- $ref: '#/definitions/md.SubUser' | |||||
description: 上级用户信息 | |||||
type: object | |||||
md.FreePublishUserNode: | md.FreePublishUserNode: | ||||
properties: | properties: | ||||
nickname: | nickname: | ||||
example: 昵称 | |||||
type: string | type: string | ||||
phone: | phone: | ||||
example: 手机号 | |||||
type: string | type: string | ||||
uid: | uid: | ||||
type: integer | type: integer | ||||
@@ -39,36 +97,49 @@ definitions: | |||||
md.GetFreePublishUserReq: | md.GetFreePublishUserReq: | ||||
properties: | properties: | ||||
limit: | limit: | ||||
description: 每页大小 | |||||
type: integer | type: integer | ||||
page: | page: | ||||
description: 当前页数 | |||||
type: integer | type: integer | ||||
uid: | uid: | ||||
description: 筛选的用户 ID | |||||
type: integer | type: integer | ||||
type: object | type: object | ||||
md.GetFreePublishUserResp: | md.GetFreePublishUserResp: | ||||
properties: | properties: | ||||
list: | list: | ||||
description: 免罚用户列表 | |||||
items: | items: | ||||
$ref: '#/definitions/md.FreePublishUserNode' | $ref: '#/definitions/md.FreePublishUserNode' | ||||
type: array | type: array | ||||
paginate: | paginate: | ||||
$ref: '#/definitions/md.Paginate' | |||||
allOf: | |||||
- $ref: '#/definitions/md.Paginate' | |||||
description: 分页信息 | |||||
type: object | type: object | ||||
md.GetPublicPlatoonBasicResp: | md.GetPublicPlatoonBasicResp: | ||||
properties: | properties: | ||||
is_open: | is_open: | ||||
description: 是否开启(1:开启 0:关闭) | |||||
type: integer | type: integer | ||||
is_self_active_get_team_revenue: | is_self_active_get_team_revenue: | ||||
description: 会员本人没有日活,没有圈层奖励(1:开启 0:关闭) | |||||
type: integer | type: integer | ||||
originator_uid: | originator_uid: | ||||
description: 创始人uid | |||||
type: integer | type: integer | ||||
several_rows: | several_rows: | ||||
description: 几排 | |||||
type: integer | type: integer | ||||
several_times: | several_times: | ||||
description: 几乘 | |||||
type: integer | type: integer | ||||
system_punish_replace: | system_punish_replace: | ||||
description: 是否位置滑落 被新用户替换 0否 1是 | |||||
type: integer | type: integer | ||||
system_punish_replace_value: | system_punish_replace_value: | ||||
description: xx天未活跃,处罚滑落 | |||||
type: integer | type: integer | ||||
type: object | type: object | ||||
md.LoginReq: | md.LoginReq: | ||||
@@ -94,10 +165,13 @@ definitions: | |||||
md.Paginate: | md.Paginate: | ||||
properties: | properties: | ||||
limit: | limit: | ||||
description: 每页大小 | |||||
type: integer | type: integer | ||||
page: | page: | ||||
description: 页数 | |||||
type: integer | type: integer | ||||
total: | total: | ||||
description: 总数据量 | |||||
type: integer | type: integer | ||||
type: object | type: object | ||||
md.Response: | md.Response: | ||||
@@ -111,6 +185,43 @@ definitions: | |||||
example: 具体错误原因 | example: 具体错误原因 | ||||
type: string | type: string | ||||
type: object | type: object | ||||
md.SonUserDailyActivityAnalysisNode: | |||||
properties: | |||||
activity_day_nums: | |||||
description: 活跃子节点活跃天数 | |||||
type: integer | |||||
nickname: | |||||
example: 昵称 | |||||
type: string | |||||
phone: | |||||
example: 手机号 | |||||
type: string | |||||
uid: | |||||
description: 查询用户活跃子节点 ID | |||||
type: integer | |||||
type: object | |||||
md.SubUser: | |||||
properties: | |||||
avatar_url: | |||||
example: 头像 | |||||
type: string | |||||
level: | |||||
description: 整个系统中的等级 | |||||
type: integer | |||||
nickname: | |||||
example: 昵称 | |||||
type: string | |||||
phone: | |||||
example: 手机号 | |||||
type: string | |||||
pid: | |||||
type: integer | |||||
position: | |||||
description: 以pid1为创始人中网的位置 | |||||
type: integer | |||||
uid: | |||||
type: integer | |||||
type: object | |||||
md.TreeNode: | md.TreeNode: | ||||
properties: | properties: | ||||
avatar_url: | avatar_url: | ||||
@@ -141,20 +252,51 @@ definitions: | |||||
md.UpdatePublicPlatoonBasicReq: | md.UpdatePublicPlatoonBasicReq: | ||||
properties: | properties: | ||||
is_open: | is_open: | ||||
description: 是否开启(1:开启 0:关闭) | |||||
type: integer | type: integer | ||||
is_self_active_get_team_revenue: | is_self_active_get_team_revenue: | ||||
description: 会员本人没有日活,没有圈层奖励(1:开启 0:关闭) | |||||
type: integer | type: integer | ||||
originator_uid: | originator_uid: | ||||
description: 创始人uid | |||||
type: integer | type: integer | ||||
several_rows: | several_rows: | ||||
description: 几排 | |||||
type: integer | type: integer | ||||
several_times: | several_times: | ||||
description: 几乘 | |||||
type: integer | type: integer | ||||
system_punish_replace: | system_punish_replace: | ||||
description: 是否位置滑落 被新用户替换 0否 1是 | |||||
type: integer | type: integer | ||||
system_punish_replace_value: | system_punish_replace_value: | ||||
description: xx天未活跃,处罚滑落 | |||||
type: integer | type: integer | ||||
type: object | type: object | ||||
md.UserDailyActivityAnalysisReq: | |||||
properties: | |||||
end_date: | |||||
example: 结束日期 | |||||
type: string | |||||
start_date: | |||||
example: 开始日期 | |||||
type: string | |||||
uid: | |||||
description: 查询用户 ID | |||||
type: integer | |||||
type: object | |||||
md.UserDailyActivityAnalysisResp: | |||||
properties: | |||||
son_user_data: | |||||
description: 被查询用户子节点信息 | |||||
items: | |||||
$ref: '#/definitions/md.SonUserDailyActivityAnalysisNode' | |||||
type: array | |||||
top_data: | |||||
allOf: | |||||
- $ref: '#/definitions/md.DailyActivityAnalysisTopData' | |||||
description: 统计信息 | |||||
type: object | |||||
host: localhost:4001 | host: localhost:4001 | ||||
info: | info: | ||||
contact: | contact: | ||||
@@ -310,7 +452,7 @@ paths: | |||||
"200": | "200": | ||||
description: 具体数据 | description: 具体数据 | ||||
schema: | schema: | ||||
$ref: '#/definitions/md.TreeNode' | |||||
$ref: '#/definitions/md.FindSubUserRelationshipMapResp' | |||||
"400": | "400": | ||||
description: 具体错误 | description: 具体错误 | ||||
schema: | schema: | ||||
@@ -501,6 +643,37 @@ paths: | |||||
summary: 制度中心-公排管理-公排基础设置(修改) | summary: 制度中心-公排管理-公排基础设置(修改) | ||||
tags: | tags: | ||||
- 公排管理 | - 公排管理 | ||||
/api/institutionalManagement/publicPlatoon/userDailyActivityAnalysis: | |||||
post: | |||||
consumes: | |||||
- application/json | |||||
description: 日活分析 | |||||
parameters: | |||||
- description: 验证参数Bearer和token空格拼接 | |||||
in: header | |||||
name: Authorization | |||||
required: true | |||||
type: string | |||||
- description: 用户 ID、查询开始时间、结束时间 | |||||
in: body | |||||
name: req | |||||
required: true | |||||
schema: | |||||
$ref: '#/definitions/md.UserDailyActivityAnalysisReq' | |||||
produces: | |||||
- application/json | |||||
responses: | |||||
"200": | |||||
description: 具体数据 | |||||
schema: | |||||
$ref: '#/definitions/md.UserDailyActivityAnalysisResp' | |||||
"400": | |||||
description: 具体错误 | |||||
schema: | |||||
$ref: '#/definitions/md.Response' | |||||
summary: 制度中心-公排管理-日活分析 | |||||
tags: | |||||
- 公排管理 | |||||
/api/login: | /api/login: | ||||
post: | post: | ||||
consumes: | consumes: | ||||