def getPayResult(request): response={} logger = logging.getLogger('Pack.app') logger.info('----------request--------------') logger.info(request.body) info = json.loads(request.body) logger.info(info) charge_succeeded = info['type'] _chargeNO = info['data']['object']['id'] if charge_succeeded == 'charge.succeeded': orderQuery = Order.objects.select_related().filter(thirdChargeNO = _chargeNO) if not orderQuery.exists(): response['code'] = -1 response['errorMessage'] = '获取chargeid失败' return HttpResponse(json.dumps(response),content_type="application/json") orderQuery.update(status = '1') saler = orderQuery[0].saler _deviceInfo = saler.deviceInfo if(len(_deviceInfo and "iOS") == 3): pushRst = pushAPN(saler.deviceToken,'0',str(orderQuery[0].id)) logger.info(pushRst) elif(len(_deviceInfo and 'Android') == 7): pushRst = pushMessageToSingle(saler.clientID,'0',str(orderQuery[0].id)) submitRecord = u'订单支付成功,请等待商家确认' record = OrderRecord(record = submitRecord,order=orderQuery[0],date = datetime.datetime.now()) record.save() return HttpResponse('200') return HttpResponse('500')
def tableTask(orderId): logger = logging.getLogger('Pack.app') logger.info("tableTask") logger.info(orderId) print('tableTask') time.sleep(60*5) try: order = Order.objects.get(id = orderId) except: print('no such order') if str(order.status) == '0': order.status = '100' order.save() record = u'您的订单失效了,已取消' record = OrderRecord(record = record,order=order,date = datetime.datetime.now()) record.save() _tableId = order.tableId try: table = Table.objects.get(id = _tableId) except: logger.info('not found such table') else: table.status = '0' table.userId = '' table.lockTimeStamp = '0' table.save() _deviceInfo = order.saler.deviceInfo if(len(_deviceInfo and "iOS") == 3): pushRst = pushAPN(order.user.deviceToken,'1001',str(order.id)) logger.info(pushRst) elif(len(_deviceInfo and 'Android') == 7): pushRst = pushMessageToSingle(order.user.clientID,'1001',str(order.id)) print(pushRst['result']) if pushRst['result'] != 'successed_online': notify(order.saler.telephone,'1')
def finishOrder(request): logger = logging.getLogger('Pack.app') response = {} response['data'] = {} response['errorMsg'] = "" _waiterOrderId = request.session.get('waiterOrderId') if not _waiterOrderId: response['code'] = 1 response['errorMsg'] = '请先登录' return HttpResponse(json.dumps(response),content_type="application/json") ##################JUDGE############ _lastLoginTime = request.session.get('lastLoginTime') if not _lastLoginTime: response['code'] = 1 response['errorMsg'] = '请先登录' return HttpResponse(json.dumps(response),content_type="application/json") try: waiterOrder = WaiterOrder.objects.select_related().get(id = _waiterOrderId) except ObjectDoesNotExist: response['code'] = 1 response['errorMsg'] = '请先登录' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") if _lastLoginTime != waiterOrder.lastLoginTime: response['code'] = 1 response['errorMsg'] = '上次登录失效,请重新登录' return HttpResponse(json.dumps(response),content_type="application/json") ####################END################# _orderId = request.REQUEST.get('orderId') if _orderId == None or _orderId == '': response['code'] = -1 response['errorMsg'] = '获取orderId失败' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") try: order = Order.objects.get(id = _orderId) except ObjectDoesNotExist: response['code'] = -1 response['errorMsg'] = '获取餐桌信息失败' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") if order.status == '0': if order.userId == '': order.status = '4' order.save() submitRecord = u'就餐完毕'.encode('utf-8') record = OrderRecord(record = submitRecord,order=order,date = datetime.datetime.now()) record.save() try: table = Table.objects.get(id = str(order.tableId)) except ObjectDoesNotExist: response['code'] = -1 response['errorMsg'] = '获取餐桌信息失败' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") table.status = '0' table.save() response['code'] = 0 return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") else: order.status = '2' order.save() submitRecord = u'就餐完毕'.encode('utf-8') record = OrderRecord(record = submitRecord,order=order,date = datetime.datetime.now()) record.save() tableLockQuery = TableLock.objects.select_related().filter(user__id = order.userId).filter(table__id = str(order.tableId)).filter(isValid = True) if not tableLockQuery.exists(): logger.info('不存在该tableLockQuery') try: table = Table.objects.get(id = str(order.tableId)) except ObjectDoesNotExist: response['code'] = -1 response['errorMsg'] = '获取餐桌信息失败' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") table.status = '0' table.save() response['code'] = 0 return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") else: user = tableLockQuery[0].user tableLockQuery.update(isValid = False) _deviceInfo = user.deviceInfo if(len(_deviceInfo and "iOS") == 3): pass # pushRst = pushAPN(saler.deviceToken,'0',str(orderQuery[0].id)) elif(len(_deviceInfo and 'Android') == 7): pass # pushRst = pushMessageToSingle(saler.clientID,'0',str(orderQuery[0].id)) try: table = Table.objects.get(id = str(order.tableId)) except ObjectDoesNotExist: response['code'] = -1 response['errorMsg'] = '获取餐桌信息失败' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") table = tableLockQuery[0].table table.status = '0' table.save() response['code'] = 0 return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json")
def addSkusWithOrder(request): logger = logging.getLogger('Pack.app') response = {} response['data'] = {} response['errorMsg'] = "" _waiterOrderId = request.session.get('waiterOrderId') if not _waiterOrderId: response['code'] = 1 response['errorMsg'] = '请先登录' return HttpResponse(json.dumps(response),content_type="application/json") ##################JUDGE############ _lastLoginTime = request.session.get('lastLoginTime') if not _lastLoginTime: response['code'] = 1 response['errorMsg'] = '请先登录' return HttpResponse(json.dumps(response),content_type="application/json") try: waiterOrder = WaiterOrder.objects.select_related().get(id = _waiterOrderId) except ObjectDoesNotExist: response['code'] = 1 response['errorMsg'] = '请先登录' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") if _lastLoginTime != waiterOrder.lastLoginTime: response['code'] = 1 response['errorMsg'] = '上次登录失效,请重新登录' return HttpResponse(json.dumps(response),content_type="application/json") ####################END################# _orderId = request.REQUEST.get('orderId') _priceTotal = request.REQUEST.get('priceTotal') _categoryList = request.REQUEST.get('categoryList') if _priceTotal == None or _priceTotal == '': response['code'] = -1 response['errorMsg'] = '获取总计价格失败' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") if _orderId == None or _orderId == '': response['code'] = -1 response['errorMsg'] = '获取orderId失败' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") if _categoryList == None or _categoryList == '': response['code'] = -1 response['errorMsg'] = '请输入对应关系' return HttpResponse(json.dumps(response),content_type="application/json") __categoryList = json.loads(_categoryList) try: order = Order.objects.get(id = _orderId) except ObjectDoesNotExist: response['code'] = -1 response['errorMsg'] = '获取餐桌信息失败' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") if order.status == '0': priceTotal = float(order.pricetotal) + float(_priceTotal) order.pricetotal = priceTotal order.save() submitRecord = u'加菜成功'.encode('utf-8') record = OrderRecord(record = submitRecord,order=order,date = datetime.datetime.now()) record.save() _orderSKUList = [] for category in __categoryList: categoryId = category['categoryId'] try: tableCategory = TableCategory.objects.select_realted().filter(table__id = str(table.id)).filter( category__id = str(categoryId))[0] except IndexError: response['code'] = -1 response['errorMsg'] = '获取tableCategory失败' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") skuList = category['skuList'] for sku in skuList: _id = sku['skuId'] _name = sku['skuName'] _quantity = sku['skuQuantity'] _sizeName = sku['skuSizeName'] _price = sku['skuPrice'] _orderSKUList.append(OrderSku(order = order,tableId = str(order.tableId) ,skuId = _id, skuName = _name, skuQuantity =int(_quantity),skuSizeName =_sizeName, skuPrice = _price,status = '0',waiterOrderId = str( tableCategory.waiterOrder.id),cookId = str(tableCategory.cook.id),waiterServeId = str( tableCategory.waiterServe.id))) cook = tableCategory.cook _deviceInfo = cook.deviceInfo OrderSku.objects.bulk_create(_orderSKUList) if(len(_deviceInfo and "iOS") == 3): pass # pushRst = pushAPN(saler.deviceToken,'0',str(orderQuery[0].id)) elif(len(_deviceInfo and 'Android') == 7): pass # pushRst = pushMessageToSingle(saler.clientID,'0',str(orderQuery[0].id)) response['code'] = 0 return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json") else: response['code'] = -1 response['errorMsg'] = '' return HttpResponse(json.dumps(response,ensure_ascii=False),content_type="application/json")