diff --git a/bonus-admin/src/main/java/com/bonus/web/controller/data/LocationController.java b/bonus-admin/src/main/java/com/bonus/web/controller/data/LocationController.java new file mode 100644 index 0000000..85239f5 --- /dev/null +++ b/bonus-admin/src/main/java/com/bonus/web/controller/data/LocationController.java @@ -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 list = locationService.getLocationList(dto); + return getDataTable(list); + } +} diff --git a/bonus-admin/src/main/java/com/bonus/web/service/data/LocationService.java b/bonus-admin/src/main/java/com/bonus/web/service/data/LocationService.java new file mode 100644 index 0000000..5bb87da --- /dev/null +++ b/bonus-admin/src/main/java/com/bonus/web/service/data/LocationService.java @@ -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 + * @author cwchen + * @date 2025/12/24 9:39 + */ + public List 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 result = locationService.getLocationList(dto); + return result != null ? result : Collections.emptyList(); + } catch (Exception e) { + log.error(e.toString(),e); + return Collections.emptyList(); + } + } +} diff --git a/bonus-common/src/main/java/com/bonus/common/domain/data/vo/LocationVo.java b/bonus-common/src/main/java/com/bonus/common/domain/data/vo/LocationVo.java new file mode 100644 index 0000000..657ae10 --- /dev/null +++ b/bonus-common/src/main/java/com/bonus/common/domain/data/vo/LocationVo.java @@ -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; +} diff --git a/bonus-data/src/main/java/com/bonus/data/mapper/DILocationMapper.java b/bonus-data/src/main/java/com/bonus/data/mapper/DILocationMapper.java new file mode 100644 index 0000000..8c9c2e3 --- /dev/null +++ b/bonus-data/src/main/java/com/bonus/data/mapper/DILocationMapper.java @@ -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 + * @author cwchen + * @date 2025/12/24 9:45 + */ + List getLocationList(ParamsDto dto); +} diff --git a/bonus-data/src/main/java/com/bonus/data/service/DILocationService.java b/bonus-data/src/main/java/com/bonus/data/service/DILocationService.java new file mode 100644 index 0000000..c353f9f --- /dev/null +++ b/bonus-data/src/main/java/com/bonus/data/service/DILocationService.java @@ -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 + * @author cwchen + * @date 2025/12/24 9:44 + */ + List getLocationList(ParamsDto dto); +} diff --git a/bonus-data/src/main/java/com/bonus/data/service/impl/DLocationServiceImpl.java b/bonus-data/src/main/java/com/bonus/data/service/impl/DLocationServiceImpl.java new file mode 100644 index 0000000..63ec78d --- /dev/null +++ b/bonus-data/src/main/java/com/bonus/data/service/impl/DLocationServiceImpl.java @@ -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 getLocationList(ParamsDto dto) { + return diLocationMapper.getLocationList(dto); + } +} diff --git a/bonus-data/src/main/resources/mapper/DLocationMapper.xml b/bonus-data/src/main/resources/mapper/DLocationMapper.xml new file mode 100644 index 0000000..f4a7649 --- /dev/null +++ b/bonus-data/src/main/resources/mapper/DLocationMapper.xml @@ -0,0 +1,23 @@ + + + + + + +