门店信息

This commit is contained in:
2026-07-27 10:57:02 +08:00
parent ef7eb9dbb1
commit 9a1f2f40fc
6 changed files with 414 additions and 14 deletions
+52 -1
View File
@@ -22,7 +22,11 @@ from app.models.scrape import (
ProductDetailData,
PurchaseTaskRequest,
SearchRequest,
SearchResultData, TradeMonitorRequest,
SearchResultData,
ShopInfoData,
ShopInfoRequest,
ShopItemsData,
ShopItemsRequest, TradeMonitorRequest,
)
from surugaya_common.http_utils import generate_signed_headers
from app.utils.parse_util import (
@@ -146,6 +150,53 @@ async def item_other_shops(
)
@router.post(
"/shop_info",
response_model=ApiResponse[ShopInfoData],
dependencies=[Depends(require_bearer_token)],
)
async def shop_info(
payload: ShopInfoRequest,
container: ServiceContainer = Depends(get_container),
) -> ApiResponse[ShopInfoData]:
"""获取加盟店/市场店铺信息
抓取骏河屋 /shop/{tenpo_cd} 页面,返回店名、logo、评分、评价数与店铺公告;
include_details=true 时额外抓取 配送(含都道府县运费表)/ポリシー(特商法表记)/
返品保証/連絡(地址)四个子页,多付出四次页面请求。
"""
data = await container.surugaya_client.fetch_shop_info(payload)
return ApiResponse[ShopInfoData](
success=True,
msg="success",
data=data,
code=0,
)
@router.post(
"/shop_items",
response_model=ApiResponse[ShopItemsData],
dependencies=[Depends(require_bearer_token)],
)
async def shop_items(
payload: ShopItemsRequest,
container: ServiceContainer = Depends(get_container),
) -> ApiResponse[ShopItemsData]:
"""获取加盟店/市场店铺商品列表
按 tenpo_cd 抓取该店铺在售商品,支持店内关键词检索与分页(24 条/页);
rankBy、category 等搜索参数可原样透传。返回项的 goods_link 已带 tenpo_cd。
"""
data = await container.surugaya_client.fetch_shop_items(payload)
return ApiResponse[ShopItemsData](
success=True,
msg="success",
data=data,
code=0,
)
@router.get(
"/categories",
response_model=ApiResponse[list[CategoryData]],