package com.ai.da.controller; import com.ai.da.common.response.Response; import com.ai.da.model.dto.GenerateLikeDTO; import com.ai.da.model.dto.GenerateThroughImageTextDTO; import com.ai.da.model.vo.*; import com.ai.da.service.GenerateService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; /** * @author XP */ @Api(tags = "Generate模块") @Slf4j @RestController @RequestMapping("/api/generate") public class GenerateController { @Resource private GenerateService generateService; /*@ApiOperation("自动识别sketch的caption 暂时未上") @PostMapping("/caption") public Response generateCaption(@RequestParam Long sketchElementId) { return Response.success(generateService.generateCaption(sketchElementId)); }*/ /*@ApiOperation("通过文字、图片生成图片") @PostMapping("/sketchAndPrint") public void generateThroughImageText(@Valid @RequestBody GenerateThroughImageTextDTO generateThroughImageTextDTO) { // return Response.success(generateService.generateThroughImageText(generateThroughImageTextDTO)); generateService.generateThroughImageText(generateThroughImageTextDTO); }*/ @ApiOperation("喜欢生成的图片") @PostMapping("/like") public Response like(@Valid @RequestBody GenerateLikeDTO generateLikeDTO) { return Response.success(generateService.generateLike(generateLikeDTO)); } @ApiOperation(value = "取消喜欢") @GetMapping("/dislike") public Response dislike(@ApiParam("generateDetailId") @RequestParam Long generateDetailId, @ApiParam("timeZone") @RequestParam String timeZone) { return Response.success(generateService.generateDislike(generateDetailId, timeZone)); } @ApiOperation(value = "发起生成请求,异步获取结果") @PostMapping("/prepare") public Response prepareForGenerate(@Valid @RequestBody GenerateThroughImageTextDTO generateThroughImageTextDTO) { return Response.success(generateService.prepareForGenerate(generateThroughImageTextDTO)); } @ApiOperation(value = "取消继续生成") @GetMapping("/stopWaiting") public Response stopWaiting(@RequestParam("userId") Long userId, @RequestParam("uniqueId") List uniqueId, @RequestParam("timeZone") String timeZone) { generateService.cancelGenerate(userId, uniqueId, timeZone); return Response.success("stop waiting successfully"); } /*@ApiOperation(value = "获取生成结果") @GetMapping("/result") public Response getGenerateResult(@RequestParam("uniqueId") String uniqueId) { GenerateCollectionVO generateResult = generateService.getGenerateResult(uniqueId); return Response.success(generateResult); }*/ @ApiOperation(value = "获取生成结果") @PostMapping("/result") public Response> getGenerateResults(@Valid @RequestBody List taskIdList) { List generateResult = generateService.getGenerateResultList(taskIdList); return Response.success(generateResult); } }