package com.ai.da.controller; import com.ai.da.common.config.exception.BusinessException; import com.ai.da.common.response.PageBaseResponse; import com.ai.da.common.response.Response; import com.ai.da.mapper.primary.entity.CloudTask; import com.ai.da.mapper.primary.entity.CollectionSort; import com.ai.da.model.dto.*; import com.ai.da.model.vo.*; import com.ai.da.service.DesignService; import com.ai.da.service.UserLikeGroupService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import jakarta.validation.Valid; import java.math.BigDecimal; import java.util.List; @Tag(name = "design模块") @Slf4j @RestController @RequestMapping("/api/design") public class DesignController { @Resource private DesignService designService; @Resource private UserLikeGroupService userLikeGroupService; @Operation(summary = "设计 Conllection") @PostMapping("/designCollection") @CrossOrigin public Response designCollection(@Valid @RequestBody DesignCollectionDTO designDTO) { return Response.success(designService.designCollection(designDTO)); } @Operation(summary = "design进度条") @GetMapping("/designProcess") public Response designProcess(@RequestParam("processId") String processId) { return Response.success(designService.designProcess(processId)); } @Operation(summary = "重新设计 Collection") @PostMapping("/reDesignCollection") public Response reDesignCollection(@Valid @RequestBody ReDesignCollectionDTO reDesignDTO) { return Response.success(designService.reDesignCollection(reDesignDTO)); } @Operation(summary = "designItem list,刷新用") @GetMapping("/designItemList") public Response designItemList(@Parameter(description = "designId") @RequestParam("designId") Long designId) { return Response.success(designService.designItemList(designId)); } @Operation(summary = "统计design进度") @PostMapping("/countDesignProcess") public Response countDesignProcess() { return Response.success(designService.countDesignProcess()); } @Operation(summary = "Design Like") @PostMapping("/like") public Response like(@Valid @RequestBody DesignLikeDTO designLikeDTO) { return Response.success(designService.like(designLikeDTO)); } @Operation(summary = "Design Dislike") @PostMapping("/dislike") public Response dislike(@Valid @RequestBody DisDesignLikeDTO disDesignLikeDTO) { return Response.success(designService.dislike(disDesignLikeDTO)); } @Operation(summary = "Design sort") @PostMapping("/sort") public Response sort(@Valid @RequestBody CollectionSortDTO userLikeSortDTO) { return Response.success(designService.sort(userLikeSortDTO)); } @Operation(summary = "sketchBoard upload generate design前裁剪") @PostMapping("/sketchBoardsBoundingBox") public Response> sketchesBoundingBox(@Valid @RequestBody ReDesignCollectionDTO reDesignCollectionDTO) { return Response.success(designService.sketchesBoundingBox(reDesignCollectionDTO)); } @Operation(summary = "通过designItemId获取模特图") @PostMapping("/getModel") public Response> getModel(@RequestBody List designItemIdList){ return Response.success(designService.getModel(designItemIdList)); } @Operation(summary = "获取design结果") @GetMapping("/getDesignResult") public Response getDesignResult(@RequestParam("requestId") String requestId, @RequestParam("objectSignList") List objectSignList){ return Response.success(designService.getDesignResult(requestId, objectSignList)); } @Operation(summary = "云生成") @PostMapping("/designCloud") public Response designCloud(@Valid @RequestBody CloudTaskDTO cloudTaskDTO) { return Response.success(designService.designCloud(cloudTaskDTO)); } @Operation(summary = "云生成修改任务名") @PostMapping("/cloudTaskNameUpdate") public Response cloudTaskNameUpdate(@Valid @RequestBody CloudTaskDTO cloudTaskDTO) { return Response.success(designService.cloudTaskNameUpdate(cloudTaskDTO)); } @Operation(summary = "云生成删除任务") @PostMapping("/cloudTaskDelete") public Response cloudTaskDelete(@Valid @RequestBody CloudTaskDTO cloudTaskDTO) { return Response.success(designService.cloudTaskDelete(cloudTaskDTO)); } @Operation(summary = "云生成page") @PostMapping("/cloudPage") public Response> cloudPage(@Valid @RequestBody CloudPageDTO cloudPageDTO) { return Response.success(PageBaseResponse.success(designService.cloudPage(cloudPageDTO))); } @Operation(summary = "获取design云生成结果") @PostMapping("/getDesignCloudResult") public Response getDesignCloudResult(@Valid @RequestBody DesignCloudResultQuery designCloudResultQuery) { return Response.success(designService.getDesignCloudResult(designCloudResultQuery)); } }