package com.youlai.boot.mini.controller; import com.youlai.boot.common.annotation.Log; import com.youlai.boot.common.annotation.RepeatSubmit; import com.youlai.boot.common.enums.ActionTypeEnum; import com.youlai.boot.common.enums.LogModuleEnum; import com.youlai.boot.common.model.Option; import com.youlai.boot.common.result.Result; import com.youlai.boot.mini.model.form.StrayAnimalForm; import com.youlai.boot.mini.service.StrayAnimalService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * 流浪动物信息 */ @Tag(name = "流浪动物信息的相关接口") @RestController @RequestMapping("/api/v1/mini/strayAnimal") @RequiredArgsConstructor public class StrayAnimalController { private final StrayAnimalService strayAnimalService; @Operation(summary = "添加动物信息") @PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @RepeatSubmit @Log(module = LogModuleEnum.STRAY_ANIMAL_INFO, value = ActionTypeEnum.INSERT) public Result saveStrayAnimal( @Valid StrayAnimalForm formData, @RequestPart(name = "images") List images, @RequestPart(name = "videos", required = false) List videos ) { String uuid = strayAnimalService.saveStrayAnimal(formData, images, videos); return Result.success(uuid); } }