def set_name(session, status_code, reserv_info, reserv_id): if status_code == 'reservwait': resp = Response('이름을 입력해주세요') resp.next_function = set_name_confirm(reserv_id) session.next = resp elif status_code == 'reserved': resp = setting.get_init_response() resp.message = '이미 확정된 예약입니다.' else: resp = setting.get_init_response() resp.message = '확정할 수 없는 예약입니다.\n(시간 초과, 취소된 예약 등)' return resp.get_response()
def wrapper_function(outer_user_key, response): p = re.compile('01{1}[016789]{1}[0-9]{7,8}') regrex = p.match(response) if regrex and regrex.end() == len(response): DB.user_regist(outer_user_key, response) resp = setting.get_init_response() resp.message = '정보가 등록되었습니다. 아차를 이용하는 매장에서 등록된 예약 정보를 확인 가능합니다.' else: resp = setting.get_init_response() resp.message = '휴대폰 번호만 정확히 입력해 주십시오.\nex)01012345678' return resp
def reserv_cancel(session, status_code, reserv_info, reserv_id): if status_code == 'reservwait' or status_code == 'reserved': resp = setting.get_init_response() resp.message = '정말로 아래의 예약을 취소 하시겠습니까?\n' + reserv_info resp.next_function = reserv_cancel_confirm(reserv_id) resp.buttons = ['네!', '아니요 괜찮아요!'] elif status_code == 'usercancel' or status_code == 'storecancel': resp = setting.get_init_response() resp.message = '이미 취소된 예약입니다.' else: resp = setting.get_init_response() resp.message = '취소할 수 없는 예약입니다.(이미 방문처리 된 예약)' session.next = resp return resp.get_response()
def wrapper_function(inner_user_key, response): if response == '동의': resp = Response('예약 정보 조회를 위해 휴대폰 번호를 입력하여 주세요.\n 이는 최초 1회만 실시됩니다!\n하이폰(-)은 제외하고 입력\nex)01012345678') resp.set_function(receive_phone_number(inner_user_key)) else: resp = setting.get_init_response() return resp
def wrapper_function(user_key, content): if content == '네!': DB.reservation_cancel(reserv_id) DB.push(reserv_id, 'usercancel', '고객님이 예약을 취소하였습니다.', '자세한 내용은 앱에서 확인 부탁드립니다.') resp = setting.get_init_response() resp.message = '예약이 정상적으로 취소되었습니다!' return resp else: return setting.init_response
def wrapper_func(user_key, response): db_res = DB.set_name(reserv_id, response) print(db_res) db_res = DB.reservation_confirm(reserv_id) print(db_res) DB.push(reserv_id, 'reserved', '고객님이 예약을 확정하였습니다.', '자세한 내용은 앱에서 확인 부탁드립니다.') resp = setting.get_init_response() resp.message = response + '님으로 예약이 확정 되었습니다.' return resp
def wrapper_func(user_key, response): if response == '예': DB.reservation_cancel(reservation['reservUUID']) DB.push(reservation['reservUUID'], 'usercancel', '고객님이 예약을 취소하였습니다.', '자세한 내용은 앱에서 확인 부탁드립니다.') message = reservation['button_name'] + '예약이 취소 되었습니다.' resp = setting.get_init_response() resp.message = message return resp else: return setting.init_response
def reserv_confirm(session, status_code, reserv_info, reserv_id): resp = setting.get_init_response() if status_code == 'reservwait': DB.reservation_confirm(reserv_id) DB.push(reserv_id, 'reserved', '고객님이 예약을 확정하였습니다.', '자세한 내용은 앱에서 확인 부탁드립니다.') resp.message = '아래의 예약이 확정 되었습니다!\n' + reserv_info elif status_code == 'reserved': resp.message = '이미 확정된 예약 입니다.' else: resp.message = '확정할 수 없는 예약입니다.\n(시간 초과, 취소된 예약 등)' return resp.get_response()
def feedback_response(session, command, splited_content, phone_number_dict): token = splited_content[-1].split(' : ')[1] if command == '네': question = feedback_list[question_list[0]] if type(question) == str: resp = Response(question) else: resp = Response(question[0], keyboard_buttons=list(question[1])) resp.set_function(feedback_step(1, [], token)) session.next = resp return (resp.get_response(), '피드백 참여', token) else: resp = setting.get_init_response() return (resp.get_response(), '피드백 불참', token)
def initial(user_key): if DB.check_regist(user_key) == 'false': return userInfoRegist.initial(user_key) reserv_list = DB.get_reservation_list(user_key) if reserv_list: reserv_list.sort(key=lambda x:x['reservTime']) button_list = utils.generate_button(reserv_list) print(button_list) resp = Response('아래의 예약 중 확인하고 싶은 예약을 선택하여 주십시오', keyboard_buttons=button_list) resp.set_function(find_reservation(user_key, reserv_list)) return resp else: resp = setting.get_init_response() resp.message = '현재 예약되어 있는 내용이 없습니다.' return resp
def wrapper_func(user_key, content): if step == len(question_list): answer_list.append(content) DB.save_feedback(token, question_list, answer_list) resp = setting.get_init_response() resp.message = '피드백이 완료 되었습니다!' else: #content 저장 answer_list.append(content) question = feedback_list[question_list[step]] if type(question) == str: resp = Response(question) else: resp = Response(question[0], keyboard_buttons=list(question[1])) resp.set_function(feedback_step(step + 1, answer_list, token)) return resp
def initial(user_key): if DB.check_regist(user_key) == 'false': return userInfoRegist.initial(user_key) reserv_list = DB.get_reservation_list(user_key) if reserv_list: reserv_list.sort(key=lambda x: x['reservTime']) button_list = utils.generate_button(reserv_list) """for reserv in reserv_list: date = reserv['reservTime'] button_name = '%d월 %d일 %s'%(date.month, date.day,reserv['storeName']) button_list.append(button_name) reserv['button_name'] = button_name""" print(button_list) resp = Response('아래의 예약 중 취소하고 싶은 예약을 선택하여 주십시오', keyboard_buttons=button_list) resp.set_function(cancel(user_key, reserv_list)) return resp else: resp = setting.get_init_response() resp.message = '현재 예약되어 있는 내용이 없습니다.' return resp
def initial(user_key): resp = setting.get_init_response() resp.message = '현재 아차!는 테스트중으로 무료로 서비스를 제공하고 있습니다. 관련 문의는 상담용 플러스친구(http://pf.kakao.com/_xfxbxnxhj)를 통해 문의하실 수 있습니다.' return resp
def initial(user_key): resp = setting.get_init_response() resp.message = '안녕하세요! 아차! 서비스는 고객들이 손쉽게 예약을 관리할 수 있도록 하고 매장 점주들에게는 효율적인 예약관리를 통해 매출 증대를 함께 고민하는 서비스 입니다.' return resp