增加根据id获取预约信息接口

This commit is contained in:
chenglijuan
2026-04-27 13:12:44 +08:00
parent c88b047d01
commit 09d7d2bc56
3 changed files with 54 additions and 1 deletions
@@ -3,6 +3,7 @@ package com.example.mini_program.controller;
import com.example.mini_program.common.Result; import com.example.mini_program.common.Result;
import com.example.mini_program.entity.VisitApplication; import com.example.mini_program.entity.VisitApplication;
import com.example.mini_program.service.AppointmentService; import com.example.mini_program.service.AppointmentService;
import com.example.mini_program.vo.VisitApplicationVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -87,4 +88,20 @@ public class AppointmentController {
boolean success = appointmentService.approve(id, status); boolean success = appointmentService.approve(id, status);
return success ? Result.success(true) : Result.error("审批失败,记录不存在或状态不允许"); return success ? Result.success(true) : Result.error("审批失败,记录不存在或状态不允许");
} }
/**
* 根据id获取审批详情
*/
@PutMapping("/detail")
public Result<VisitApplicationVo> 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);
}
} }
@@ -2,8 +2,10 @@ package com.example.mini_program.service;
import com.example.mini_program.entity.VisitApplication; import com.example.mini_program.entity.VisitApplication;
import com.example.mini_program.mapper.VisitApplicationMapper; import com.example.mini_program.mapper.VisitApplicationMapper;
import com.example.mini_program.vo.VisitApplicationVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -103,7 +105,6 @@ public class AppointmentService {
log.warn("预约状态不允许取消, id: {}, status: {}", id, existing.getStatus()); log.warn("预约状态不允许取消, id: {}, status: {}", id, existing.getStatus());
return false; return false;
} }
int rows = visitApplicationMapper.updateStatusToCancelled(id, openid); int rows = visitApplicationMapper.updateStatusToCancelled(id, openid);
if (rows > 0) { if (rows > 0) {
log.info("取消预约成功, id: {}", id); log.info("取消预约成功, id: {}", id);
@@ -113,6 +114,20 @@ public class AppointmentService {
return false; 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;
}
/** /**
* 审批预约(通过/拒绝) * 审批预约(通过/拒绝)
*/ */
@@ -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;
}