diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index e61af05cd..dc253e101 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -4451,15 +4451,16 @@ func RefreshPageStore() { //dao.ExecuteSQL(db, sql6) var ( - jds2 []*JdPage - mts2 []*MtPage + jds2 []*JdPage + mts2 []*MtPage + splitStr1 = []string{ + "-", "(", "(", "•", + } + splitStr2 = []string{ + "-", "(", "(", "•", " ", + } ) - trySplitBrand := func(name string) (brandName string) { - var ( - splitStr = []string{ - "-", "(", "(", "•", - } - ) + trySplitBrand := func(splitStr []string, name string) (brandName string) { for _, v := range splitStr { if strings.Index(name, v) != -1 { return name[:strings.Index(name, v)] @@ -4470,7 +4471,7 @@ func RefreshPageStore() { return "无" } sql7 := ` - SELECT * FROM jingdong_showd WHERE brand_name = '' OR brand_name IS NULL OR brand_name = '无' + SELECT * FROM jingdong_showd WHERE brand_name = '' OR brand_name IS NULL OR brand_name = '无' OR brand_name = '0' ` dao.GetRows(db, &jds2, sql7) if len(jds2) > 0 { @@ -4479,13 +4480,13 @@ func RefreshPageStore() { UPDATE jingdong_showd SET brand_name = ? WHERE id = ? ` sqlparams := []interface{}{ - trySplitBrand(v.Name), v.ID, + trySplitBrand(splitStr1, v.Name), v.ID, } dao.ExecuteSQL(db, sql, sqlparams) } } sql8 := ` - SELECT * FROM meituan_showd WHERE brand_name = '' OR brand_name IS NULL OR brand_name = '无' + SELECT * FROM meituan_showd WHERE brand_name = '' OR brand_name IS NULL OR brand_name = '无' OR brand_name = '0' ` dao.GetRows(db, &mts2, sql8) if len(mts2) > 0 { @@ -4494,7 +4495,7 @@ func RefreshPageStore() { UPDATE meituan_showd SET brand_name = ? WHERE id = ? ` sqlparams := []interface{}{ - trySplitBrand(v.Name), v.ID, + trySplitBrand(splitStr2, v.Name), v.ID, } dao.ExecuteSQL(db, sql, sqlparams) } @@ -4519,11 +4520,11 @@ func RefreshPageStore() { } func QueryPageStores2(db *dao.DaoDB, pageSize, offset int, keyword, vendorStoreID, brandName string, vendorID, cityCode, districtCode int, tel string, - minShopScore float32, minRecentOrderNum, minSkuCount int, lng1, lat1, lng2, lat2 float64) (pagedInfo *model.PagedInfo, err error) { + minShopScore float32, minRecentOrderNum, minSkuCount int, lng1, lat1, lng2, lat2 float64, cat string) (pagedInfo *model.PagedInfo, err error) { db.Db = orm.NewOrmUsingDB("c4beta") sqlJD := ` SELECT name, 0 vendor_id, wmpoiid vendor_store_id, orgcode org_code, 1 vendor_status, address, phone tel1, pj shop_score, month_sales_tip recent_order_num, - bak_info city_name, goods_number sku_count, lat, lng, district_name, brand_name + bak_info city_name, goods_number sku_count, lat, lng, district_name, brand_name, third_category category, shipping_time FROM jingdong_showd ` sqlEbai := ` @@ -4531,7 +4532,7 @@ func QueryPageStores2(db *dao.DaoDB, pageSize, offset int, keyword, vendorStoreI ` sqlMT := ` SELECT name, 1 vendor_id, wmpoiid vendor_store_id, '' org_code, 1 vendor_status, address, phone tel1, pj shop_score, REPLACE(REPLACE(month_sales_tip,'月售',''),'+','') recent_order_num, - city_name, goods_number sku_count, lat, lng, district_name, brand_name + city_name, goods_number sku_count, lat, lng, district_name, brand_name, IF(rek = '买菜', '菜市', rek) category, shipping_time FROM meituan_showd ` sql := ` @@ -4597,6 +4598,10 @@ func QueryPageStores2(db *dao.DaoDB, pageSize, offset int, keyword, vendorStoreI sql += " AND t1.lng >= ? AND t1.lat >= ? AND t1.lng <= ? AND t1.lat <= ?" sqlParams = append(sqlParams, lng1, lat1, lng2, lat2) } + if cat != "" { + sql += " AND t1.category = ?" + sqlParams = append(sqlParams, cat) + } sql += ` LIMIT ? OFFSET ? ` @@ -4645,8 +4650,6 @@ func QueryPageStores2(db *dao.DaoDB, pageSize, offset int, keyword, vendorStoreI // newShopList = append(newShopList, v.(*dao.PageShopWithPlaceName)) //} //pagedInfo.Data = newShopList - } else { - dao.Rollback(db, txDB) } return pagedInfo, err } diff --git a/business/model/dao/page_store.go b/business/model/dao/page_store.go index 6bbc71e95..ae0903eca 100644 --- a/business/model/dao/page_store.go +++ b/business/model/dao/page_store.go @@ -12,6 +12,8 @@ type PageShopWithPlaceName struct { DistrictName string `json:"districtName"` Distance int `json:"distance"` BrandName string `json:"brandName"` + Category string `json:"category"` + ShippingTime string `json:"shippingTime"` } func QueryPageStores(db *DaoDB, pageSize, offset int, keyword string, vendorStoreID string, vendorID int, orgCode string, diff --git a/controllers/net_spider.go b/controllers/net_spider.go index e49d3f3a7..cd8e79946 100644 --- a/controllers/net_spider.go +++ b/controllers/net_spider.go @@ -58,6 +58,7 @@ func (c *NetSpiderController) GetAndStoreCitiesShops() { // @Param radius query int false "关注点半径(米)" // @Param lng query string false "关注点经度" // @Param lat query string false "关注点纬度" +// @Param cat query string false "分类" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /QueryPageStores [get] @@ -86,7 +87,7 @@ func (c *NetSpiderController) QueryPageStores() { } pagedInfo, err := cms.QueryPageStores2(dao.GetDB(), pageSize, offset, params.Keyword, params.VendorStoreID, params.BrandName, params.VendorID, params.CityCode, params.DistrictCode, params.Tel, float32(params.MinShopScore), params.MinRecentOrderNum, params.MinSkuCount, - lng1, lat1, lng2, lat2) + lng1, lat1, lng2, lat2, cat) if err == nil { if params.Radius > 0 && (params.Offset != 0 || params.PageSize != model.UnlimitedPageSize) { shopList2, _ := pagedInfo.Data.([]*dao.PageShopWithPlaceName)