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. 分页查询:支持 pagerow 参数进行分页查询。
  2. 状态筛选:可通过 states 参数筛选不同状态的商铺(如 OPENCLOSED)。
  3. 商户信息关联:自动关联商户信息(storeNamestoreTelstoreAddress)。
  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. 分页默认值:若不传 pagerow,默认返回第1页,每页10条数据。
  3. 图片路径:商铺Logo会自动拼接 MappingCache 中的 IMG_PATH 配置。

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