43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
from flask import Flask, request, jsonify
|
|
|
|
from config import get_config
|
|
from services.order import OrderService
|
|
|
|
config = get_config()
|
|
|
|
app = Flask(__name__)
|
|
order_service = OrderService() # 获取单例实例
|
|
|
|
@app.route('/createOrder', methods=['POST'])
|
|
def create_order():
|
|
data = request.get_json()
|
|
phone = data.get('phone', None)
|
|
email = data.get('email', None)
|
|
address = data.get('address', None)
|
|
try:
|
|
payment_method = data['paymentMethod']
|
|
except KeyError:
|
|
return jsonify({
|
|
"message": "Unsupported payment method. Currently, only USDT payments are supported."
|
|
}), 400
|
|
|
|
addresses = order_service.get_user_addresses(phone, email, address, payment_method)
|
|
|
|
if not addresses:
|
|
return jsonify({
|
|
"message": "No payment address associated with you was found. Please provide a payment address."
|
|
}), 400
|
|
|
|
if len(addresses) == 1:
|
|
order_id = order_service.create_order(addresses[0])
|
|
return jsonify({"order_id": order_id}), 200
|
|
|
|
# 多个地址的情况
|
|
return jsonify({
|
|
"message": "请选择一个地址进行下单。",
|
|
"addresses": addresses
|
|
}), 200
|
|
|
|
if __name__ == '__main__':
|
|
app.run(debug=True)
|