Пример #1
0
def process_user_requst(clientSocket, data):
    print("user线程体")

    if data[1] == "net_validate_admin_user":
        # 验证用户账户和密码

        is_validate_success, user = validate_admin_user(
            data[2].user_id, data[2].password)

        clientSocket.send(pickle.dumps((is_validate_success, user)))
        clientSocket.close()  #使用后一定要关闭连接
        return

    if data[1] == "add_user":
        # 添加一个用户
        result = add_user(data[2])  # 获得添加结果

        clientSocket.send(pickle.dumps((result)))  # 向客户端返回数据
        clientSocket.close()  #使用后一定要关闭连接
        return

    if data[1] == "select_new_user":
        # 查找最新添加的用户数据
        user = select_new_user()  # 获得最新添加的用户数据

        clientSocket.send(pickle.dumps((user)))  # 向客户端返回数据
        clientSocket.close()  #使用后一定要关闭连接
        return
    if data[1] == "update_user":
        # 更新用户信息
        result = update_user(data[2])  # 获得更新结果

        clientSocket.send(pickle.dumps((result)))  # 向客户端返回数据
        clientSocket.close()  #使用后一定要关闭连接
        return
    if data[1] == "remove_user":
        # 删除用户
        result = remove_user(data[2].user_id)  # 获得删除结果

        clientSocket.send(pickle.dumps((result)))  # 向客户端返回数据
        clientSocket.close()  #使用后一定要关闭连接
        return
    if data[1] == "select_user":
        # 查找一个用户,
        result, user = select_user(data[2].user_id)  # 获得删除结果

        clientSocket.send(pickle.dumps((result, user)))  # 向客户端返回数据
        clientSocket.close()  #使用后一定要关闭连接
        return
    if data[1] == "get_all_user":
        # 查找所有用户,
        users = get_all_user()  # 获得所有用户信息

        clientSocket.send(pickle.dumps((users)))  # 向客户端返回数据
        clientSocket.close()  #使用后一定要关闭连接
        return
Пример #2
0
def showUserMgrView(pros, users, orders, sign):
    print("=====================用户管理界面=============")
    print("=====================用户列表=================")
    # 获取牌所有商品
    if users != None:
        for user_lists in users:
            user_lists.show_user()
    print("=====================用户列表=================")
    print("选择操作:1.添加用户 2.修改用户信息 3.删除用户 4.显示用户信息 5.退出系统 6.返回 ")

    user_oper = int(input())

    if user_oper == 1:
        print("添加用户")
        user_name = input("请输入添加用户的用户名:")
        user_password = input("请输入添加用户的用户密码:")
        user_address = input("请输入添加用户的用户地址:")
        user_isadmin = input("是否为管理员(Y/N):")

        user_new = User(1, user_name, user_password, user_address,
                        user_isadmin)  # 生成一个用户对象

        uadd = add_user(user_new)

        if not uadd:
            print("用户添加失败!")
        else:
            print("用户添加成功")
            # 向数据库查询该表的最后一条数据的编号,也就是我们刚刚添加的数据
            user = select_new_user()
            users.append(user)
    elif user_oper == 2:
        print("修改用户信息")

        try:
            user_id = int(input("请输入修改用户的用户编号:"))
            user_name = input("请输入修改用户的用户名:")
            user_password = input("请输入修改用户的用户密码:")
            user_address = input("请输入修改用户的用户地址:")
            user_isadmin = input("是否为管理员(Y/N):")

        except ValueError:  # 明确捕获ValueError
            # print(traceback.format_exc())
            print("用户编号输入有误,应输入数字!")
            showUserMgrView(pros, users, orders, sign)
        except:
            print("发现未知异常")
            print(traceback.format_exc())

        user = User(user_id, user_name, user_password, user_address,
                    user_isadmin)  # 用新的数据生成一个对象
        result = update_user(user)  # 更新用户

        if not result:
            print("修改用户信息失败!")
            showUserMgrView(pros, users, orders, sign)
        else:
            print("修改用户信息成功!")
            for use_up in users:  # 更新缓存
                if use_up.user_id == user_id:
                    use_up.user_name = user_name
                    use_up.password = user_password
                    use_up.address = user_address
                    use_up.is_admin = user_isadmin
    elif user_oper == 3:
        print("删除用户")

        try:
            user_id = int(input("请输入删除用户的用户编号:"))
        except ValueError:  # 明确捕获ValueError
            # print(traceback.format_exc())
            print("用户编号输入有误,应输入数字!")
            showUserMgrView(pros, users, orders, sign)
        except:
            print("发现未知异常")
            print(traceback.format_exc())

        sdel = remove_user(user_id)  # 删除用户
        if not sdel:
            print("不能删除此用户,有订单待此用户接收!")
            showUserMgrView(pros, users, orders, sign)
        else:
            print("删除用户成功!")
            for user in users:
                if user.user_id == user_id:
                    users.remove(user)
    elif user_oper == 4:
        print("显示用户信息")

        try:
            user_id = int(input("请输入查询用户的用户编号:"))
        except ValueError:  # 明确捕获ValueError
            # print(traceback.format_exc())
            print("用户编号输入有误,应输入数字!")
            showUserMgrView(pros, users, orders, sign)
        except:
            print("发现未知异常")
            print(traceback.format_exc())

        selt = select_user(user_id)  # 查询用户
        print(5555555)
        if selt[0]:
            selt[1].show_user()
        else:
            print("查询失败!没有这个用户哦!!")
    elif user_oper == 5:
        print("=" * 10 + "您已经退出系统" + "=" * 15)
        exit(0)
    elif user_oper == 6:
        from com.ly16.view.BgMainView import show_bg_main_view
        show_bg_main_view(pros, users, orders, sign)
    else:
        print("输入有误,请输入(1~5)数字!")

    showUserMgrView(pros, users, orders, sign)
Пример #3
0
def show_order_main_view(pros, users, orders, sign):
    print("==============订单主界面==============")
    print("=====================订单列表=================")
    # 获取牌所有订单
    if pros != None:
        for order_lists in orders:
            order_lists.show_order()
    print("=====================订单列表=================")
    print("请选择操作:1.VIP下单 2.删除订单 3.修改订单 4订单详情5.退出系统 6.返回")
    order_oper = input()
    if order_oper == "1":
        print("VIP下单")

        try:
            user_id = int(input("请输入用户编号:"))
            pro_id = int(input("请输入商品编号:"))
            buy_num = int(input("请输入购买数量:"))
            address = input("请输入收货地址:")
        except ValueError:  # 明确捕获ValueError
            # print(traceback.format_exc())
            print("输入有误,应输入数字!")
            show_order_main_view(pros, users, orders, sign)
        except:
            print("发现未知异常")
            print(traceback.format_exc())

        selt = select_product(pro_id)  # 在数据库去寻找这个商品
        if not selt[0]:
            print("不存在这个商品编号!")
            show_order_main_view(pros, users, orders, sign)
        if selt[1].pro_num < buy_num:
            print("购买商品数量过大,剩余库存:%d" % selt[1].pro_num)
            show_order_main_view(pros, users, orders, sign)

        uselt = select_user(user_id)  # 查询是否存在这个用户编号
        if not uselt[0]:
            print("不存在这个用户编号!!!")
            show_order_main_view(pros, users, orders, sign)

        order_new = Order(1, user_id, pro_id, buy_num, address, 'A', None)
        sadd = add_order(order_new)
        if not sadd:
            print("订单添加失败!")
        else:
            print("订单添加成功")
            # 向数据库查询该表的最后一条数据的编号,也就是我们刚刚添加的数据
            order = select_new_order()
            order = Order(order.order_id, order.user_id, order.pro_id,
                          order.buy_num, order.address, order.order_stat,
                          order.order_time)
            orders.append(order)  # 更新订单缓存

            # 更新数据库的商品信息
            selt[1].pro_num = selt[1].pro_num - buy_num  # 更新库存余量
            pro = Product(selt[1].pro_id, selt[1].pro_name, selt[1].pro_price,
                          selt[1].pro_num)
            update_product(pro)
            # 更新商品缓存
            for pro in pros:  # 更新缓存中的商品数量
                if pro.pro_id == pro_id:
                    pro.pro_num -= buy_num
    elif order_oper == "2":
        print("删除订单")

        try:
            order_id = int(input("请输入要删除的订单编号:"))
        except ValueError:  # 明确捕获ValueError
            # print(traceback.format_exc())
            print("订单编号输入有误,应输入数字!")
            show_order_main_view(pros, users, orders, sign)
        except:
            print("发现未知异常")
            print(traceback.format_exc())

        selt = select_order(order_id)  # 查询这个订单数据,返回(bool,数据)

        if not selt[0]:
            print("找不到这个订单!!!")
            show_order_main_view(pros, users, orders, sign)

        sdel = remove_order(order_id)  # 删除订单
        if not sdel:
            print("删除订单失败!")
            show_order_main_view(pros, users, orders, sign)
        else:
            print("删除订单成功!")
            for order in orders:  # 更新缓存
                if order.order_id == order_id:
                    orders.remove(order)

            # 删除订单时订单的商品应恢复到数据库和缓存
            prot = select_product(selt[1].pro_id)  # 向数据库找到这个商品
            prot[1].pro_num += selt[1].buy_num  # 更新库存余量
            pro = Product(prot[1].pro_id, prot[1].pro_name, prot[1].pro_price,
                          prot[1].pro_num)
            update_product(pro)  # 向数据库提交更新数据

            # 释放商品到缓存
            for pro in pros:
                if pro.pro_id == selt[1].pro_id:
                    pro.pro_num += selt[1].buy_num

    elif order_oper == "3":
        print("修改订单")

        try:
            order_id = int(input("请输入要修改的订单编号:"))
        except ValueError:  # 明确捕获ValueError
            # print(traceback.format_exc())
            print("订单编号输入有误,应输入数字!")
            show_order_main_view(pros, users, orders, sign)
        except:
            print("发现未知异常")
            print(traceback.format_exc())

        selt = select_order(order_id)  # 查找这个订单
        if not selt[0]:
            print("没有这个订单编号!")
            show_order_main_view(pros, users, orders, sign)
        stat = input("请输入订单状态(A:新订单 B:配货中 C:物流中 D:已签收 E:可归档)")

        # user_id = int(input("请输入新的用户编号:"))
        # pro_id = int(input("请输入新的商品编号:"))
        # buy_num = int(input("请输入新的购买数量:"))
        # address = input("请输入新的收货地址:")
        # stat = input("请输入订单状态:")
        # selt = select_product(pro_id)
        # if not selt[0]:
        #     print("不存在这个商品编号!")
        #     show_order_main_view(pros, users, orders, sign)
        # uselt = select_user(user_id)
        # if not uselt[0]:
        #     print("不存在这个用户编号!!!")
        #     show_order_main_view(pros, users, orders, sign)
        # order_new = Order(order_id, user_id, pro_id, buy_num, address, stat)
        # colt = change_order(order_new)

        colt = modify_order_stat(order_id, stat)  # 修改订单

        if colt:
            print("订单修改成功!!")
            for order in orders:
                if order.order_id == order_id:
                    # order.user_id = user_id
                    # order.pro_id = pro_id
                    # order.buy_num = buy_num
                    # order.address = address
                    order.order_stat = stat
                    # print(order)
        else:
            print("订单修改失败!!")
    elif order_oper == "4":
        print("订单详情")

        try:
            order_id = int(input("请输入要查询的订单编号:"))
        except ValueError:  # 明确捕获ValueError
            # print(traceback.format_exc())
            print("订单编号输入有误,应输入数字!")
            show_order_main_view(pros, users, orders, sign)
        except:
            print("发现未知异常")
            print(traceback.format_exc())

        selt = select_order(order_id)
        if selt[0]:
            selt[1].show_order()
        else:
            print("查询失败!")
    elif order_oper == "5":
        print("=" * 10 + "您已经退出系统" + "=" * 15)
        exit(0)
    elif order_oper == "6":
        from com.ly16.view.BgMainView import show_bg_main_view
        show_bg_main_view(pros, users, orders, sign)
    else:
        print("输入有误,请输入(1~5)数字!")

    show_order_main_view(pros, users, orders, sign)
    # return 结束函数调用
    # return 'result' #返回单个值

    # return True, "result"  # 返回多个值

    # 匿名函数:之前是参数,:之后是执行语句,并返回

    if __name__ == '__main__':
        # x, y = show_bg_main_view()
        # print(x)
        # print(y)
        pass  # 啥都不做,只是凑成语法正确