class CreateOrder(CreateAPIView): ''' Create an order ''' permission_classes = (Customer, ) def __init__(self): self._order_service = OrderService() #@method_decorator(csrf_protect) def post(self, request): serializer = OrderCreateSerializer(data=request.data) if not serializer.is_valid(): return BAD_REQUEST(serializer.errors) order_is_valid = self._order_service.validate( **serializer.validated_data) if not order_is_valid: return BAD_REQUEST('LMAO you\'re cheating') self._order_service.create(request.appuser_id, **serializer.validated_data) return CREATED()
def run(): '''run app''' #initial logging logging config logging.config.dictConfig(app_settings.LOGGING) OrderService.get_service_name() AccountService.get_service_name() OrderService.get_path()
class TestOrderService(unittest.TestCase): '''Unit Test for order service''' def setUp(self): "Create test points" print 'set up test' self.service = OrderService() def test_place_order(self): self.service.place_order() def test_get_service_name(self): OrderService.get_service_name()
def add_order(): order_data = json.loads(request.data.decode()) order_service = OrderService() user = order_data['user'] snack_list = order_data['snack_list'] location = order_data['location'] result = order_service.add_order(user, snack_list, location) add_order_result_status = result.acknowledged if add_order_result_status: form_service = FormService() access_token = get_access_token() form_service.post_order_info(user, json.loads(access_token)['access_token']) return json.dumps({"result": add_order_result_status}) else: return json.dumps({"result": add_order_result_status}), 401
class GetOrders(ListAPIView): permission_classes = (PlaceAdmin, RestaurantAdmin) def __init__(self): self._order_service = OrderService() def get(self, request, restaurant_id): orders = self._order_service.get_todays_pending_orders(restaurant_id) serializer = OrderResponseSerializer(orders, many=True) return Response(serializer.data, status=status.HTTP_200_OK)
class CancelOrder(UpdateAPIView): permission_classes = (Customer, CanChangeOrder) def __init__(self): self._order_service = OrderService() #@method_decorator(csrf_protect) def update(self, request, order_id): cancelled, msg = self._order_service.cancel(order_id) if cancelled: return OK() return BAD_REQUEST(msg)
class UpdateOrder(UpdateAPIView): permission_classes = (Customer, CanChangeOrder) def __init__(self): self._order_service = OrderService() #@method_decorator(cache_page(60)) def put(self, request, order_id): serializer = OrderCreateSerializer(data=request.data) if not serializer.is_valid(): return BAD_REQUEST(serializer.errors) order_is_valid = self._order_service.validate( **serializer.validated_data) if not order_is_valid: return BAD_REQUEST('Lol') updated, msg = self._order_service.update(order_id, **serializer.validated_data) if not updated: return BAD_REQUEST(msg) return OK('')
class AcceptOrder(UpdateAPIView): permission_classes = (PlaceAdmin, AcceptOrder) def __init__(self): self._order_service = OrderService() @method_decorator(csrf_protect) def put(self, request, order_id): accepted, msg = self._order_service.accept_order(order_id) if not accepted: return BAD_REQUEST(msg) return OK('')
class CanChangeOrder(permissions.BasePermission): def __init__(self): self.__order_service = OrderService() def has_permission(self, request, view): if not request.user: return False order_id = view.kwargs.get('order_id') if not order_id: return False order_appuser_id = self.__order_service.get_appuser_id(order_id) if not order_appuser_id or order_appuser_id != request.appuser_id: return False return True
class AcceptOrder(permissions.BasePermission): def __init__(self, *args, **kwargs): self._order_service = OrderService() self._restaurants_service = RestaurantsService() def has_permission(self, request, view): order_id = view.kwargs.get('order_id') restaurant_id = self._order_service.get_restaurant_id_by_orderid( order_id) if not restaurant_id: return False is_restaurant_admin = self._restaurants_service.check_admin( request.appuser_id, restaurant_id) return is_restaurant_admin
async def order_list(request): """ 订单列表 :param request: :return: """ if request.method == 'GET': users = request.app.user kargs = {} kargs["mailNo"] = request.args.get("mailNo", "") kargs["sender_name"] = request.args.get("sender_name", "") kargs["sender_mobile"] = request.args.get("sender_mobile", "") kargs["recive_name"] = request.args.get("recive_name", "") kargs["recive_mobile"] = request.args.get("recive_mobile", "") query = OrderService().query_list(users, **kargs) data = get_page_data(request, query) return jinja.render("admin/order-list.html", request, kargs=kargs, data=data)
def __init__(self): self.form_dao = FormDao() self.order_service = OrderService() self.config = read_config.ConfigReader().get_config()
class FormService: def __init__(self): self.form_dao = FormDao() self.order_service = OrderService() self.config = read_config.ConfigReader().get_config() def save_form(self, id, form_id, expire_date, is_useful): result = self.form_dao.add_form(id, form_id, expire_date, is_useful) return result def get_available_form_id(self, id): available_form = self.form_dao.get_available_form_id(id) return available_form def update_form_unavailable(self, form_id): result = self.form_dao.update_form_unavailable(form_id) return result def examine_available_form_by_union_id(self, union_id): result = self.form_dao.get_available_form_id(union_id) if result is None: return False else: return True def post_order_info(self, user, access_token): available_form_list = self.get_available_form_id(user['unionId']) post_message_url = self.config.get("wechat", "post_message_url") post_message_template_id = self.config.get("wechat", "post_message_template_id") keyword_color = self.config.get("wechat", "post_message_keyword_color") post_message_mark = self.config.get("wechat", "post_message_mark") if available_form_list is not None: order_list_by_user = self.order_service.get_order_by_user( user['unionId']) if order_list_by_user.__len__() > 0: latest_order = order_list_by_user[0] available_form = available_form_list[0] time_show_str = time.strftime( "%Y年%m月%d日 %H:%M:%S", time.strptime(latest_order.get('created_date'), "%Y/%m/%d %H:%M:%S")) location_show_str = latest_order.get('location') total_price_show_str = "¥" + str( latest_order.get('total_price')) post_url = post_message_url + access_token post_data = { 'page': 'pages/order/order', 'touser': user['openId'], 'template_id': post_message_template_id, 'form_id': available_form['form_id'], 'data': { 'keyword1': { 'value': time_show_str, 'color': keyword_color }, 'keyword2': { 'value': location_show_str, 'color': keyword_color }, 'keyword3': { 'value': total_price_show_str, 'color': keyword_color }, 'keyword4': { 'value': post_message_mark, 'color': keyword_color } } } requests.post(post_url, json.dumps(post_data)) result = self.update_form_unavailable( available_form['form_id']) return result return None else: return None
def setUp(self): "Create test points" print 'set up test' self.service = OrderService()
def test_get_service_name(self): OrderService.get_service_name()
def __init__(self, *args, **kwargs): self._order_service = OrderService() self._restaurants_service = RestaurantsService()
def __init__(self): self._order_service = OrderService()
def get_order_by_user(user): order_service = OrderService() return json.dumps(order_service.get_order_by_user(user))