位置管理功能
This commit is contained in:
parent
19ff90cf77
commit
ae226ebda6
|
|
@ -0,0 +1,44 @@
|
|||
package com.bonus.web.controller.data;
|
||||
|
||||
import com.bonus.common.annotation.RequiresPermissions;
|
||||
import com.bonus.common.annotation.SysLog;
|
||||
import com.bonus.common.core.controller.BaseController;
|
||||
import com.bonus.common.core.page.TableDataInfo;
|
||||
import com.bonus.common.domain.data.dto.ParamsDto;
|
||||
import com.bonus.common.domain.data.vo.DeviceIdentificationDataVo;
|
||||
import com.bonus.common.domain.data.vo.LocationVo;
|
||||
import com.bonus.common.enums.OperaType;
|
||||
import com.bonus.web.service.data.LocationService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @className:LocationController
|
||||
* @author:cwchen
|
||||
* @date:2025-12-24-9:19
|
||||
* @version:1.0
|
||||
* @description:位置管理-web层
|
||||
*/
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/data/location")
|
||||
public class LocationController extends BaseController {
|
||||
|
||||
@Resource(name = "LocationService")
|
||||
private LocationService locationService;
|
||||
|
||||
@ApiOperation(notes = "查询位置列表",value = "查询位置列表")
|
||||
@RequiresPermissions("data:location:list")
|
||||
@GetMapping("/getLocationList")
|
||||
@SysLog(title = "位置管理", businessType = OperaType.QUERY, logType = 1, module = "设备管理->位置管理", details = "查询位置列表")
|
||||
public TableDataInfo getLocationList(ParamsDto dto) {
|
||||
startPage();
|
||||
List<LocationVo> list = locationService.getLocationList(dto);
|
||||
return getDataTable(list);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
package com.bonus.web.service.data;
|
||||
|
||||
import com.bonus.common.domain.data.dto.ParamsDto;
|
||||
import com.bonus.common.domain.data.vo.AlarmVo;
|
||||
import com.bonus.common.domain.data.vo.LocationVo;
|
||||
import com.bonus.data.service.DILocationService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @className:LocationService
|
||||
* @author:cwchen
|
||||
* @date:2025-12-24-9:20
|
||||
* @version:1.0
|
||||
* @description:位置管理-业务逻辑层
|
||||
*/
|
||||
@Service(value = "LocationService")
|
||||
@Slf4j
|
||||
public class LocationService {
|
||||
|
||||
@Resource(name = "DILocationService")
|
||||
private DILocationService locationService;
|
||||
|
||||
/**
|
||||
* 查询位置列表
|
||||
* @param dto
|
||||
* @return List<LocationVo>
|
||||
* @author cwchen
|
||||
* @date 2025/12/24 9:39
|
||||
*/
|
||||
public List<LocationVo> getLocationList(ParamsDto dto) {
|
||||
try {
|
||||
if (dto.getStartTime() == null || dto.getEndTime() == null) {
|
||||
// 获取今天的日期
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
// 设置开始时间为 00:00:00
|
||||
LocalDateTime startOfDay = now.with(LocalTime.MIN);
|
||||
// 设置结束时间为 23:59:59 (也可以使用 LocalTime.MAX)
|
||||
LocalDateTime endOfDay = now.with(LocalTime.MAX);
|
||||
// 转换为 Date 赋值给 dto (如果你的字段类型是 Date)
|
||||
ZoneId zone = ZoneId.systemDefault();
|
||||
dto.setStartTime(Date.from(startOfDay.atZone(zone).toInstant()));
|
||||
dto.setEndTime(Date.from(endOfDay.atZone(zone).toInstant()));
|
||||
}
|
||||
List<LocationVo> result = locationService.getLocationList(dto);
|
||||
return result != null ? result : Collections.emptyList();
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(),e);
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
package com.bonus.common.domain.data.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @className:LocationVo
|
||||
* @author:cwchen
|
||||
* @date:2025-12-24-9:27
|
||||
* @version:1.0
|
||||
* @description:位置-vo
|
||||
*/
|
||||
@Data
|
||||
public class LocationVo {
|
||||
|
||||
/**
|
||||
* 位置id
|
||||
*/
|
||||
private Long locationId;
|
||||
|
||||
/**
|
||||
* 系统id
|
||||
*/
|
||||
private Long systemId;
|
||||
|
||||
/**
|
||||
* 地点
|
||||
*/
|
||||
private String locationName;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private String lon;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private String lat;
|
||||
|
||||
/**
|
||||
* 时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date locationTime;
|
||||
|
||||
/**
|
||||
* 坐标类型 1.百度坐标 2.高德坐标
|
||||
*/
|
||||
private String coordinateType;
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.bonus.data.mapper;
|
||||
|
||||
import com.bonus.common.domain.data.dto.ParamsDto;
|
||||
import com.bonus.common.domain.data.vo.LocationVo;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @className:DILocationMapper
|
||||
* @author:cwchen
|
||||
* @date:2025-12-24-9:26
|
||||
* @version:1.0
|
||||
* @description:位置管理-数据层
|
||||
*/
|
||||
@Repository(value = "DILocationMapper")
|
||||
public interface DILocationMapper {
|
||||
|
||||
/**
|
||||
* 查询位置列表
|
||||
* @param dto
|
||||
* @return List<LocationVo>
|
||||
* @author cwchen
|
||||
* @date 2025/12/24 9:45
|
||||
*/
|
||||
List<LocationVo> getLocationList(ParamsDto dto);
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.bonus.data.service;
|
||||
|
||||
import com.bonus.common.domain.data.dto.ParamsDto;
|
||||
import com.bonus.common.domain.data.vo.LocationVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @className:DILocationService
|
||||
* @author:cwchen
|
||||
* @date:2025-12-24-9:24
|
||||
* @version:1.0
|
||||
* @description:位置管理-业务层
|
||||
*/
|
||||
public interface DILocationService {
|
||||
/**
|
||||
* 查询位置列表
|
||||
* @param dto
|
||||
* @return List<LocationVo>
|
||||
* @author cwchen
|
||||
* @date 2025/12/24 9:44
|
||||
*/
|
||||
List<LocationVo> getLocationList(ParamsDto dto);
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package com.bonus.data.service.impl;
|
||||
|
||||
import com.bonus.common.domain.data.dto.ParamsDto;
|
||||
import com.bonus.common.domain.data.vo.LocationVo;
|
||||
import com.bonus.data.mapper.DILocationMapper;
|
||||
import com.bonus.data.service.DILocationService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @className:DLocationServiceImpl
|
||||
* @author:cwchen
|
||||
* @date:2025-12-24-9:24
|
||||
* @version:1.0
|
||||
* @description:位置管理-业务逻辑层
|
||||
*/
|
||||
@Service(value = "DILocationService")
|
||||
public class DLocationServiceImpl implements DILocationService {
|
||||
|
||||
@Resource(name = "DILocationMapper")
|
||||
private DILocationMapper diLocationMapper;
|
||||
|
||||
@Override
|
||||
public List<LocationVo> getLocationList(ParamsDto dto) {
|
||||
return diLocationMapper.getLocationList(dto);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.bonus.data.mapper.DILocationMapper">
|
||||
|
||||
<!--查询位置列表-->
|
||||
<select id="getLocationList" resultType="com.bonus.common.domain.data.vo.LocationVo">
|
||||
SELECT
|
||||
location_name AS locationName,
|
||||
location_time AS locationTime
|
||||
FROM tb_device_location
|
||||
<where>
|
||||
<if test="startTime != null">
|
||||
AND location_time >= #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
AND location_time <= #{endTime}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY location_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue