def user_gifts(user_id): results = sqlrelay.execute_results(""" SELECT PRESENT_ID , P_ID , TO_CHAR(ON_RECEIVE, 'YYYY/MM/DD HH24:MI:SS') FROM ARPG_GT_PRESENT WHERE USER_ID = %d ORDER BY ON_RECEIVE DESC """ % (user_id)) gift_list = OrderedDict() remove_list = [] for idx, r in enumerate(results): present_id = int(r[0]) p_id = int(r[1]) on_receive = datetime.strptime(r[2], "%Y/%m/%d %H:%M:%S") if idx < Properties.PRESENT_BOX_SIZE: gift_list[present_id] = { 'p_id': p_id, 'on_receive': on_receive, } else: remove_list.append(present_id) if len(remove_list) > 0: remove_sql = "DELETE ARPG_GT_PRESENT WHERE PRESENT_ID IN (" remove_sql += remove_list[0] for p in remove_list[1:]: remove_sql += "," + p remove_sql += ")" sqlrelay.execute(remove_sql) return gift_list
def select_hero(user_id, selected_hero): return sqlrelay.execute("UPDATE ARPG_GT_USER SET SELECTED_HERO = %d WHERE USER_ID = %d" % (selected_hero, user_id))
def execute(sql): sqlrelay.execute(sql)