from conf.confsetting importHOST,USER,PASSWD,DB_NAMEfrom lib.mysql importop_mysqldeflogin(u_name, u_pass):"用户登录"name=str(u_name)
passwd=str(u_pass)
res=Noneif not name or notpasswd:print("error,用户名或密码不能为空!")else:
my_sql= "select u.u_id,u.u_name,u.u_passwd,u.money,u.role from userinfo u where u.u_name='%s';" %name
user_info= op_mysql(host=HOST, user=USER, passwd=PASSWD, db=DB_NAME, sql=my_sql)if len(user_info) ==0:print('error,用户名不存在')else:for u in user_info: #可能存在同名
if u['u_passwd'] ==passwd:print('用户:{u} 登录成功!'.format(u=u))
res=uif notres:print('error,密码输入错误')returnresdefget_goods():"查询所有商品"my_sql= "select p.* from product p;"goods_info= op_mysql(host=HOST, user=USER, passwd=PASSWD, db=DB_NAME, sql=my_sql)print('success,查询所有商品成功,商品信息:', goods_info)returngoods_infodefbug_goods(u_info, g_name):"用户购买商品"res=None
g_name=str(g_name)if notg_name :print('购买商品名称不能为空!')else:
goods_info=get_goods()for i inrange(len(goods_info)):if goods_info[i]['p_name'] ==g_name:if u_info['money'] < goods_info[i]['p_price']:
res= '余额不足购买商品失败!', goods_info[i]else:
new_money= u_info['money'] - goods_info[i]['p_price']
new_money=round(new_money,2)
my_sql_1= "update userinfo set money = '%d' where u_id = '%d';"%(new_money,u_info['u_id'])
my_sql_2= "INSERT INTO carts (u_id,p_id) VALUES('%d','%d');"%(u_info['u_id'],goods_info[i]['p_id'])
op_mysql(host=HOST, user=USER, passwd=PASSWD, db=DB_NAME, sql=my_sql_1)
op_mysql(host=HOST, user=USER, passwd=PASSWD, db=DB_NAME, sql=my_sql_2)
res= '购买商品成功!', goods_info[i]if notres:
res= 'error ,购买商品%s不存在'%g_namereturnresdefget_carts_money(u_id):"查询用户购物车、余额"my_sql= "select u.money from userinfo u where u.u_id ='%d';"%u_id
u_money= op_mysql(host=HOST, user=USER, passwd=PASSWD, db=DB_NAME, sql=my_sql)
my_sql= "select p.p_name from userinfo u ,carts c ,product p where u.u_id='%d'and u.u_id =c.u_id and c.p_id= p.p_id;"%u_id
u_cart= op_mysql(host=HOST, user=USER, passwd=PASSWD, db=DB_NAME, sql=my_sql)return "账户余额:{m} 购物车:{c}".format(m =u_money,c =u_cart)defadd_goods(g_name, g_price):"添加商品"
if notg_name:return 'error,添加商品失败,商品名称必须输入'price= round(float(g_price), 2)if price <=0:return 'error,添加商品失败,商品价格须大于0'my_sql= "insert into product(p_name,p_price) values('%s','%s');"%(g_name,g_price)
op_mysql(host=HOST, user=USER, passwd=PASSWD, db=DB_NAME, sql=my_sql)return 'success,添加商品:%s成功'%g_namedefrecharge(u_id, amount):"输入用户ID给用户充值"u_id=int(u_id)
u_amount= round(float(amount), 2)if u_amount <=0:return 'error,充值金额须大于0'my_sql= "select u.u_name,u.money from userinfo u where u.u_id ='%d';" %u_id
user_info= op_mysql(host=HOST, user=USER, passwd=PASSWD, db=DB_NAME, sql=my_sql)if len(user_info) ==0:return '用户id不存在'new_money= user_info[0]['money'] +u_amount
my_sql= "update userinfo set money = '%d' where u_id = '%d';"%(new_money,u_id)
op_mysql(host=HOST, user=USER, passwd=PASSWD, db=DB_NAME, sql=my_sql)return 'success,给用户:%s 充值%s 元 成功'% (user_info[0]['u_name'],u_amount)