def GET(self, hsID): form = Book.form() order = model.get_order(hsID) form.fill(order) if order!=None: return render.orderinfo(order, form) else: raise web.seeother('/noorder')
def get_orders(req, token): res = yield from model.get_order(token) if not res: return web.Response(body=bytes(json.dumps([]), 'utf-8')) else: ret = [] ret.append({ 'id': res['orderid'], 'items': res['items'], 'total': res['total'] }) return web.Response(body=bytes(json.dumps(ret), 'utf-8'))
def GET(self): info = {} i = web.input() oid = i.get('oid') o_details = list(model.get_detail(oid)) o_info = list(model.get_order(oid)) info["i"] = o_info[0] info["d"] = o_details ''' opt = i.get('opt') ot_ts = int(time.mktime(time.strptime(str(ord_info[0].OrderDate)+" 10:30:00", "%Y-%m-%d %H:%M:%S"))) cur_ts = int(time.time()) if cur_ts > ot_ts: OT=True else: OT=False ''' return render.orderinfo(info)
def GET(self): i = web.input() oid = i.get('oid') order = model.get_order(oid) orderdate = list(order)[0].OrderDate details = model.get_details(oid) for detail in details: model.upd_meal_sold(detail.lunchid,orderdate,-detail.num) model.update_order(oid, 2, time.strftime('%Y-%m-%d %X', time.localtime())) #print oid #refund = Refund_pub() #refund.setParameter('transaction_id') #refund.setParameter('out_trade_no',str(session.out_trade_no)) #refund.setParameter('out_trade_no','1234567890') #refund.setParameter('total_fee','1') #refund.setParameter('refund_fee','1') #refund.setParameter('out_refund_no','1234567890') #refund.setParameter('op_user_id','1240046802') #res = refund.getResult() #print res["return_code"] #print res["return_msg"] return web.seeother('/orders')
def GET(self): # guard code, back step if web.ctx.session.webpage=="receipt": return web.seeother("\menus") i = web.input() oid_list = i.oids.split("_") shopping_list=[] global access_token global jsapi_ticket global token_timestamp js_api = JsApi_pub() openid = web.ctx.session.openid #print openid if (not access_token.strip()) or (int(time.time())-token_timestamp > 7200): access_token = sign.get_token() jsapi_ticket = sign.get_ticket(access_token) token_timestamp = int(time.time()) total_fee = 0.0 for oid in oid_list: # oid = session.pay_oid # print oid order_it = model.get_order(oid) order = list(order_it) total_fee += order[0].Price shopping_list.append(oid) if len(oid_list) > 1: out_trade_no = str(int(oid_list[0])/1000) else: out_trade_no = str(int(oid_list[0])) js_sign = Sign(jsapi_ticket, web.ctx.home+web.ctx.fullpath) sign_data = js_sign.sign() nonceStr = sign_data['nonceStr'] signature = sign_data['signature'] timestamp = sign_data['timestamp'] url = sign_data['url'] #print url #total_fee = web.cookies().get('total_price') #total_fee = str(int(order[0].Price)*100) #TODO:dup orderid unify_pay = UnifiedOrder_pub() #print oid #print total_fee #print openid unify_pay.setParameter('out_trade_no', out_trade_no) unify_pay.setParameter('body','准时开饭 套餐') unify_pay.setParameter('total_fee',str(int(total_fee)*100)) unify_pay.setParameter('notify_url','http://x.zhunshikaifan.com/') unify_pay.setParameter('trade_type','JSAPI') unify_pay.setParameter('openid',openid) prepay_id = unify_pay.getPrepayId() #print prepay_id js_api.setPrepayId(prepay_id) pay_data = js_api.getParameters() if not web.ctx.session.shoppinglist: web.ctx.session.shoppinglist = shopping_list web.ctx.session.webpage="webchatpay" return render.webchatpay(signature,nonceStr,timestamp,json.loads(pay_data))
def GET(self): shopping_list = web.ctx.session.shoppinglist user_info = web.ctx.session.userinfo #menu_date = web.ctx.session.menudate #route_id = web.ctx.session.routeid order_list = {} order_cost = {} for oid in shopping_list: #i = web.input() model.update_order_1(oid,1) order = list(model.get_order(oid)) date_time = datetime.datetime.strptime(str(order[0].OrderDate), '%Y-%m-%d') _date_time = str(order[0].OrderDate) order_list[_date_time] = {} order_cost[_date_time] = order[0].price weekday = model.get_chinese_weekday(date_time.weekday()) # Notice-Start lunch_info = list(model.get_details_1(oid)) meal_str = '\n' for l in lunch_info: if not order_list[_date_time].has_key(l.ID): order_list[_date_time][l.ID] = {} order_list[_date_time][l.ID]["Name"] = l.Meal order_list[_date_time][l.ID]["Price"] = l.Price order_list[_date_time][l.ID]["Count"] = l.num meal_str += l.Meal meal_str += str(l.num) meal_str += u'份' meal_str += '\n' meal_str_0 = meal_str.rstrip('\n') disp_tm = "" if str(order[0].tminterval) == "0": disp_tm = "12:00-12:20" elif str(order[0].tminterval) == "1": disp_tm = "12:20-12:40" elif str(order[0].tminterval) == "2": disp_tm = "12:40-13:00" ''' weixin_url = 'https://api.weixin.qq.com/cgi-bin/token' weixin_payload = 'grant_type=client_credential&appid=wx9e8d00301079061b&secret=6021e0985185092b430c4182db3b3f62' data=urllib2.urlopen(weixin_url, weixin_payload).read() weixin_access_token=json.loads(data)['access_token'] send_url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='+weixin_access_token urlObj = {} urlObj['touser'] = web.ctx.session.openid urlObj['template_id']='OBRKVZrD68qGejXB1ujq2OcZ1Rg2zHIKhqumF-l6UyM' #urlObj['url']='www.zhunshikaifan.com' urlObj['data']={} urlObj['data']['first']={} urlObj['data']['first']['value'] = '您好,你的午餐下单成功' urlObj['data']['first']['color'] = '#173177' urlObj['data']['keyword1'] = {} urlObj['data']['keyword1']['value'] = meal_str_0 urlObj['data']['keyword1']['color'] = '#173177' urlObj['data']['keyword2']={} urlObj['data']['keyword2']['value'] = str(order[0].OrderDate)+" "+weekday+" "+disp_tm urlObj['data']['keyword2']['color'] = '#173177' urlObj['data']['keyword3']={} urlObj['data']['keyword3']['value'] = order[0].OfficeName+" "+order[0].orderaddr urlObj['data']['keyword3']['color'] = '#173177' urlObj['data']['remark']={} urlObj['data']['remark']['value'] = '感谢您的惠顾,祝用餐愉快。' urlObj['data']['remark']['color'] = '#173177' json_data = json.dumps(urlObj) data = urllib.quote_plus(str(json_data)) res = urllib2.urlopen(send_url,data=json_data).read() ''' if web.ctx.session.shoppingbasket: web.ctx.session.shoppingbasket.clear() if web.ctx.session.shoppingcost: web.ctx.session.shoppingcost.clear() if web.ctx.session.shoppinglist: del web.ctx.session.shoppinglist[:] web.ctx.session.webpage="receipt" return render.receipt(user_info, order_list, order_cost, disp_tm)
def cek_order(bot, update): db_data = {} push = {} date_check = 'A' text = update.message.text user = update.message.from_user user_id = get_id(user.id) if text == "⬅️ Kembali": return bot_main.start(bot, update, db_data) status_id = model.get_status_id(text) order_data = model.get_order(user_id, status_id) records = order_data.fetchall() if order_data.rowcount > 0: for row in records: db_data['TRACK_ID'] = row[5] db_data['ORDER_DATE'] = row[6] db_data['CUSTOMER_NAME'] = row[24] db_data['KCONTACT'] = row[8] db_data['ADDRESS_INSTALLATION'] = row[29] db_data['PACKAGE'] = row[30] db_data['CUSTOMER_PHONE'] = row[25] db_data['STO'] = row[3] db_data['DATE'] = row[11] date_check = 'B' if text == 'Not FU': date_check = 'C' update.message.reply_text( "📋 <b>List Order</b>\n" "{}".format(bot_main.array_to_str(db_data)), parse_mode=ParseMode.HTML, reply_markup=ReplyKeyboardMarkup([['⬅️ Kembali']], one_time_keyboard=True, resize_keyboard=True)) elif text == 'Kendala Pelanggan': date_check = 'C' push['TRACK_ID'] = row[5] push['SC'] = row[31] push['KENDALA'] = row[37] push['DETIL KENDALA'] = row[9] push['TECHNICIAN_NAME'] = get_teknisi(row[12]) push['CUSTOMER_NAME'] = row[24] push['CUSTOMER_PHONE'] = row[25] push['ADDRESS_INSTALLATION'] = row[29] update.message.reply_text( "📋 <b>List Order</b>\n" "{}".format(bot_main.array_to_str(push)), parse_mode=ParseMode.HTML, reply_markup=ReplyKeyboardMarkup([['⬅️ Kembali']], one_time_keyboard=True, resize_keyboard=True)) elif text == 'Kendala Teknis': date_check = 'C' push['TRACK_ID'] = row[5] push['SC'] = row[31] push['KENDALA'] = row[37] push['DETIL KENDALA'] = row[9] push['TECHNICIAN_NAME'] = get_teknisi(row[12]) push['CUSTOMER_NAME'] = row[24] push['CUSTOMER_PHONE'] = row[25] push['ADDRESS_INSTALLATION'] = row[29] update.message.reply_text( "📋 <b>List Order</b>\n" "{}".format(bot_main.array_to_str(push)), parse_mode=ParseMode.HTML, reply_markup=ReplyKeyboardMarkup([['⬅️ Kembali']], one_time_keyboard=True, resize_keyboard=True)) elif text == 'Assign Teknisi': date_check = 'C' push['TRACK_ID'] = row[5] push['SC'] = row[31] push['TECHNICIAN_NAME'] = get_teknisi(row[12]) push['CUSTOMER_NAME'] = row[24] push['CUSTOMER_PHONE'] = row[25] push['ADDRESS_INSTALLATION'] = row[29] update.message.reply_text( "📋 <b>List Order</b>\n" "{}".format(bot_main.array_to_str(push)), parse_mode=ParseMode.HTML, reply_markup=ReplyKeyboardMarkup([['⬅️ Kembali']], one_time_keyboard=True, resize_keyboard=True)) elif text == 'Push PI': date_check = 'C' push['TRACK_ID'] = row[5] push['SC'] = row[31] push['TECHNICIAN_NAME'] = get_teknisi(row[12]) push['CUSTOMER_NAME'] = row[24] push['CUSTOMER_PHONE'] = row[25] push['ADDRESS_INSTALLATION'] = row[29] update.message.reply_text( "📋 <b>List Order</b>\n" "{}".format(bot_main.array_to_str(push)), parse_mode=ParseMode.HTML, reply_markup=ReplyKeyboardMarkup([['⬅️ Kembali']], one_time_keyboard=True, resize_keyboard=True)) elif text == 'PI': date_check = 'C' push['TRACK_ID'] = row[5] push['SC'] = row[31] push['TECHNICIAN_NAME'] = get_teknisi(row[12]) push['CUSTOMER_NAME'] = row[24] push['CUSTOMER_PHONE'] = row[25] push['ADDRESS_INSTALLATION'] = row[29] update.message.reply_text( "📋 <b>List Order</b>\n" "{}".format(bot_main.array_to_str(push)), parse_mode=ParseMode.HTML, reply_markup=ReplyKeyboardMarkup([['⬅️ Kembali']], one_time_keyboard=True, resize_keyboard=True)) else: update.message.reply_text("Data SCBE tidak ditemukan", reply_markup=ReplyKeyboardMarkup([['⬅️ Kembali']], one_time_keyboard=True, resize_keyboard=True)) bot_main.db.commit() return ConversationHandler.END if date_check == 'B': update.message.reply_text("Data Order tidak ditemukan", reply_markup=ReplyKeyboardMarkup([['⬅️ Kembali']], one_time_keyboard=True, resize_keyboard=True)) bot_main.db.commit() return ConversationHandler.END bot_main.db.commit() return bot_main.GET_MYIR_WO else: update.message.reply_text("Data Order tidak ditemukan", reply_markup=ReplyKeyboardMarkup([['⬅️ Kembali']], one_time_keyboard=True, resize_keyboard=True)) bot_main.db.commit() return ConversationHandler.END