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()