fastadmin+python+mysql +wxbot实现万能模糊查询(和chatgpt一起完成的)

这篇具有很好参考价值的文章主要介绍了fastadmin+python+mysql +wxbot实现万能模糊查询(和chatgpt一起完成的)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 废话不多说直接上代码:

功能,fastadmin后台管理这些机房服务器的信息,wxbot 通过/指令+任意字段的信息查询 让wxbot去数据库里查询相关的信息,在通过wx发送给你。 

 1.创建数据库

CREATE TABLE fa_databank (
    ID INT AUTO_INCREMENT PRIMARY KEY,
    Platform VARCHAR(255) COMMENT '平台名称',
    Type VARCHAR(255) COMMENT '系统类型',
    CPU INT COMMENT 'CPU核心数量',
    Memory_GB INT COMMENT '内存大小 (以GB为单位)',
    System_Disk_GB INT COMMENT '系统硬盘大小 (以GB为单位)',
    Data_Disk_GB INT COMMENT '数据硬盘大小 (以GB为单位)',
    GPU_Memory_GB INT COMMENT 'GPU内存大小 (以GB为单位)',
    Operating_System VARCHAR(255) COMMENT '操作系统类型',
    Login_Account VARCHAR(255) COMMENT '登录账户名称',
    VLAN INT COMMENT '虚拟局域网编号',
    Network_Card_IP VARCHAR(255) COMMENT '网卡的IP地址',
    Mapping_Relationship VARCHAR(255) COMMENT 'IP或者设备的映射关系',
    PartitionInfo VARCHAR(255) COMMENT '分区信息',
    Bastion_Host_Account VARCHAR(255) COMMENT '堡垒机账户名称',
    Bastion_Host_Password VARCHAR(255) COMMENT '堡垒机密码',
    Responsible_Person VARCHAR(255) COMMENT '负责人名称',
    Database_Information VARCHAR(255) COMMENT '数据库连接信息',
    URL VARCHAR(255) COMMENT '访问地址',
    Access_Info VARCHAR(255) COMMENT '访问信息',
    Installed_Service_Name VARCHAR(255) COMMENT '安装服务的名称',
    Path_Address VARCHAR(255) COMMENT '路径地址'
);

 2.fastadmin管理界面,导入信息fastadmin+python+mysql +wxbot实现万能模糊查询(和chatgpt一起完成的),python,mysql,wxbot,chatgpt,python万能模糊查询

3.模糊查询函数,并且做了脱敏

import pymysql

def query_information(value):
    # 数据库连接参数,根据实际情况修改
    db = pymysql.connect("localhost", "username", "password", "database")
    cursor = db.cursor()

    # 注意:这里列出了所有的字段,根据实际情况修改
    fields = ['Platform', 'Type', 'CPU', 'Memory_GB', 'System_Disk_GB', 'Data_Disk_GB', 'GPU_Memory_GB', 
              'Operating_System', 'Login_Account', 'VLAN', 'Network_Card_IP', 'Mapping_Relationship', 
              'PartitionInfo', 'Bastion_Host_Account', 'Bastion_Host_Password', 'Responsible_Person', 
              'Database_Information', 'URL', 'Access_Info', 'Installed_Service_Name', 'Path_Address']

    # 映射字段英文名称和中文备注
    field_map = {
        'Platform': '平台',
        'Type': '类型',
        'CPU': 'CPU',
        'Memory_GB': '内存(GB)',
        'System_Disk_GB': '系统硬盘(GB)',
        'Data_Disk_GB': '数据硬盘(GB)',
        'GPU_Memory_GB': '显存(GB)',
        'Operating_System': '操作系统',
        'Login_Account': '登录账号',
        'VLAN': 'vlan',
        'Network_Card_IP': '网卡IP',
        'Mapping_Relationship': '映射关系',
        'PartitionInfo': '分区信息',
        'Bastion_Host_Account': '堡垒机账号',
        'Bastion_Host_Password': '堡垒机密码',
        'Responsible_Person': '负责人',
        'Database_Information': '数据库信息',
        'URL': 'URL',
        'Access_Info': '访问信息',
        'Installed_Service_Name': '安装服务名称',
        'Path_Address': '路径地址',
    }

    sensitive_fields = ['Login_Account', 'Bastion_Host_Password', 'Database_Information', 'Access_Info']

    # 构造SQL查询语句
    sql = "SELECT * FROM fa_databank WHERE " + " OR ".join([f"{field} LIKE %s" for field in fields])

    result_str = ''  # 用于存储结果的字符串
    try:
        cursor.execute(sql, [f"%{value}%"]*len(fields))  # 为每个字段提供值
        results = cursor.fetchall()
        if results:
            for row in results:
                # 获取字段名并将结果转换为字典
                columns = [column[0] for column in cursor.description]
                row_dict = dict(zip(columns, row))
                for field, val in row_dict.items():
                    if field in sensitive_fields:
                        val = '*' * len(str(val))  # 将敏感信息替换为星号
                    result_str += f"{field_map.get(field, field)}: {val}\n"
                result_str += "-"*50 + "\n"  # 分隔线
        else:
            result_str = "系统无记录"
    except Exception as e:
        result_str = f"Error occurred: {e}"
    finally:
        cursor.close()
        db.close()

    return result_str

# 使用函数查询数据
print(query_information('192.168'))  # 只输入部分IP地址也可以查询到相关信息
print(query_information('推流'))  # 只输入部分平台名称也可以查询到相关信息

4.wxbot 机器人对接效果

fastadmin+python+mysql +wxbot实现万能模糊查询(和chatgpt一起完成的),python,mysql,wxbot,chatgpt,python万能模糊查询

 文章来源地址https://www.toymoban.com/news/detail-598935.html

到了这里,关于fastadmin+python+mysql +wxbot实现万能模糊查询(和chatgpt一起完成的)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 个人学习记录——MySQL的模糊查询

    模糊查询实质上是用利用数据库SQL语言的模糊搜索,如‘like’,通配符‘%’,‘_’。 但我后来了解到还有‘[]’和\\\'[^]\\\'的用法,特此记录 1 “%” 表示0个或多个字符 Select * from 表名 where 列名 like \\\'%\\\' //查询出全部数据  Select * from 表名 where 列名 like \\\'x\\\' //完全匹配 Select * fro

    2024年02月09日
    浏览(28)
  • mysql 模糊查询like优化方案(亲测)

    本文的测试是基于 740w条 测试数据进行的,只讨论like模糊查询的优化方案。其他SQL优化可参考: SQL优化的几种方式 查询开头是“今天不开心”的聊天记录,是可以走索引的。 查询包含“今天不开心”的聊天记录,是不能走索引的。 咱们主要优化的是第二种情况,我本人测

    2023年04月08日
    浏览(80)
  • Mysql 字段模糊查询,在页面中输入%查询全部的问题处理

    一、背景   测试小妹闲着无聊,针对某一个查询项进行“ % ”测试,正常查询效果应该是返回空数据,但是却查出所有的数据。 二、解决方案 1、在使用mybatis的模糊查询时,有两个特殊符号需要注意: %(百分号):相当于任意多个字符; _(下划线):相当于任意的单个字符;

    2024年02月01日
    浏览(28)
  • Mysql 查询以逗号(,)分割的字符串,精确查找和模糊查询

    1、测试数据库表结构 2、测试数据 数据库有一个字段ancestors存储着部门父级id,每,用逗号分隔符隔开。比如:ancestors:“0,1,2,3,4,5,6,7,8,11,12,9,10,13\\\"”,我需要查询ancestors字段中包含“2”的信息 结果: 结果: 使用 FIND_IN_SET 函数能够准确查出 ancestors字段中含有 2 这项有哪些

    2024年02月11日
    浏览(32)
  • 关于mysql数据库模糊查询的潜在问题

    初学者在学习的时候经常会写下面的模糊查询语句: 有两方面的问题,第一,我们从结果分析入手: 我们想看到的是什么,我们想看到的是蔡徐坤这个字符串能出现在我搜索的第一个位置,而不是我明明搜的蔡徐坤,蔡徐坤却出现在了最后面,前面一堆不太相干的。而之所

    2024年02月13日
    浏览(28)
  • 软件测试|MySQL LIKE:深入了解模糊查询

    简介 在数据库查询中,模糊查询是一种强大的技术,可以用来搜索与指定模式匹配的数据。MySQL数据库提供了一个灵活而强大的LIKE操作符,使得模糊查询变得简单和高效。本文将详细介绍MySQL中的LIKE操作符以及它的用法,并通过示例演示其功能。 基本语法 MySQL中的LIKE操作符

    2024年02月02日
    浏览(40)
  • mysql 的增删改查以及模糊查询、字符集语句的使用

    net  start mysql81 mysql -uroot -p show databases; show databases like \\\'%schema\\\'; create databases mydb; create databases if not exists mydb; show warnings; drop database mydb; drop database if not exists mydb; select database(); use mydb(); select database(); select version(); select user(); create database mydb2 character gbk collate gbk_chinese_ci show d

    2024年02月10日
    浏览(30)
  • js实现模糊查询

    今天为大家分享的是使用js实现模糊查询: 首先写出html 再写css 现在结构样式都有的就该写数据了  下一步就该js部分了 这样就制作完成了,整体代码如下: 以上就是本章的全部内容,感谢您的阅读。 

    2024年02月16日
    浏览(27)
  • 【多选模糊查询】多选模糊查询, 全文检索 和 正则匹配,任选其一 查出结果的3种实现

    1,3,4 是我们库里的,下拉框多选,选择了3个值 搜 1,搜出 前两条。 搜 2,搜出 第一条 和 第三条 搜2,4,搜出都会搜出来 参考:https://blog.csdn.net/qq120631157/article/details/130079470 注意配置: 前端的参数替换一下 参考文章:https://blog.csdn.net/qq120631157/article/details/130082537 重在实现

    2024年02月03日
    浏览(34)
  • layui实现地址下拉框模糊查询

    注意:千万不要少 lay-search 控制器中 service层

    2024年01月18日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包