700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 简单的模拟京东商城购买过程-pymysql

简单的模拟京东商城购买过程-pymysql

时间:2020-03-19 18:24:41

相关推荐

简单的模拟京东商城购买过程-pymysql

学习python和数据分析推荐地方:

获取lynda官网会员的方式:/item.htm?id=557746408785

from pymysql import connectclass JD(object):"""创建一个京东的服务"""def __init__(self):"""初始化操作,数据库,类属性"""# 创建一个SQL连接self.conn = connect(host="localhost", port=3306,database="jing_dong", user="root",password="mysql", charset="utf8")# 创建一个游标self.cursor = self.conn.cursor()self.customer_id = Nonedef run(self):while True:JD.print_menu()option = input("输入:")if option == "1":self.show_all_goods()elif option == "2":self.log_in()pass # TODO 登陆elif option == "3":self.register()pass # TODO 注册elif option == "4":self.place_order()pass # TODO 下订单elif option == "5":breakpass # TODO 退出系统def show_all_goods(self):try:sql = """select * from goods"""self.cursor.execute(sql)for item in self.cursor.fetchall():print(item)except Exception as E:print("读取数据失败")def log_in(self):"""登录操作"""user_name = input("请输入用户名:")password = input("请输入密码:")sql = """select * from user_info where user_name=%s and password=%s"""if not self.cursor.execute(sql, [user_name, password]):print("用户名或者密码错误!")returnuser_id = self.cursor.fetchone()[0]print("登录成功!")# 保存本地登录状态self.customer_id = user_iddef register(self):user_name = input("请输入用户名:")try:sql = """select * from user_info where user_name=%s"""if self.cursor.execute(sql, [user_name]):print("该用户名已经注册!")returnpassword = input("请输入密码:")address = input("请输入地址:")mobile = input("请输入电话:")sql = """insert into user_info value(0, %s, %s, %s, %s)"""self.cursor.execute(sql, [user_name, password, address, mobile])mit()except Exception as e:print("注册失败!")self.conn.rollback()returnelse:print("注册成功!")def place_order(self):customer_id = int(self.customer_id)if self.customer_id is None:print("请先登录账号!")return# 选择商品,获取商品idself.show_all_goods()goods_id = input("请输入您要购买的商品编号:")sql = """select * from goods where id=%s"""if not self.cursor.execute(sql, [goods_id]):print("输入有误,请重试!")print("购买失败!")returnprint("您选择的商品信息为:", self.cursor.fetchall())try:# 添加下单时间, 商品id到orders_listsql = """insert into orders_list values(0, now(), %s)"""self.cursor.execute(sql, [customer_id])order_id = self.cursor.lastrowid# 添加order_id, goods_id 和qty到order_detailsql = """insert into order_detail VALUES(0, %s, %s, 1)"""self.cursor.execute(sql, [order_id, goods_id])# 提交sql请求mit()except Exception as E:print("购买失败!", E)self.conn.rollback()returnfinally:print("购买成功!")@staticmethoddef print_menu():menu = """----欢迎来到 京东商城-----1 显示所有商品2 登陆3 注册4 下订单5 退出系统请开始你的选择-------:"""print(menu)def __del__(self):"""退出程序,关灯"""self.cursor.close()self.conn.close()def main():# create mall servicejd = JD()# start servicejd.run()if __name__ == '__main__':main()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。