package com.ai.da.controller; import com.ai.da.common.response.Response; import com.ai.da.model.dto.*; import com.ai.da.model.vo.*; import com.ai.da.service.DesignItemService; import com.ai.da.service.DesignService; 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.io.IOException; @Tag(name = "design Detail模块") @Slf4j @RestController @RequestMapping("/api/design/detail") public class DesignDetailController { @Resource private DesignService designService; @Resource private DesignItemService designItemService; @Operation(summary = "生成高级design图片") @PostMapping("/generateHighDesign") public Response generateHighDesign(@Valid @RequestBody GenerateHighDesignDTO generateHighDesignDTO) { Response response = new Response(); response.setData(designService.generateHighDesign(generateHighDesignDTO)); return response; } @Operation(summary = "删除高级design图片") @PostMapping("/deleteHighDesign") public Response deleteHighDesign(@Valid @RequestBody GenerateHighDesignDTO generateHighDesignDTO) { Response response = new Response(); response.setData(designService.deleteHighDesign(generateHighDesignDTO)); return response; } @Operation(summary = "查询design详情") @GetMapping("/getDetail") public Response getDetail(@Parameter(description = "designItemId") @RequestParam("designItemId") Long designItemId, @Parameter(description = "designPythonOutfitId") @RequestParam(value = "designPythonOutfitId", required = false) Long designPythonOutfitId) { return Response.success(designService.detail(designPythonOutfitId, designItemId)); } @Operation(summary = "切换系统的element") @GetMapping("/getNextSysElement") public Response getNextSysElement(@Parameter(description = "要切换的系统element 类型") @RequestParam("type") String type, @Parameter(description = "要切换的系统element id") @RequestParam("id") Long id, @Parameter(description = "操作类型 PREV 上一步 NEXT 下一步") @RequestParam("operateType") String operateType) { return Response.success(designItemService.getNextSysElement(id, type, operateType)); } @Operation(summary = "单个design") @PostMapping("/designSingle") public Response designSingle(@Valid @RequestBody DesignSingleIncludeLayersDTO designSingleIncludeLayersDTO) { return Response.success(designItemService.designSingleIncludeLayers(designSingleIncludeLayersDTO)); } @Operation(summary = "print打点") @PostMapping("/printDot") public Response printDot(@Valid @RequestBody DesignSingleDTO designSingleDTO) { Response response = new Response(); String url = designItemService.printDot(designSingleDTO); response.setData(url); return response; } @Operation(summary = "编辑图层大小和位置 废弃") @PostMapping("/editLayers") public Response editPositionAndScale(@Valid @RequestBody EditLayersPositionAndScaleVO positionAndScaleVO) throws IOException { return Response.success(designItemService.editLayersPositionAndScale(positionAndScaleVO)); } @Operation(summary = "mask数据兼容") @GetMapping("/convertWithoutGradient") public Response convertHistoryMaskWithoutGradient(){ designItemService.convertHistoryMaskWithoutGradient(); return Response.success("success"); } @Operation(summary = "mask数据库路径更新") @GetMapping("/updateMaskUrl") public Response updateMaskUrl(){ designItemService.updateMaskUrl(); return Response.success("success"); } }