| | |
| | | .selectAll(Shop.class) |
| | | .select(" CONVERT( ST_Distance_Sphere ( POINT ( LONGITUDE, LATITUDE ), POINT ( '"+dto.getLgt()+"' , '"+dto.getLat()+"' )) /1000,DECIMAL(15,2))",Shop::getDistance) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,Shop::getCreator) |
| | | .like(StringUtils.isNotBlank(dto.getCityName()),Shop::getAddr,dto.getCityName()) |
| | | .leftJoin("areas a1 on a1.id=t.area_id") |
| | | .leftJoin("areas a2 on a2.id=a1.parent_id") |
| | | .like(StringUtils.isNotBlank(dto.getCityName()),"a2.name",dto.getCityName()) |
| | | .like(StringUtils.isNotBlank(dto.getShopName()),Shop::getName,dto.getShopName()) |
| | | .orderByDesc(!isArea,Shop::getId) |
| | | .orderByAsc(isArea," distance ") |