Esempio n. 1
0
 def get_max_round_id(cls):
     with sessionCM() as session:
         ret = session.query(MRoundRecord).order_by(
             desc(MRoundRecord.created_date)).limit(1).first()
         if ret:
             return ret.id
         return -1
Esempio n. 2
0
 def get_user_info_by_id(cls, user_id):
     with sessionCM() as session:
         user = session.query(MUser).filter_by(id=user_id).first()
         if user:
             return 1, user.to_dict()
         else:
             return 0, {}
Esempio n. 3
0
 def set_user_gold(cls, user_id, user_gold):
     with sessionCM() as session:
         user = session.query(MUser).filter_by(id=user_id).first()
         if user:
             user.gold = user_gold
             session.commit()
             return 1, {"gold": user.gold}
         return 0, {}
Esempio n. 4
0
 def update_user_gold(cls, user_id, gold_change):
     with sessionCM() as session:
         user = session.query(MUser).filter_by(id=user_id).first()
         if user:
             user.gold += gold_change
             session.commit()
             return 1, {"gold": user.gold}
         return 0, {}
Esempio n. 5
0
 def get_card_probability(cls):
     with sessionCM() as session:
         ret = session.query(GameConfig).first()
         if ret:
             return [
                 ret.card_spade, ret.card_heart, ret.card_club,
                 ret.card_diamond, ret.card_joker
             ]
         return []
Esempio n. 6
0
 def create(cls, cur_award_pool, consume_gold, spade_bet_num, heart_bet_num,
            club_bet_num, diamond_bet_num, joker_bet_num, award_card):
     new_record = cls(cur_award_pool, consume_gold, spade_bet_num,
                      heart_bet_num, club_bet_num, diamond_bet_num,
                      joker_bet_num, award_card)
     with sessionCM() as session:
         session.add(new_record)
         session.commit()
         return new_record.id
Esempio n. 7
0
 def validate_passwd(cls, user_name, passwd):
     if not user_name or not passwd:
         return 0, {}
     with sessionCM() as session:
         user = session.query(MUser).filter_by(name=user_name).first()
         if user and user.passwd == passwd:
             return 1, user.to_dict()
         else:
             return 0, {}
Esempio n. 8
0
 def get_round_record(cls, num=50):
     with sessionCM() as session:
         ret = session.query(MRoundRecord).order_by(
             desc(MRoundRecord.created_date)).limit(num).all()
         if ret:
             return [{
                 "award_card": r.award_card,
                 "modified_date": r.modified_date
             } for r in ret]
         return []
Esempio n. 9
0
 def del_user(cls, user_id):
     """
     删除用户,慎用!!!!!!!!!!!!!!!
     :param accid:
     :return:
     """
     with sessionCM() as session:
         session.query(MUser).filter_by(id=user_id).delete()
         session.commit()
         return 0
Esempio n. 10
0
    def update_award_info(cls, award_pool_change, consume_gold_change):
        """

        """
        with sessionCM() as session:
            ret = session.query(MRoundRecord).first()
            if ret:
                ret.cur_award_pool += award_pool_change
                ret.all_consume_gold += consume_gold_change
                session.commit()
                return 1, ret.to_dict

            return 0, {}
Esempio n. 11
0
    def get_round_static(cls, passed_day=0):
        '''
        获取指定日期的统计数据
        :param passed_day: 过去第几天的数据,0表示当天
        :return:
        '''
        with sessionCM() as session:
            start_day = get_date_time(passed_day=passed_day)
            end_day = get_date_time(passed_day=passed_day - 1)
            # ret = session.query(MRoundRecord).order_by(desc(MRoundRecord.created_date)).limit(1000).all()
            ret = session.query(MRoundRecord).order_by(asc(MRoundRecord.created_date)) \
                .filter(and_(MRoundRecord.created_date>=start_day, MRoundRecord.created_date<end_day)).all()
            static = {
                "spade": 0,
                "heart": 0,
                "club": 0,
                "diamond": 0,
                "joker": 0,
                "total": 0
            }

            card_info = []
            if ret:
                for r in ret:
                    # print u"t=", r, r.award_card
                    card_type = r.award_card >> 4
                    card_info.append(r.award_card)
                    if 0 == card_type:
                        static["spade"] += 1
                    elif 1 == card_type:
                        static["heart"] += 1
                    elif 2 == card_type:
                        static["club"] += 1
                    elif 3 == card_type:
                        static["diamond"] += 1
                    elif 4 == card_type:
                        static["joker"] += 1
                    else:
                        logger.error("get_round_static error!({0})".format(
                            str(r.to_dict)))
                        return {}, []
                    static["total"] += 1
            print u"get_round_static", static
            return static, card_info
Esempio n. 12
0
 def create(cls,
            passwd,
            name,
            nickname,
            device_id='',
            phone='',
            introduction=''):
     with sessionCM() as session:
         user = session.query(MUser).filter_by(name=name).first()
         if user:
             return 0
         new_user = cls(passwd,
                        name,
                        nickname,
                        device_id,
                        phone,
                        introduction=introduction)
         session.add(new_user)
         session.commit()
         return new_user.id
Esempio n. 13
0
 def get_game_config_info(cls):
     with sessionCM() as session:
         ret = session.query(GameConfig).first()
         if ret:
             return ret.to_dict()
         return {}
Esempio n. 14
0
 def get_user_by_name(cls, user_name):
     with sessionCM() as session:
         user = session.query(MUser).filter_by(name=user_name).first()
         return user
Esempio n. 15
0
 def get_award_info(cls):
     with sessionCM() as session:
         ret = session.query(MAwardPool).first()
         if ret:
             return ret.to_dict()
         return {}