You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

305 lines
11 KiB

import sys
from tkinter import *
from SqlClass import sqlclass
class Goods:
def __init__(self, kind, name, band, place, amount, cost, price, ):
self.kind = kind
self.name = name
self.band = band
self.place = place
self.amount = amount
self.cost = cost
self.price = price
sql = sqlclass('localhost',3306,'root','2363305350','python_cs')
def menu1():
print(" ")
print(" ")
print(" ")
print(" ")
print(" ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ 超 市 管 理 系 统 ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆")
print(" ")
print(" ")
print(" ************* 1.增添商品 ************* ")
print(" ")
print(" ************* 2.查看商品大全 ************* ")
print(" ")
print(" ************* 3.查询商品 ************* ")
print(" ")
print(" ************* 4.删除商品 ************* ")
print(" ")
print(" ************* 5.修改商品 ************* ")
print(" ")
print(" ************* 0.退出系统 ************* ")
def menu2():
print(" ")
print(" ")
print(" ")
print(" ")
print(" ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ 超 市 管 理 系 统 ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆")
print(" ")
print(" ")
print(" ************* 1.查看商品大全 ************* ")
print(" ")
print(" ************* 2.查询商品 ************* ")
print(" ")
print(" ************* 3.购买商品 ************* ")
print(" ")
print(" ************* 0.退出系统 ************* ")
def change_menu():
print(" ************* 1.修改种类 ************* ")
print(" ")
print(" ************* 2.修改名字 ************* ")
print(" ")
print(" ************* 3.修改数量 ************* ")
print(" ")
print(" ************* 4.修改品牌 ************* ")
print(" ")
print(" ************* 5.修改产地 ************* ")
print(" ")
print(" ************* 6.修改进价 ************* ")
print(" ")
print(" ************* 7.修改售价 ************* ")
print(" ")
print(" ************* 8.全部信息 ************* ")
print(" ")
def add():
while True:
print('可输入的商品种类有:水果、日用品、饮料')
# with open('supermarket.txt', 'a') as f:
kind = input('请输入商品的种类:')
name = input('请输入商品的名称:')
band = input('请输入商品的品牌: ')
place = input('请输入商品的产地: ')
amount = input('请输入商品的数量:')
cost = input('请输入商品的进价:')
price = input('请输入商品的售价:')
# goods = Goods(kind, name, band, place, amount, cost, price)
ret = sql.sql_insert('t_commode',{'commod_type':kind,'commod_name':name,'commode_brand':band,'commode_pro':place,'commode_num':amount,'commode_jinjia':cost,'commode_shoujia':price})
if ret> 0:
print('插入成功')
a = input('是否继续增加商品?(输入1继续输入2返回菜单)')
if a == '1':
continue
else:
break
def view():
# 查看商品大全
data = sql.sql_query('t_commode')
print(('id','类别','名称','品牌','产地','数量','进价','售价'))
for i in data:
print(i)
# while True:
# with open("supermarket.txt", 'r') as f:
# lines = f.readlines()
# for line in lines:
# print(line)
# a = input('提示输入2返回菜单\n')
# if a == '2':
# break
def delete():
while True:
discard = input("输入你想删除的商品id:")
ret = sql.sql_del('t_commode', f"commod_id='{discard}'")
if ret > 0:
print('删除成功')
a = input('提示输入2返回菜单\n')
if a == '2':
break
# with open('supermarket.txt', 'r+') as f:
# lines = f.readlines()
# f.seek(0)
# for line in lines:
# if discard not in line:
# f.write(line)
# f.truncate()
def revise():
while True:
print('\n')
change_menu()
view()
name = input("请输入你想要修改的商品id: ")
x = int(input('请输入对应功能的数字:'))
match x:
case 1:
new_info = input("请输入修改后的信息: ")
sql.sql_up('t_commode',{'commod_type':new_info},f"commod_id={name}")
case 2:
new_info = input("请输入修改后的信息: ")
sql.sql_up('t_commode',{'commod_name':new_info},f"commod_id={name}")
case 3:
new_info = input("请输入修改后的信息: ")
sql.sql_up('t_commode',{'commode_num':new_info},f"commod_id={name}")
case 4:
new_info = input("请输入修改后的信息: ")
sql.sql_up('t_commode',{'commode_brand':new_info},f"commod_id={name}")
case 5:
new_info = input("请输入修改后的信息: ")
sql.sql_up('t_commode',{'commode_pro':new_info},f"commod_id={name}")
case 6:
new_info = input("请输入修改后的信息: ")
sql.sql_up('t_commode',{'commod_jinjia':new_info},f"commod_id={name}")
case 7:
new_info = input("请输入修改后的信息: ")
sql.sql_up('t_commode',{'commod_shoujia':new_info},f"commod_id={name}")
case 8:
view()
print('修改成功')
a = input('提示输入2返回菜单\n')
if a == '2':
break
def research():
while True:
search = input("请输入你想要查询的商品名称: ")
rest = sql.sql_query('t_commode',f"commod_name='{search}'")
print(rest)
a = input('提示输入2返回菜单\n')
if a == '2':
break
# with open("supermarket.txt", 'r') as f:
# lines = f.readlines()
# for line in lines:
# if search in line:
# print(line)
def purchase():
while True:
view()
name = input('请输入你想购买的商品名称:')
amount = int(input('请输入你想购买的数量:'))
rest = sql.sql_query('t_commode',f"commod_name='{name}'")
shoujia =rest[0][7]
shuliang =rest[0][5]
shuliang -= int(amount)
print('一共花费:', (int(shoujia) * amount))
sql.sql_up('t_commode',{'commode_num':shuliang},f"commod_name='{name}'")
a = input('提示输入2返回菜单\n')
if a == '2':
break
def main1():
while True:
menu1()
print('\n')
x = int(input("请输入功能对应的数字:"))
match x:
case 0:
sys.exit()
case 1:
add()
case 2:
view()
case 3:
research()
case 4:
delete()
case 5:
revise()
case _:
print("输入有错,请重新输入")
def main2():
while True:
menu2()
print('\n')
x = int(input("请输入功能对应的数字:"))
match x:
case 0:
sys.exit()
case 1:
view()
case 2:
research()
case 3:
purchase()
case _:
print("输入有错,请重新输入")
def login(): # 用来区分顾客、管理员和退出操作
print('==========Welcome to Shopping Center==========')
user = input("用户请按1管理员请按2,退出请按0:")
if user == '2':
login_administrator()
if user == '1':
login_view()
else:
return 0
def login_administrator(): # 管理员输入
user_name = input("请输入管理员登录名:")
user_pass = input("请输入管理员登录密码:")
data = sql.sql_query('t_ad', f"ad_acc='{user_name}'")
if len(data)==0:
print('账号输入错误哦!请重新输入')
login()
else:
if data[0][2] == user_pass:
print('登录成功')
main1()
else:
print('密码错误')
login_administrator()
# if user_name == "admin":
# password = input("请输入密码:")
# if password == "5678":
# print("欢迎您,伟大的管理员")
# main1()
# else:
# print("密码错误,请重新输入")
# login_administrator()
# else:
# print("账号输入错误哦!请重新输入")
# login()
def login_view():
# 设置登录窗口
win = Tk()
win.title('登陆')
win.geometry('300x150')
win.resizable(0, 0)
# 设置账号
Label(text='账号:').place(x=50, y=30)
uname = Entry(win)
uname.place(x=100, y=30)
# 设置密码
Label(text='密码:').place(x=50, y=70)
pwd = Entry(win)
pwd.place(x=100, y=70)
# 登陆
def denglu():
username = uname.get()
password = pwd.get()
data = sql.sql_query('t_user',f"user_acc='{username}'")
if len(data)==0:
print('没有该用户')
else:
if data[0][2] == password:
print('登录成功')
main2()
else:
print('密码错误')
Button(text='登陆', command=denglu).place(x=100, y=110)
win.mainloop()
if __name__ == '__main__':
login()