# -*- coding:utf-8 -*- """ 二维码管理业务关键字层 """ import allure from dulizhan.library.Dlizhan_interface import DlzhanInterface from base_framework.public_tools import log obj_log = log.get_logger() class DownloadQrcodeManage(DlzhanInterface): """二维码管理业务关键字类""" def __init__(self): super().__init__() @allure.step("创建二维码") def kw_joyhub_download_qrcode_create_post(self, title, id=0, status=1): """ 创建二维码业务关键字 :param id: 主键,新增为0 :param title: 标题 :param status: 状态 (1正常 2停用) :return: 响应结果 """ obj_log.info(f"创建二维码 - title: {title}, status: {status}") params = { "id": id, "title": title, "status": status } resp = self.kw_in_joyhub_download_qrcode_create_post(**params) obj_log.info(f"创建二维码响应: {resp}") return resp @allure.step("获得二维码详情") def kw_joyhub_download_qrcode_get_get(self, qrcode_id): """ 获得二维码详情业务关键字 :param qrcode_id: 二维码ID :return: 响应结果 """ obj_log.info(f"获得二维码详情 - qrcode_id: {qrcode_id}") resp = self.kw_in_joyhub_download_qrcode_get_get(qrcode_id) obj_log.info(f"获得二维码详情响应: {resp}") return resp @allure.step("获得二维码分页") def kw_joyhub_download_qrcode_page_get(self, page_no=1, page_size=10, **kwargs): """ 获得二维码分页业务关键字 :param page_no: 页码 :param page_size: 每页大小 :param kwargs: 其他查询条件 :return: 响应结果 """ obj_log.info(f"获得二维码分页 - page_no: {page_no}, page_size: {page_size}") params = { "pageNo": page_no, "pageSize": page_size } params.update(kwargs) resp = self.kw_in_joyhub_download_qrcode_page_get(**params) obj_log.info(f"获得二维码分页响应: {resp}") return resp @allure.step("更新二维码") def kw_joyhub_download_qrcode_update_put(self, qrcode_id, title, status=1): """ 更新二维码业务关键字 :param qrcode_id: 二维码ID :param title: 标题 :param status: 状态 (1正常 2停用) :return: 响应结果 """ obj_log.info(f"更新二维码 - qrcode_id: {qrcode_id}, title: {title}, status: {status}") params = { "id": qrcode_id, "title": title, "status": status } resp = self.kw_in_joyhub_download_qrcode_update_put(**params) obj_log.info(f"更新二维码响应: {resp}") return resp def clean_test_data_from_db(self, title): """ 从数据库表jh_download_qrcode中删除测试数据 :param title: 要删除的二维码标题 :return: 删除是否成功 """ obj_log.info(f"从数据库删除测试数据 - title: {title}") try: import pymysql # 数据库连接配置(需要根据实际环境配置) connection = pymysql.connect( host='localhost', user='root', password='password', database='joyhub', charset='utf8mb4' ) with connection.cursor() as cursor: sql = "DELETE FROM jh_download_qrcode WHERE title LIKE %s" cursor.execute(sql, (f"%{title}%",)) connection.commit() deleted_count = cursor.rowcount obj_log.info(f"成功删除 {deleted_count} 条测试数据") return True except Exception as e: obj_log.error(f"删除测试数据失败: {str(e)}") return False finally: if 'connection' in locals(): connection.close()