1. CategoryBrandList
@logger.catch
def CategoryBrandList(self, request: empty_pb2.Empty, context):
# 获取品牌分类列表
rsp = goods_pb2.CategoryBrandListResponse()
category_brands = GoodsCategoryBrand.select()
#分页
start = 0
per_page_nums = 10
if request.pagePerNums:
per_page_nums = request.PagePerNums
if request.pages:
start = per_page_nums * (request.pages - 1)
category_brands = category_brands.limit(per_page_nums).offset(start)
rsp.total = category_brands.count()
for category_brand in category_brands:
category_brand_rsp = goods_pb2.CategoryBrandResponse()
category_brand_rsp.id = category_brand.id
category_brand_rsp.brand.id = category_brand.brand.id
category_brand_rsp.brand.name = category_brand.brand.name
category_brand_rsp.brand.logo = category_brand.brand.logo
category_brand_rsp.category.id = category_brand.category.id
category_brand_rsp.category.name = category_brand.category.name
category_brand_rsp.category.parentCategory = category_brand.category.parent_category_id
category_brand_rsp.category.level = category_brand.category.level
category_brand_rsp.category.isTab = category_brand.category.is_tab
rsp.data.append(category_brand_rsp)
return rsp
2. GetCategoryBrandList
@logger.catch
def GetCategoryBrandList(self, request, context):
#获取某一个分类的所有品牌
rsp = goods_pb2.BrandListResponse()
try:
category = Category.get(Category.id == request.id)
category_brands = GoodsCategoryBrand.select().where(GoodsCategoryBrand.category == category)
rsp.total = category_brands.count()
for category_brand in category_brands:
brand_rsp = goods_pb2.BrandInfoResponse()
brand_rsp.id = category_brand.brand.id
brand_rsp.name = category_brand.brand.name
brand_rsp.logo = category_brand.brand.logo
rsp.data.append(brand_rsp)
except DoesNotExist as e:
context.set_code(grpc.StatusCode.NOT_FOUND)
context.set_details('记录不存在')
return rsp
return rsp
3. CreateCategoryBrand
@logger.catch
def CreateCategoryBrand(self, request: goods_pb2.CategoryBrandRequest, context):
category_brand = GoodsCategoryBrand()
try:
brand = Brands.get(request.brandId)
category_brand.brand = brand
category = Category.get(request.categoryId)
category_brand.category = category
category_brand.save()
rsp = goods_pb2.CategoryBrandResponse()
rsp.id = category_brand.id #是另外一种思路
return rsp
except DoesNotExist:
context.set_code(grpc.StatusCode.NOT_FOUND)
context.set_details('记录不存在')
return goods_pb2.CategoryBrandResponse()
except Exception as e:
context.set_code(grpc.StatusCode.INTERNAL)
context.set_details('内部错误')
return goods_pb2.CategoryBrandResponse()