Commit c6815154 by 朱淼

定位

parent dc8106e9
...@@ -52,11 +52,18 @@ public class PlatRegionSettingController { ...@@ -52,11 +52,18 @@ public class PlatRegionSettingController {
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@ApiOperation("定位") @ApiOperation("定位(时间范围内定位)")
@PostMapping("locate") @PostMapping("locate")
public ApiResponseEntity<List<PlatElderCoordinateVO>> locate(@RequestBody PlatRegionSettingLocateDTO dto) { public ApiResponseEntity<List<PlatElderCoordinateVO>> locate(@RequestBody PlatRegionSettingLocateDTO dto) {
List<PlatElderCoordinateVO> list = platRegionSettingService.locate(dto); List<PlatElderCoordinateVO> list = platRegionSettingService.locate(dto);
return ApiResponseUtils.success(list); return ApiResponseUtils.success(list);
} }
@ApiOperation("实时定位")
@PostMapping("nowDataLocate")
public ApiResponseEntity<PlatElderCoordinateVO> nowDataLocate(@RequestBody PlatRegionSettingLocateDTO dto) {
PlatElderCoordinateVO vo = platRegionSettingService.nowDataLocate(dto);
return ApiResponseUtils.success(vo);
}
} }
...@@ -53,10 +53,17 @@ public class PlatRegionSettingWechatController { ...@@ -53,10 +53,17 @@ public class PlatRegionSettingWechatController {
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@ApiOperation("定位") @ApiOperation("定位(时间范围内定位)")
@PostMapping("locate") @PostMapping("locate")
public ApiResponseEntity<List<PlatElderCoordinateVO>> locate(@RequestBody PlatRegionSettingLocateDTO dto) { public ApiResponseEntity<List<PlatElderCoordinateVO>> locate(@RequestBody PlatRegionSettingLocateDTO dto) {
List<PlatElderCoordinateVO> list = platRegionSettingService.locate(dto); List<PlatElderCoordinateVO> list = platRegionSettingService.locate(dto);
return ApiResponseUtils.success(list); return ApiResponseUtils.success(list);
} }
@ApiOperation("实时定位")
@PostMapping("nowDataLocate")
public ApiResponseEntity<PlatElderCoordinateVO> nowDataLocate(@RequestBody PlatRegionSettingLocateDTO dto) {
PlatElderCoordinateVO vo = platRegionSettingService.nowDataLocate(dto);
return ApiResponseUtils.success(vo);
}
} }
...@@ -46,4 +46,6 @@ public interface PlatRegionSettingService extends IService<PlatRegionSetting> { ...@@ -46,4 +46,6 @@ public interface PlatRegionSettingService extends IService<PlatRegionSetting> {
void batchEdit(List<PlatRegionSettingDTO> dtos); void batchEdit(List<PlatRegionSettingDTO> dtos);
List<PlatElderCoordinateVO> locate(PlatRegionSettingLocateDTO dto); List<PlatElderCoordinateVO> locate(PlatRegionSettingLocateDTO dto);
PlatElderCoordinateVO nowDataLocate(PlatRegionSettingLocateDTO dto);
} }
...@@ -20,6 +20,7 @@ import com.makeit.service.platform.device.PlatDeviceService; ...@@ -20,6 +20,7 @@ import com.makeit.service.platform.device.PlatDeviceService;
import com.makeit.service.platform.space.PlatRegionSettingService; import com.makeit.service.platform.space.PlatRegionSettingService;
import com.makeit.utils.data.convert.BeanDtoVoUtils; import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.JsonUtil; import com.makeit.utils.data.convert.JsonUtil;
import com.makeit.utils.data.validate.CollectionUtils;
import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO; import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -27,10 +28,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -27,10 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -166,7 +164,7 @@ public class PlatRegionSettingServiceImpl extends ServiceImpl<PlatRegionSettingM ...@@ -166,7 +164,7 @@ public class PlatRegionSettingServiceImpl extends ServiceImpl<PlatRegionSettingM
@Override @Override
public List<PlatElderCoordinateVO> locate(PlatRegionSettingLocateDTO dto) { public List<PlatElderCoordinateVO> locate(PlatRegionSettingLocateDTO dto) {
List<PlatElderCoordinateVO> vos = new ArrayList<>(); List<PlatElderCoordinateVO> vos = new ArrayList<>();
List<DeviceOperationLogEntity> list = iotProductDeviceService.getDeviceLogByTimeRange(dto.getDeviceId(), "reportProperty", 10, dto.getStartTime(), dto.getEndTime()); List<DeviceOperationLogEntity> list = iotProductDeviceService.getDeviceLogByTimeRange(dto.getDeviceId(), "reportProperty", 100, dto.getStartTime(), dto.getEndTime());
for(DeviceOperationLogEntity log : list){ for(DeviceOperationLogEntity log : list){
DeviceInfoContentSpace space = JsonUtil.toObj((String) log.getContent(), DeviceInfoContentSpace.class); DeviceInfoContentSpace space = JsonUtil.toObj((String) log.getContent(), DeviceInfoContentSpace.class);
if(space.getProperties()!=null){ if(space.getProperties()!=null){
...@@ -179,4 +177,18 @@ public class PlatRegionSettingServiceImpl extends ServiceImpl<PlatRegionSettingM ...@@ -179,4 +177,18 @@ public class PlatRegionSettingServiceImpl extends ServiceImpl<PlatRegionSettingM
} }
return vos; return vos;
} }
@Override
public PlatElderCoordinateVO nowDataLocate(PlatRegionSettingLocateDTO dto) {
PlatElderCoordinateVO vo = new PlatElderCoordinateVO();
DeviceInfoContentSpace space = iotProductDeviceService.getLastDeviceLogSpace(dto.getDeviceId(), 10);
if(space == null){
return null;
}
if(space.getProperties()!=null){
vo.setX(new BigDecimal(space.getProperties().getDistance()).multiply(new BigDecimal(Math.cos(space.getProperties().getAngle()) + "")).setScale(2, RoundingMode.HALF_UP));
vo.setY(new BigDecimal(space.getProperties().getDistance()).multiply(new BigDecimal(Math.sin(space.getProperties().getAngle()) + "")).setScale(2, RoundingMode.HALF_UP));
}
return vo;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment