QueryPageStores添加radius,lng,lat参数

This commit is contained in:
gazebo
2019-11-27 14:34:30 +08:00
parent 53efea0eb4
commit 1eff6bfd43
2 changed files with 75 additions and 5 deletions

View File

@@ -9,9 +9,12 @@ type PageShopWithPlaceName struct {
CityName string `json:"cityName"`
DistrictName string `json:"districtName"`
Distance int `json:"distance"`
}
func QueryPageStores(db *DaoDB, pageSize, offset int, keyword string, vendorStoreID string, vendorID int, orgCode string, cityCode, districtCode int, tel string, minShopScore float32, minRecentOrderNum, minSkuCount int) (pagedInfo *model.PagedInfo, err error) {
func QueryPageStores(db *DaoDB, pageSize, offset int, keyword string, vendorStoreID string, vendorID int, orgCode string,
cityCode, districtCode int, tel string, minShopScore float32, minRecentOrderNum, minSkuCount int,
lng1, lat1, lng2, lat2 float64) (pagedInfo *model.PagedInfo, err error) {
sql := `
SELECT SQL_CALC_FOUND_ROWS
t1.*,
@@ -59,6 +62,10 @@ func QueryPageStores(db *DaoDB, pageSize, offset int, keyword string, vendorStor
sql += " AND t1.sku_count >= ?"
sqlParams = append(sqlParams, minSkuCount)
}
if lng1 > 0 {
sql += " AND t1.lng >= ? AND t1.lat >= ? AND t1.lng <= ? AND t1.lat <= ?"
sqlParams = append(sqlParams, lng1, lat1, lng2, lat2)
}
if keyword != "" {
keywordLike := "%" + keyword + "%"
sql += " AND (t1.name LIKE ? OR t1.tel1 LIKE ? OR t1.tel2 LIKE ? OR t1.org_code LIKE ? OR t1.address LIKE ? OR t2.name LIKE ? OR t3.name LIKE ? OR t1.licence_code LIKE ?"
@@ -70,9 +77,7 @@ func QueryPageStores(db *DaoDB, pageSize, offset int, keyword string, vendorStor
LIMIT ? OFFSET ?
`
pageSize = FormalizePageSize(pageSize)
if offset < 0 {
offset = 0
}
offset = FormalizePageOffset(offset)
sqlParams = append(sqlParams, pageSize, offset)
var shopList []*PageShopWithPlaceName
Begin(db)