package com.zy.bms.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zy.bms.common.io.wechat.DeviceHistoryIO; import com.zy.bms.common.vo.LocationHistoryVo; import com.zy.bms.mapper.DeviceLocationMapper; import com.zy.bms.model.Location; import com.zy.bms.model.LatestLocation; import com.zy.bms.utils.BeanUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * 设备位置信息相关 * * @author chenyi * Create on 2020/4/10 */ @Service public class DeviceLocationService extends ServiceImpl { @Resource private LatestLocationService latestLocationService; /** * 保存位置信息 */ public void saveLocation(Location entity) { save(entity); //更新最新的位置信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("deviceId", entity.getDeviceId()); LatestLocation latestLocation = BeanUtil.cast(entity, LatestLocation.class); latestLocationService.saveOrUpdate(latestLocation, queryWrapper); } /** * 获取设备的最新位置信息 * * @param deviceId 设备ID */ public LatestLocation getLocation(String deviceId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("deviceId", deviceId); return latestLocationService.getOne(queryWrapper); } /** * 查看设备历史轨迹 * * @param io 查询入参 */ public List getHistory(DeviceHistoryIO io) { return baseMapper.getHistory(io); } }