From 09d7d2bc568d58885040e352ba4e62da0b291027 Mon Sep 17 00:00:00 2001 From: chenglijuan Date: Mon, 27 Apr 2026 13:12:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=B9=E6=8D=AEid=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=A2=84=E7=BA=A6=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AppointmentController.java | 17 +++++++++++++++ .../service/AppointmentService.java | 17 ++++++++++++++- .../mini_program/vo/VisitApplicationVo.java | 21 +++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/example/mini_program/vo/VisitApplicationVo.java diff --git a/src/main/java/com/example/mini_program/controller/AppointmentController.java b/src/main/java/com/example/mini_program/controller/AppointmentController.java index 5c59d7a..71536a2 100644 --- a/src/main/java/com/example/mini_program/controller/AppointmentController.java +++ b/src/main/java/com/example/mini_program/controller/AppointmentController.java @@ -3,6 +3,7 @@ package com.example.mini_program.controller; import com.example.mini_program.common.Result; import com.example.mini_program.entity.VisitApplication; import com.example.mini_program.service.AppointmentService; +import com.example.mini_program.vo.VisitApplicationVo; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -87,4 +88,20 @@ public class AppointmentController { boolean success = appointmentService.approve(id, status); return success ? Result.success(true) : Result.error("审批失败,记录不存在或状态不允许"); } + + + /** + * 根据id获取审批详情 + */ + @PutMapping("/detail") + public Result detail(@RequestParam String id, @RequestParam String openid) throws Exception { + if (id == null || id.trim().isEmpty()) { + return Result.error("id不能为空"); + } + if (openid == null || openid.trim().isEmpty()) { + return Result.error("openid不能为空"); + } + VisitApplicationVo vo = appointmentService.detail(id, openid); + return Result.success(vo); + } } diff --git a/src/main/java/com/example/mini_program/service/AppointmentService.java b/src/main/java/com/example/mini_program/service/AppointmentService.java index 6246e7f..368b69d 100644 --- a/src/main/java/com/example/mini_program/service/AppointmentService.java +++ b/src/main/java/com/example/mini_program/service/AppointmentService.java @@ -2,8 +2,10 @@ package com.example.mini_program.service; import com.example.mini_program.entity.VisitApplication; import com.example.mini_program.mapper.VisitApplicationMapper; +import com.example.mini_program.vo.VisitApplicationVo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -103,7 +105,6 @@ public class AppointmentService { log.warn("预约状态不允许取消, id: {}, status: {}", id, existing.getStatus()); return false; } - int rows = visitApplicationMapper.updateStatusToCancelled(id, openid); if (rows > 0) { log.info("取消预约成功, id: {}", id); @@ -113,6 +114,20 @@ public class AppointmentService { return false; } + /** + * 预约详情 + */ + public VisitApplicationVo detail(String id, String openid) throws Exception { + log.info("预约详情, id: {}, openid: {}", id, openid); + VisitApplication existing = visitApplicationMapper.selectByIdAndOpenid(id, openid); + if (existing == null) { + throw new Exception("未查询到该用户的访客预约记录"); + } + VisitApplicationVo visitApplicationVo = new VisitApplicationVo(); + BeanUtils.copyProperties(visitApplicationVo, existing); + return visitApplicationVo; + } + /** * 审批预约(通过/拒绝) */ diff --git a/src/main/java/com/example/mini_program/vo/VisitApplicationVo.java b/src/main/java/com/example/mini_program/vo/VisitApplicationVo.java new file mode 100644 index 0000000..6532a73 --- /dev/null +++ b/src/main/java/com/example/mini_program/vo/VisitApplicationVo.java @@ -0,0 +1,21 @@ +package com.example.mini_program.vo; + +import com.fasterxml.jackson.annotation.JsonAlias; +import lombok.Data; + +@Data +public class VisitApplicationVo { + + private String name; + private String phone; + private String company; + private String reason; + + @JsonAlias("date") + private String visitDate; + @JsonAlias("time") + private String visitTime; + private String hostName; + private String area; + private String statusText; +}