Exemplo n.º 1
0
def query_sms_send_info(start_time=None,
                        end_time=None,
                        phone=None,
                        restaurant_id=None,
                        card_num_tail=None,
                        status=None):

    with walis_session() as session:
        query = session.query(NoticeRecord)

        if phone:
            query = query.filter(NoticeRecord.phone == phone)

        if restaurant_id:
            query = query.filter(NoticeRecord.restaurant_id == restaurant_id)

        if card_num_tail:
            query = query.filter(NoticeRecord.card_num_tail == card_num_tail)

        if status:
            query = query.filter(NoticeRecord.status == status)

        if not start_time:
            start_time = get_today_begin_time()

        if not end_time:
            end_time = get_today_end_time()

        query = query.filter(NoticeRecord.created_at > start_time).\
            filter(NoticeRecord.created_at < end_time)

        return query.all()
Exemplo n.º 2
0
    def get_latest_record(cls, restaurant_id, status_to=None):
        with walis_session() as session:
            query = session.query(cls).filter(
                cls.restaurant_id == restaurant_id).order_by(
                    cls.created_at.desc())

            if status_to:
                query.filter(cls.status_to == status_to)
            return query.first()
Exemplo n.º 3
0
 def mget_latest_record(cls,restaurant_ids,status_to=None):
     with walis_session() as session:
         # subquery order by created_at, the first one of each restaurant will be pick up when group by
         subquery = session.query(cls).order_by(cls.created_at.desc()).subquery()
         query = session.query(cls, subquery).group_by(subquery.c.restaurant_id)\
             .filter(subquery.c.restaurant_id.in_(restaurant_ids))
         if status_to:
             query.filter(subquery.c.status_to == status_to)
         return query.all()
Exemplo n.º 4
0
    def get_latest_record(cls, restaurant_id, status_to=None):
        with walis_session() as session:
            query = session.query(cls).filter(
                cls.restaurant_id == restaurant_id).order_by(
                cls.created_at.desc())

            if status_to:
                query.filter(cls.status_to == status_to)
            return query.first()
Exemplo n.º 5
0
 def mget_latest_record(cls, restaurant_ids, status_to=None):
     with walis_session() as session:
         # subquery order by created_at, the first one of each restaurant will be pick up when group by
         subquery = session.query(cls).order_by(
             cls.created_at.desc()).subquery()
         query = session.query(cls, subquery).group_by(subquery.c.restaurant_id)\
             .filter(subquery.c.restaurant_id.in_(restaurant_ids))
         if status_to:
             query.filter(subquery.c.status_to == status_to)
         return query.all()
Exemplo n.º 6
0
def query_sms_send_count(start_time=None, end_time=None, status=None):
    with walis_session() as session:

        if not start_time:
            start_time = get_today_begin_time()

        if not end_time:
            end_time = get_today_end_time()

        query = session.query(func.count(NoticeRecord.record_id)).\
            filter(NoticeRecord.created_at > start_time).\
            filter(NoticeRecord.created_at < end_time)

        if status is not None:
            query = query.filter(NoticeRecord.status == status)

        return query.scalar()
Exemplo n.º 7
0
 def get_by_restaurant_id(cls, restaurant_id):
     with walis_session() as session:
         return session.query(cls).filter(
             cls.restaurant_id == restaurant_id). \
             order_by(cls.created_at.asc()).all()
Exemplo n.º 8
0
 def get_by_restaurant_id(cls, restaurant_id):
     with walis_session() as session:
         return session.query(cls).filter(
             cls.restaurant_id == restaurant_id). \
             order_by(cls.created_at.asc()).all()