Browse Source

订单状态修改功能合并测试完成

master
Max 1 year ago
parent
commit
77d3eb752e
5 changed files with 144 additions and 3 deletions
  1. +80
    -3
      be/model/buyer.py
  2. +5
    -0
      be/model/postgreSQLORM.py
  3. +27
    -0
      be/model/seller.py
  4. +22
    -0
      be/view/buyer.py
  5. +10
    -0
      be/view/seller.py

+ 80
- 3
be/model/buyer.py View File

@ -7,8 +7,10 @@ from be.model.postgreSQLORM import New_Order_Detail
from be.model.postgreSQLORM import New_Order
from be.model.postgreSQLORM import User
import uuid
import json
import logging
import time
from be.model import db_conn
from be.model import error
@ -59,6 +61,7 @@ class Buyer(db_conn.DBConn):
return error.error_stock_level_low(book_id) + (order_id, )
# print("touch4")
new_order_detail_entity = New_Order_Detail(order_id=uid,book_id=book_id,count=count,price=price)
# print("touch5")
row = self.session.add(new_order_detail_entity)
@ -68,7 +71,8 @@ class Buyer(db_conn.DBConn):
# "VALUES(?, ?, ?, ?);",
# (uid, book_id, count, price))
# print("touch1")
new_order_entity = New_Order(order_id=uid,fk_store_id=store_id,fk_user_id=user_id)
creat_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) ## 订单创建时间
new_order_entity = New_Order(order_id=uid,fk_store_id=store_id,fk_user_id=user_id,creat_time=creat_time,status=0)
self.session.add(new_order_entity)
# self.conn.execute(
# "INSERT INTO new_order(order_id, store_id, user_id) "
@ -163,13 +167,14 @@ class Buyer(db_conn.DBConn):
if row == 0:
return error.error_non_exist_user_id(buyer_id)
# print('touch2')
row = session.query(New_Order).filter(New_Order.order_id==order_id).delete()
# row = session.query(New_Order).filter(New_Order.order_id==order_id).delete() 不在删除而是修改订单状态
row = session.query(New_Order).filter(New_Order.order_id==order_id).update({'status':1})
# cursor = conn.execute("DELETE FROM new_order WHERE order_id = ?", (order_id, ))
# if cursor.rowcount == 0:
if row == 0:
return error.error_invalid_order_id(order_id)
row = session.query(New_Order_Detail).filter(New_Order_Detail.order_id==order_id).delete()
# row = session.query(New_Order_Detail).filter(New_Order_Detail.order_id==order_id).delete()
# cursor = conn.execute("DELETE FROM new_order_detail where order_id = ?", (order_id, ))
# if cursor.rowcount == 0:
if row == 0:
@ -213,3 +218,75 @@ class Buyer(db_conn.DBConn):
return 530, "{}".format(str(e))
return 200, "ok"
def take_over(self, user_id, order_id):
session = self.session
try:
if not self.user_id_exist(user_id):
return error.error_non_exist_user_id(user_id)
row = session.query(New_Order).filter(and_(New_Order.order_id==order_id,New_Order.fk_user_id==user_id)).first()
if row is None:
return error.error_invalid_order_id(order_id)
if row.status != 2:
return error.error_invalid_order_id(order_id)
row = session.query(New_Order).filter(and_(New_Order.order_id==order_id,New_Order.fk_user_id==user_id)).update({'status':3})
if row == 0:
return error.error_invalid_order_id(order_id)
session.commit()
except SQLAlchemyError as e:
return 528, "{}".format(str(e))
except BaseException as e:
# print('touch3')
return 530, "{}".format(str(e))
return 200, "ok"
def order_cancel(self, user_id, order_id):
session = self.session
try:
if not self.user_id_exist(user_id):
return error.error_non_exist_user_id(user_id)
row = session.query(New_Order).filter(and_(New_Order.order_id==order_id,New_Order.fk_user_id==user_id)).first()
if row is None:
return error.error_invalid_order_id(order_id)
if row.status != 0:
return error.error_invalid_order_id(order_id)
row = session.query(New_Order).filter(and_(New_Order.order_id==order_id,New_Order.fk_user_id==user_id)).update({'status':-1})
if row == 0:
return error.error_invalid_order_id(order_id)
session.commit()
except SQLAlchemyError as e:
return 528, "{}".format(str(e))
except BaseException as e:
# print('touch3')
return 530, "{}".format(str(e))
return 200, "ok"
def history_order(self, user_id):
session = self.session
try:
if not self.user_id_exist(user_id):
return error.error_non_exist_user_id(user_id)
row = session.query(New_Order).filter(New_Order.fk_user_id==user_id).first()
if row is None:
return error.error_non_exist_user_id(user_id)
row = session.query(New_Order).filter(New_Order.fk_user_id==user_id).order_by(New_Order.creat_time.desc()).all()
order_ids = []
for i in row:
order_ids.append(i.order_id)
session.commit()
except SQLAlchemyError as e:
return 528, "{}".format(str(e))
except BaseException as e:
# print('touch3')
return 530, "{}".format(str(e))
return 200, "ok", order_ids

+ 5
- 0
be/model/postgreSQLORM.py View File

@ -5,6 +5,9 @@ from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import PrimaryKeyConstraint,UniqueConstraint
import sqlalchemy
import time
Base=declarative_base()
class con:
def connect():
@ -100,6 +103,8 @@ class New_Order(Base):
nullable=False,
comment="store外键"
)
creat_time = Column(TEXT, nullable=False,comment="订单创建时间")
status = Column(Integer,nullable=False,comment="订单状态")
class New_Order_Detail(Base):
__tablename__ = 'new_order_detail'

+ 27
- 0
be/model/seller.py View File

@ -1,6 +1,7 @@
from sqlalchemy.exc import SQLAlchemyError
from be.model import error
from be.model import postgreSQLORM
from be.model.postgreSQLORM import New_Order
from be.model import db_conn
from sqlalchemy import and_
@ -75,3 +76,29 @@ class Seller(db_conn.DBConn):
# print('touch3')
return 530, "{}".format(str(e))
return 200, "ok"
def send_out(self, order_id:str, user_id:str):
session = self.session
try:
if not self.user_id_exist(user_id):
return error.error_non_exist_user_id(user_id)
row = session.query(New_Order).filter(New_Order.order_id==order_id).first()
if row is None:
return error.error_invalid_order_id(order_id)
if row.status != 1:
return error.error_invalid_order_id(order_id)
row = session.query(New_Order).filter(New_Order.order_id==order_id).update({'status':2})
if row == 0:
return error.error_invalid_order_id(order_id)
session.commit()
except SQLAlchemyError as e:
return 528, "{}".format(str(e))
except BaseException as e:
# print('touch3')
return 530, "{}".format(str(e))
return 200, "ok"

+ 22
- 0
be/view/buyer.py View File

@ -40,3 +40,25 @@ def add_funds():
code, message = b.add_funds(user_id, password, add_value)
return jsonify({"message": message}), code
@bp_buyer.route("/take_over", methods=["POST"])
def take_over():
user_id = request.json.get("user_id")
order_id = request.json.get("order_id")
b = Buyer()
code, message = b.take_over(user_id, order_id)
return jsonify({"message": message}), code
@bp_buyer.route("/order_cancel", methods=["POST"])
def order_cancel():
user_id = request.json.get("user_id")
order_id = request.json.get("order_id")
b = Buyer()
code, message = b.order_cancel(user_id, order_id)
return jsonify({"message": message}), code
@bp_buyer.route("/history_order", methods=["POST"])
def history_order():
user_id = request.json.get("user_id")
b = Buyer()
code, message, order_ids = b.history_order(user_id)
return jsonify({"message": message,"order_id": order_ids}), code

+ 10
- 0
be/view/seller.py View File

@ -39,3 +39,13 @@ def add_stock_level():
code, message = s.add_stock_level(user_id, store_id, book_id, add_num)
return jsonify({"message": message}), code
@bp_seller.route("/send_out",methods=["POST"])
def send_out():
order_id: str = request.json.get("order_id")
user_id: str = request.json.get("user_id")
s = seller.Seller()
code, message = s.send_out(order_id,user_id)
return jsonify({"message": message}), code

Loading…
Cancel
Save