package cn.cslg.pas.controller; import cn.cslg.pas.common.core.base.Constants; import cn.cslg.pas.common.dto.business.*; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.common.vo.business.AvoidDesignWholeVO; import cn.cslg.pas.exception.ConditionException; import cn.cslg.pas.exception.UnLoginException; import cn.cslg.pas.exception.XiaoShiException; import cn.cslg.pas.service.business.AvoidDesignService; import cn.cslg.pas.service.business.AvoidDesignWholeService; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; /** * 回避设计方案 * @Author xiexiang * @Date 2023/12/5 */ @Slf4j @RequestMapping(Constants.API_XiaoSHI + "/avoidDesign") @RestController public class AvoidDesignController { @Autowired private AvoidDesignService avoidDesignService; @Autowired private AvoidDesignWholeService avoidDesignWholeService; @Operation(summary = "保存回避设计方案") @PostMapping("/addAvoidDesign") public Response addAvoidDesign(@RequestBody AvoidDesignInsertDTO avoidDesignInsertDTO) throws Exception { if (avoidDesignInsertDTO != null) { List ids = new ArrayList<>(); try { ids = avoidDesignService.addAvoidDesign(avoidDesignInsertDTO); } catch (Exception e) { if (e instanceof XiaoShiException) { return Response.error(e.getMessage()); } else if (e instanceof UnLoginException) { return Response.unLogin(e.getMessage()); } else if (e instanceof ConditionException) { return Response.conditionError(e.getMessage()); } } return Response.success(ids); } else { return Response.error("入参为null"); } } @Operation(summary = "查询回避设计方案") @PostMapping("/getAvoidDesign") public Response getAvoidDesign(@RequestBody GetFeatureSplitDTO getFeatureSplitDTO) throws Exception { AvoidDesignWholeVO avoidDesignWholeVO = avoidDesignWholeService.getAvoidDesignWhole(getFeatureSplitDTO); return Response.success(avoidDesignWholeVO); } }