コード例 #1
0
def list_order():
    if request.method == 'POST':
        limit = 10
        offset = (int(request.form.get("page")) - 1) * limit
        _db_process = DatabaseProcess(current_app.config['DB_CONNECTSTRING'])
        args = type('Dummy', (object, ), {
            "offset": offset,
            "limit": limit,
            "admin": 1
        })
        if (request.form.get("status") is not None
                and is_not_blank(request.form.get("status"))):
            args.status = request.form.get("status")
        if (request.form.get("order_code") is not None
                and is_not_blank(request.form.get("order_code"))):
            args.order_code = request.form.get("order_code")

        if (request.form.get("from_time") is not None
                and is_not_blank(request.form.get("from_time"))):
            args.from_time = request.form.get("from_time")
        if (request.form.get("to_time") is not None
                and is_not_blank(request.form.get("to_time"))):
            args.to_time = request.form.get("to_time")
        result = _db_process.get_list_order(args)
        return jsonify(data=result[0], total=result[1], limit=limit)

    _db_process = DatabaseProcess(current_app.config['DB_CONNECTSTRING'])
    list_fee = _db_process.admin_get_list_fee()
    return render_template('admin/list_order.html',
                           list_fee=json.dumps(list_fee))
コード例 #2
0
def create_order():
    if request.method == 'POST':
        user_id = current_user.get_id()
        form_dic = request.form.to_dict()
        order_data = form_dic['order_data']
        d = json.loads(order_data)
        _db_process = DatabaseProcess(current_app.config['DB_CONNECTSTRING'])
        list_currency_rate = _db_process.admin_get_list_currency()
        price_vnd = 0
        for item in d:
            # check du lieu dau vao
            if is_not_blank(item['name']) == False or is_not_blank(item['link']) == False or is_not_blank(item['color']) == False or is_not_blank(item['size']) == False or is_not_blank(item['quantity']) == False \
            or is_not_blank(item['price']) == False or is_not_blank(item['image']) == False or is_not_blank(item['currency']) == False:
                return jsonify(result=-600, msg=get_error_msg(-600))
            # lay ty gia
            filterData = list(
                filter(lambda x: x['id'] == int(item['currency']),
                       list_currency_rate))
            if not len(filterData):
                return jsonify(result=-99, msg=get_error_msg(-99))

            currency_rate = filterData[0]['rate']

            item['price_vnd'] = float(item['price']) * currency_rate * int(
                item['quantity'])
            price_vnd += item['price_vnd']
            if (item['is_upload'] == True):
                image_upload = request.files[item['image']]
                filename = secure_filename(image_upload.filename)
                image_upload.save(
                    os.path.join(os.getcwd() + "/app/static/upload/image",
                                 filename))
                item['image'] = filename

        memory_code = randomstring(6)
        kwargs = type(
            'Dummy', (object, ), {
                "data": d,
                "memory_code": memory_code,
                "price_vnd": price_vnd,
                "user_id": user_id
            })

        result = _db_process.user_create_order(kwargs)
        if result > 0:
            return jsonify(result=1, msg='Success')
        else:
            msg = get_error_msg(result)
            return jsonify(result=-1, msg=msg)

    return render_template('user/create_order.html')
コード例 #3
0
def order_detail():
    user_id = current_user.get_id()
    #dat coc don hang, method put
    if request.method == 'PUT':
        user_id = current_user.get_id()
        order_code = request.form.get("code")

        if order_code is None or is_not_blank(order_code) == False:
            return jsonify(result=-600, msg=get_error_msg(-600))
        order_array = order_code.split(".")
        if len(order_array) != 2:
            return jsonify(result=-600, msg=get_error_msg(-600))

        kwargs = type('Dummy', (object, ), {
            "id": order_array[1],
            "code": order_array[0],
            "user_id": user_id
        })
        _db_process = DatabaseProcess(current_app.config['DB_CONNECTSTRING'])
        order_info = _db_process.get_order_info(kwargs)
        if order_info is None:
            return jsonify(result=-102, msg=get_error_msg(-102))

        user = _db_process.get_user_info(user_id)
        price_vnd = order_info['price_vnd']
        price_deposit = math.floor(int(price_vnd) * 70 / 100)
        if (int(user['balance']) < price_deposit):
            return jsonify(result=-107, msg=get_error_msg(-107))

        kwargs.deposit_value = price_deposit
        kwargs.order_id = order_info['id']
        kwargs.user_id = user_id
        _db_process.user_deposit_order(kwargs)
        return jsonify(result=1, msg='Success')

    order_code = request.args.get('code')
    if order_code is None:
        return redirect(url_for('user.dashboard', msg='code empty'))
    order_array = order_code.split(".")
    if len(order_array) != 2:
        return redirect(url_for('user.dashboard', msg='code invalid'))

    kwargs = type('Dummy', (object, ), {
        "id": order_array[1],
        "code": order_array[0],
        "user_id": user_id
    })
    _db_process = DatabaseProcess(current_app.config['DB_CONNECTSTRING'])
    order_info = _db_process.get_order_info(kwargs)
    if order_info is None:
        return redirect(url_for('user.dashboard', msg='order null'))

    order_detail_id_array = order_info['order_item'].split(',')
    order_detail = _db_process.get_order_detail(order_detail_id_array)
    list_fee = _db_process.admin_get_list_fee()
    return render_template('user/order_detail.html',
                           order=order_info,
                           detail=order_detail,
                           list_fee=json.dumps(list_fee))
コード例 #4
0
def list_user():
    if request.method == 'POST':
        limit = 10
        offset = (int(request.form.get("page")) - 1) * limit
        _db_process = DatabaseProcess(current_app.config['DB_CONNECTSTRING'])
        args = type('Dummy', (object, ), {"offset": offset, "limit": limit})
        if (request.form.get("type") is not None
                and is_not_blank(request.form.get("type"))):
            args.type = request.form.get("type")
        if (request.form.get("email") is not None
                and is_not_blank(request.form.get("email"))):
            args.email = request.form.get("email")

        userData = _db_process.get_list_user(args)
        return jsonify(data=userData[0], total=userData[1], limit=limit)

    return render_template('admin/list_user.html')
コード例 #5
0
def edit_user():
    if request.method == 'POST':
        return jsonify(result=1, msg='Success')

    uid = request.args.get('id')
    if (uid is None or is_not_blank(uid) == False):
        return redirect(url_for('admin.list_user'))

    _db_process = DatabaseProcess(current_app.config['DB_CONNECTSTRING'])
    result = _db_process.get_user_info(uid)
    return render_template('admin/edit_user.html', user=result)
コード例 #6
0
def list_order():
    if request.method == 'POST':
        user_id = current_user.get_id()
        _db_process = DatabaseProcess(current_app.config['DB_CONNECTSTRING'])
        args = type('Dummy', (object, ), {"uid": user_id})

        if (request.form.get("status") is not None
                and is_not_blank(request.form.get("status"))):
            args.status = request.form.get("status")

        if (request.form.get("from_time") is not None
                and is_not_blank(request.form.get("from_time"))):
            args.from_time = request.form.get("from_time")

        if (request.form.get("to_time") is not None
                and is_not_blank(request.form.get("to_time"))):
            args.to_time = request.form.get("to_time")

        orders = _db_process.get_list_order(args)
        return jsonify(data=orders)

    return render_template('user/list_order.html')