示例#1
0
def userBuyTicket(username, card, departure, destination, date, BusId):
    # assert type(BusId) == int
    BT = BusTable()
    PT = PurchaseTable()
    num = 0
    _list = PT.searchRecord({
        'username': username,
        'card': card,
        'departure': departure,
        'destination': destination,
        'date': date,
        'BusId': BusId
    })
    # print(_list)
    for i in _list:
        num += 1
    if num != 0:
        print("db do not has the ticket {}".format(BusId))
        return False
    f, price = BT.buy(departure, destination, date, BusId)
    if f:
        PT.insertRecord(username, card, departure, destination, date, BusId,
                        price)
        return True
    else:
        print('{} buy error'.format(username))
        return False
示例#2
0
def adminUpdateBus(OBus, NBus):
    BT = BusTable()
    PT = PurchaseTable()
    _list = PT.findRecordForOneBus(OBus['Departure'], OBus['Destination'], OBus['BusDate'], OBus['BusId'])
    if NBus['BusId'] != OBus['BusId']:
        for i in _list:
            PT.updateRecord(i, 'undefined', 'undefined', 'undefined', NBus['BusId'])

    BT.update_bus(OBus, NBus)
示例#3
0
def adminDeleteBus(departure, destination, date, BusId):
    BT = BusTable()
    b = BT.get_one_bus(departure, destination, date, BusId)
    flag = BT.delete_bus(b)
    PT = PurchaseTable()
    _list = PT.findRecordForOneBus(departure, destination, date, BusId)
    for i in _list:
        userAction.userDeleteTicket(i['username'], i['card'], departure, destination, date, BusId)
    return flag
示例#4
0
def updateTicketInfo(username):
    BT = BusTable()
    PT = PurchaseTable()
    ET = ExpireTable()
    _list = PT.searchRecord({'username': username})  #找某个用户的所有购买记录
    for i in _list:
        b = BT.get_one_bus(i['departure'], i['destination'], i['date'],
                           i['BusId'])
        ticketTime = b['BusDate'] + b['dTime']
        currTime = time.strftime('%Y-%m-%d%H:%M', time.localtime(time.time()))
        if currTime > ticketTime:  #过期票,将记录从perchase表移入到expire表
            PT.deleteOneRecord(username, i['card'], i['departure'],
                               i['destination'], i['date'], i['BusId'])
            ET.insertRecord(i)
示例#5
0
def userDeleteTicket(username, card, departure, destination, date, BusId):
    BT = BusTable()
    PT = PurchaseTable()
    DT = DeleteTable()
    condition = {
        'username': username,
        'card': card,
        'departure': departure,
        'destination': destination,
        'date': date,
        'BusId': BusId
    }
    p = PT.searchRecord(condition)
    i = p[0]
    PT.deleteOneRecord(username, card, departure, destination, date, BusId)
    DT.insertRecord(username, card, departure, destination, date, BusId,
                    i['price'])
    BT.addOneSeat(departure, destination, date, BusId)
示例#6
0
def checkBookList(username, card=-1):
    PT = PurchaseTable()
    BT = BusTable()
    condition = {}
    condition['username'] = username
    if card != -1:
        condition['card'] = card

    _list1 = PT.searchRecord(condition)
    _list2 = []
    total_num = 0
    for i in _list1:
        _list2.append(
            BT.get_one_bus(i['departure'], i['destination'], i['date'],
                           i['BusId']))
        _list2[total_num]['Price'] = i['price']
        total_num = total_num + 1

    return _list2, total_num
示例#7
0
def checkBookList(username, card="-1"):
    PT = PurchaseTable()
    BT = BusTable()
    condition = {}
    condition['username'] = username
    if card != "-1":
        condition['card'] = str(card)

    _list1 = PT.searchRecord(condition)
    _list2 = []
    total_num = 0
    for i in _list1:
        ticket = TicketInterface.TicketInterface(
            BT.get_one_bus(i['departure'], i['destination'], i['date'],
                           i['BusId']), i)
        _list2.append(ticket)
        _list2[total_num]['Price'] = i['price']
        total_num = total_num + 1
    return _list2, total_num
示例#8
0
def test():
    # 插入26个用户和一个管理员
    for i in range(0, 26):
        userAction.userCreateAccount(chr(97 + i), 123, 0)
    userAction.userCreateAccount('admin', 123, 1)

    for i in range(0, 26):
        userAction.userAddCard(chr(97 + i), 440782199701018011, 'aaa',
                               12345678901)
        userAction.userAddCard(chr(97 + i), 440782199701018012, 'bbb',
                               12345678901)
        userAction.userAddCard(chr(97 + i), 440782199701018013, 'ccc',
                               12345678901)

    # 插入100辆车 每辆车有两个乘客 余票设为1
    PT = PurchaseTable()
    for i in range(0, 100):
        B = Core.Bus.Bus('2018-12-1' + chr(48 + i % 20), i, '13:00', '15:00',
                         chr(65 + i % 24) + chr(65 + i % 24),
                         chr(66 + i % 24) + chr(66 + i % 24), 1, 100)
        adminAction.adminInsertBus(B)
        PT.insertRecord(chr(97 + i % 20), 440782199701018011,
                        chr(65 + i % 24) + chr(65 + i % 24),
                        chr(66 + i % 24) + chr(66 + i % 24),
                        '2018-12-1' + chr(48 + i % 20), i, 100)
        PT.insertRecord(chr(97 + i % 20), 440782199701018012,
                        chr(65 + i % 24) + chr(65 + i % 24),
                        chr(66 + i % 24) + chr(66 + i % 24),
                        '2018-12-1' + chr(48 + i % 20), i, 100)
示例#9
0
def userBuyTicket(username, card, departure, destination, date, BusId):
    BT = BusTable()
    PT = PurchaseTable()
    num = 0
    _list = PT.searchRecord({
        'card': card,
        'departure': departure,
        'destination': destination,
        'date': date,
        'BusId': BusId
    })
    for i in _list:
        num = num + 1
    if num != 0:
        return 0
    f, price = BT.buy(departure, destination, date, BusId)
    if f:
        PT.insertRecord(username, card, departure, destination, date, BusId,
                        price)
        return 2
    else:
        return 1
示例#10
0
def userDeleteTicket(username, card, departure, destination, date, BusId):
    BT = BusTable()
    PT = PurchaseTable()
    DT = DeleteTable()
    # <<<<<<< HEAD
    PT.deleteOneRecord(username, card, departure, destination, date, BusId)
    DT.insertRecord(username, card, departure, destination, date, BusId, 4396)
    # =======
    condition = {
        'username': username,
        'card': card,
        'departure': departure,
        'destination': destination,
        'date': date,
        'BusId': BusId
    }
    p = PT.searchRecord(condition)
    i = p[0]
    PT.deleteOneRecord(username, card, departure, destination, date, BusId)
    DT.insertRecord(username, card, departure, destination, date, BusId,
                    i['price'])
    # >>>>>>> 1dfb90fd307e946b179efd04504ebd442b8c498d
    BT.addOneSeat(departure, destination, date, BusId)
示例#11
0
def adminSearchRecord(startDate, endDate, departure, destination):
    PT = PurchaseTable()
    totalCustomer, totalRevenue, _list1, _list2 = PT.findRangeRecord(startDate, endDate, departure, destination)
    return totalCustomer, totalRevenue, _list1, _list2
    #      时间段内总乘客  时间段内总营收 巴士统计信息 每天统计信息