From 09d7d2bc568d58885040e352ba4e62da0b291027 Mon Sep 17 00:00:00 2001 From: chenglijuan Date: Mon, 27 Apr 2026 13:12:44 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=B9=E6=8D=AEid?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=A2=84=E7=BA=A6=E4=BF=A1=E6=81=AF=E6=8E=A5?= =?UTF-8?q?=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; +} From f885409e1347dccde8b0b43d11fce678aeda6b21 Mon Sep 17 00:00:00 2001 From: chenglijuan Date: Mon, 27 Apr 2026 17:53:01 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=97=E8=AE=BF?= =?UTF-8?q?=E8=80=85=E4=B8=8B=E6=8B=89=E6=A1=86=E5=90=8E=E7=AB=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/mini_program/common/Result.java | 2 +- .../controller/AppointmentController.java | 13 ++++++++++ .../entity/ReceptionPersonPO.java | 11 ++++++++ .../mapper/ReceptionPersonMapper.java | 11 ++++++++ .../service/AppointmentService.java | 25 ++++++++++++++++++- .../mini_program/vo/ReceptionPersonVo.java | 10 ++++++++ .../mapper/ReceptionPersonMapper.xml | 16 ++++++++++++ 7 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/example/mini_program/entity/ReceptionPersonPO.java create mode 100644 src/main/java/com/example/mini_program/mapper/ReceptionPersonMapper.java create mode 100644 src/main/java/com/example/mini_program/vo/ReceptionPersonVo.java create mode 100644 src/main/resources/mapper/ReceptionPersonMapper.xml diff --git a/src/main/java/com/example/mini_program/common/Result.java b/src/main/java/com/example/mini_program/common/Result.java index f2f6c0d..b1c2dea 100644 --- a/src/main/java/com/example/mini_program/common/Result.java +++ b/src/main/java/com/example/mini_program/common/Result.java @@ -11,7 +11,7 @@ public class Result { public static Result success(T data) { Result result = new Result<>(); - result.setCode(0); + result.setCode(200); result.setMessage("success"); result.setData(data); return result; 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 71536a2..665c04b 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.ReceptionPersonVo; import com.example.mini_program.vo.VisitApplicationVo; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -16,6 +17,7 @@ public class AppointmentController { private final AppointmentService appointmentService; + /** * 根据openid获取最新的一条预约记录 */ @@ -104,4 +106,15 @@ public class AppointmentController { VisitApplicationVo vo = appointmentService.detail(id, openid); return Result.success(vo); } + + /** + * 受访人下拉框值 + */ + @PostMapping("/person/selector") + public Result> personSelector() { + System.out.println("----------------------------------"); + // 异步处理,立即返回 + List list = appointmentService.personSelector(); + return Result.success(list); + } } diff --git a/src/main/java/com/example/mini_program/entity/ReceptionPersonPO.java b/src/main/java/com/example/mini_program/entity/ReceptionPersonPO.java new file mode 100644 index 0000000..85459c7 --- /dev/null +++ b/src/main/java/com/example/mini_program/entity/ReceptionPersonPO.java @@ -0,0 +1,11 @@ +package com.example.mini_program.entity; + +import lombok.Data; + +@Data +public class ReceptionPersonPO { + + private Long id; + private String personId; + private String personName; +} diff --git a/src/main/java/com/example/mini_program/mapper/ReceptionPersonMapper.java b/src/main/java/com/example/mini_program/mapper/ReceptionPersonMapper.java new file mode 100644 index 0000000..c0a84fa --- /dev/null +++ b/src/main/java/com/example/mini_program/mapper/ReceptionPersonMapper.java @@ -0,0 +1,11 @@ +package com.example.mini_program.mapper; + +import com.example.mini_program.entity.ReceptionPersonPO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface ReceptionPersonMapper { + List selectReceptionPerson(); +} 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 368b69d..837c72e 100644 --- a/src/main/java/com/example/mini_program/service/AppointmentService.java +++ b/src/main/java/com/example/mini_program/service/AppointmentService.java @@ -1,14 +1,19 @@ package com.example.mini_program.service; +import com.example.mini_program.entity.ReceptionPersonPO; import com.example.mini_program.entity.VisitApplication; +import com.example.mini_program.mapper.ReceptionPersonMapper; import com.example.mini_program.mapper.VisitApplicationMapper; +import com.example.mini_program.vo.ReceptionPersonVo; 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.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -20,9 +25,13 @@ import java.util.UUID; @Service @RequiredArgsConstructor public class AppointmentService { - + @Autowired private final VisitApplicationMapper visitApplicationMapper; + @Autowired private final WxApprovalService wxApprovalService; + @Autowired + private ReceptionPersonMapper receptionPersonMapper; + @Autowired private final WxSubscribeMessageService wxSubscribeMessageService; @Value("${wx.corp.creator-userid:}") @@ -155,4 +164,18 @@ public class AppointmentService { return true; } + /** + * 获取受访者下拉框的值 + */ + public List personSelector() { + List receiptPersonList = receptionPersonMapper.selectReceptionPerson(); + List voList = new ArrayList<>(); + for(ReceptionPersonPO po : receiptPersonList){ + ReceptionPersonVo vo = new ReceptionPersonVo(); + BeanUtils.copyProperties(vo, po); + voList.add(vo); + } + return voList; + } + } diff --git a/src/main/java/com/example/mini_program/vo/ReceptionPersonVo.java b/src/main/java/com/example/mini_program/vo/ReceptionPersonVo.java new file mode 100644 index 0000000..b22d234 --- /dev/null +++ b/src/main/java/com/example/mini_program/vo/ReceptionPersonVo.java @@ -0,0 +1,10 @@ +package com.example.mini_program.vo; + +import lombok.Data; + +@Data +public class ReceptionPersonVo { + + private String personId; + private String personName; +} diff --git a/src/main/resources/mapper/ReceptionPersonMapper.xml b/src/main/resources/mapper/ReceptionPersonMapper.xml new file mode 100644 index 0000000..ea03233 --- /dev/null +++ b/src/main/resources/mapper/ReceptionPersonMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + +