diff --git a/backend/src/main/java/com/nursinghome/common/ApiResponse.java b/backend/src/main/java/com/nursinghome/common/ApiResponse.java index fab2760..7ff9ea3 100644 --- a/backend/src/main/java/com/nursinghome/common/ApiResponse.java +++ b/backend/src/main/java/com/nursinghome/common/ApiResponse.java @@ -14,11 +14,11 @@ public class ApiResponse { } public static ApiResponse success(T data) { - return new ApiResponse<>(0, "ok", data); + return new ApiResponse<>(0, "成功", data); } public static ApiResponse success() { - return new ApiResponse<>(0, "ok", null); + return new ApiResponse<>(0, "成功", null); } public static ApiResponse error(String message) { diff --git a/backend/src/main/java/com/nursinghome/common/GlobalExceptionHandler.java b/backend/src/main/java/com/nursinghome/common/GlobalExceptionHandler.java index 4c7f572..f69ac3d 100644 --- a/backend/src/main/java/com/nursinghome/common/GlobalExceptionHandler.java +++ b/backend/src/main/java/com/nursinghome/common/GlobalExceptionHandler.java @@ -14,7 +14,7 @@ public class GlobalExceptionHandler { @ExceptionHandler(MethodArgumentNotValidException.class) public ApiResponse handleValid(MethodArgumentNotValidException ex) { String msg = ex.getBindingResult().getAllErrors().isEmpty() - ? "validation error" : ex.getBindingResult().getAllErrors().get(0).getDefaultMessage(); + ? "参数校验失败" : ex.getBindingResult().getAllErrors().get(0).getDefaultMessage(); return ApiResponse.error(msg); } diff --git a/backend/src/main/java/com/nursinghome/controller/AuthController.java b/backend/src/main/java/com/nursinghome/controller/AuthController.java index aa3adf3..731f362 100644 --- a/backend/src/main/java/com/nursinghome/controller/AuthController.java +++ b/backend/src/main/java/com/nursinghome/controller/AuthController.java @@ -31,13 +31,13 @@ public class AuthController { public ApiResponse> login(@Valid @RequestBody LoginRequest request) { User user = userService.findByUsername(request.getUsername()); if (user == null) { - throw new ApiException("user not found"); + throw new ApiException("账号不存在"); } if (user.getStatus() != null && user.getStatus() == 0) { - throw new ApiException("user disabled"); + throw new ApiException("账号已被禁用"); } if (!PasswordUtil.matches(request.getPassword(), user.getPassword())) { - throw new ApiException("invalid password"); + throw new ApiException("密码错误"); } if (!PasswordUtil.isBcrypt(user.getPassword())) { userService.updatePassword(user.getId(), PasswordUtil.hash(request.getPassword())); diff --git a/backend/src/main/java/com/nursinghome/controller/FamilyController.java b/backend/src/main/java/com/nursinghome/controller/FamilyController.java index 9ed7106..b002415 100644 --- a/backend/src/main/java/com/nursinghome/controller/FamilyController.java +++ b/backend/src/main/java/com/nursinghome/controller/FamilyController.java @@ -73,7 +73,7 @@ public class FamilyController { } } if (!allowed) { - throw new ApiException("no access to this elder"); + throw new ApiException("无权访问该亲属"); } return ApiResponse.success(careRecordMapper.listByElderId(elderId)); } @@ -89,7 +89,7 @@ public class FamilyController { } } if (!allowed) { - throw new ApiException("no access to this elder"); + throw new ApiException("无权访问该亲属"); } return ApiResponse.success(healthRecordMapper.listByElderId(elderId)); } @@ -105,7 +105,7 @@ public class FamilyController { } } if (!allowed) { - throw new ApiException("no access to this elder"); + throw new ApiException("无权访问该亲属"); } return ApiResponse.success(billService.listByElderId(elderId)); } @@ -115,7 +115,7 @@ public class FamilyController { Long familyId = Long.valueOf(StpUtil.getLoginId().toString()); Bill bill = billMapper.findById(id); if (bill == null) { - throw new ApiException("bill not found"); + throw new ApiException("账单不存在"); } boolean allowed = false; for (FamilyElder relation : familyService.listRelations(familyId)) { @@ -125,10 +125,10 @@ public class FamilyController { } } if (!allowed) { - throw new ApiException("no access to this bill"); + throw new ApiException("无权访问该账单"); } if ("PAID".equals(bill.getStatus())) { - throw new ApiException("bill already paid"); + throw new ApiException("账单已支付"); } BigDecimal amount = bill.getTotal() == null ? BigDecimal.ZERO : bill.getTotal(); billService.payBill(id, familyId, request.getMethod(), amount); diff --git a/backend/src/main/java/com/nursinghome/controller/FileController.java b/backend/src/main/java/com/nursinghome/controller/FileController.java index c6d9889..195b55f 100644 --- a/backend/src/main/java/com/nursinghome/controller/FileController.java +++ b/backend/src/main/java/com/nursinghome/controller/FileController.java @@ -21,7 +21,7 @@ public class FileController { @PostMapping("/upload") public ApiResponse> upload(@RequestParam("file") MultipartFile file) throws IOException { if (file.isEmpty()) { - return ApiResponse.error("empty file"); + return ApiResponse.error("文件为空"); } String original = file.getOriginalFilename(); String ext = StringUtils.getFilenameExtension(original); diff --git a/backend/src/main/java/com/nursinghome/dto/LoginRequest.java b/backend/src/main/java/com/nursinghome/dto/LoginRequest.java index 5d7f421..bae1a70 100644 --- a/backend/src/main/java/com/nursinghome/dto/LoginRequest.java +++ b/backend/src/main/java/com/nursinghome/dto/LoginRequest.java @@ -3,9 +3,9 @@ package com.nursinghome.dto; import jakarta.validation.constraints.NotBlank; public class LoginRequest { - @NotBlank(message = "username required") + @NotBlank(message = "账号不能为空") private String username; - @NotBlank(message = "password required") + @NotBlank(message = "密码不能为空") private String password; public String getUsername() { diff --git a/backend/src/main/java/com/nursinghome/dto/RegisterRequest.java b/backend/src/main/java/com/nursinghome/dto/RegisterRequest.java index 93cbd42..0adad4e 100644 --- a/backend/src/main/java/com/nursinghome/dto/RegisterRequest.java +++ b/backend/src/main/java/com/nursinghome/dto/RegisterRequest.java @@ -3,14 +3,14 @@ package com.nursinghome.dto; import jakarta.validation.constraints.NotBlank; public class RegisterRequest { - @NotBlank(message = "username required") + @NotBlank(message = "账号不能为空") private String username; - @NotBlank(message = "password required") + @NotBlank(message = "密码不能为空") private String password; - @NotBlank(message = "name required") + @NotBlank(message = "姓名不能为空") private String name; private String phone; - @NotBlank(message = "elderIdCard required") + @NotBlank(message = "亲属身份证号不能为空") private String elderIdCard; private String relationship; diff --git a/backend/src/main/java/com/nursinghome/service/ElderService.java b/backend/src/main/java/com/nursinghome/service/ElderService.java index 52987a7..2de4049 100644 --- a/backend/src/main/java/com/nursinghome/service/ElderService.java +++ b/backend/src/main/java/com/nursinghome/service/ElderService.java @@ -29,7 +29,7 @@ public class ElderService { public Elder create(Elder elder) { if (elderMapper.findByIdCard(elder.getIdCard()) != null) { - throw new ApiException("id card already exists"); + throw new ApiException("身份证号已存在"); } elderMapper.insert(elder); return elder; diff --git a/backend/src/main/java/com/nursinghome/service/FamilyService.java b/backend/src/main/java/com/nursinghome/service/FamilyService.java index 11626af..828cdac 100644 --- a/backend/src/main/java/com/nursinghome/service/FamilyService.java +++ b/backend/src/main/java/com/nursinghome/service/FamilyService.java @@ -25,7 +25,7 @@ public class FamilyService { public User registerFamily(String username, String password, String name, String phone, String elderIdCard, String relationship) { Elder elder = elderService.findByIdCard(elderIdCard); if (elder == null) { - throw new ApiException("elder not found"); + throw new ApiException("未找到该亲属"); } User user = new User(); user.setUsername(username); diff --git a/backend/src/main/java/com/nursinghome/service/UserService.java b/backend/src/main/java/com/nursinghome/service/UserService.java index 8a3ae06..3b3c585 100644 --- a/backend/src/main/java/com/nursinghome/service/UserService.java +++ b/backend/src/main/java/com/nursinghome/service/UserService.java @@ -30,7 +30,7 @@ public class UserService { public User createUser(User user, boolean hashPassword) { if (userMapper.findByUsername(user.getUsername()) != null) { - throw new ApiException("username already exists"); + throw new ApiException("账号已存在"); } if (hashPassword) { user.setPassword(PasswordUtil.hash(user.getPassword())); diff --git a/frontend/src/views/admin/Bills.vue b/frontend/src/views/admin/Bills.vue index d413951..2c3c25d 100644 --- a/frontend/src/views/admin/Bills.vue +++ b/frontend/src/views/admin/Bills.vue @@ -11,7 +11,13 @@ - + + + @@ -47,6 +53,16 @@ export default { this.load(); }, methods: { + statusLabel(status) { + if (status === "PAID") return "已支付"; + if (status === "UNPAID") return "未支付"; + return status || "-"; + }, + statusTag(status) { + if (status === "PAID") return "success"; + if (status === "UNPAID") return "warning"; + return "info"; + }, async load() { try { const res = await billsList(this.filterElderId || null); diff --git a/frontend/src/views/admin/Feedback.vue b/frontend/src/views/admin/Feedback.vue index d3b3c6a..b033683 100644 --- a/frontend/src/views/admin/Feedback.vue +++ b/frontend/src/views/admin/Feedback.vue @@ -4,9 +4,21 @@ - + + + - + + +