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))
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')
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))
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')
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)
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')