48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
from flask import Flask, request, jsonify
|
|
|
|
from config import get_config
|
|
from services.order import OrderService
|
|
from services.user import UserService
|
|
|
|
config = get_config()
|
|
|
|
app = Flask(__name__)
|
|
order_service = OrderService()
|
|
user_service = UserService()
|
|
|
|
|
|
@app.route('/createOrder', methods=['POST'])
|
|
def create_order():
|
|
data = request.get_json()
|
|
name = data.get('name', None)
|
|
phone = data.get('phone', None)
|
|
email = data.get('email', None)
|
|
payment_method = data.get('payment_method', None)
|
|
if payment_method not in config['PaymentAddresses']:
|
|
return jsonify({
|
|
"message": "Unsupported payment method. Currently, only USDT payments are supported."
|
|
}), 400
|
|
|
|
address = data.get('address', None)
|
|
if address is None:
|
|
addresses = user_service.get_addresses(name, phone, email)
|
|
|
|
if not addresses:
|
|
return jsonify({
|
|
"message": "No payment address associated with you was found. Please provide a payment address."
|
|
}), 400
|
|
if len(addresses) > 1:
|
|
return jsonify({
|
|
"message": "Please select an address to place your order.",
|
|
"addresses": addresses
|
|
}), 200
|
|
# 单个地址
|
|
address = addresses[0]
|
|
|
|
order_id = order_service.create_order(address)
|
|
return jsonify({"order_id": order_id}), 200
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app.run(debug=True)
|