Example #1
0
def submit_order(request):
    result = {'code': 100, 'log': '已通知理发师'}
    re_data = None
    try:
        data = Checker.request(request, ['barphone', 'cusphone', 'cusname', 'sex',
                                         'time', 'distance', 'hairstyle', 'remark'])
        #try:
        #    _ = CustomerProxy(data['cusphone'])
        #except CustomerDoesNotExistError:
        CustomersManager.add_customer(phone=data['cusphone'], name=data['cusname'], sex=data['sex'])

        #time_conflict(phone=data['cusphone'], time_=data['time'])  # ??
        order_clash(bar_phone=data['barphone'], time_=data['time'])
        time_ = calculate_order_time(hairstyle=data['hairstyle'], time_=data['time'])

        order = OrdersManager.add_order(cus_phone=data['cusphone'], bar_phone=data['barphone'],
                                        time_=time_, hairstyle=data['hairstyle'],
                                        remark=data['remark'], accepted=True).get_dict()
        order.pop('accepted')
        push_msg(alias=order['barphone'], msg=order)
    except JianyueError as e:
        result = e.info
    finally:
        result['data'] = re_data
        return HttpResponse(encode(result))
Example #2
0
def get_barber(request):
    result = {'code': 100, 'log': '返回请求理发师信息'}
    re_data = None
    try:
        data = Checker.request(request, ['phone', 'date'])
        re_data = process_time(barbers=[BarberProxy(data['phone'])], date=data['date'])[0]
    except JianyueError as e:
        result = e.info
    finally:
        result['data'] = re_data
        return HttpResponse(encode(result))
Example #3
0
def update_sex(request):
    result = {'code': 100, 'log': "Customer's sex update success!"}
    re_data = None
    try:
        data = Checker.request(request, ['phone', 'sex'])
        CustomerProxy(phone=data['phone']).sex = data['sex']
    except JianyueError as e:
        result = e.info
    finally:
        result['data'] = re_data
        return HttpResponse(encode(result))
Example #4
0
def is_register(request):
    result = {'code': 100, 'log': '用户已注册,返回用户信息'}
    re_data = None
    try:
        data = Checker.request(request, ['phone'])
        customer = CustomerProxy(data['phone'])
        re_data = customer.get_dict()
    except JianyueError as e:
        result = e.info
    finally:
        result['data'] = re_data
        return HttpResponse(encode(result))
Example #5
0
def update_profile(request):
    result = {'code': 100, 'log': '返回所需要的信息'}
    re_data = None
    try:
        data = Checker.request(request, ['phone'])
        customer = CustomerProxy(phone=data['phone'])
        customer.profile = 'profile/customer/' + customer.phone + '.png'
        re_data = {'key': customer.profile,
                   'bucket_name': 'jianyue-img',
                   'access_key_id': 'DS1sGprn39SnhFDV',
                   'access_key_secret': 'dFmlLMHapOfyUKTDeeUFCp7M64U1aD',
                   }
    except JianyueError as e:
        result = e.info
    finally:
        result['data'] = re_data
        return HttpResponse(encode(result))
    #return HttpResponse(encode(result))
Example #6
0
def quick_appt(request):
    result = {'code': 100, 'log': '已将订单发送至理发师端'}
    re_data = None
    try:
        data = Checker.request(request, ['phone', 'name', 'longitude', 'latitude', 'sex'])
        try:
            _ = CustomerProxy(data['phone'])
        except CustomerDoesNotExistError:
            CustomersManager.add_customer(phone=data['phone'], name=data['name'], sex=data['sex'])
        order = OrdersManager.add_order(cus_phone=data['phone'])
        barbers, dis = BarbersManager.get_near_barber(longitude=float(data['longitude']),
                                                      latitude=float(data['latitude']), range_=1500)
        push_order_to_barber(order=order, barbers=barbers, dis_list=dis)
    except JianyueError as e:
        result = e.info
    finally:
        result['data'] = re_data
        return HttpResponse(encode(result))
Example #7
0
def normal_appt(request):
    result = {'code': 100, 'log': '返回理发师列表'}
    re_data = None
    try:
        data = Checker.request(request, ['longitude', 'latitude', 'date'])
        barbers, dis_list = BarbersManager.get_near_barber(longitude=float(data['longitude']),
                                                           latitude=float(data['latitude']), range_=1500)
        barbers = process_time(barbers=barbers, date=data['date'])
        l = len(barbers)
        for i in range(0, l):
            barbers[i]['distance'] = dis_list[i]
        barbers.sort(key=lambda d: d['distance'])
        if not barbers:
            raise NoBarberHasRegister
        re_data = barbers
    except JianyueError as e:
        result = e.info
    finally:
        result['data'] = re_data
        return HttpResponse(encode(result))