# -*- coding:utf-8 -*- """ news分类管理业务关键字层 """ import allure from dulizhan.library.Dlizhan_interface import DlzhanInterface from base_framework.public_tools import log obj_log = log.get_logger() class NewsCateManage(DlzhanInterface): """news分类管理业务关键字类""" def __init__(self): super().__init__() @allure.step("创建news分类") def kw_joyhub_news_cate_create_post(self, name, id=0, status=1, rank_num=1, route=None, cover_image=None): """ 创建news分类业务关键字 :param id: 主键,新增为0 :param name: 分类名称 :param status: 状态 (1正常 2停用) :param rank_num: 排序号 :param route: 路由(可选) :param cover_image: 缩略图(可选) :return: 响应结果 """ obj_log.info(f"创建news分类 - name: {name}") params = { "id": id, "name": name, "status": status, "rankNum": rank_num } if route is not None: params["route"] = route if cover_image is not None: params["coverImage"] = cover_image resp = self.kw_in_joyhub_news_cate_create_post(**params) obj_log.info(f"创建news分类响应: {resp}") return resp @allure.step("删除news分类") def kw_joyhub_news_cate_delete_delete(self, news_cate_id): """ 删除news分类业务关键字 :param news_cate_id: news分类ID :return: 响应结果 """ obj_log.info(f"删除news分类 - news_cate_id: {news_cate_id}") resp = self.kw_in_joyhub_news_cate_delete_delete(news_cate_id) obj_log.info(f"删除news分类响应: {resp}") return resp @allure.step("批量删除news分类") def kw_joyhub_news_cate_delete_list_delete(self, ids): """ 批量删除news分类业务关键字 :param ids: news分类ID列表 :return: 响应结果 """ obj_log.info(f"批量删除news分类 - ids: {ids}") resp = self.kw_in_joyhub_news_cate_delete_list_delete(ids) obj_log.info(f"批量删除news分类响应: {resp}") return resp @allure.step("获得news分类详情") def kw_joyhub_news_cate_get_get(self, news_cate_id): """ 获得news分类详情业务关键字 :param news_cate_id: news分类ID :return: 响应结果 """ obj_log.info(f"获得news分类详情 - news_cate_id: {news_cate_id}") resp = self.kw_in_joyhub_news_cate_get_get(news_cate_id) obj_log.info(f"获得news分类详情响应: {resp}") return resp @allure.step("获得news分类分页") def kw_joyhub_news_cate_page_get(self, page_no=1, page_size=10, **kwargs): """ 获得news分类分页业务关键字 :param page_no: 页码 :param page_size: 每页大小 :param kwargs: 其他查询条件 :return: 响应结果 """ obj_log.info(f"获得news分类分页 - page_no: {page_no}, page_size: {page_size}") params = { "pageNo": page_no, "pageSize": page_size } params.update(kwargs) resp = self.kw_in_joyhub_news_cate_page_get(**params) obj_log.info(f"获得news分类分页响应: {resp}") return resp @allure.step("更新news分类") def kw_joyhub_news_cate_update_put(self, news_cate_id, name, status=1, rank_num=1, route=None, cover_image=None): """ 更新news分类业务关键字 :param news_cate_id: news分类ID :param name: 分类名称 :param status: 状态 (1正常 2停用) :param rank_num: 排序号 :param route: 路由(可选) :param cover_image: 缩略图(可选) :return: 响应结果 """ obj_log.info(f"更新news分类 - news_cate_id: {news_cate_id}, name: {name}") params = { "id": news_cate_id, "name": name, "status": status, "rankNum": rank_num } if route is not None: params["route"] = route if cover_image is not None: params["coverImage"] = cover_image resp = self.kw_in_joyhub_news_cate_update_put(**params) obj_log.info(f"更新news分类响应: {resp}") return resp def clean_test_data_from_db(self, name): """ 从数据库表jh_news_cate中删除测试数据 :param name: 要删除的分类名称 :return: 删除是否成功 """ obj_log.info(f"从数据库删除测试数据 - name: {name}") 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_news_cate WHERE name LIKE %s" cursor.execute(sql, (f"%{name}%",)) 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()