|
@ -7,8 +7,10 @@ from model.postgreSQLORM import New_Order_Detail |
|
|
from model.postgreSQLORM import New_Order |
|
|
from model.postgreSQLORM import New_Order |
|
|
from model.postgreSQLORM import User |
|
|
from model.postgreSQLORM import User |
|
|
import uuid |
|
|
import uuid |
|
|
|
|
|
|
|
|
import json |
|
|
import json |
|
|
import logging |
|
|
import logging |
|
|
|
|
|
import time |
|
|
from model import db_conn |
|
|
from model import db_conn |
|
|
from model import error |
|
|
from model import error |
|
|
|
|
|
|
|
@ -59,6 +61,7 @@ class Buyer(db_conn.DBConn): |
|
|
return error.error_stock_level_low(book_id) + (order_id, ) |
|
|
return error.error_stock_level_low(book_id) + (order_id, ) |
|
|
|
|
|
|
|
|
# print("touch4") |
|
|
# print("touch4") |
|
|
|
|
|
|
|
|
new_order_detail_entity = New_Order_Detail(order_id=uid,book_id=book_id,count=count,price=price) |
|
|
new_order_detail_entity = New_Order_Detail(order_id=uid,book_id=book_id,count=count,price=price) |
|
|
# print("touch5") |
|
|
# print("touch5") |
|
|
row = self.session.add(new_order_detail_entity) |
|
|
row = self.session.add(new_order_detail_entity) |
|
@ -68,7 +71,8 @@ class Buyer(db_conn.DBConn): |
|
|
# "VALUES(?, ?, ?, ?);", |
|
|
# "VALUES(?, ?, ?, ?);", |
|
|
# (uid, book_id, count, price)) |
|
|
# (uid, book_id, count, price)) |
|
|
# print("touch1") |
|
|
# 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.session.add(new_order_entity) |
|
|
# self.conn.execute( |
|
|
# self.conn.execute( |
|
|
# "INSERT INTO new_order(order_id, store_id, user_id) " |
|
|
# "INSERT INTO new_order(order_id, store_id, user_id) " |
|
@ -163,13 +167,14 @@ class Buyer(db_conn.DBConn): |
|
|
if row == 0: |
|
|
if row == 0: |
|
|
return error.error_non_exist_user_id(buyer_id) |
|
|
return error.error_non_exist_user_id(buyer_id) |
|
|
# print('touch2') |
|
|
# 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, )) |
|
|
# cursor = conn.execute("DELETE FROM new_order WHERE order_id = ?", (order_id, )) |
|
|
# if cursor.rowcount == 0: |
|
|
# if cursor.rowcount == 0: |
|
|
if row == 0: |
|
|
if row == 0: |
|
|
return error.error_invalid_order_id(order_id) |
|
|
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, )) |
|
|
# cursor = conn.execute("DELETE FROM new_order_detail where order_id = ?", (order_id, )) |
|
|
# if cursor.rowcount == 0: |
|
|
# if cursor.rowcount == 0: |
|
|
if row == 0: |
|
|
if row == 0: |
|
@ -213,3 +218,75 @@ class Buyer(db_conn.DBConn): |
|
|
return 530, "{}".format(str(e)) |
|
|
return 530, "{}".format(str(e)) |
|
|
|
|
|
|
|
|
return 200, "ok" |
|
|
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 |