|
@@ -113,11 +113,265 @@ func UpdatePublicPlatoonBasic(c *gin.Context) { |
|
|
e.OutSuc(c, "success", nil) |
|
|
e.OutSuc(c, "success", nil) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// GetRelationshipMap |
|
|
|
|
|
// @Summary 制度中心-公排管理-关系分布图(获取) |
|
|
|
|
|
// @Tags 公排管理 |
|
|
|
|
|
// @Description 关系分布图(获取) |
|
|
|
|
|
// @Accept json |
|
|
|
|
|
// @Produce json |
|
|
|
|
|
// @param Authorization header string true "验证参数Bearer和token空格拼接" |
|
|
|
|
|
// @Param req query public_platoon.GetRelationshipMapReq false "用户ID 手机号" |
|
|
|
|
|
// @Success 200 {object} public_platoon.RelationshipMapResp "具体数据" |
|
|
|
|
|
// @Failure 400 {object} md.Response "具体错误" |
|
|
|
|
|
// @Router /api/publicPlatoon/relationshipMap [get] |
|
|
func GetRelationshipMap(c *gin.Context) { |
|
|
func GetRelationshipMap(c *gin.Context) { |
|
|
var req *public_platoon.GetRelationshipMapReq |
|
|
var req *public_platoon.GetRelationshipMapReq |
|
|
if err := c.ShouldBindJSON(&req); err != nil { |
|
|
if err := c.ShouldBindJSON(&req); err != nil { |
|
|
e.OutErr(c, e.ERR_INVALID_ARGS, err) |
|
|
e.OutErr(c, e.ERR_INVALID_ARGS, err) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
|
|
|
userDb := implement.NewUserDb(db.Db) |
|
|
|
|
|
var uid int64 |
|
|
|
|
|
if req.Phone != 0 { |
|
|
|
|
|
user, err1 := userDb.UserGetOneByPhone(req.Phone) |
|
|
|
|
|
if err1 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err1.Error()) |
|
|
|
|
|
} |
|
|
|
|
|
uid = user.Id |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if req.Uid != 0 { |
|
|
|
|
|
uid = req.Uid |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
UserRelationDb := implement.NewPublicPlatoonUserRelationDb(db.Db) |
|
|
|
|
|
relations, err2 := UserRelationDb.PublicPlatoonUserRelationFind(uid) |
|
|
|
|
|
if err2 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err2.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
user, err3 := userDb.UserGetOneById(relations[0].Uid) |
|
|
|
|
|
if err3 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err3.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
var son []public_platoon.RelationshipMap |
|
|
|
|
|
res := public_platoon.RelationshipMap{ |
|
|
|
|
|
AvatarUrl: user.Avatar, |
|
|
|
|
|
Phone: user.Phone, |
|
|
|
|
|
Nickname: user.Nickname, |
|
|
|
|
|
Uid: user.Id, |
|
|
|
|
|
Pid: relations[0].RecommendUid, |
|
|
|
|
|
Level: relations[0].Level1, |
|
|
|
|
|
Position: relations[0].Position1, |
|
|
|
|
|
SystemID: relations[0].Id, |
|
|
|
|
|
Son: son, |
|
|
|
|
|
} |
|
|
|
|
|
m := make(map[int64]public_platoon.RelationshipMap) |
|
|
|
|
|
m[res.Uid] = res |
|
|
|
|
|
for i := 1; i < len(relations); i++ { |
|
|
|
|
|
currentUser, err4 := userDb.UserGetOneById(relations[i].Uid) |
|
|
|
|
|
if err4 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err4.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
var sonNodes []public_platoon.RelationshipMap |
|
|
|
|
|
node := public_platoon.RelationshipMap{ |
|
|
|
|
|
AvatarUrl: currentUser.Avatar, |
|
|
|
|
|
Phone: currentUser.Phone, |
|
|
|
|
|
Nickname: currentUser.Nickname, |
|
|
|
|
|
Uid: currentUser.Id, |
|
|
|
|
|
Pid: relations[i].RecommendUid, |
|
|
|
|
|
Level: relations[i].Level1, |
|
|
|
|
|
Position: relations[i].Position1, |
|
|
|
|
|
SystemID: relations[i].Id, |
|
|
|
|
|
Son: sonNodes, |
|
|
|
|
|
} |
|
|
|
|
|
m[node.Uid] = node |
|
|
|
|
|
if fatherNode, isOk := m[relations[i].FatherUid1]; isOk { |
|
|
|
|
|
fatherNode.Son = append(fatherNode.Son, node) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
publicPlatoonBasicDb := implement.NewPublicPlatoonBasicSettingDb(db.Db) |
|
|
|
|
|
publicPlatoonBasic, err := publicPlatoonBasicDb.PublicPlatoonBasicSettingGetOne() |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
now := time.Now() |
|
|
|
|
|
if publicPlatoonBasic == nil { |
|
|
|
|
|
publicPlatoonBasic = &model.PublicPlatoonBasicSetting{ |
|
|
|
|
|
IsOpen: 1, |
|
|
|
|
|
OriginatorUid: 0, |
|
|
|
|
|
SeveralTimes: 0, |
|
|
|
|
|
SeveralRows: 0, |
|
|
|
|
|
SystemPunishReplace: 0, |
|
|
|
|
|
SystemPunishReplaceValue: 0, |
|
|
|
|
|
IsSelfActiveGetTeamRevenue: 0, |
|
|
|
|
|
CreateAt: now.Format("2006-01-02 15:04:05"), |
|
|
|
|
|
UpdateAt: now.Format("2006-01-02 15:04:05"), |
|
|
|
|
|
} |
|
|
|
|
|
_, err1 := publicPlatoonBasicDb.PublicPlatoonBasicSettingInsert(publicPlatoonBasic) |
|
|
|
|
|
if err1 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err1.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
var basicSetting public_platoon.GetPublicPlatoonBasicResp |
|
|
|
|
|
basicSetting = public_platoon.GetPublicPlatoonBasicResp{ |
|
|
|
|
|
IsOpen: publicPlatoonBasic.IsOpen, |
|
|
|
|
|
OriginatorUid: publicPlatoonBasic.OriginatorUid, |
|
|
|
|
|
SeveralTimes: publicPlatoonBasic.SeveralTimes, |
|
|
|
|
|
SeveralRows: publicPlatoonBasic.SeveralRows, |
|
|
|
|
|
SystemPunishReplace: publicPlatoonBasic.SystemPunishReplace, |
|
|
|
|
|
SystemPunishReplaceValue: publicPlatoonBasic.SystemPunishReplaceValue, |
|
|
|
|
|
IsSelfActiveGetTeamRevenue: publicPlatoonBasic.IsSelfActiveGetTeamRevenue, |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if uid == 0 { |
|
|
|
|
|
uid = relations[0].Uid |
|
|
|
|
|
} |
|
|
|
|
|
var resp public_platoon.RelationshipMapResp |
|
|
|
|
|
resp = public_platoon.RelationshipMapResp{ |
|
|
|
|
|
Map: res, |
|
|
|
|
|
BasicSetting: basicSetting, |
|
|
|
|
|
SearchUid: uid, |
|
|
|
|
|
} |
|
|
|
|
|
e.OutSuc(c, resp, nil) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// FindUserRelationshipMap |
|
|
|
|
|
// @Summary 制度中心-公排管理-关系分布图(获取指定用户下级) |
|
|
|
|
|
// @Tags 公排管理 |
|
|
|
|
|
// @Description 关系分布图(获取指定用户下级) |
|
|
|
|
|
// @Accept json |
|
|
|
|
|
// @Produce json |
|
|
|
|
|
// @param Authorization header string true "验证参数Bearer和token空格拼接" |
|
|
|
|
|
// @Param req query public_platoon.FindUserRelationshipMapReq true "用户ID" |
|
|
|
|
|
// @Success 200 {object} public_platoon.RelationshipMap "具体数据" |
|
|
|
|
|
// @Failure 400 {object} md.Response "具体错误" |
|
|
|
|
|
// @Router /api/publicPlatoon/findUserRelationshipMap [get] |
|
|
|
|
|
func FindUserRelationshipMap(c *gin.Context) { |
|
|
|
|
|
var req *public_platoon.FindUserRelationshipMapReq |
|
|
|
|
|
if err := c.ShouldBindJSON(&req); err != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_INVALID_ARGS, err) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
RelationDb := implement.NewPublicPlatoonUserRelationDb(db.Db) |
|
|
|
|
|
relations, err1 := RelationDb.PublicPlatoonUserRelationFindByUid(req.Uid) |
|
|
|
|
|
if err1 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err1) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
userDb := implement.NewUserDb(db.Db) |
|
|
|
|
|
user, err3 := userDb.UserGetOneById(relations[0].Uid) |
|
|
|
|
|
if err3 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err3.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
var son []public_platoon.RelationshipMap |
|
|
|
|
|
res := public_platoon.RelationshipMap{ |
|
|
|
|
|
AvatarUrl: user.Avatar, |
|
|
|
|
|
Phone: user.Phone, |
|
|
|
|
|
Nickname: user.Nickname, |
|
|
|
|
|
Uid: user.Id, |
|
|
|
|
|
Pid: relations[0].RecommendUid, |
|
|
|
|
|
Level: relations[0].Level1, |
|
|
|
|
|
Position: relations[0].Position1, |
|
|
|
|
|
SystemID: relations[0].Id, |
|
|
|
|
|
Son: son, |
|
|
|
|
|
} |
|
|
|
|
|
for i := 1; i < len(relations); i++ { |
|
|
|
|
|
user, err4 := userDb.UserGetOneById(relations[i].Uid) |
|
|
|
|
|
if err4 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err4.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
node := public_platoon.RelationshipMap{ |
|
|
|
|
|
AvatarUrl: user.Avatar, |
|
|
|
|
|
Phone: user.Phone, |
|
|
|
|
|
Nickname: user.Nickname, |
|
|
|
|
|
Uid: user.Id, |
|
|
|
|
|
Pid: relations[i].RecommendUid, |
|
|
|
|
|
Level: relations[i].Level1, |
|
|
|
|
|
Position: relations[i].Position1, |
|
|
|
|
|
SystemID: relations[i].Id, |
|
|
|
|
|
Son: nil, |
|
|
|
|
|
} |
|
|
|
|
|
res.Son = append(res.Son, node) |
|
|
|
|
|
} |
|
|
|
|
|
e.OutSuc(c, res, nil) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// FindSubUserRelationshipMap |
|
|
|
|
|
// @Summary 制度中心-公排管理-关系分布图(获取指定用户上级) |
|
|
|
|
|
// @Tags 公排管理 |
|
|
|
|
|
// @Description 关系分布图(获取指定用户上级) |
|
|
|
|
|
// @Accept json |
|
|
|
|
|
// @Produce json |
|
|
|
|
|
// @param Authorization header string true "验证参数Bearer和token空格拼接" |
|
|
|
|
|
// @Param req query public_platoon.FindSubUserRelationshipMapReq true "用户ID" |
|
|
|
|
|
// @Success 200 {object} public_platoon.RelationshipMap "具体数据" |
|
|
|
|
|
// @Failure 400 {object} md.Response "具体错误" |
|
|
|
|
|
// @Router /api/publicPlatoon/findSubUserRelationshipMap [get] |
|
|
|
|
|
func FindSubUserRelationshipMap(c *gin.Context) { |
|
|
|
|
|
var req *public_platoon.FindSubUserRelationshipMapReq |
|
|
|
|
|
if err := c.ShouldBindJSON(&req); err != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_INVALID_ARGS, err) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
RelationDb := implement.NewPublicPlatoonUserRelationDb(db.Db) |
|
|
|
|
|
sonRelation, err1 := RelationDb.PublicPlatoonUserRelationGetOneByUid(req.Uid) |
|
|
|
|
|
if err1 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err1) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
parentRelation, err2 := RelationDb.PublicPlatoonUserRelationGetOneByUid(sonRelation.FatherUid1) |
|
|
|
|
|
if err2 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err2) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
userDb := implement.NewUserDb(db.Db) |
|
|
|
|
|
son, err3 := userDb.UserGetOneById(sonRelation.Uid) |
|
|
|
|
|
if err3 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err3.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
parent, err4 := userDb.UserGetOneById(parentRelation.Uid) |
|
|
|
|
|
if err4 != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR_DB_ORM, err4.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var sonNode []public_platoon.RelationshipMap |
|
|
|
|
|
sonNode1 := public_platoon.RelationshipMap{ |
|
|
|
|
|
AvatarUrl: son.Avatar, |
|
|
|
|
|
Phone: son.Phone, |
|
|
|
|
|
Nickname: son.Nickname, |
|
|
|
|
|
Uid: son.Id, |
|
|
|
|
|
Pid: sonRelation.RecommendUid, |
|
|
|
|
|
Level: sonRelation.Level1, |
|
|
|
|
|
Position: sonRelation.Position1, |
|
|
|
|
|
SystemID: sonRelation.Id, |
|
|
|
|
|
Son: nil, |
|
|
|
|
|
} |
|
|
|
|
|
sonNode = append(sonNode, sonNode1) |
|
|
|
|
|
res := public_platoon.RelationshipMap{ |
|
|
|
|
|
AvatarUrl: parent.Avatar, |
|
|
|
|
|
Phone: parent.Phone, |
|
|
|
|
|
Nickname: parent.Nickname, |
|
|
|
|
|
Uid: parent.Id, |
|
|
|
|
|
Pid: parentRelation.RecommendUid, |
|
|
|
|
|
Level: parentRelation.Level1, |
|
|
|
|
|
Position: parentRelation.Position1, |
|
|
|
|
|
SystemID: parentRelation.Id, |
|
|
|
|
|
Son: sonNode, |
|
|
|
|
|
} |
|
|
|
|
|
e.OutSuc(c, res, nil) |
|
|
} |
|
|
} |