Example #1
0
 def delete_bus(self, Bus):
     client, cursor = getDatabase('bus_collections')
     condition = {
         'Departure': Bus['Departure'],
         'Destination': Bus['Destination'],
         'BusDate': Bus['BusDate'],
         'BusId': Bus['BusId']
     }
     client1, cursor1 = getDatabase('purchase_collections')
     condition2 = {
         'departure': Bus['Departure'],
         'destination': Bus['Destination'],
         'date': Bus['BusDate'],
         'BusId': Bus['BusId']
     }
     if cursor.find(
             condition) == None or cursor1.find_one(condition2) != None:
         client.close()
         client1.close()
         return False
     else:
         cursor.delete_one(condition)
         client.close()
         client1.close()
         return True
Example #2
0
    def buy(self, departure, destination, date, BusId):
        client, cursor = getDatabase('bus_collections')
        condition = {
            'BusDate': date,
            'BusId': BusId,
            'Departure': departure,
            'Destination': destination
        }

        b = None
        try:
            _id = cursor.find_one(condition)['_id']
            b = cursor.find_and_modify(query={
                '_id': _id,
                'left_num': {
                    '$gt': 0
                }
            },
                                       update={'$inc': {
                                           'left_num': -1
                                       }})
        except TypeError:
            return False, 0

        client.close()
        if b != None:
            return True, b['Price']
        else:
            return False, 0
Example #3
0
 def find(self, username):
     client, cursor = getDatabase(
         'identity_collections'
     )  # or cursor = db.test_collections auto create the collection
     _list = cursor.find({'username': username})
     client.close()
     return _list
Example #4
0
 def exist(self, username):
     client, cursor = getDatabase('account_collections')
     if cursor.find_one({'username': username}) == None:
         client.close()
         return False
     else:
         client.close()
         return True
Example #5
0
 def insert_account(self, username, password, level):
     client, cursor = getDatabase('account_collections')
     cursor.insert_one({
         'username': username,
         'password': password,
         'level': level
     })
     client.close()
Example #6
0
 def find_bus(self, departure, destination, date):
     client, cursor = getDatabase('bus_collections')
     _list = cursor.find({
         'Departure': departure,
         'Destination': destination,
         'BusDate': date
     }).sort('Busdate')
     client.close()
     return _list
Example #7
0
 def findRecordForOneBus(self, departure, destination, date, BusId):
     client, cursor = getDatabase('purchase_collections')
     _list = cursor.find({
         'departure': departure,
         'destination': destination,
         'date': date,
         'BusId': BusId
     })
     client.close()
     return _list
Example #8
0
    def update_bus(self, OBus, NBus):
        client, cursor = getDatabase('bus_collections')
        Ocondition = {
            'Departure': OBus['Departure'],
            'Destination': OBus['Destination'],
            'BusDate': OBus['BusDate'],
            'BusId': OBus['BusId']
        }

        cursor.update(Ocondition, NBus)
        client.close()
Example #9
0
 def get_one_bus(self, departure, destination, date, BusId):
     client, cursor = getDatabase('bus_collections')
     condition = {
         'Departure': departure,
         'Destination': destination,
         'BusDate': date,
         'BusId': BusId
     }
     bus = cursor.find_one(condition)
     client.close()
     return bus
Example #10
0
    def delete(self, username, card):
        client, cursor = getDatabase('identity_collections')
        b = cursor.find_one({'username': username, 'card': card})

        if b == None:
            client.close()
            return False  # 该用户没绑定该身份证
        else:
            cursor.delete_one(b)
            client.close()
            return True  # 删除成功
Example #11
0
    def insert(self, username, card, name, phone):
        client, cursor = getDatabase('identity_collections')

        if cursor.find_one({'username': username, 'card': card}) == None:
            cursor.insert_one({
                'username': username,
                'card': card,
                'name': name,
                'phone': phone
            })
        client.close()
Example #12
0
 def deleteOneRecord(self, username, card, departure, destination, date,
                     BusId):
     client, cursor = getDatabase('purchase_collections')
     cursor.delete_one({
         'username': username,
         'card': card,
         'departure': departure,
         'destination': destination,
         'date': date,
         'BusId': BusId
     })
     client.close()
Example #13
0
 def insertRecord(self, username, card, departure, destination, date, BusId,
                  price):
     client, cursor = getDatabase('purchase_collections')
     cursor.insert_one({
         'username': username,
         'card': card,
         'departure': departure,
         'destination': destination,
         'date': date,
         'BusId': BusId,
         'price': price
     })
     client.close()
Example #14
0
 def login(self, username, password):
     client, cursor = getDatabase('account_collections')
     if cursor.find_one({'username': username}) == None:
         return 0  #不存在账号
     else:
         if cursor.find_one({
                 'username': username,
                 'password': password
         }) == None:
             client.close()
             return 1  #密码错误
         else:
             client.close()
             return 2  #登陆成功
Example #15
0
 def addOneSeat(self, departure, destination, date, BusId):
     client, cursor = getDatabase('bus_collections')
     _id = cursor.find_one({
         'Destination': destination,
         'Departure': departure,
         'BusDate': date,
         'BusId': BusId
     })['_id']
     cursor.find_and_modify(query={
         '_id': _id,
     },
                            update={'$inc': {
                                'left_num': 1
                            }})
     client.close()
Example #16
0
    def buy(self, departure, destination, date, BusId):
        client, cursor = getDatabase('bus_collections')
        condition = {
            'BusDate': date,
            'BusId': BusId,
            'Departure': departure,
            'Destination': destination
        }
        # print(cursor.find({}))
        b = cursor.find_one(condition)

        if b != None and b['left_num'] > 0:
            b['left_num'] = b['left_num'] - 1
            cursor.update(condition, b)
            client.close()
            return True, b['Price']
        return False, 0
Example #17
0
 def insert_bus(self, b):
     # client, cursor = getDatabase('bus_collections')  # or cursor = db.test_collections auto create the collection
     # cursor.ensure_index('', unique=True)
     client, cursor = getDatabase('bus_collections')
     condition = {
         'BusDate': b['BusDate'],
         'BusId': b['BusId'],
         'Departure': b['Departure'],
         'Destination': b['Destination']
     }
     if cursor.find_one(condition) == None:
         cursor.insert_one(b)
         client.close()
         return True
     else:
         client.close()
         return False
Example #18
0
 def addOneSeat(self, departure, destination, date, BusId):
     client, cursor = getDatabase('bus_collections')
     b = cursor.find_one({
         'Destination': destination,
         'Departure': departure,
         'BusDate': date,
         'BusId': BusId
     })
     t = b['left_num']
     t = t + 1
     cursor.update(
         {
             'Destination': destination,
             'Departure': departure,
             'BusDate': date,
             'BusId': BusId
         }, {'$set': {
             'left_num': t
         }})
     client.close()
Example #19
0
    def updateRecord(self,
                     oldRecord,
                     departure='undefined',
                     destination='undefined',
                     date='undefined',
                     BusId=-1):
        client, cursor = getDatabase('purchase_collections')
        if departure == 'undefined':
            Ndeparture = oldRecord['departure']
        else:
            Ndeparture = departure

        if destination == 'undefined':
            Ndestination = oldRecord['destination']
        else:
            Ndestination = destination

        if date == 'undefined':
            Ndate = oldRecord['date']
        else:
            Ndate = date

        if BusId == -1:
            NBusId = oldRecord['BusId']
        else:
            NBusId = BusId

        cursor.update(
            oldRecord, {
                '$set': {
                    'departure': Ndeparture,
                    'destination': Ndestination,
                    'date': Ndate,
                    'BusId': NBusId
                }
            })
        client.close()
        return
Example #20
0
 def update_bus(self, OBus, NBus):
     client, cursor = getDatabase('bus_collections')
     Ocondition = {
         'Departure': OBus['Departure'],
         'Destination': OBus['Destination'],
         'BusDate': OBus['BusDate'],
         'BusId': OBus['BusId']
     }
     _id = cursor.find_one(Ocondition)['_id']
     m = NBus['left_num'] - OBus['left_num']
     cursor.find_and_modify(query={'_id': _id},
                            update={
                                '$inc': {
                                    'left_num': m
                                },
                                '$set': {
                                    'BusId': NBus['BusId']
                                },
                                '$set': {
                                    'Price': NBus['Price']
                                }
                            })
     client.close()
 def insertRecord(self, record):
     client, cursor = getDatabase('expire_collections')
     cursor.insert_one(record)
     client.close()
 def showRecord(self, username):
     client, cursor = getDatabase('expire_collections')
     _list = cursor.find({'username': username})
     client.close()
     return _list
Example #23
0
 def getLevel(self, username):
     client, cursor = getDatabase('account_collections')
     a = cursor.find_one({'username': username})
     client.close()
     return a['level']
Example #24
0
 def get_all(self):
     client, cursor = getDatabase('bus_collections')
     _list = cursor.find({}).sort('BusDate')
     client.close()
     return _list
Example #25
0
    def findRangeRecord(self, startDate, endDate, departure, destination):
        client, cursor = getDatabase('purchase_collections')
        condition = {}
        if startDate != "undefined":
            condition["date"] = {'$gte': startDate, '$lte': endDate}
        if departure != "undefined":
            condition["departure"] = departure
        if destination != "undefined":
            condition["destination"] = destination
        _list = cursor.find(condition).sort([('date', 1), ('BusId', 1),
                                             ('destination', 1)])

        _list2 = []
        data = {}
        date = '1'
        dest = '1'
        dep = '1'
        bid = '1'
        totalCustomer = 0
        totalRevenue = 0

        for i in _list:
            if i['date'] != date or i['destination'] != dest or i[
                    'departure'] != dep or i['BusId'] != bid:
                data['date'] = date
                data['destination'] = dest
                data['departure'] = dep
                data['BusId'] = bid
                data['totalCustomer'] = totalCustomer
                data['totalRevenue'] = totalRevenue
                _list2.append({
                    'date': date,
                    'destination': dest,
                    'departure': dep,
                    'BusId': bid,
                    'totalCustomer': totalCustomer,
                    'totalRevenue': totalRevenue
                })
                date = i['date']
                dest = i['destination']
                dep = i['departure']
                bid = i['BusId']
                totalCustomer = 1
                totalRevenue = i['price']
            else:
                totalCustomer = totalCustomer + 1
                totalRevenue = totalRevenue + i['price']

        _list2.append({
            'date': date,
            'destination': dest,
            'departure': dep,
            'BusId': bid,
            'totalCustomer': totalCustomer,
            'totalRevenue': totalRevenue
        })

        for i in range(len(_list2)):
            if _list2[i]['date'] == '1':
                del _list2[i]
                break

        for i in _list2:
            print(i)

        totalCustomer = 0
        totalRevenue = 0
        for i in _list2:
            totalCustomer = totalCustomer + i['totalCustomer']
            totalRevenue = totalRevenue + i['totalRevenue']
        print(totalCustomer, totalRevenue)
        client.close()
        return totalCustomer, totalRevenue, _list2
Example #26
0
 def searchRecord(self, condition):
     client, cursor = getDatabase('purchase_collections')
     _list = cursor.find(condition)
     client.close()
     return [i for i in _list]