Compare commits
3 Commits
b818e56954
...
633955d95f
Author | SHA1 | Date | |
---|---|---|---|
633955d95f | |||
11491a0e43 | |||
50757a2832 |
@ -6,42 +6,42 @@ class ProductService:
|
||||
|
||||
@staticmethod
|
||||
def get_name(product_id: int):
|
||||
cursor.execute(f"select name from product where product.product_id = {product_id}")
|
||||
cursor.execute(f"select name from product where product.id = {product_id}")
|
||||
result = cursor.fetchone()
|
||||
return result['name']
|
||||
|
||||
@staticmethod
|
||||
def get_manufacturer(product_id: int):
|
||||
cursor.execute(f"select manufacturer from product where product.product_id = {product_id}")
|
||||
cursor.execute(f"select user.displayname as seller from product inner join user on product.seller_id = user.id where product.id = {product_id}")
|
||||
result = cursor.fetchone()
|
||||
return result['manufacturer']
|
||||
return result['seller']
|
||||
|
||||
@staticmethod
|
||||
def get_price(product_id: int):
|
||||
cursor.execute(f"select price_pc from product where product.product_id = {product_id}")
|
||||
cursor.execute(f"select price_pc from product where product.id = {product_id}")
|
||||
result = cursor['price_pc']
|
||||
return result[0]
|
||||
|
||||
@staticmethod
|
||||
def get_image(product_id: int):
|
||||
cursor.execute(f"select image from product where product.product_id = {product_id}")
|
||||
cursor.execute(f"select image from product where product.id = {product_id}")
|
||||
result = cursor['image']
|
||||
return base64.b64encode(result[0]).decode('utf-8')
|
||||
|
||||
@staticmethod
|
||||
def get_image_name(product_id: int):
|
||||
cursor.execute(f"select image_name from product where product.product_id = {product_id}")
|
||||
cursor.execute(f"select image_name from product where product.id = {product_id}")
|
||||
result = cursor['image_name']
|
||||
return result[0]
|
||||
|
||||
@staticmethod
|
||||
def get_all_info(product_id: int):
|
||||
cursor.execute(f"select name,manufacturer,price_pc,image_name,image from product where product.product_id = {product_id}")
|
||||
cursor.execute(f"select name, user.displayname as seller, price_pc, image_name, image from product inner join user on product.seller_id = user.id where product.id = {product_id}")
|
||||
result = cursor.fetchone()
|
||||
|
||||
return {
|
||||
"name": result['name'],
|
||||
"manufacturer": result['manufacturer'],
|
||||
"seller": result['seller'],
|
||||
"price": result['price_pc'],
|
||||
"image_name": result['image_name'],
|
||||
"image": base64.b64encode(result['image']).decode('utf-8')
|
||||
|
@ -232,7 +232,7 @@ class UserService:
|
||||
:rtype: bool
|
||||
"""
|
||||
displayname_regex = r"^[a-zA-Z.-_]{1,64}$"
|
||||
return re.match(username_regex, displayname)
|
||||
return re.match(displayname_regex, displayname)
|
||||
|
||||
@staticmethod
|
||||
def __verify_username(username: str) -> bool:
|
||||
|
23
shop.sql
23
shop.sql
@ -121,12 +121,27 @@ after delete
|
||||
on cart_item for each row
|
||||
begin
|
||||
update cart
|
||||
set price_total = (
|
||||
select sum(price_subtotal)
|
||||
set price_total = ifnull(
|
||||
(select sum(price_subtotal)
|
||||
from cart_item
|
||||
where cart_id = old.cart_id
|
||||
where cart_id = old.cart_id),
|
||||
0.00
|
||||
)
|
||||
where id = old.cart_id;
|
||||
end;
|
||||
//
|
||||
delimiter;
|
||||
delimiter;
|
||||
|
||||
delimiter //
|
||||
create trigger calculate_price_subtotal
|
||||
before insert on cart_item
|
||||
for each row
|
||||
begin
|
||||
set new.price_subtotal = (
|
||||
select new.count * p.price_pc
|
||||
from product p
|
||||
where p.id = new.product_id
|
||||
);
|
||||
END;
|
||||
//
|
||||
DELIMITER ;
|
Loading…
x
Reference in New Issue
Block a user