1. BannerList
@logger.catch
def BannerList(self, request: empty_pb2.Empty, context):
# 获取分类列表
rsp = goods_pb2.BannerListResponse()
banners = Banner.select()
rsp.total = banners.count()
for banner in banners:
banner_rsp = goods_pb2.BannerResponse()
banner_rsp.id = banner.id
banner_rsp.image = banner.image
banner_rsp.index = banner.index
banner_rsp.url = banner.url
rsp.data.append(banner_rsp)
return rsp
2. CreateBanner
@logger.catch
def CreateBanner(self, request: goods_pb2.BannerRequest, context):
banner = Banner()
banner.image = request.image
banner.index = request.index
banner.url = request.url
banner.save()
banner_rsp = goods_pb2.BannerResponse()
banner_rsp.id = banner.id
banner_rsp.image = banner.image
banner_rsp.url = banner.url
return banner_rsp
3. DeleteBanner
@logger.catch
def DeleteBanner(self, request: goods_pb2.BannerRequest, context):
try:
banner = Banner.get(request.id)
banner.delete_instance()
return empty_pb2.Empty()
except DoesNotExist:
context.set_code(grpc.StatusCode.NOT_FOUND)
context.set_details('记录不存在')
return empty_pb2.Empty()
4. UpdateBanner
@logger.catch
def UpdateBanner(self, request: goods_pb2.BannerRequest, context):
try:
banner = Banner.get(request.id)
if request.image:
banner.image = request.image
if request.index:
banner.index = request.index
if request.url:
banner.url = request.url
banner.save()
return empty_pb2.Empty()
except DoesNotExist:
context.set_code(grpc.StatusCode.NOT_FOUND)
context.set_details('记录不存在')
return empty_pb2.Empty()