diff --git a/src/main/java/com/hisense/monitormanage/controller/Controller.java b/src/main/java/com/hisense/monitormanage/controller/Controller.java index f02a942..2284827 100644 --- a/src/main/java/com/hisense/monitormanage/controller/Controller.java +++ b/src/main/java/com/hisense/monitormanage/controller/Controller.java @@ -4,6 +4,7 @@ import com.hisense.monitormanage.dto.*; import com.hisense.monitormanage.entity.*; import com.hisense.monitormanage.mapper.*; import com.hisense.monitormanage.service.*; +import com.hisense.monitormanage.utils.LongLatUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -207,25 +208,24 @@ public class Controller { } /** - * 根据两个点查询范围内的摄像头 + * 根据经纬度查询半径内所有的摄像头 * @param gpsX - * @param gpsX1 * @param gpsY - * @param gpsY1 + * @param raidus * @return */ @GetMapping ("selectAllByGps") - public Result selectAllByGps(String gpsX,String gpsX1,String gpsY,String gpsY1){ - - List gps = cameraChannelMapper.selectAllByGps(gpsX, gpsX1, gpsY, gpsY1); - double gpsx = Double.parseDouble(gpsX); - double gpsx1 = Double.parseDouble(gpsX1); - double gpsy = Double.parseDouble(gpsY); - double gpsy1 = Double.parseDouble(gpsY1); - if (gpsx < gpsx1 || gpsy < gpsy1){ - return Result.success(gps); - } - return Result.error("请输入正确的精度范围"); + @ApiOperation("根据经纬度查询半径内所有的摄像头") + @ApiImplicitParams({ + @ApiImplicitParam(name = "gpsX", value = "经度", paramType = "query",required = true,dataType ="double"), + @ApiImplicitParam(name = "gpsY", value = "纬度", paramType = "query",required = true,dataType ="double"), + @ApiImplicitParam(name = "raidus", value = "半径,米", paramType = "query",required = true,dataType ="Integer"),} + ) + public Result selectAllByGps(Double gpsX,Double gpsY,Integer raidus){ + double[] around = LongLatUtil.getAround(gpsX, gpsY, raidus); + List c = cameraChannelMapper.selectAllByGps(around[0], around[2], around[1], around[3]); + Result success = Result.success(c); + return success; } /** diff --git a/src/main/java/com/hisense/monitormanage/mapper/CameraChannelMapper.java b/src/main/java/com/hisense/monitormanage/mapper/CameraChannelMapper.java index edce4ee..3009d1a 100644 --- a/src/main/java/com/hisense/monitormanage/mapper/CameraChannelMapper.java +++ b/src/main/java/com/hisense/monitormanage/mapper/CameraChannelMapper.java @@ -44,12 +44,12 @@ public interface CameraChannelMapper extends BaseMapper { "ON a.label_code = b.label_code AND b.channel_code = c.channel_code where c.`status`!= 0) m where m.label_code in (${labelCode}) ") List selectLabelAndChannel(@Param("labelCode") String labelCode); - @Select("select cc.channel_code,cc.gps_x,cc.gps_y from t_camera_channel cc " + + @Select("select cc.* from t_camera_channel cc " + "where (gps_x between #{gpsX} and #{gpsX1}) and (gps_y between #{gpsY} and #{gpsY1} )") - List selectAllByGps(@Param("gpsX") String gpsX, - @Param("gpsX1") String gpsX1, - @Param("gpsY") String gpsY, - @Param("gpsY1") String gpsY1); + List selectAllByGps(@Param("gpsX") Double gpsX, + @Param("gpsX1") Double gpsX1, + @Param("gpsY") Double gpsY, + @Param("gpsY1") Double gpsY1); List selectNLAll(@Param("page") Integer page,@Param("pageSize") Integer pageSize);