|
|
@@ -471,33 +471,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
COALESCE(o.sales, 0) AS nNum,
|
|
|
COALESCE(p.min_price, 0) AS price,
|
|
|
t.avatar AS avatar,
|
|
|
- -- 返回米(四舍五入保留0位小数,也可不ROUND)
|
|
|
- ROUND(ST_Distance_Sphere(POINT(a.longitude, a.latitude), POINT(#{dto.longitude}, #{dto.latitude})), 0) AS distance
|
|
|
- FROM ma_technician t
|
|
|
- LEFT JOIN (
|
|
|
+ CASE
|
|
|
+ WHEN t.dist_meters IS NULL THEN NULL
|
|
|
+ WHEN t.dist_meters < 1000 THEN CONCAT(ROUND(t.dist_meters, 0), '米')
|
|
|
+ ELSE CONCAT(ROUND(t.dist_meters / 1000, 1), '公里')
|
|
|
+ END AS distanceShow
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ t.id,
|
|
|
+ t.te_name,
|
|
|
+ t.n_star,
|
|
|
+ t.avatar,
|
|
|
+ ROUND(ST_Distance_Sphere(POINT(a.longitude, a.latitude), POINT(#{dto.longitude}, #{dto.latitude})), 0) AS dist_meters
|
|
|
+ FROM ma_technician t
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT merchant_id, longitude, latitude
|
|
|
+ FROM t_address
|
|
|
+ WHERE user_type = 2 AND type = 1 AND is_delete = 0
|
|
|
+ ) a ON t.id = a.merchant_id
|
|
|
+ WHERE t.is_delete = 0
|
|
|
+ AND t.audit_status = 2
|
|
|
+ AND t.n_status2 = 0
|
|
|
+ AND t.merchant_status = 0
|
|
|
+ AND t.te_area_code = #{dto.cityCode}
|
|
|
+ ) t
|
|
|
+ LEFT JOIN (
|
|
|
SELECT merchant_id, COUNT(*) AS sales
|
|
|
FROM t_order
|
|
|
WHERE is_delete = 0 AND status = 6 AND project_type = 1
|
|
|
GROUP BY merchant_id
|
|
|
) o ON t.id = o.merchant_id
|
|
|
- LEFT JOIN (
|
|
|
+ LEFT JOIN (
|
|
|
SELECT merchant_id, MIN(project_current_price) AS min_price
|
|
|
FROM ma_project
|
|
|
WHERE is_delete = 0 AND audit_status = 1 AND merchant_type = 1 AND project_is_enable = 1
|
|
|
GROUP BY merchant_id
|
|
|
) p ON t.id = p.merchant_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT merchant_id, longitude, latitude
|
|
|
- FROM t_address
|
|
|
- WHERE user_type = 2 AND type = 1 AND is_delete = 0
|
|
|
- ) a ON t.id = a.merchant_id
|
|
|
- WHERE t.is_delete = 0
|
|
|
- AND t.audit_status = 2
|
|
|
- AND t.n_status2 = 0
|
|
|
- AND t.merchant_status = 0 -- 注意 merchant_status 是字符串类型
|
|
|
- AND t.te_area_code = #{dto.cityCode} -- 新增城市过滤
|
|
|
ORDER BY COALESCE(o.sales, 0) DESC
|
|
|
- LIMIT 5
|
|
|
+ LIMIT 5
|
|
|
</select>
|
|
|
|
|
|
|