//package com.backendsys.controller.Ai;
//
//import com.backendsys.entity.Ai.Aizn.AiznImageStyleDTO;
//import com.backendsys.entity.Ai.Aizn.AiznIntelligentClipTaskDTO;
//import com.backendsys.entity.Ai.Aizn.AiznInteractClipTask.AiznInteractClipTaskDTO;
//import com.backendsys.entity.Ai.Aizn.AiznModel.AiznModelTaskDTO;
//import com.backendsys.entity.System.SysResourcePointsDTO;
//import com.backendsys.exception.CustException;
//import com.backendsys.mapper.System.SysResourcePointsMapper;
//import com.backendsys.service.Ai.Aizn.AiznImageTaskService;
//import com.backendsys.service.Ai.Aizn.AiznModelService;
//import com.backendsys.service.SDKService.SDKTencent.SDKTencentCOSService;
//import com.backendsys.utils.response.Result;
//import jakarta.validation.constraints.NotEmpty;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.security.access.prepost.PreAuthorize;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.*;
//
//import java.io.IOException;
//
//@Validated
//@RestController
//public class AiznModelController {
//
//    @Autowired
//    private SysResourcePointsMapper sysResourcePointsMapper;
//
//    @Autowired
//    private AiznModelService aiznModelService;
//
//    @Autowired
//    private AiznImageTaskService aiznImageTaskService;
//
//    @Autowired
//    private SDKTencentCOSService sdkTencentCOSService;
//
//    /**
//     * [紫鸟] AI模特 - 获得风格/场景配置数据
//     */
//    @PreAuthorize("@sr.hasPermission('35')")
//    @GetMapping("/api/ai/zn/getImageStyle")
//    public Result getImageStyle(AiznImageStyleDTO aiznImageStyleDTO) {
//        return Result.success(aiznModelService.getImageStyle(aiznImageStyleDTO));
//    }
//
//    /**
//     * [紫鸟] AI模特 - 获得积分单价 (AI模特)
//     */
//    @PreAuthorize("@sr.hasPermission('35')")
//    @GetMapping("/api/ai/zn/getResourceOfZnModel")
//    public Result getImageStyle() {
//        SysResourcePointsDTO sysResourcePointsDTO = new SysResourcePointsDTO();
//        sysResourcePointsDTO.setResource_type("ZnModel");
//        return Result.success(sysResourcePointsMapper.queryResourcePointsList(sysResourcePointsDTO));
//    }
//
//
//    /**
//     * [紫鸟] AI模特 - 智能抠图 (发起任务)
//     */
//    @PreAuthorize("@sr.hasPermission('35')")
//    @PostMapping("/api/ai/zn/makeIntelligentClipTask")
//    public Result makeIntelligentClipTask(@Validated @RequestBody AiznIntelligentClipTaskDTO aiznIntelligentClipTaskDTO) {
//        return Result.success(aiznModelService.makeIntelligentClipTask(aiznIntelligentClipTaskDTO));
//    }
//
//    /**
//     * [紫鸟] AI模特 - 智能抠图 (查询任务)
//     */
//    @PreAuthorize("@sr.hasPermission('35')")
//    @GetMapping("/api/ai/zn/getProgressOfIntelligentClipTask")
//    public Result getProgressOfIntelligentClipTask(@NotEmpty(message = "任务ID 不能为空") String id) throws IOException {
//        return Result.success(aiznImageTaskService.getProgressOfTask(id, 3));
//    }
//
//    /**
//     * [紫鸟] AI模特 - 交互抠图 (直接返回结果)
//     */
//    @PreAuthorize("@sr.hasPermission('35')")
//    @PostMapping("/api/ai/zn/makeInteractClipTask")
//    public Result makeInteractClipTask(@Validated @RequestBody AiznInteractClipTaskDTO aiznInteractClipTaskDTO) {
//        return Result.success(aiznModelService.makeInteractClipTask(aiznInteractClipTaskDTO));
//    }
//
//
//
//    /**
//     * [紫鸟] AI换模特 (发起任务)
//     */
//    @PreAuthorize("@sr.hasPermission('35')")
//    @PostMapping("/api/ai/zn/makeModelTask")
//    public Result makeModelTask(@Validated @RequestBody AiznModelTaskDTO aiznModelTaskDTO) {
//        return Result.success(aiznModelService.makeModelTask(aiznModelTaskDTO));
//    }
//
//    /**
//     * [紫鸟] AI换模特 (查询任务)
//     */
//    @PreAuthorize("@sr.hasPermission('35')")
//    @GetMapping("/api/ai/zn/getProgressOfModelTask")
//    public Result getProgressOfModelTask(
//            @RequestParam(value = "id", required = false) String id,
//            @RequestParam(value = "ids", required = false) String ids
//    ) throws IOException {
//        if (ids != null) {
//            if (id != null) throw new CustException("id 与 ids 不能同时存在");
//            return Result.success(aiznImageTaskService.getProgressOfTaskArray(ids, 9));
//        } else {
//            if (id == null) throw new CustException("id 与 ids 至少一项不能为空");
//            return Result.success(aiznImageTaskService.getProgressOfTask(id, 9));
//        }
//    }
//
//
//
//}
