diff --git a/apps/product/models/search-api.js b/apps/product/models/search-api.js
index 25343ba..ea9fdcd 100644
--- a/apps/product/models/search-api.js
+++ b/apps/product/models/search-api.js
@@ -10,6 +10,9 @@ const api = global.yoho.SearchAPI;
 const yohoApi = global.yoho.API;
 
 const serviceApi = global.yoho.ServiceAPI;
+const _ = require('lodash');
+const helpers = global.yoho.helpers;
+const images = require('../../../utils/images.js');
 
 const getSortByConditionAsync = (condition) => {
     return api.get('sortgroup.json', condition);
@@ -37,18 +40,7 @@ const getProductList = (params) => {
         limit: 60
     };
 
-    let nparams = {};
-
-    if(params && params.price) {
-        let mp = params.price.split(',');
-        let nmp = [];
-
-        nmp[0] = (mp && mp[0]) || 0;
-        nmp[1] = (mp && mp[1]) || 99999;
-        nparams.price = nmp.join(',');
-    }
-
-    Object.assign(finalParams, params, nparams);
+    Object.assign(finalParams, params);
     return yohoApi.get('', finalParams);
 };
 
@@ -151,14 +143,145 @@ const getWeekNew = (params) => {
  * 根据关键词搜索品牌店铺信息 TODO
  * @return
  */
-const getBrandShop = (params) => {
+const getBrandShop = (query) => {
     let finalParams = {
         // method: 'web.regular.groupsort'
-        method: 'app.search.li'
+        method: 'web.search.shopInfo'
     };
 
-    Object.assign(finalParams, params);
-    return yohoApi.get('', finalParams);
+    Object.assign(finalParams, {keyword: query});
+    return yohoApi.get('', finalParams).then(ret => {
+        if (ret && ret.code === 200) {
+            return ret.data;
+        }
+    });
+};
+
+/**
+ * 根据品牌ID获取品牌下的店铺
+ * @return
+ */
+const getShopsByBrandId = bid => {
+
+    return yohoApi.get('', {
+        method: 'app.shop.queryShopsByBrandId',
+        brand_id: bid
+    }).then(ret => {
+        if (ret && ret.code === 200) {
+            return ret.data;
+        }
+    });
+};
+
+const shopFormat = shopDatas => {
+
+    let shopEntry = [];
+    _.forEach(shopDatas, val => {
+
+        let sorts = [];
+        let shopId = val.shop && (val.shop.brand_id || val.shop.id) || '';      // 接口中品牌下的店铺为brand_id,品牌为id
+        let url = helpers.urlFormat('', {shopId: shopId}, val.shop.brand_domain);
+
+        if (val.shopSort) {
+            for (let ss of val.shopSort) {
+                if (!ss.sub) {
+                    continue;
+                }
+
+                let isFull = false;
+                for (let misort of ss.sub) {
+                    if (sorts.length >= 10) {
+                        isFull = true;
+                        break;
+                    }
+
+                    sorts.push({
+                        href: `${url}&msort=${ss.sort_id}&misort=${misort.sort_id}`,
+                        name: misort.sort_name
+                    });
+                }
+                if (isFull) {
+                    break;
+                }
+            }
+        }
+
+        shopEntry.push({
+            home: url,
+            logo: images.getImageUrl(val.shop.brand_ico, 80, 50, 1, 'brandLogo'),
+            shopName: val.shop.brand_name,
+            sort: sorts
+        });
+    });
+
+    return shopEntry;
+};
+
+/**
+ * 根据搜索得到店铺/品牌 列表
+ */
+const getShopList = params => {
+
+    if (!params || !params.query) {
+        return;
+    }
+
+    let brandShop;
+    let brandShops;
+
+    return getBrandShop(params.query).then(shop => {    // 获取品牌,并根据品牌获取品牌下的所有店铺
+
+        if (!shop || !shop.id) {
+            return;
+        }
+
+        brandShop = shop;
+        return getShopsByBrandId(shop.id).then(shops => {
+            if (shops && shops.length) {
+                return shops;
+            } else {
+                return shop;
+            }
+        });
+    }).then(shops => {  // 获取品牌/品牌店下所有的分类
+
+        if (_.isArray(shops)) {
+
+            brandShops = shops;
+            let promises = [];
+            for (let s of shops) {
+                promises.push(getSortList({
+                    brand: s.brand_id
+                }));
+            }
+
+            return Promise.all(promises);
+        } else if (shops && shops.id) {
+            return getSortList({
+                brand: shops.id
+            });
+        }
+
+    }).then(sorts => {  // 数组则为品牌店列表,否则为品牌
+
+        let shopData = [];
+        if (_.isArray(sorts)) {
+
+            _.forEach(sorts, (val, index) => {
+                shopData.push({
+                    shop: brandShops[index],
+                    shopSort: val && val.data && val.data.sort
+                });
+            });
+        } else if (sorts && sorts.code === 200 && sorts.data) {
+            shopData.push({
+                shop: brandShop,
+                shopSort: sorts.data.sort
+            });
+        }
+
+        return shopFormat(shopData);
+    });
 };
 
 /**
@@ -258,7 +381,8 @@ module.exports = {
     getShopInfo,
     getShopBrands,
     getShopDecorator,
-    getArticleByBrand
+    getArticleByBrand,
+    getShopList
 };
 
 
diff --git a/apps/product/models/search-handler.js b/apps/product/models/search-handler.js
index cb41afd..e20c52c 100644
--- a/apps/product/models/search-handler.js
+++ b/apps/product/models/search-handler.js
@@ -632,15 +632,18 @@ exports.handleFilterData = (origin, params, total) => {
 
     // 处理年龄段
     if (!_.isEmpty(origin.ageLevel)) {
+
+        // 只有一个默认选中
+        let isChecked = origin.ageLevel.length === 1;
         _.forEach(origin.ageLevel, (value) => {
             let ageLevel = {
-                checked: params.ageLevel === value.id,
+                checked: params.ageLevel === value.id || isChecked,
                 href: handleFilterUrl(params, {ageLevel: value.id}),
                 name: value.name
             };
 
             // 处理颜色年龄段数据
-            if (ageLevel.checked) {
+            if (ageLevel.checked || isChecked) {
                 ageLevel.href = handleFilterUrl(params, null, {ageLevel: value.id});
                 dest.checkedConditions.conditions.push(ageLevel);
             }
diff --git a/apps/product/models/search.js b/apps/product/models/search.js
index 60af302..8fa8483 100644
--- a/apps/product/models/search.js
+++ b/apps/product/models/search.js
@@ -35,13 +35,14 @@ exports.getSearchData = (params) => {
     let apiMethod = [
         headerModel.requestHeaderData(),
         searchApi.getSortList(Object.assign({}, params, nparams)),
-        searchApi.getProductList(Object.assign({}, params, {limit: mlimit}, nparams))
+        searchApi.getProductList(Object.assign({}, params, {limit: mlimit}, nparams)),
+        searchApi.getShopList(params)
     ];
 
     // 搜索店铺
-    if (params.query) {
+    /* if (params.query) {
         apiMethod.push(searchApi.getBrandShop(params.query));
-    }
+    }*/
 
     return api.all(apiMethod).then(result => {
         let finalResult = {
@@ -69,7 +70,8 @@ exports.getSearchData = (params) => {
                 goods: productProcess.processProductList(result[2].data.product_list,
                     Object.assign({showDiscount: false}, params)),
                 latestWalk: 7,
-                hasNextPage: searchHandler.handleNextPage(params, result[2].data.total)// ,
+                hasNextPage: searchHandler.handleNextPage(params, result[2].data.total),
+                shopEntry: result[3]// ,
                 // brandBanner :  isset($data['brand']) && !empty($data['brand']) ? self::getBannerFormat($data['brand'], $options['brandBanner']) : array();
             });
         }
diff --git a/apps/product/views/partial/list/shop-entry.hbs b/apps/product/views/partial/list/shop-entry.hbs
index b1f5b80..603054a 100644
--- a/apps/product/views/partial/list/shop-entry.hbs
+++ b/apps/product/views/partial/list/shop-entry.hbs
@@ -20,7 +20,7 @@
 
             <a class="entry-btn pull-right" href="{{home}}">
                 进入品牌店铺
-                <span class="iconfont">&#xe601;</span>
+                <span class="iconfont">&#xe60c;</span>
             </a>
         </div>
     {{/ shopEntry}}