Пример #1
0
def start_order():
    data = request.form.to_dict()
    user = data.get("user")
    name = data.get("name")
    description = data.get("description")
    contact = data.get("contact")
    price = data.get("price")
    img_file = data.get("imgFile")

    if name is None or description is None or contact is None or price is None or price is None or img_file is None:
        return make_response("Information not complete", 403)

    selltime = datetime.now().strftime("%Y%m%d%H%M%S")
    cursor = db.cursor()
    try:
        sql = f"INSERT INTO Item(name, description, contact, price, seller, selldate) VALUES ('{name}', '{description}', '{contact}', '{price}', '{user}', {selltime});"
        cursor.execute(sql)
        cursor.execute(f"SELECT LAST_INSERT_ID();")
        item_id = cursor.fetchone()[0]
        sql = f"INSERT INTO `Relation`(`username`, `item_id`) VALUES ('{user}', {item_id});"
        cursor.execute(sql)

        img_path = save_image(img_file, item_id)

        sql = f"UPDATE Item SET img_path='{img_path}' WHERE id={item_id};"
        cursor.execute(sql)

        db.commit()
        response = make_response("success", 200)
    except Exception as e:
        db.rollback()
        response = make_response("Internal Error", 500)
        print(e)
    cursor.close()
    return response
Пример #2
0
def quit_order():
    data = json.loads(request.data.decode('utf-8'))
    user = data.get('user')
    task_id = data.get('task_id')
    cursor = db.cursor()
    try:
        sql = f"DELETE FROM Relation WHERE Relation.username='******' AND Relation.task_id='{task_id}';"
        cursor.execute(sql)
        sql = f"UPDATE Task SET num_connect=num_connect-1 WHERE Task.id='{task_id}';"
        cursor.execute(sql)
        db.commit()
        response = make_response("success", 200)
    except Exception as e:
        db.rollback()
        response = make_response("Internal Error", 500)
        print(e)
    return response
Пример #3
0
def join_order():
    data = json.loads(request.data.decode('utf-8'))
    user = data.get('user')
    task_id = data.get('task_id')
    cursor = db.cursor()
    try:
        sql = f"INSERT INTO Relation(username, task_id, status) VALUES ('{user}', {task_id}, 1);"
        cursor.execute(sql)
        sql = f"UPDATE Task SET num_connect=num_connect+1 WHERE id={task_id};"
        cursor.execute(sql)
        db.commit()
        response = make_response("success", 200)
    except Exception as e:
        db.rollback()
        response = make_response("Internal Error", 500)
        print(e)
    cursor.close()
    return response
Пример #4
0
def user_signup():
    data = json.loads(request.data.decode('utf-8'))
    user = data.get("user")
    password = data.get("password")
    cursor = db.cursor()
    cursor.execute(f"SELECT * FROM `User` WHERE username = '******';")
    rec = cursor.fetchone()
    if rec:
        response = make_response("username exists", 401)
    else:
        try:
            cursor.execute(
                f"INSERT INTO `User`(`username`, `nickname`, `password`) VALUES ('{user}', '{user}', '{password}');"
            )
            db.commit()
            response = make_response("success", 200)
        except Exception:
            db.rollback()
            response = make_response("Internal Error", 500)
    cursor.close()
    return response
Пример #5
0
def start_order():
    data = json.loads(request.data.decode('utf-8'))
    user = data.get("user")
    place_from = data.get("from")
    place_to = data.get("to")
    start_dt = datetime.strptime(data.get("datetime"), "%Y-%m-%d %H:%M")
    start_dt = start_dt.strftime("%Y%m%d%H%M%S")
    location = data.get("location")
    cursor = db.cursor()
    try:
        sql = f"INSERT INTO `Task`(`initiator`, `num_connect`, `from`, `to`, `starttime`, `location`) VALUES ('{user}', 1, '{place_from}', '{place_to}', {start_dt}, '{location}');"
        cursor.execute(sql)
        cursor.execute(f"SELECT LAST_INSERT_ID();")
        task_id = cursor.fetchone()[0]
        sql = f"INSERT INTO `Relation`(`username`, `task_id`, `status`) VALUES ('{user}', {task_id}, 0);"
        cursor.execute(sql)
        db.commit()
        response = make_response("success", 200)
    except Exception:
        db.rollback()
        response = make_response("Internal Error", 500)
    cursor.close()
    return response
Пример #6
0
def user_signup():
    data = request.form.to_dict()
    user = data.get("user")
    password = data.get("password")
    if user is None:
        return make_response("username can't be empty", 401)
    cursor = db.cursor()
    cursor.execute(f"SELECT * FROM `User` WHERE username = '******';")
    rec = cursor.fetchone()
    if rec:
        response = make_response("username exists", 401)
    else:
        try:
            cursor.execute(
                f"INSERT INTO `User`(`username`, `password`) VALUES ('{user}', '{password}');"
            )
            db.commit()
            response = make_response("success", 200)
        except Exception:
            db.rollback()
            response = make_response("Internal Error", 500)
    cursor.close()
    return response