package com.ai.da.controller; import com.ai.da.common.response.Response; import com.ai.da.common.utils.FileUtil; import com.ai.da.common.utils.MD5Utils; import com.ai.da.model.dto.*; import com.ai.da.model.vo.*; import com.ai.da.service.CollectionElementService; import com.ai.da.service.PanToneService; import com.ai.da.service.SysFileService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.util.Assert; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.PostConstruct; import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; @Api(tags = "collection模块") @Slf4j @RestController @RequestMapping("/api/element") public class ElementController { @Resource private CollectionElementService collectionElementService; @Resource private PanToneService panToneService; @Resource private SysFileService sysFileService; @ApiOperation(value = "初始化系统文件") @PostMapping("/initDefaultSysFile") public Response initDefaultSysFile(@RequestParam("validate") String validateUse) { if (validateUse.equals("da_fl_mm_dad88888")) { //防止被调用 sysFileService.initDefaultSysFile(); } return Response.success(); } @ApiOperation(value = "element文件上传") @PostMapping("/upload") public Response upload(@RequestParam("file") MultipartFile file, @ApiParam("一级类型 Moodboard Printboard Sketchboard MarketingSketch Colorboard") @RequestParam(value = "level1Type") String level1Type, @ApiParam("本地时区,比如 'Asia/Tokyo' 东京时间 , 'Asia/Shanghai' 北京时间 由js本地获取") @RequestParam(value = "timeZone") String timeZone) { Assert.isTrue(!StringUtils.isEmpty(file.getOriginalFilename()),"Please select a file!"); return Response.success(collectionElementService.upload( new CollectionElementUploadDTO(file, level1Type, timeZone, MD5Utils.encryptFile(file)))); } @ApiOperation(value = "element文件删除") @PostMapping("/delete") public Response delete(@Valid @RequestBody CollectionDeleteFileDTO deleteFileDTO) { collectionElementService.delete(deleteFileDTO.getId()); return Response.success(); } @ApiOperation(value = "生成印花") @PostMapping("/generatePrint") public Response generatePrint(@Valid @RequestBody CollectionGeneratePrintDTO generatePrintDTO) { return Response.success(collectionElementService.generatePrint(generatePrintDTO)); } @ApiOperation(value = "保存印花") @PostMapping("/savePrint") public Response savePrint(@Valid @RequestBody CollectionSavePrintDTO savePrintDTO) { return Response.success(collectionElementService.savePrint(savePrintDTO)); } @ApiOperation(value = "通过tcx值获取潘通信息") @GetMapping("/getRgbByTcx") public Response getRgbByHsv(@ApiParam("tcx") @RequestParam("tcx") String tcx) { return Response.success(panToneService.getByTCX(tcx)); } @ApiOperation(value = "通过hsv值获取潘通信息") @GetMapping("/getRgbByHsv") public Response getRgbByHsv(@RequestParam("h") Integer h, @RequestParam("s") Integer s, @RequestParam("v") Integer v) { return Response.success(panToneService.getByHSV(h, s, v)); } @ApiOperation(value = "通过hsv值数组批量获取潘通信息") @PostMapping("/getRgbByHsvBatch") public Response> getRgbByHsvBatch(@RequestBody @Valid List rgbByHsvBatch) { return Response.success(panToneService.getRgbByHsvBatch(rgbByHsvBatch)); } }