Merge remote-tracking branch 'origin/junmao_branch' into junmao_branch

# Conflicts:
#	src/main/java/com/campus/water/controller/GlobalExceptionHandler.java
pull/163/head
tianyuan 2 weeks ago
commit d9baffbb70

@ -1,4 +1,4 @@
package com.campus.water;
package main.java.com.campus.water;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@ -10,7 +10,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
* Spring Boot
* Spring Integration
*/
@SpringBootApplication(scanBasePackages = "com.campus.water") // 扫描所有业务组件
@SpringBootApplication(scanBasePackages = "main.java.com.campus.water") // 扫描所有业务组件
@EnableScheduling // 开启定时任务(支持@Scheduled
@EnableIntegration // 开启Spring Integration支持MQTT集成
@EnableIntegrationManagement // 开启Integration管理监控消息流转

@ -1,5 +1,5 @@
// com/campus/water/config/MD5PasswordEncoder.java
package com.campus.water.config;
package main.java.com.campus.water.config;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.util.DigestUtils;

@ -1,4 +1,4 @@
package com.campus.water.config;
package main.java.com.campus.water.config;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.springframework.context.annotation.Bean;

@ -1,5 +1,5 @@
package com.campus.water.config;
import com.campus.water.config.MqttConfig;//编译器问题
package main.java.com.campus.water.config;
import main.java.com.campus.water.config.MqttConfig;//编译器问题
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter;

@ -1,8 +1,8 @@
// com/campus/water/config/SecurityConfig.java
package com.campus.water.config;
package main.java.com.campus.water.config;
import com.campus.water.security.JwtAuthenticationFilter;
import com.campus.water.security.UserDetailsServiceImpl;
import main.java.com.campus.water.security.JwtAuthenticationFilter;
import main.java.com.campus.water.security.UserDetailsServiceImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager;

@ -1,8 +1,8 @@
package com.campus.water.controller;
package main.java.com.campus.water.controller;
import com.campus.water.entity.Alert;
import com.campus.water.mapper.AlertRepository;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.Alert;
import main.java.com.campus.water.mapper.AlertRepository;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

@ -1,35 +1,19 @@
package com.campus.water.controller;
package main.java.com.campus.water.controller;
import com.campus.water.entity.BusinessException;
import com.campus.water.util.ResultVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.http.HttpStatus;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.validation.BindException;
import org.springframework.validation.FieldError;
import org.springframework.web.HttpMediaTypeNotSupportedException;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.MissingServletRequestParameterException;
import main.java.com.campus.water.util.ResultVO;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
import org.springframework.web.servlet.NoHandlerFoundException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import java.io.IOException;
import java.nio.file.AccessDeniedException;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.stream.Collectors;
import java.time.format.DateTimeParseException;
import java.util.Objects;
/**
* -
*/
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
/**
@ -42,10 +26,6 @@ public class GlobalExceptionHandler {
if (msg.contains("AlertLevel") || msg.contains("AlertStatus")) {
msg = "参数错误:告警级别可选值(info/warning/error/critical),告警状态可选值(pending/resolved/closed)";
}
// 设备ID格式错误特殊处理
if (msg.contains("设备ID") || msg.contains("deviceId")) {
msg = "设备ID格式错误正确格式为WM/WS开头+3位数字如WM001、WS123";
}
return ResultVO.error(400, "参数错误:" + msg);
}
@ -56,15 +36,8 @@ public class GlobalExceptionHandler {
public ResultVO<Void> handleTypeMismatch(MethodArgumentTypeMismatchException e) {
String errorMsg;
// 特殊处理时间格式错误(告警查询的时间参数)
if (e.getCause() instanceof java.time.format.DateTimeParseException) {
if (e.getCause() instanceof DateTimeParseException) {
errorMsg = "时间参数格式错误正确格式yyyy-MM-dd HH:mm:ss示例2025-12-05 10:30:00";
} else if (e.getRequiredType() != null && e.getRequiredType().isEnum()) {
// 枚举类型转换错误处理
errorMsg = String.format(
"参数[%s]枚举值错误,允许值:%s",
e.getName(),
getEnumValues(e.getRequiredType())
);
} else {
// 通用类型不匹配提示
errorMsg = String.format(
@ -78,179 +51,11 @@ public class GlobalExceptionHandler {
}
/**
* /访
*/
@ExceptionHandler({AccessDeniedException.class, org.springframework.security.access.AccessDeniedException.class})
public ResultVO<Void> handleAccessDenied(Exception e) {
String roleMsg = "仅超级管理员可操作";
// 区分不同接口的权限提示
if (e.getMessage().contains("AREA_ADMIN")) {
roleMsg = "仅区域管理员及以上权限可操作";
} else if (e.getMessage().contains("REPAIRMAN")) {
roleMsg = "仅维修人员及管理员可操作";
}
return ResultVO.error(403, "权限不足:" + roleMsg);
}
/**
* /
*/
@ExceptionHandler(NoSuchElementException.class)
public ResultVO<Void> handleNoSuchElement(NoSuchElementException e) {
String msg = e.getMessage();
// 标准化资源不存在提示
if (msg.contains("设备")) {
return ResultVO.error(404, "设备不存在:" + msg.replace("No value present", "").trim());
} else if (msg.contains("管理员") || msg.contains("Admin")) {
return ResultVO.error(404, "管理员不存在:" + msg.replace("No value present", "").trim());
} else if (msg.contains("区域") || msg.contains("Area")) {
return ResultVO.error(404, "区域不存在:" + msg.replace("No value present", "").trim());
}
return ResultVO.error(404, "请求的资源不存在:" + msg);
}
/**
* @NotBlank/@Pattern
*/
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResultVO<Void> handleMethodArgumentNotValid(MethodArgumentNotValidException e) {
// 收集所有验证失败的字段和消息
List<String> errorMessages = e.getBindingResult().getFieldErrors().stream()
.map(error -> error.getField() + "" + error.getDefaultMessage())
.collect(Collectors.toList());
return ResultVO.error(400, "参数验证失败:" + String.join("", errorMessages));
}
/**
* @RequestBody
* /访
*/
@ExceptionHandler(BindException.class)
public ResultVO<Void> handleBindException(BindException e) {
FieldError firstError = e.getBindingResult().getFieldError();
String errorMsg = firstError != null ?
firstError.getField() + "" + firstError.getDefaultMessage() :
"参数绑定失败";
return ResultVO.error(400, "表单参数错误:" + errorMsg);
}
/**
*
*/
@ExceptionHandler(MissingServletRequestParameterException.class)
public ResultVO<Void> handleMissingParam(MissingServletRequestParameterException e) {
return ResultVO.error(400,
String.format("缺少必填参数:%s类型%s",
e.getParameterName(),
e.getParameterType()));
}
/**
*
*/
@ExceptionHandler(DuplicateKeyException.class)
public ResultVO<Void> handleDuplicateKey(DuplicateKeyException e) {
log.error("数据库唯一约束冲突", e);
String msg = "数据已存在,无法重复添加";
// 针对设备ID冲突特殊处理
if (e.getMessage().contains("device_id")) {
msg = "设备ID已存在请更换设备ID后重试";
} else if (e.getMessage().contains("admin_name")) {
msg = "管理员用户名已存在,请更换用户名";
}
return ResultVO.error(409, msg);
}
/**
*
*/
@ExceptionHandler(DataIntegrityViolationException.class)
public ResultVO<Void> handleDataIntegrityViolation(DataIntegrityViolationException e) {
log.error("数据库完整性约束异常", e);
String msg = "数据操作失败,可能存在关联数据";
if (e.getMessage().contains("foreign key constraint")) {
msg = "无法删除,该数据已被其他记录关联引用";
} else if (e.getMessage().contains("not null")) {
msg = "必填字段不能为空,请检查输入";
}
return ResultVO.error(400, msg);
}
/**
* JSON
*/
@ExceptionHandler(HttpMessageNotReadableException.class)
public ResultVO<Void> handleHttpMessageNotReadable(HttpMessageNotReadableException e) {
log.error("请求体解析失败", e);
String msg = "请求数据格式错误请检查JSON格式是否正确";
if (e.getMessage().contains("date-time")) {
msg = "日期时间格式错误正确格式yyyy-MM-dd HH:mm:ss";
}
return ResultVO.error(400, msg);
}
/**
* HTTP
*/
@ExceptionHandler(HttpRequestMethodNotSupportedException.class)
public ResultVO<Void> handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e) {
return ResultVO.error(405,
String.format("不支持的请求方法:%s支持的方法%s",
e.getMethod(),
String.join(",", e.getSupportedMethods())));
}
/**
*
*/
@ExceptionHandler(HttpMediaTypeNotSupportedException.class)
public ResultVO<Void> handleHttpMediaTypeNotSupported(HttpMediaTypeNotSupportedException e) {
return ResultVO.error(415,
String.format("不支持的媒体类型:%s支持的类型%s",
e.getContentType(),
e.getSupportedMediaTypes()));
}
/**
*
*/
@ExceptionHandler(MaxUploadSizeExceededException.class)
public ResultVO<Void> handleMaxUploadSizeExceeded(MaxUploadSizeExceededException e) {
long maxSizeMB = e.getMaxUploadSize() / (1024 * 1024);
return ResultVO.error(413,
String.format("文件大小超限,最大支持:%dMB", maxSizeMB));
}
/**
* IO
*/
@ExceptionHandler(IOException.class)
public ResultVO<Void> handleIOException(IOException e) {
log.error("IO操作异常", e);
String msg = "文件操作失败:" + e.getMessage();
if (e.getMessage().contains("Permission denied")) {
msg = "文件操作权限不足";
}
return ResultVO.error(500, msg);
}
/**
*
*/
@ExceptionHandler(BusinessException.class)
public ResultVO<Void> handleBusinessException(BusinessException e) {
// 业务异常自带状态码和消息
return ResultVO.error(e.getCode(), e.getMessage());
}
/**
* 404
*/
@ExceptionHandler(NoHandlerFoundException.class)
public ResultVO<Void> handleNoHandlerFound(NoHandlerFoundException e) {
return ResultVO.error(404,
String.format("请求的接口不存在:%s %s",
e.getHttpMethod(),
e.getRequestURL()));
@ExceptionHandler(AccessDeniedException.class)
public ResultVO<Void> handleAccessDenied(AccessDeniedException e) {
return ResultVO.error(403, "权限不足:仅管理员/维修人员可访问告警相关功能");
}
/**
@ -258,32 +63,18 @@ public class GlobalExceptionHandler {
*/
@ExceptionHandler(RuntimeException.class)
public ResultVO<Void> handleRuntimeException(RuntimeException e) {
log.error("服务器运行时异常", e);
// 生产环境可根据异常类型返回更友好的提示
String msg = "服务器内部错误:" + e.getMessage();
// 对常见运行时异常进行特殊处理
if (e instanceof NullPointerException) {
msg = "系统处理异常:数据为空";
} else if (e instanceof IndexOutOfBoundsException) {
msg = "系统处理异常:数据索引越界";
}
return ResultVO.error(500, msg);
// 生产环境建议添加日志记录,此处简化
// log.error("服务器运行时异常", e);
return ResultVO.error(500, "服务器内部错误:" + e.getMessage());
}
/**
*
* @NotBlank/@Pattern
*/
private String getEnumValues(Class<?> enumClass) {
if (!enumClass.isEnum()) {
return "未知";
}
StringBuilder values = new StringBuilder();
for (Object enumConstant : enumClass.getEnumConstants()) {
values.append(enumConstant).append(",");
}
if (values.length() > 0) {
values.deleteCharAt(values.length() - 1);
}
return values.toString();
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResultVO<Void> handleMethodArgumentNotValid(MethodArgumentNotValidException e) {
// 获取第一个验证失败的字段和消息
String errorMsg = Objects.requireNonNull(e.getBindingResult().getFieldError()).getDefaultMessage();
return ResultVO.badRequest(errorMsg); // 返回400状态码和具体错误信息
}
}

@ -1,9 +1,9 @@
package com.campus.water.controller; // 修正包路径去掉main.java + 按规范放在common子包
package main.java.com.campus.water.controller; // 修正包路径去掉main.java + 按规范放在common子包
import com.campus.water.entity.dto.request.LoginRequest; // 替换原LoginDTO为规范的LoginRequest
import com.campus.water.entity.vo.LoginVO;
import com.campus.water.service.LoginService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.dto.request.LoginRequest; // 替换原LoginDTO为规范的LoginRequest
import main.java.com.campus.water.entity.vo.LoginVO;
import main.java.com.campus.water.service.LoginService;
import main.java.com.campus.water.util.ResultVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;

@ -1,8 +1,8 @@
package com.campus.water.controller;
package main.java.com.campus.water.controller;
import com.campus.water.entity.dto.request.RegisterRequest;
import com.campus.water.service.RegisterService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.dto.request.RegisterRequest;
import main.java.com.campus.water.service.RegisterService;
import main.java.com.campus.water.util.ResultVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;

@ -1,8 +1,8 @@
package com.campus.water.controller;
package main.java.com.campus.water.controller;
import com.campus.water.entity.Notification;
import com.campus.water.service.NotificationService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.Notification;
import main.java.com.campus.water.service.NotificationService;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;

@ -1,9 +1,9 @@
package com.campus.water.controller;
package main.java.com.campus.water.controller;
import com.campus.water.entity.dto.request.StudentDrinkQueryDTO;
import com.campus.water.entity.vo.StudentDrinkStatsVO;
import com.campus.water.service.StudentDrinkStatsService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.dto.request.StudentDrinkQueryDTO;
import main.java.com.campus.water.entity.vo.StudentDrinkStatsVO;
import main.java.com.campus.water.service.StudentDrinkStatsService;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;

@ -1,8 +1,8 @@
package com.campus.water.controller;
package main.java.com.campus.water.controller;
import com.campus.water.entity.vo.TerminalLocationVO;
import com.campus.water.service.WaterTerminalLocationService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.vo.TerminalLocationVO;
import main.java.com.campus.water.service.WaterTerminalLocationService;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;

@ -1,6 +1,6 @@
package com.campus.water.controller;
package main.java.com.campus.water.controller;
import com.campus.water.service.StudentWaterDataService;
import main.java.com.campus.water.service.StudentWaterDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@ -1,8 +1,8 @@
package com.campus.water.controller;
package main.java.com.campus.water.controller;
import com.campus.water.entity.*;
import com.campus.water.mapper.*;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.*;
import main.java.com.campus.water.mapper.*;
import main.java.com.campus.water.util.ResultVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;

@ -1,8 +1,8 @@
package com.campus.water.controller;
package main.java.com.campus.water.controller;
import com.campus.water.entity.WorkOrder;
import com.campus.water.service.WorkOrderService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.WorkOrder;
import main.java.com.campus.water.service.WorkOrderService;
import main.java.com.campus.water.util.ResultVO;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;

@ -1,8 +1,8 @@
package com.campus.water.controller.app;
package main.java.com.campus.water.controller.app;
import com.campus.water.entity.WorkOrder;
import com.campus.water.service.app.RepairmanAppService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.WorkOrder;
import main.java.com.campus.water.service.app.RepairmanAppService;
import main.java.com.campus.water.util.ResultVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@ -1,8 +1,8 @@
package com.campus.water.controller.web;
package main.java.com.campus.water.controller.web;
import com.campus.water.entity.Admin;
import com.campus.water.service.AdminService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.Admin;
import main.java.com.campus.water.service.AdminService;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;

@ -1,7 +1,7 @@
package com.campus.water.controller.web;
package main.java.com.campus.water.controller.web;
import com.campus.water.entity.Area;
import com.campus.water.service.AreaService;
import main.java.com.campus.water.entity.Area;
import main.java.com.campus.water.service.AreaService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;

@ -1,12 +1,12 @@
package com.campus.water.controller.web;
package main.java.com.campus.water.controller.web;
import com.campus.water.mapper.RepairerAuthRepository;
import com.campus.water.mapper.WaterMakerRealtimeDataRepository;
import com.campus.water.mapper.WaterSupplyRealtimeDataRepository;
import com.campus.water.service.DeviceService;
import com.campus.water.mapper.RepairmanRepository;
import com.campus.water.service.DeviceStatusService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.mapper.RepairerAuthRepository;
import main.java.com.campus.water.mapper.WaterMakerRealtimeDataRepository;
import main.java.com.campus.water.mapper.WaterSupplyRealtimeDataRepository;
import main.java.com.campus.water.service.DeviceService;
import main.java.com.campus.water.mapper.RepairmanRepository;
import main.java.com.campus.water.service.DeviceStatusService;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
@ -16,11 +16,11 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.security.core.Authentication;
import org.springframework.security.access.prepost.PreAuthorize;
import com.campus.water.entity.Device;
import com.campus.water.entity.RepairerAuth;
import com.campus.water.entity.Repairman;
import com.campus.water.entity.WaterMakerRealtimeData;
import com.campus.water.entity.WaterSupplyRealtimeData;
import main.java.com.campus.water.entity.Device;
import main.java.com.campus.water.entity.RepairerAuth;
import main.java.com.campus.water.entity.Repairman;
import main.java.com.campus.water.entity.WaterMakerRealtimeData;
import main.java.com.campus.water.entity.WaterSupplyRealtimeData;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@ -11,12 +11,12 @@
* 6. 线
*
*/
package com.campus.water.controller.web;
package main.java.com.campus.water.controller.web;
import com.campus.water.entity.Device;
import com.campus.water.entity.dto.request.DeviceStatusUpdateRequest;
import com.campus.water.service.DeviceStatusService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.Device;
import main.java.com.campus.water.entity.dto.request.DeviceStatusUpdateRequest;
import main.java.com.campus.water.service.DeviceStatusService;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;

@ -1,8 +1,8 @@
package com.campus.water.controller.web;
package main.java.com.campus.water.controller.web;
import com.campus.water.entity.Repairman;
import com.campus.water.service.RepairmanService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.Repairman;
import main.java.com.campus.water.service.RepairmanService;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;

@ -10,13 +10,13 @@
* 5. GET /hot-devices:
* Spring MVC
*/
package com.campus.water.controller.web;
package main.java.com.campus.water.controller.web;
import com.campus.water.entity.vo.AlarmStatisticsVO;
import com.campus.water.entity.vo.StatisticsVO;
import com.campus.water.entity.dto.request.StatisticsQueryRequest;
import com.campus.water.service.StatisticsService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.vo.AlarmStatisticsVO;
import main.java.com.campus.water.entity.vo.StatisticsVO;
import main.java.com.campus.water.entity.dto.request.StatisticsQueryRequest;
import main.java.com.campus.water.service.StatisticsService;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;

@ -1,10 +1,10 @@
// java/com/campus/water/controller/web/TerminalController.java
package com.campus.water.controller.web;
package main.java.com.campus.water.controller.web;
import com.campus.water.service.DeviceService;
import com.campus.water.service.TerminalService;
import com.campus.water.entity.vo.TerminalManageVO;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.service.DeviceService;
import main.java.com.campus.water.service.TerminalService;
import main.java.com.campus.water.entity.vo.TerminalManageVO;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;

@ -1,8 +1,8 @@
package com.campus.water.controller.web;
package main.java.com.campus.water.controller.web;
import com.campus.water.entity.User;
import com.campus.water.service.UserService;
import com.campus.water.util.ResultVO;
import main.java.com.campus.water.entity.User;
import main.java.com.campus.water.service.UserService;
import main.java.com.campus.water.util.ResultVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;

@ -1,4 +1,4 @@
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import jakarta.persistence.*;
import lombok.Data;

@ -3,7 +3,7 @@
* alert
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* area
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -1,5 +1,5 @@
// com/campus/water/entity/Device.java
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* device_terminal_mapping
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* drink_recommendation
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* drink_record
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* inspection_record
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* maintenance_plan
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* message_push
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -1,4 +1,4 @@
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* repairer_auth
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* repairman
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* terminal_usage_stats
* 使使
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* user
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* water_maker_realtime_data
* TDS寿
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* water_quality_history
* TDS
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -3,7 +3,7 @@
* water_supply_realtime_data
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -1,4 +1,4 @@
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import java.math.BigDecimal;
import lombok.Data;

@ -3,7 +3,7 @@
* work_order
*
*/
package com.campus.water.entity;
package main.java.com.campus.water.entity;
import lombok.Data;
import jakarta.persistence.*;

@ -1,7 +1,7 @@
// 路径com/campus/water/entity/dto/request/DeviceStatusUpdateRequest.java
package com.campus.water.entity.dto.request;
package main.java.com.campus.water.entity.dto.request;
import com.campus.water.entity.Device;
import main.java.com.campus.water.entity.Device;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

@ -1,5 +1,5 @@
// LoginRequest.java原LoginDTO按项目规范重命名
package com.campus.water.entity.dto.request;
package main.java.com.campus.water.entity.dto.request;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;

@ -1,4 +1,4 @@
package com.campus.water.entity.dto.request;
package main.java.com.campus.water.entity.dto.request;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;

@ -1,5 +1,5 @@
// com/campus/water/entity/dto/request/StatisticsQueryRequest.java
package com.campus.water.entity.dto.request;
package main.java.com.campus.water.entity.dto.request;
import lombok.Data;
import java.time.LocalDate;

@ -1,4 +1,4 @@
package com.campus.water.entity.dto.request;
package main.java.com.campus.water.entity.dto.request;
import lombok.Data;

@ -1,5 +1,5 @@
// com/campus/water/entity/vo/AlarmStatisticsVO.java
package com.campus.water.entity.vo;
package main.java.com.campus.water.entity.vo;
import lombok.Data;
import java.util.Map;

@ -1,4 +1,4 @@
package com.campus.water.entity.vo;
package main.java.com.campus.water.entity.vo;
import lombok.Data;

@ -1,5 +1,5 @@
// LoginVO.java保持VO命名无需修改
package com.campus.water.entity.vo;
package main.java.com.campus.water.entity.vo;
import lombok.Data;

@ -1,5 +1,5 @@
// com/campus/water/entity/vo/StatisticsVO.java
package com.campus.water.entity.vo;
package main.java.com.campus.water.entity.vo;
import lombok.Data;
import java.util.List;

@ -1,9 +1,9 @@
package com.campus.water.entity.vo;
package main.java.com.campus.water.entity.vo;
import lombok.Data;
import java.util.List;
import com.campus.water.entity.DrinkRecord;
import com.campus.water.entity.vo.DailyDrinkVO;
import main.java.com.campus.water.entity.DrinkRecord;
import main.java.com.campus.water.entity.vo.DailyDrinkVO;
/**
* VO
*/

@ -1,4 +1,4 @@
package com.campus.water.entity.vo;
package main.java.com.campus.water.entity.vo;
import lombok.Data;
import java.math.BigDecimal;

@ -1,7 +1,7 @@
// java/com/campus/water/vo/TerminalManageVO.java
package com.campus.water.entity.vo;
package main.java.com.campus.water.entity.vo;
import com.campus.water.entity.DeviceTerminalMapping;
import main.java.com.campus.water.entity.DeviceTerminalMapping;
import lombok.Data;
import java.math.BigDecimal;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.Admin;
import main.java.com.campus.water.entity.Admin;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
@ -41,7 +41,7 @@ public interface AdminRepository extends JpaRepository<Admin, String> {
// 新增2查询所有校区关联的区域管理员排除市区用于管理员列表筛选
// 备注:此处使用@Query注解关联Area表过滤区域类型为campus的管理员
@Query("SELECT a FROM Admin a WHERE a.role = ?1 AND a.areaId IN " +
"(SELECT ar.areaId FROM Area ar WHERE ar.areaType = com.campus.water.entity.Area.AreaType.campus)")
"(SELECT ar.areaId FROM Area ar WHERE ar.areaType = main.java.com.campus.water.entity.Area.AreaType.campus)")
List<Admin> findAllAreaAdminsForCampus(Admin.AdminRole role);
// 检查唯一约束

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.Alert;
import main.java.com.campus.water.entity.Alert;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.Area;
import main.java.com.campus.water.entity.Area;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,7 +1,7 @@
// com/campus/water/mapper/DeviceRepository.java
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.Device;
import main.java.com.campus.water.entity.Device;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.DeviceTerminalMapping;
import main.java.com.campus.water.entity.DeviceTerminalMapping;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.DrinkRecommendation;
import main.java.com.campus.water.entity.DrinkRecommendation;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.DrinkRecord;
import main.java.com.campus.water.entity.DrinkRecord;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.InspectionRecord;
import main.java.com.campus.water.entity.InspectionRecord;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.MaintenancePlan;
import main.java.com.campus.water.entity.MaintenancePlan;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.MessagePush;
import main.java.com.campus.water.entity.MessagePush;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.Notification;
import main.java.com.campus.water.entity.Notification;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.RepairerAuth; // 改为entity包下的RepairerAuth
import main.java.com.campus.water.entity.RepairerAuth; // 改为entity包下的RepairerAuth
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.Repairman;
import main.java.com.campus.water.entity.Repairman;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.DrinkRecord;
import main.java.com.campus.water.entity.DrinkRecord;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.TerminalUsageStats;
import main.java.com.campus.water.entity.TerminalUsageStats;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,7 +1,7 @@
// filePathmain/java/com/campus/water/mapper/UserRepository.java
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.User; // 改为引用User实体类
import main.java.com.campus.water.entity.User; // 改为引用User实体类
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.WaterMakerRealtimeData;
import main.java.com.campus.water.entity.WaterMakerRealtimeData;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.WaterQualityHistory;
import main.java.com.campus.water.entity.WaterQualityHistory;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.WaterSupplyRealtimeData;
import main.java.com.campus.water.entity.WaterSupplyRealtimeData;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.WaterTerminalLocation;
import main.java.com.campus.water.entity.WaterTerminalLocation;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@ -1,6 +1,6 @@
package com.campus.water.mapper;
package main.java.com.campus.water.mapper;
import com.campus.water.entity.WorkOrder;
import main.java.com.campus.water.entity.WorkOrder;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;

@ -1,4 +1,4 @@
package com.campus.water.model;
package main.java.com.campus.water.model;
import lombok.Data;
import java.time.LocalDateTime;

@ -1,4 +1,4 @@
package com.campus.water.model;
package main.java.com.campus.water.model;
import lombok.Data;
import java.time.LocalDateTime;

@ -1,5 +1,5 @@
// com/campus/water/security/JwtAuthenticationFilter.java
package com.campus.water.security;
package main.java.com.campus.water.security;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;

@ -1,5 +1,5 @@
// com/campus/water/security/JwtTokenProvider.java
package com.campus.water.security;
package main.java.com.campus.water.security;
import io.jsonwebtoken.*;
import io.jsonwebtoken.security.Keys;

@ -1,4 +1,4 @@
package com.campus.water.security;
package main.java.com.campus.water.security;
/**
*

@ -1,11 +1,11 @@
package com.campus.water.security;
package main.java.com.campus.water.security;
import com.campus.water.entity.Admin;
import com.campus.water.entity.RepairerAuth;
import com.campus.water.entity.User; // 自定义User实体类保留
import com.campus.water.mapper.AdminRepository;
import com.campus.water.mapper.RepairerAuthRepository;
import com.campus.water.mapper.UserRepository;
import main.java.com.campus.water.entity.Admin;
import main.java.com.campus.water.entity.RepairerAuth;
import main.java.com.campus.water.entity.User; // 自定义User实体类保留
import main.java.com.campus.water.mapper.AdminRepository;
import main.java.com.campus.water.mapper.RepairerAuthRepository;
import main.java.com.campus.water.mapper.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

@ -1,9 +1,9 @@
package com.campus.water.service;
package main.java.com.campus.water.service;
import com.campus.water.entity.Admin;
import com.campus.water.entity.Area;
import com.campus.water.mapper.AdminRepository;
import com.campus.water.mapper.AreaRepository;
import main.java.com.campus.water.entity.Admin;
import main.java.com.campus.water.entity.Area;
import main.java.com.campus.water.mapper.AdminRepository;
import main.java.com.campus.water.mapper.AreaRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;

@ -1,10 +1,10 @@
package com.campus.water.service;
package main.java.com.campus.water.service;
import com.campus.water.entity.Alert;
import com.campus.water.entity.MessagePush;
import com.campus.water.entity.Repairman;
import com.campus.water.mapper.MessagePushRepository;
import com.campus.water.mapper.RepairmanRepository;
import main.java.com.campus.water.entity.Alert;
import main.java.com.campus.water.entity.MessagePush;
import main.java.com.campus.water.entity.Repairman;
import main.java.com.campus.water.mapper.MessagePushRepository;
import main.java.com.campus.water.mapper.RepairmanRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

@ -1,18 +1,18 @@
package com.campus.water.service;
import com.campus.water.entity.Alert;
import com.campus.water.entity.Device;
import com.campus.water.entity.WorkOrder;
import com.campus.water.mapper.AlertRepository;
import com.campus.water.mapper.DeviceRepository;
import com.campus.water.mapper.WorkOrderRepository;
import com.campus.water.model.WaterMakerSensorData;
import com.campus.water.model.WaterSupplySensorData;
package main.java.com.campus.water.service;
import main.java.com.campus.water.entity.Alert;
import main.java.com.campus.water.entity.Device;
import main.java.com.campus.water.entity.WorkOrder;
import main.java.com.campus.water.mapper.AlertRepository;
import main.java.com.campus.water.mapper.DeviceRepository;
import main.java.com.campus.water.mapper.WorkOrderRepository;
import main.java.com.campus.water.model.WaterMakerSensorData;
import main.java.com.campus.water.model.WaterSupplySensorData;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.campus.water.service.AlertPushService;
import main.java.com.campus.water.service.AlertPushService;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;

@ -1,12 +1,12 @@
package com.campus.water.service;
import com.campus.water.entity.Area;
import com.campus.water.mapper.AreaRepository;
import com.campus.water.entity.Admin;
import com.campus.water.mapper.AdminRepository;
import com.campus.water.mapper.DeviceRepository;
import com.campus.water.mapper.DeviceTerminalMappingRepository;
import com.campus.water.security.RoleConstants;
package main.java.com.campus.water.service;
import main.java.com.campus.water.entity.Area;
import main.java.com.campus.water.mapper.AreaRepository;
import main.java.com.campus.water.entity.Admin;
import main.java.com.campus.water.mapper.AdminRepository;
import main.java.com.campus.water.mapper.DeviceRepository;
import main.java.com.campus.water.mapper.DeviceTerminalMappingRepository;
import main.java.com.campus.water.security.RoleConstants;
import java.util.List;
import org.springframework.stereotype.Service;

@ -1,13 +1,13 @@
package com.campus.water.service;
import com.campus.water.entity.Device;
import com.campus.water.entity.DeviceTerminalMapping;
import com.campus.water.entity.Device.DeviceStatus;
import com.campus.water.entity.Device.DeviceType;
import com.campus.water.entity.DeviceTerminalMapping.TerminalStatus;
import com.campus.water.mapper.DeviceRepository;
import com.campus.water.mapper.DeviceTerminalMappingRepository;
import com.campus.water.util.ResultVO;
package main.java.com.campus.water.service;
import main.java.com.campus.water.entity.Device;
import main.java.com.campus.water.entity.DeviceTerminalMapping;
import main.java.com.campus.water.entity.Device.DeviceStatus;
import main.java.com.campus.water.entity.Device.DeviceType;
import main.java.com.campus.water.entity.DeviceTerminalMapping.TerminalStatus;
import main.java.com.campus.water.mapper.DeviceRepository;
import main.java.com.campus.water.mapper.DeviceTerminalMappingRepository;
import main.java.com.campus.water.util.ResultVO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@ -1,8 +1,8 @@
// 路径com/campus/water/service/DeviceStatusService.java
package com.campus.water.service;
package main.java.com.campus.water.service;
import com.campus.water.entity.Device;
import com.campus.water.entity.dto.request.DeviceStatusUpdateRequest;
import main.java.com.campus.water.entity.Device;
import main.java.com.campus.water.entity.dto.request.DeviceStatusUpdateRequest;
import java.util.List;
import java.util.Map;

@ -1,8 +1,8 @@
package com.campus.water.service;
package main.java.com.campus.water.service;
import com.campus.water.entity.Device;
import com.campus.water.entity.dto.request.DeviceStatusUpdateRequest;
import com.campus.water.mapper.DeviceRepository;
import main.java.com.campus.water.entity.Device;
import main.java.com.campus.water.entity.dto.request.DeviceStatusUpdateRequest;
import main.java.com.campus.water.mapper.DeviceRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

@ -1,17 +1,17 @@
package com.campus.water.service;
import com.campus.water.entity.Admin;
import com.campus.water.entity.RepairerAuth;
import com.campus.water.entity.Repairman;
import com.campus.water.entity.User;
import com.campus.water.entity.vo.LoginVO;
import com.campus.water.mapper.AdminRepository;
import com.campus.water.mapper.RepairerAuthRepository;
import com.campus.water.mapper.RepairmanRepository;
import com.campus.water.mapper.UserRepository;
import com.campus.water.entity.dto.request.LoginRequest;
import com.campus.water.security.RoleConstants;
import com.campus.water.security.JwtTokenProvider;
package main.java.com.campus.water.service;
import main.java.com.campus.water.entity.Admin;
import main.java.com.campus.water.entity.RepairerAuth;
import main.java.com.campus.water.entity.Repairman;
import main.java.com.campus.water.entity.User;
import main.java.com.campus.water.entity.vo.LoginVO;
import main.java.com.campus.water.mapper.AdminRepository;
import main.java.com.campus.water.mapper.RepairerAuthRepository;
import main.java.com.campus.water.mapper.RepairmanRepository;
import main.java.com.campus.water.mapper.UserRepository;
import main.java.com.campus.water.entity.dto.request.LoginRequest;
import main.java.com.campus.water.security.RoleConstants;
import main.java.com.campus.water.security.JwtTokenProvider;
import lombok.RequiredArgsConstructor;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;

@ -1,14 +1,14 @@
package com.campus.water.service;
import com.campus.water.service.AlertTriggerService;
import com.campus.water.config.MqttConfig;
import com.campus.water.entity.Alert;
import com.campus.water.entity.WaterMakerRealtimeData;
import com.campus.water.entity.WaterSupplyRealtimeData;
import com.campus.water.mapper.AlertRepository;
import com.campus.water.mapper.WaterMakerRealtimeDataRepository;
import com.campus.water.mapper.WaterSupplyRealtimeDataRepository;
import com.campus.water.model.WaterMakerSensorData;
import com.campus.water.model.WaterSupplySensorData;
package main.java.com.campus.water.service;
import main.java.com.campus.water.service.AlertTriggerService;
import main.java.com.campus.water.config.MqttConfig;
import main.java.com.campus.water.entity.Alert;
import main.java.com.campus.water.entity.WaterMakerRealtimeData;
import main.java.com.campus.water.entity.WaterSupplyRealtimeData;
import main.java.com.campus.water.mapper.AlertRepository;
import main.java.com.campus.water.mapper.WaterMakerRealtimeDataRepository;
import main.java.com.campus.water.mapper.WaterSupplyRealtimeDataRepository;
import main.java.com.campus.water.model.WaterMakerSensorData;
import main.java.com.campus.water.model.WaterSupplySensorData;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

@ -1,8 +1,8 @@
package com.campus.water.service;
package main.java.com.campus.water.service;
import com.campus.water.config.MqttConfig;
import com.campus.water.model.WaterMakerSensorData;
import com.campus.water.model.WaterSupplySensorData;
import main.java.com.campus.water.config.MqttConfig;
import main.java.com.campus.water.model.WaterMakerSensorData;
import main.java.com.campus.water.model.WaterSupplySensorData;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;

@ -1,6 +1,6 @@
package com.campus.water.service;
package main.java.com.campus.water.service;
import com.campus.water.entity.Notification;
import main.java.com.campus.water.entity.Notification;
import java.util.List;
/**

@ -1,8 +1,8 @@
package com.campus.water.service.impl;
package main.java.com.campus.water.service;
import com.campus.water.entity.Notification;
import com.campus.water.mapper.NotificationRepository;
import com.campus.water.service.NotificationService;
import main.java.com.campus.water.entity.Notification;
import main.java.com.campus.water.mapper.NotificationRepository;
import main.java.com.campus.water.service.NotificationService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@ -1,11 +1,11 @@
package com.campus.water.service;
import com.campus.water.entity.Admin;
import com.campus.water.entity.RepairerAuth;
import com.campus.water.entity.Repairman;
import com.campus.water.entity.User;
import com.campus.water.entity.dto.request.RegisterRequest;
import com.campus.water.mapper.*;
package main.java.com.campus.water.service;
import main.java.com.campus.water.entity.Admin;
import main.java.com.campus.water.entity.RepairerAuth;
import main.java.com.campus.water.entity.Repairman;
import main.java.com.campus.water.entity.User;
import main.java.com.campus.water.entity.dto.request.RegisterRequest;
import main.java.com.campus.water.mapper.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;

@ -1,7 +1,7 @@
package com.campus.water.service;
package main.java.com.campus.water.service;
import com.campus.water.entity.Repairman;
import com.campus.water.mapper.RepairmanRepository;
import main.java.com.campus.water.entity.Repairman;
import main.java.com.campus.water.mapper.RepairmanRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;

@ -1,14 +1,14 @@
package com.campus.water.service;
import com.campus.water.entity.Alert;
import com.campus.water.entity.Device;
import com.campus.water.entity.TerminalUsageStats;
import com.campus.water.entity.dto.request.StatisticsQueryRequest;
import com.campus.water.entity.vo.AlarmStatisticsVO;
import com.campus.water.entity.vo.StatisticsVO;
import com.campus.water.mapper.AlertRepository;
import com.campus.water.mapper.DeviceRepository;
import com.campus.water.mapper.TerminalUsageStatsRepository;
package main.java.com.campus.water.service;
import main.java.com.campus.water.entity.Alert;
import main.java.com.campus.water.entity.Device;
import main.java.com.campus.water.entity.TerminalUsageStats;
import main.java.com.campus.water.entity.dto.request.StatisticsQueryRequest;
import main.java.com.campus.water.entity.vo.AlarmStatisticsVO;
import main.java.com.campus.water.entity.vo.StatisticsVO;
import main.java.com.campus.water.mapper.AlertRepository;
import main.java.com.campus.water.mapper.DeviceRepository;
import main.java.com.campus.water.mapper.TerminalUsageStatsRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@ -1,9 +1,9 @@
package com.campus.water.service;
package main.java.com.campus.water.service;
import com.campus.water.entity.DrinkRecord;
import com.campus.water.entity.vo.DailyDrinkVO;
import com.campus.water.entity.vo.StudentDrinkStatsVO;
import com.campus.water.mapper.DrinkRecordRepository;
import main.java.com.campus.water.entity.DrinkRecord;
import main.java.com.campus.water.entity.vo.DailyDrinkVO;
import main.java.com.campus.water.entity.vo.StudentDrinkStatsVO;
import main.java.com.campus.water.mapper.DrinkRecordRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;

@ -1,8 +1,8 @@
package com.campus.water.service;
package main.java.com.campus.water.service;
import com.campus.water.entity.DeviceTerminalMapping;
import com.campus.water.mapper.DeviceTerminalMappingRepository;
import com.campus.water.util.DeviceMappingUtil; // 硬编码映射工具类(之前定义的)
import main.java.com.campus.water.entity.DeviceTerminalMapping;
import main.java.com.campus.water.mapper.DeviceTerminalMappingRepository;
import main.java.com.campus.water.util.DeviceMappingUtil; // 硬编码映射工具类(之前定义的)
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save