Example #1
0
def process_time(*, barbers: [BarberProxy], date: str) -> [dict]:  # 最好做一个testing
    Checker.appt_date(date)
    re_barbers = []
    for barber in barbers:
        bar_time = barber.time.split('-')
        start = date + ';' + bar_time[0] + '-' + bar_time[0]
        end = date + ';' + bar_time[-1] + '-' + bar_time[-1]
        orders = OrdersManager.get_by_time(start=start, end=end)

        #
        his_order = [order for order in orders if order.bar_phone == barber.phone]
        #
        for order in his_order:
            ord_time = order.time.split(';')[1].split('-')
            if not ord_time[0] in bar_time:
                bar_time.append(ord_time[0])
            else:
                bar_time.remove(ord_time[0])
            if not ord_time[1] in bar_time:
                bar_time.append(ord_time[1])
            else:
                bar_time.remove(ord_time[1])
            bar_time.sort()
        time_ = ''
        for t in bar_time:
            time_ += t
            time_ += '-'
        time_ = time_[:-1]
        b = barber.get_dict()
        b['time'] = time_
        re_barbers.append(b)
    return re_barbers
Example #2
0
def process_time(*, barbers: [BarberProxy], date: str) -> [dict]:
    """
    生成理发师的空闲时间
    :param barbers:BarberProxy类对象列表
    :param date: 给定日期,格式2014.06.18
    :return:
    """
    Checker.appt_date(date)
    re_barbers = []
    for barber in barbers:
        bar_time = barber.time.split("-")
        start = date + ";" + bar_time[0] + "-" + bar_time[0]
        end = date + ";" + bar_time[-1] + "-" + bar_time[-1]
        orders = OrdersManager.get_by_time(start=start, end=end)

        #
        his_order = [order for order in orders if order.bar_phone == barber.phone]
        #
        for order in his_order:
            ord_time = order.time.split(";")[1].split("-")
            if not ord_time[0] in bar_time:
                bar_time.append(ord_time[0])
            else:
                bar_time.remove(ord_time[0])
            if not ord_time[1] in bar_time:
                bar_time.append(ord_time[1])
            else:
                bar_time.remove(ord_time[1])
            bar_time.sort()
        time_ = ""
        for t in bar_time:
            time_ += t
            time_ += "-"
        time_ = time_[:-1]
        b = barber.get_dict()
        b["time"] = time_
        re_barbers.append(b)
    return re_barbers