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; +}