package public_platoon import ( "applet/app/db" "applet/app/e" md "applet/app/md/institutional_management/public_platoon" svc "applet/app/svc/public_platoon" "code.fnuoos.com/EggPlanet/egg_models.git/src/implement" "code.fnuoos.com/EggPlanet/egg_models.git/src/model" "errors" "github.com/gin-gonic/gin" "time" ) // GetPublicPlatoonBasic // @Summary 制度中心-公排管理-公排基础设置(获取) // @Tags 公排管理 // @Description 公排基础设置(获取) // @Accept json // @Produce json // @param Authorization header string true "验证参数Bearer和token空格拼接" // @Success 200 {object} md.GetPublicPlatoonBasicResp "具体数据" // @Failure 400 {object} md.Response "具体错误" // @Router /api/publicPlatoon/getBasic [get] func GetPublicPlatoonBasic(c *gin.Context) { 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 resp md.GetPublicPlatoonBasicResp resp = md.GetPublicPlatoonBasicResp{ IsOpen: publicPlatoonBasic.IsOpen, OriginatorUid: publicPlatoonBasic.OriginatorUid, SeveralTimes: publicPlatoonBasic.SeveralTimes, SeveralRows: publicPlatoonBasic.SeveralRows, SystemPunishReplace: publicPlatoonBasic.SystemPunishReplace, SystemPunishReplaceValue: publicPlatoonBasic.SystemPunishReplaceValue, IsSelfActiveGetTeamRevenue: publicPlatoonBasic.IsSelfActiveGetTeamRevenue, } e.OutSuc(c, resp, nil) } // UpdatePublicPlatoonBasic // @Summary 制度中心-公排管理-公排基础设置(修改) // @Tags 公排管理 // @Description 公排基础设置(修改) // @Accept json // @Produce json // @param Authorization header string true "验证参数Bearer和token空格拼接" // @Param req body interface{} true "公排设置表单内容" // @Success 200 {string} "success" // @Failure 400 {object} md.Response "具体错误" // @Router /api/publicPlatoon/getBasic [post] func UpdatePublicPlatoonBasic(c *gin.Context) { var req *md.UpdatePublicPlatoonBasicReq if err := c.ShouldBindJSON(&req); err != nil { e.OutErr(c, e.ERR_INVALID_ARGS, err) return } publicPlatoonBasicDb := implement.NewPublicPlatoonBasicSettingDb(db.Db) publicPlatoonBasic, err := publicPlatoonBasicDb.PublicPlatoonBasicSettingGetOne() if err != nil { e.OutErr(c, e.ERR_DB_ORM, err) return } setting := &model.PublicPlatoonBasicSetting{ Id: publicPlatoonBasic.Id, IsOpen: req.IsOpen, OriginatorUid: req.OriginatorUid, SeveralTimes: req.SeveralTimes, SeveralRows: req.SeveralRows, SystemPunishReplace: req.SystemPunishReplace, SystemPunishReplaceValue: req.SystemPunishReplaceValue, IsSelfActiveGetTeamRevenue: req.IsSelfActiveGetTeamRevenue, CreateAt: "", UpdateAt: "", } updateAffected, err := publicPlatoonBasicDb.PublicPlatoonBasicSettingUpdate(publicPlatoonBasic.Id, setting, "") if err != nil { e.OutErr(c, e.ERR_DB_ORM, err) return } if updateAffected <= 0 { e.OutErr(c, e.ERR_DB_ORM, "更新数据表失败") return } e.OutSuc(c, "success", nil) } // GetRelationshipMap // @Summary 制度中心-公排管理-关系分布图(获取) // @Tags 公排管理 // @Description 关系分布图(获取) // @Accept json // @Produce json // @param Authorization header string true "验证参数Bearer和token空格拼接" // @param phone query string true "phone" // @param uid query string true "uid" // @Success 200 {object} md.TreeNode "具体数据" // @Failure 400 {object} md.Response "具体错误" // @Router /api/publicPlatoon/relationshipMap [get] func GetRelationshipMap(c *gin.Context) { phone := c.Query("phone") uid := c.Query("uid") userDb := implement.NewUserDb(db.Db) userRelationDb := implement.NewPublicPlatoonUserRelationDb(db.Db) var relation *model.PublicPlatoonUserRelation var err error if phone != "" { user, err1 := userDb.UserGetOneByParams(map[string]interface{}{ "key": "phone", "value": phone, }) if err1 != nil { e.OutErr(c, e.ERR_DB_ORM, err1.Error()) } relation, err = userRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ "key": "uid", "value": user.Id, }) } else if uid != "" { relation, err = userRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ "key": "uid", "value": uid, }) } else { relation, err = userRelationDb.PublicPlatoonUserRelationGetOneByParams(map[string]interface{}{ "key": "level_total", "value": 1, }) if err != nil { e.OutErr(c, e.ERR_DB_ORM, err.Error()) return } } var list *md.TreeNode list, err = svc.GetTrees(db.Db, relation, 3) if err != nil { e.OutErr(c, e.ERR_DB_ORM, err.Error()) return } e.OutSuc(c, list, 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.ShouldBindQuery(&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.ShouldBindQuery(&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) //} func ExchangeUserPosition(c *gin.Context) { var req *md.ExchangeUserPositionReq if err1 := c.ShouldBindJSON(&req); err1 != nil { e.OutErr(c, e.ERR_INVALID_ARGS, err1) return } relationDb := implement.NewPublicPlatoonUserRelationDb(db.Db) relation1, err2 := relationDb.PublicPlatoonUserRelationGetOneByPosition(req.Position1) if err2 != nil { e.OutErr(c, e.ERR_DB_ORM, err2) return } if relation1 == nil { e.OutErr(c, e.ERR_BAD_REQUEST, errors.New("position_1 位置有误")) return } relation2, err3 := relationDb.PublicPlatoonUserRelationGetOneByPosition(req.Position1) if err3 != nil { e.OutErr(c, e.ERR_DB_ORM, err3) return } if relation2 == nil { e.OutErr(c, e.ERR_BAD_REQUEST, errors.New("position_2 位置有误")) return } if relation1.Uid == 1 || relation2.Uid == 1 { e.OutErr(c, e.ERR_BAD_REQUEST, errors.New("创始人位置不能被修改")) } //uid1 := relation1.Uid //uid2 := relation2.Uid //recommendUid1 := relation1.RecommendUid //recommendUid2 := relation2.RecommendUid //relation1.Uid = "" }