# -*- 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 ProductAttrManage(DlzhanInterface): """产品属性+产品属性值管理业务关键字类""" def __init__(self): super().__init__() # ============ 产品属性管理方法 ============ @allure.step("创建产品属性") def kw_joyhub_product_attr_type_create_post(self, name, type=2, id=0, status=1, remark=None, rank_num=None): """ 创建产品属性业务关键字 :param id: 主键,新增为0 :param type: 属性类型:1-颜色属性(有色卡),2-普通属性 :param name: 属性名称 :param status: 状态 (1正常 2停用) :param remark: 备注(可选) :param rank_num: 排序号(可选) :return: 响应结果 """ obj_log.info(f"创建产品属性 - name: {name}, type: {type}") params = { "id": id, "type": type, "name": name, "status": status } if remark is not None: params["remark"] = remark if rank_num is not None: params["rankNum"] = rank_num resp = self.kw_in_joyhub_product_attr_type_create_post(**params) obj_log.info(f"创建产品属性响应: {resp}") return resp @allure.step("删除产品属性") def kw_joyhub_product_attr_type_delete_delete(self, product_attr_type_id): """ 删除产品属性业务关键字 :param product_attr_type_id: 产品属性ID :return: 响应结果 """ obj_log.info(f"删除产品属性 - product_attr_type_id: {product_attr_type_id}") resp = self.kw_in_joyhub_product_attr_type_delete_delete(product_attr_type_id) obj_log.info(f"删除产品属性响应: {resp}") return resp @allure.step("批量删除产品属性") def kw_joyhub_product_attr_type_delete_list_delete(self, ids): """ 批量删除产品属性业务关键字 :param ids: 产品属性ID列表 :return: 响应结果 """ obj_log.info(f"批量删除产品属性 - ids: {ids}") resp = self.kw_in_joyhub_product_attr_type_delete_list_delete(ids) obj_log.info(f"批量删除产品属性响应: {resp}") return resp @allure.step("获得产品属性详情") def kw_joyhub_product_attr_type_get_get(self, product_attr_type_id): """ 获得产品属性详情业务关键字 :param product_attr_type_id: 产品属性ID :return: 响应结果 """ obj_log.info(f"获得产品属性详情 - product_attr_type_id: {product_attr_type_id}") resp = self.kw_in_joyhub_product_attr_type_get_get(product_attr_type_id) obj_log.info(f"获得产品属性详情响应: {resp}") return resp @allure.step("获得产品属性分页") def kw_joyhub_product_attr_type_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_product_attr_type_page_get(**params) obj_log.info(f"获得产品属性分页响应: {resp}") return resp @allure.step("更新产品属性") def kw_joyhub_product_attr_type_update_put(self, product_attr_type_id, name, type=2, status=1, remark=None, rank_num=None): """ 更新产品属性业务关键字 :param product_attr_type_id: 产品属性ID :param name: 属性名称 :param type: 属性类型:1-颜色属性(有色卡),2-普通属性 :param status: 状态 (1正常 2停用) :param remark: 备注(可选) :param rank_num: 排序号(可选) :return: 响应结果 """ obj_log.info(f"更新产品属性 - product_attr_type_id: {product_attr_type_id}, name: {name}") params = { "id": product_attr_type_id, "type": type, "name": name, "status": status } if remark is not None: params["remark"] = remark if rank_num is not None: params["rankNum"] = rank_num resp = self.kw_in_joyhub_product_attr_type_update_put(**params) obj_log.info(f"更新产品属性响应: {resp}") return resp @allure.step("修改产品属性状态") def kw_joyhub_product_attr_type_change_status_put(self, product_attr_type_id, status): """ 修改产品属性状态业务关键字 :param product_attr_type_id: 产品属性ID :param status: 状态 (1正常 2停用) :return: 响应结果 """ obj_log.info(f"修改产品属性状态 - product_attr_type_id: {product_attr_type_id}, status: {status}") params = { "id": product_attr_type_id, "status": status } resp = self.kw_in_joyhub_product_attr_type_change_status_put(**params) obj_log.info(f"修改产品属性状态响应: {resp}") return resp # ============ 产品属性值管理方法 ============ @allure.step("创建产品属性值") def kw_joyhub_product_attr_data_create_post(self, product_attr_type_id, attr_value, id=0, color=None): """ 创建产品属性值业务关键字 :param id: 主键ID,新增为0 :param product_attr_type_id: 关联产品属性表的主键ID :param attr_value: 属性值名称 :param color: 色卡(可选,颜色属性类型时使用) :return: 响应结果 """ obj_log.info(f"创建产品属性值 - product_attr_type_id: {product_attr_type_id}, attr_value: {attr_value}") params = { "id": id, "productAttrTypeId": product_attr_type_id, "attrValue": attr_value } if color is not None: params["color"] = color resp = self.kw_in_joyhub_product_attr_data_create_post(**params) obj_log.info(f"创建产品属性值响应: {resp}") return resp @allure.step("删除产品属性值") def kw_joyhub_product_attr_data_delete_delete(self, product_attr_data_id): """ 删除产品属性值业务关键字 :param product_attr_data_id: 产品属性值ID :return: 响应结果 """ obj_log.info(f"删除产品属性值 - product_attr_data_id: {product_attr_data_id}") resp = self.kw_in_joyhub_product_attr_data_delete_delete(product_attr_data_id) obj_log.info(f"删除产品属性值响应: {resp}") return resp @allure.step("批量删除产品属性值") def kw_joyhub_product_attr_data_delete_list_delete(self, ids): """ 批量删除产品属性值业务关键字 :param ids: 产品属性值ID列表 :return: 响应结果 """ obj_log.info(f"批量删除产品属性值 - ids: {ids}") resp = self.kw_in_joyhub_product_attr_data_delete_list_delete(ids) obj_log.info(f"批量删除产品属性值响应: {resp}") return resp @allure.step("获得产品属性值详情") def kw_joyhub_product_attr_data_get_get(self, product_attr_data_id): """ 获得产品属性值详情业务关键字 :param product_attr_data_id: 产品属性值ID :return: 响应结果 """ obj_log.info(f"获得产品属性值详情 - product_attr_data_id: {product_attr_data_id}") resp = self.kw_in_joyhub_product_attr_data_get_get(product_attr_data_id) obj_log.info(f"获得产品属性值详情响应: {resp}") return resp @allure.step("获得产品属性值分页") def kw_joyhub_product_attr_data_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_product_attr_data_page_get(**params) obj_log.info(f"获得产品属性值分页响应: {resp}") return resp @allure.step("更新产品属性值") def kw_joyhub_product_attr_data_update_put(self, product_attr_data_id, product_attr_type_id, attr_value, color=None): """ 更新产品属性值业务关键字 :param product_attr_data_id: 产品属性值ID :param product_attr_type_id: 关联产品属性表的主键ID :param attr_value: 属性值名称 :param color: 色卡(可选,颜色属性类型时使用) :return: 响应结果 """ obj_log.info(f"更新产品属性值 - product_attr_data_id: {product_attr_data_id}, attr_value: {attr_value}") params = { "id": product_attr_data_id, "productAttrTypeId": product_attr_type_id, "attrValue": attr_value } if color is not None: params["color"] = color resp = self.kw_in_joyhub_product_attr_data_update_put(**params) obj_log.info(f"更新产品属性值响应: {resp}") return resp