예제 #1
0
    def wechat_login(self, jsonInfo):
        '''
        微信用户登录
        第一步:# 获取唯一的open_id
        第二步: 判断用户是否是第一次登录,如果是,则创建用户信息,否则,查看是否需要变更用户信息
        :param info: 
        :return: {'data': '', 'status': 'SUCCESS'}
        '''
        info = json.loads(jsonInfo)
        raw_data = info['rawData'].encode('utf-8')
        signature = info['signature']
        code = info['code']
        url = GET_OPENID_URL
        payload = {'appid': APP_ID, 'secret': APP_SECRET, 'js_code': code, 'grant_type': 'authorization_code'}
        r = requests.get(url=url, params=payload)
        ret = json.loads(r.text)
        open_id = ret['openid']
        session_key = ret['session_key'].encode('utf-8')
        new_signature = hashlib.sha1(raw_data + session_key).hexdigest()
        if signature == new_signature:
            query = db.session.query(UserInfo).filter(UserInfo.open_id == open_id)
            result = query.first()
            user_info = {}
            raw_data_dict = json.loads(info['rawData'])
            avatar_url = raw_data_dict['avatarUrl']
            user_name = raw_data_dict['nickName']
            user_info['imgpath'] = avatar_url
            user_info['open_id'] = open_id
            user_info['user_name'] = user_name


            if result:
                user_info['user_id'] = result.user_id
                user_info['foreign_id'] = user_info['user_id']
                self._update_user_info(user_info)
            else:
                user_info['user_id'] = self.generate_id(open_id)
                user_info['imgpath_id'] = self.generate_id(avatar_url)
                user_info['foreign_id'] = user_info['user_id']
                user_info['createtime'] = datetime.now()
                ImgPath.create(info=user_info)
                UserInfo.create(info=user_info)
            tokenManager = TokenManager()
            user_info['validity'] = VALIDITY
            (status, token_id) = tokenManager.update_token(info=user_info)
            db.session.commit()
            return (True, token_id)
        else:
            return (False, None)
예제 #2
0
 def _create_user(self, info):
     '''
     后台,创建用户
     第一步: 验证管理员身份
     第二步: 创建Token, Imgpath, UserInfo信息
     :param info: {'token_id': '', 'user_name': '', 'imgpath': '', 'user_id': '', 'open_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     info['imgpath_id'] = self.generate_id(info['imgpath'])
     info['imgpath'] = info['imgpath']
     info['foreign_id'] = info['user_id']
     ImgPath.create(info=info)
     UserInfo.create(info=info)
     db.session.commit()
     return (True, info['user_id'])
예제 #3
0
 def get_score_list(self, info):
     '''
     积分列表
     第一步: 验证用户身份
     第二步: 获取积分列表
     :param info: {'token_id': '', 'user_id': '', 'activity_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     user_id = info['user_id']
     start_index = info['start_index']
     page_count = info['page_count']
     query = db.session.query(UserInfo)
     all_result = query.order_by(desc(
         UserInfo.user_score)).offset(start_index).limit(page_count).all()
     callback_data = []
     imagemanager = ImageManager()
     img_request = {}
     for result in all_result:
         (status, user_info) = UserInfo.generate(result=result)
         count = db.session.query(func.count(UserInfo.user_id)).filter(
             UserInfo.user_score > user_info['user_score']).first()
         user_info['index_number'] = count[0] + 1
         img_request['foreign_id'] = result.user_id
         if result.open_id is None:
             (status, image_info) = imagemanager.get_image(info=img_request)
         else:
             imgpath = db.session.query(ImgPath).filter(
                 ImgPath.foreign_id == result.user_id).first()
             (status, image_info) = ImgPath.generate(result=imgpath)
         user_info.update(image_info)
         callback_data.append(user_info)
     return (True, callback_data)
예제 #4
0
 def get_score_list(self, info):
     '''
     积分列表
     第一步: 验证用户身份
     第二步: 获取积分列表
     :param info: {'token_id': '', 'user_id': '', 'activity_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     user_id = info['user_id']
     start_index = info['start_index']
     page_count = info['page_count']
     query = db.session.query(UserInfo)
     all_result = query.order_by(desc(UserInfo.user_score)).offset(start_index).limit(page_count).all()
     callback_data = []
     imagemanager = ImageManager()
     img_request = {}
     for result in all_result:
         (status, user_info) = UserInfo.generate(result=result)
         count = db.session.query(
             func.count(UserInfo.user_id)
         ).filter(
             UserInfo.user_score > user_info['user_score']
         ).first()
         user_info['index_number'] = count[0] + 1
         img_request['foreign_id'] = result.user_id
         if result.open_id is None:
             (status, image_info) = imagemanager.get_image(info=img_request)
         else:
             imgpath = db.session.query(ImgPath).filter(ImgPath.foreign_id == result.user_id).first()
             (status, image_info) = ImgPath.generate(result=imgpath)
         user_info.update(image_info)
         callback_data.append(user_info)
     return (True, callback_data)
예제 #5
0
 def get_score_info(self, info):
     '''
     获取活动成绩
     :param info: {'token_id': '', 'user_id': '', 'activity_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     activity_id = info['activity_id']
     part_query = db.session.query(Participate, UserInfo).outerjoin(
         UserInfo, Participate.user_id == UserInfo.user_id
     ).filter(and_(Participate.activity_id == activity_id, Participate.score != SCORE_EMPTY))
     all_result = part_query.order_by(desc(Participate.score)).all()
     callback_data = []
     img_request = {}
     imagemanager = ImageManager()
     for score_result in all_result:
         user = score_result.UserInfo
         participate = score_result.Participate
         img_request['foreign_id'] = participate.user_id
         if user.open_id is None:
             (status, image_info) = imagemanager.get_image(info=img_request)
         else:
             imgpath = db.session.query(ImgPath).filter(ImgPath.foreign_id == user.user_id).first()
             (status, image_info) = ImgPath.generate(result=imgpath)
         (status, part_info) = Participate.generate(result=participate)
         (status, user_info) = UserInfo.generate(result=user)
         part_info.update(user_info)
         part_info.update(image_info)
         callback_data.append(part_info)
     return (True, callback_data)
예제 #6
0
 def create_activity(self, info):
     '''
     创建活动
     第一步: 验证用户身份
     第二步: 创建Imgpath, Activity信息
     :param info: {'token_id': '', 'user_name': '', 'imgpath': '', 'user_id': '', 'open_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     print(info)
     info['activity_id'] = self.generate_id(info['activity_name'])
     info['imgpath_id'] = self.generate_id(info['imgpath'])
     info['foreign_id'] = info['activity_id']
     ImgPath.create(info=info)
     info['createtime'] = datetime.now()
     Activity.create(info=info)
     db.session.commit()
     return (True, info['activity_id'])
예제 #7
0
 def create_activity(self, info):
     '''
     创建活动
     第一步: 验证用户身份
     第二步: 创建Imgpath, Activity信息
     :param info: {'token_id': '', 'user_name': '', 'imgpath': '', 'user_id': '', 'open_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     print(info)
     info['activity_id'] = self.generate_id(info['activity_name'])
     info['imgpath_id'] = self.generate_id(info['imgpath'])
     info['foreign_id'] = info['activity_id']
     ImgPath.create(info=info)
     info['createtime'] = datetime.now()
     Activity.create(info=info)
     db.session.commit()
     return (True, info['activity_id'])
예제 #8
0
 def create_club_background(self, info):
     '''
     后台, 创建俱乐部
     第一步: 验证该俱乐部是否已经存在(根据俱乐部名称);
     第二步: 创建俱乐部图片;
     第三步: 创建俱乐部
     :param info: 
     :return: 
     '''
     info['club_id'] = self.generate_id(info['club_name'])
     info['imgpath'] = info['imgpath']
     info['imgpath_id'] = self.generate_id(info['imgpath'])
     info['foreign_id'] = info['club_id']
     info['createtime'] = datetime.now()
     ImgPath.create(info=info)
     Club.create(info=info)
     db.session.commit()
     return (True, info['club_id'])
예제 #9
0
 def get_club_score_list(self, info):
     '''
     俱乐部积分列表
     第一步: 验证用户身份
     第二步: 获取积分最多的俱乐部积分列表
     :param info: {'token_id': '', 'user_id': '', 'activity_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     user_id = info['user_id']
     start_index = info['start_index']
     page_count = info['page_count']
     if info['club_id'] == '-1':
         club_query = db.session.query(ClubScore).filter(
             ClubScore.user_id == user_id)
         club_result = club_query.order_by(desc(
             ClubScore.club_number)).first()
     else:
         club_result = db.session.query(ClubScore).filter(
             ClubScore.club_id == info['club_id']).first()
         print(club_result)
     if club_result:
         club_id = club_result.club_id
         query = db.session.query(UserInfo, ClubScore).outerjoin(
             ClubScore, UserInfo.user_id == ClubScore.user_id).filter(
                 ClubScore.club_id == club_id)
         all_result = query.order_by(desc(ClubScore.club_number)).offset(
             start_index).limit(page_count).all()
         callback_data = []
         imagemanager = ImageManager()
         img_request = {}
         for result in all_result:
             user = result.UserInfo
             clubscore = result.ClubScore
             (status, _club) = ClubScore.generate(result=clubscore)
             (status, _user_info) = UserInfo.generate(result=user)
             count = db.session.query(func.count(
                 ClubScore.score_id)).filter(
                     and_(ClubScore.club_id == club_id,
                          ClubScore.club_number >
                          _club['club_number'])).first()
             _club['index_number'] = count[0] + 1
             img_request['foreign_id'] = user.user_id
             if user.open_id is None:
                 (status,
                  image_info) = imagemanager.get_image(info=img_request)
             else:
                 imgpath = db.session.query(ImgPath).filter(
                     ImgPath.foreign_id == user.user_id).first()
                 (status, image_info) = ImgPath.generate(result=imgpath)
             _club.update(image_info)
             _club.update(_user_info)
             callback_data.append(_club)
         return (True, callback_data)
     else:
         return (False, None)
예제 #10
0
 def create_user_background(self, info):
     '''
     后台,创建用户
     第一步: 验证管理员身份
     第二步: 创建Token, Imgpath, UserInfo信息
     :param info: {'token_id': '', 'user_name': '', 'imgpath': '', 'user_id': '', 'open_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     info['user_id'] = self.generate_id(info['user_name'])
     info['token_id'] = self.generate_id(info['user_id'])
     info['createtime'] = datetime.now()
     info['validity'] = VALIDITY
     Token.create(info)
     info['imgpath_id'] = self.generate_id(info['imgpath'])
     info['imgpath'] = info['imgpath']
     info['foreign_id'] = info['user_id']
     ImgPath.create(info=info)
     UserInfo.create(info=info)
     db.session.commit()
     return (True, info['user_id'])
예제 #11
0
 def get_club_score_list(self, info):
     '''
     俱乐部积分列表
     第一步: 验证用户身份
     第二步: 获取积分最多的俱乐部积分列表
     :param info: {'token_id': '', 'user_id': '', 'activity_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     user_id = info['user_id']
     start_index = info['start_index']
     page_count = info['page_count']
     if info['club_id'] == '-1':
         club_query = db.session.query(ClubScore).filter(ClubScore.user_id == user_id)
         club_result = club_query.order_by(desc(ClubScore.club_number)).first()
     else:
         club_result = db.session.query(ClubScore).filter(ClubScore.club_id == info['club_id']).first()
         print(club_result)
     if club_result:
         club_id = club_result.club_id
         query = db.session.query(UserInfo, ClubScore).outerjoin(
             ClubScore, UserInfo.user_id == ClubScore.user_id
         ).filter(ClubScore.club_id == club_id)
         all_result = query.order_by(desc(ClubScore.club_number)).offset(start_index).limit(page_count).all()
         callback_data = []
         imagemanager = ImageManager()
         img_request = {}
         for result in all_result:
             user = result.UserInfo
             clubscore = result.ClubScore
             (status, _club) = ClubScore.generate(result=clubscore)
             (status, _user_info) = UserInfo.generate(result=user)
             count = db.session.query(
                 func.count(ClubScore.score_id)
             ).filter(
                 and_(
                     ClubScore.club_id == club_id,
                     ClubScore.club_number > _club['club_number']
                 )
             ).first()
             _club['index_number'] = count[0] + 1
             img_request['foreign_id'] = user.user_id
             if user.open_id is None:
                 (status, image_info) = imagemanager.get_image(info=img_request)
             else:
                 imgpath = db.session.query(ImgPath).filter(ImgPath.foreign_id == user.user_id).first()
                 (status, image_info) = ImgPath.generate(result=imgpath)
             _club.update(image_info)
             _club.update(_user_info)
             callback_data.append(_club)
         return (True, callback_data)
     else:
         return (False, None)
예제 #12
0
 def create_activity_background(self, info):
     '''
     后台,创建活动
     第一步: 验证管理员身份
     第二步: 创建Imgpath, Activity信息
     :param info: {'token_id': '', 'user_name': '', 'imgpath': '', 'user_id': '', 'open_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     print(info)
     info['activity_id'] = self.generate_id(info['activity_name'])
     info['imgpath_id'] = self.generate_id(info['imgpath'])
     info['foreign_id'] = info['activity_id']
     ImgPath.create(info=info)
     info['createtime'] = datetime.now()
     if 'club_id' in info:
         info['type_id'] = ACTIVITY_CLUB
         info['area'] = None
     else:
         info['club_id'] = None
         info['type_id'] = ACTIVITY_USER
     Activity.create(info=info)
     db.session.commit()
     return (True, info['activity_id'])
예제 #13
0
 def create_activity_background(self, info):
     '''
     后台,创建活动
     第一步: 验证管理员身份
     第二步: 创建Imgpath, Activity信息
     :param info: {'token_id': '', 'user_name': '', 'imgpath': '', 'user_id': '', 'open_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     print(info)
     info['activity_id'] = self.generate_id(info['activity_name'])
     info['imgpath_id'] = self.generate_id(info['imgpath'])
     info['foreign_id'] = info['activity_id']
     ImgPath.create(info=info)
     info['createtime'] = datetime.now()
     if 'club_id' in info:
         info['type_id'] = ACTIVITY_CLUB
         info['area'] = None
     else:
         info['club_id'] = None
         info['type_id'] = ACTIVITY_USER
     Activity.create(info=info)
     db.session.commit()
     return (True, info['activity_id'])
예제 #14
0
 def get_room_detail(self, info):
     '''
     活动详情
     第一步: 验证用户身份
     第二步: 判断活动是否存在,是否已经加入,是否已经满员
     第三步: 自动分配活动位置, 创建参加记录
     :param info: {'token_id': '', 'user_id': '', 'activity_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     activity_id = info['activity_id']
     user_id = info['user_id']
     (status, activity_detail) = self._get_activity_detail(info)
     (status, judge_info) = self._get_activity_judge(info)
     part_query = db.session.query(Participate, UserInfo).outerjoin(
         UserInfo, Participate.user_id == UserInfo.user_id).filter(
             Participate.activity_id == activity_id)
     all_result = part_query.order_by(Participate.location).all()
     role_list = []
     callback_data = {}
     my_info = {}
     img_request = {}
     imagemanager = ImageManager()
     for result in all_result:
         participate = result.Participate
         user = result.UserInfo
         img_request['foreign_id'] = participate.user_id
         (status, part_info) = Participate.generate(result=participate)
         if user.open_id is None:
             (status, image_info) = imagemanager.get_image(info=img_request)
         else:
             imgpath = db.session.query(ImgPath).filter(
                 ImgPath.foreign_id == user.user_id).first()
             (status, image_info) = ImgPath.generate(result=imgpath)
         (status, user_info) = UserInfo.generate(result=user)
         part_info.update(image_info)
         part_info.update(user_info)
         if part_info['user_id'] == user_id:
             my_info.update(part_info)
         role_list.append(part_info)
     callback_data['role_list'] = role_list
     callback_data['activity_detail'] = activity_detail
     callback_data['judge_info'] = judge_info
     callback_data['my_info'] = my_info
     return (True, callback_data)
예제 #15
0
 def get_room_detail(self, info):
     '''
     活动详情
     第一步: 验证用户身份
     第二步: 判断活动是否存在,是否已经加入,是否已经满员
     第三步: 自动分配活动位置, 创建参加记录
     :param info: {'token_id': '', 'user_id': '', 'activity_id': ''}
     :return: {'data': '', 'status': 'SUCCESS'}
     '''
     activity_id = info['activity_id']
     user_id = info['user_id']
     (status, activity_detail) = self._get_activity_detail(info)
     (status, judge_info) = self._get_activity_judge(info)
     part_query = db.session.query(Participate, UserInfo).outerjoin(
         UserInfo, Participate.user_id == UserInfo.user_id
     ).filter(Participate.activity_id == activity_id)
     all_result = part_query.order_by(Participate.location).all()
     role_list = []
     callback_data = {}
     my_info = {}
     img_request = {}
     imagemanager = ImageManager()
     for result in all_result:
         participate = result.Participate
         user = result.UserInfo
         img_request['foreign_id'] = participate.user_id
         (status, part_info) = Participate.generate(result=participate)
         if user.open_id is None:
             (status, image_info) = imagemanager.get_image(info=img_request)
         else:
             imgpath = db.session.query(ImgPath).filter(ImgPath.foreign_id == user.user_id).first()
             (status, image_info) = ImgPath.generate(result=imgpath)
         (status, user_info) = UserInfo.generate(result=user)
         part_info.update(image_info)
         part_info.update(user_info)
         if part_info['user_id'] == user_id:
             my_info.update(part_info)
         role_list.append(part_info)
     callback_data['role_list'] = role_list
     callback_data['activity_detail'] = activity_detail
     callback_data['judge_info'] = judge_info
     callback_data['my_info'] = my_info
     return (True, callback_data)
예제 #16
0
    def _get_activity_judge(self, info):
        judge_info = {}
        judge_exist = False
        judge_state = False
        activity_id = info['activity_id']
        user_id = info['user_id']
        query = db.session.query(Participate).filter(
            and_(Participate.activity_id == activity_id,
                 Participate.roletype_id == ROLE_JUDGE))
        result = query.first()
        if result:
            judge_exist = True
            imgpath = db.session.query(ImgPath).filter(ImgPath.foreign_id == result.user_id).first()
            (status, image_info) = ImgPath.generate(result=imgpath)
            judge_info['imgpath'] = image_info['imgpath']
        judge_result = query.filter(Participate.user_id == user_id).first()
        if judge_result:
            judge_state = True
        judge_info['judge_exist'] = judge_exist
        judge_info['judge_state'] = judge_state

        return (True, judge_info)
예제 #17
0
    def _get_activity_judge(self, info):
        judge_info = {}
        judge_exist = False
        judge_state = False
        activity_id = info['activity_id']
        user_id = info['user_id']
        query = db.session.query(Participate).filter(
            and_(Participate.activity_id == activity_id,
                 Participate.roletype_id == ROLE_JUDGE))
        result = query.first()
        if result:
            judge_exist = True
            imgpath = db.session.query(ImgPath).filter(
                ImgPath.foreign_id == result.user_id).first()
            (status, image_info) = ImgPath.generate(result=imgpath)
            judge_info['imgpath'] = image_info['imgpath']
        judge_result = query.filter(Participate.user_id == user_id).first()
        if judge_result:
            judge_state = True
        judge_info['judge_exist'] = judge_exist
        judge_info['judge_state'] = judge_state

        return (True, judge_info)
예제 #18
0
    def create_club_background(self, info):
        '''
        后台, 创建俱乐部
        第一步: 验证该俱乐部是否已经存在(根据俱乐部名称);
        第二步: 创建俱乐部图片;
        第三步: 创建俱乐部
        :param info: 
        :return: 
        '''
        info['club_id'] = self.generate_id(info['club_name'])
        info['imgpath'] = info['imgpath']
        info['imgpath_id'] = self.generate_id(info['imgpath'])
        info['foreign_id'] = info['club_id']
        info['createtime'] = datetime.now()
        ImgPath.create(info=info)
        Club.create(info=info)
        db.session.commit()
        return (True, info['club_id'])

    # # 后台, 获取俱乐部详情
    # def getClubDetailBackground(self, jsonInfo):
    #     info = json.loads(jsonInfo)
    #     try:
    #         # 管理员身份校验
    #         adminManager = AdminManager()
    #         (status, reason) = adminManager.adminAuth(jsonInfo)
    #         if status is not True:
    #             return (False, reason)
    #         return self._generateClubDetail(info=info)
    #     except Exception as e:
    #         print e
    #         db.session.rollback()
    #         errorInfo = ErrorInfo['WOLFS_01']
    #         errorInfo['detail'] = str(e)
    #         return (False, errorInfo)
    #
    # # 获取俱乐部详情
    # def getClubDetail(self, jsonInfo):
    #     info = json.loads(jsonInfo)
    #     try:
    #         # 身份校验
    #         tokenManager = TokenManager()
    #         (status, userID) = tokenManager.isTokenValid(info=info)
    #         if status is not True:
    #             return (False, userID)
    #         return self._generateClubDetail(info=info)
    #     except Exception as e:
    #         print e
    #         db.session.rollback()
    #         errorInfo = ErrorInfo['WOLFS_01']
    #         errorInfo['detail'] = str(e)
    #         return (False, errorInfo)
    #
    #
    # def _generateClubDetail(self, info):
    #     clubID = info['clubID']
    #     query = db.session.query(Club, UserInfo, Province, City, County).outerjoin(
    #         UserInfo, Club.userID == UserInfo.userID
    #     ).outerjoin(
    #         Province, Club.provinceID == Province.provinceID
    #     ).outerjoin(
    #         City, Club.cityID == City.cityID
    #     ).outerjoin(
    #         County, Club.countyID == County.countyID
    #     ).filter(Club.clubID == clubID)
    #     result = query.first()
    #     if result is None:
    #         errorInfo = ErrorInfo['WOLFS_08']
    #         return (False, errorInfo)
    #     callBackData = {}
    #     if result.UserInfo is not None:
    #         (status, userInfo) = UserInfo.generate(result=result.UserInfo)
    #         callBackData.update(userInfo)
    #     (status, provinceInfo) = Province.generate(result=result.Province)
    #     (status, cityInfo) = City.generate(result=result.City)
    #     (status, countyInfo) = County.generate(result=result.County)
    #     (status, clubInfo) = Club.generate(result=result.Club)
    #     callBackData.update(provinceInfo)
    #     callBackData.update(cityInfo)
    #     callBackData.update(countyInfo)
    #     callBackData.update(clubInfo)
    #     imageManager = ImageManager()
    #     info['foreignID'] = clubID
    #     (status, imgInfo) = imageManager.getImage(info=info)
    #     callBackData.update(imgInfo)
    #     return (True, callBackData)
    #
    #
    # # 后台, 删除俱乐部
    # def deleteClubBackground(self, jsonInfo):
    #     info = json.loads(jsonInfo)
    #     clubID = info['clubID']
    #     try:
    #         # 管理员身份校验
    #         adminManager = AdminManager()
    #         (status, reason) = adminManager.adminAuth(jsonInfo)
    #         if status is not True:
    #             return (False, reason)
    #         imageManager = ImageManager()
    #         # 1.删除关联活动
    #         activityQuery = db.session.query(Activity).filter(
    #             Activity.clubID == clubID
    #         )
    #         activityResult = activityQuery.all()
    #         if activityResult is not None:
    #             for i in activityResult:
    #                 db.session.query(Participate).filter(
    #                     Participate.activityID == i.activityID
    #                 ).delete(synchronize_session=False)
    #                 info['foreignID'] = i.activityID
    #                 imageManager.deleteImage(info=info)
    #         activityQuery.delete(synchronize_session=False)
    #         # 2.删除搜索记录
    #         searchKeyQuery = db.session.query(SearchKey).filter(
    #             SearchKey.foreignID == clubID
    #         )
    #         searchKeyQuery.delete(synchronize_session=False)
    #         # 3.删除图像
    #         imgPathQuery = db.session.query(ImgPath).filter(
    #             ImgPath.foreignID == clubID
    #         )
    #         imgPathQuery.delete(synchronize_session=False)
    #         info['foreignID'] = clubID
    #         imageManager.deleteImage(info=info)
    #         #4.删除关联俱乐部
    #         clubQuery = db.session.query(Club).filter(
    #             Club.clubID == clubID
    #         )
    #         clubQuery.delete(synchronize_session=False)
    #         db.session.commit()
    #         return (True, None)
    #     except Exception as e:
    #         print e
    #         db.session.rollback()
    #         errorInfo = ErrorInfo['WOLFS_01']
    #         errorInfo['detail'] = str(e)
    #         return (False, errorInfo)
    #
    # # 获取个人中心中的俱乐部列表
    # @TokenManager.checkUserValidity
    # def getClubListByUserID(self, jsonInfo, **kwargs):
    #     info = kwargs
    #     try:
    #         userID = info['userID']
    #         startIndex = info['startIndex']
    #         pageCount= info['pageCount']
    #         query = db.session.query(ClubScore, Club).outerjoin(
    #             Club, ClubScore.clubID == Club.clubID
    #         ).filter(
    #             and_(ClubScore.userID == userID,
    #                  ClubScore.clubID != '-1')
    #         )
    #         allResult = query.offset(startIndex).limit(pageCount).all()
    #         imageManager = ImageManager()
    #         def generateClubInfo(result):
    #             res = {}
    #             (status, clubInfo) = Club.generate(result=result.Club)
    #             info['foreignID'] = result.Club.clubID
    #             info['directory'] = 'portrait'
    #             (status, imgInfo) = imageManager.getImage(info=info)
    #             res.update(imgInfo)
    #             res.update(clubInfo)
    #             return res
    #         callBackData = [generateClubInfo(result=result) for result in allResult]
    #         return (True, callBackData)
    #     except Exception as e:
    #         print e
    #         db.session.rollback()
    #         errorInfo = ErrorInfo['WOLFS_01']
    #         errorInfo['detail'] = str(e)
    #         return (False, errorInfo)
    #
    # @TokenManager.checkUserValidity
    # def getClubList(self, jsonInfo, **kwargs):
    #     info = kwargs
    #     try:
    #         query = db.session.query(Club)
    #         allResult = query.all()
    #         callBackData = [Club.generate(result=result)[1] for result in allResult]
    #         return (True, callBackData)
    #     except Exception as e:
    #         print e
    #         db.session.rollback()
    #         errorInfo = ErrorInfo['WOLFS_01']
    #         errorInfo['detail'] = str(e)
    #         return (False, errorInfo)