HC小区接口文档

查询商铺信息接口文档

一、接口名称

查询商铺信息

二、接口描述

该接口用于查询商铺信息,支持分页查询,并返回商铺的基本信息、配送方式、商户信息等。

三、接口路径

http://ip:port/app/shop.queryShop

四、请求方法

GET

五、请求头

参数名称 必填 类型 描述
store-id 是 String 商户ID,用于标识当前请求所属的商户
Authorization 是 String 用户认证token,通过登录接口获取
app-id 是 String 应用ID,系统分配
transaction-id 是 String 请求流水号,格式:1000000000+YYYYMMDDhhmmss+6位序列
sign 是 String 签名
req-time 是 String 请求时间,格式:YYYYMMDDhhmmss

六、请求参数

6.1 查询参数

参数名称 必填 类型 描述
page 否 Integer 当前页码,默认1
row 否 Integer 每页记录数,默认10
states 否 String 商铺状态,多个状态用逗号分隔(如 "OPEN,CLOSED")
shopId 否 String 商铺ID
shopName 否 String 商铺名称
storeId 否 String 商户ID(通常从请求头获取,无需手动传)
areaCode 否 String 地区编码

七、返回值

7.1 响应格式

{
  "code": 0,
  "msg": "成功",
  "data": {
    "total": 10,
    "records": 1,
    "rows": [
      {
        "shopId": "123",
        "shopName": "示例商铺",
        "shopLogo": "http://example.com/image.jpg",
        "storeId": "456",
        "storeName": "示例商户",
        "storeTel": "13800138000",
        "storeAddress": "北京市朝阳区",
        "areaCode": "110105",
        "areaName": "北京市-朝阳区",
        "phoneIndexUrl": "http://mall.example.com/#/pages/shopIndex/index?shopId=123",
        "distributionModeDtos": [
          {
            "modeId": "1",
            "modeName": "快递配送",
            "fixedFee": "5.00"
          }
        ]
      }
    ]
  }
}

7.2 状态码

状态码 描述
200 请求成功
400 参数错误
401 未授权
500 服务器内部错误

八、示例请求

请求 URL

GET http://127.0.0.1:8080/app/shop.queryShop?page=1&row=10&states=OPEN,CLOSED

请求头

store-id: 456
Authorization: Bearer xxxxxx
app-id: mall-app
transaction-id: 100000000020231201120000000001
sign: xxxxxx
req-time: 20231201120000

九、示例响应

响应数据

{
  "code": 0,
  "msg": "成功",
  "data": {
    "total": 1,
    "records": 1,
    "rows": [
      {
        "shopId": "123",
        "shopName": "示例商铺",
        "shopLogo": "http://example.com/image.jpg",
        "storeId": "456",
        "storeName": "示例商户",
        "storeTel": "13800138000",
        "storeAddress": "北京市朝阳区",
        "areaCode": "110105",
        "areaName": "北京市-朝阳区",
        "phoneIndexUrl": "http://mall.example.com/#/pages/shopIndex/index?shopId=123",
        "distributionModeDtos": [
          {
            "modeId": "1",
            "modeName": "快递配送",
            "fixedFee": "5.00"
          }
        ]
      }
    ]
  }
}

十、业务逻辑说明

  1. 分页查询:支持 page 和 row 参数进行分页查询。
  2. 状态筛选:可通过 states 参数筛选不同状态的商铺(如 OPEN、CLOSED)。
  3. 商户信息关联:自动关联商户信息(storeName、storeTel、storeAddress)。
  4. 配送方式:返回商铺支持的配送方式及费用。
  5. 图片URL处理:自动补全商铺Logo的完整URL。
  6. 地区信息:根据 areaCode 返回省市区信息。

十一、数据库操作

  1. 查询商铺列表:shopInnerServiceSMOImpl.queryShops(shopDto)
  2. 查询商铺数量:shopInnerServiceSMOImpl.queryShopsCount(shopDto)
  3. 查询配送方式:distributionModeInnerServiceSMOImpl.queryDistributionModes(distributionModeDto)
  4. 查询商户信息:storeInnerServiceSMOImpl.queryStores(storeDto)
  5. 查询地区信息:areaInnerServiceSMOImpl.getProvCityArea(areaDto)

十二、注意事项

  1. 必填参数:store-id 必须通过请求头传递。
  2. 分页默认值:若不传 page 和 row,默认返回第1页,每页10条数据。
  3. 图片路径:商铺Logo会自动拼接 MappingCache 中的 IMG_PATH 配置。

这份文档符合 RESTful API 规范,并包含了完整的请求、响应示例及业务逻辑说明。