package com.sinata.appointment.controller; import com.sinata.appointment.common.Result; import com.sinata.appointment.common.ResultUtil; import com.sinata.appointment.dto.MiniVisitorCreateRequest; import com.sinata.appointment.dto.MiniVisitorDetailVo; import com.sinata.appointment.dto.MiniVisitorListVo; import com.sinata.appointment.dto.MiniVisitorUpdateRequest; import com.sinata.appointment.service.MiniVisitorApplicationService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import jakarta.validation.constraints.NotBlank; import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @Tag(name = "小程序访客") @RestController @RequestMapping("/api/mini/visitors") @RequiredArgsConstructor public class MiniVisitorController { private final MiniVisitorApplicationService miniVisitorApplicationService; @Operation(summary = "新增访客") @PostMapping public Result create(@Valid @RequestBody MiniVisitorCreateRequest request) { miniVisitorApplicationService.create(request); return ResultUtil.success(); } @Operation(summary = "我的访客列表") @GetMapping public Result> listMine() { return ResultUtil.data(miniVisitorApplicationService.listMine()); } @Operation(summary = "访客详情") @GetMapping("/{id}") public Result detail( @PathVariable Long id, @RequestParam @NotBlank(message = "uuid 不能为空") String uuid) { return ResultUtil.data(miniVisitorApplicationService.detail(id, uuid)); } @Operation(summary = "编辑访客") @PutMapping("/{id}") public Result update( @PathVariable Long id, @RequestParam @NotBlank(message = "uuid 不能为空") String uuid, @Valid @RequestBody MiniVisitorUpdateRequest request) { miniVisitorApplicationService.update(id, uuid, request); return ResultUtil.success(); } }