///*
// *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
// *
// *  Redistribution and use in source and binary forms, with or without
// *  modification, are permitted provided that the following conditions are met:
// *
// *  Redistributions of source code must retain the above copyright notice,
// *  this list of conditions and the following disclaimer.
// *  Redistributions in binary form must reproduce the above copyright
// *  notice, this list of conditions and the following disclaimer in the
// *  documentation and/or other materials provided with the distribution.
// *  Neither the name of the dreamlu.net developer nor the names of its
// *  contributors may be used to endorse or promote products derived from
// *  this software without specific prior written permission.
// *  Author: Chill 庄骞 (smallchill@163.com)
// */
//package org.springblade.etl.controller.bi;
//
//import java.util.List;
//
//import javax.validation.Valid;
//
//import org.springblade.core.boot.ctrl.BladeController;
//import org.springblade.core.mp.support.Condition;
//import org.springblade.core.tool.api.R;
//import org.springblade.core.tool.utils.Func;
//import org.springblade.etl.entity.DataApi;
//import org.springblade.etl.entity.DataApiCategory;
//import org.springblade.etl.service.DataApiCategoryService;
//import org.springblade.etl.service.DataApiInsertService;
//import org.springblade.etl.service.DataApiService;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.RestController;
//
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.baomidou.mybatisplus.core.toolkit.Wrappers;
//import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
//
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.annotations.ApiParam;
//import lombok.AllArgsConstructor;
//
///**
// * 数据接口分类 控制器
// *
// * @author BladeX
// * @since 2021-04-17
// */
//@RestController
//@AllArgsConstructor
//@RequestMapping("/dataapicategory")
//@Api(value = "数据接口分类", tags = "数据接口分类接口 DataApiCategoryController")
//public class DataApiCategoryController extends BladeController {
//
//	private final DataApiCategoryService dataApiCategoryService;
//
//	private final DataApiService dataApiService;
//
//	/**
//	 * 详情
//	 */
//	@GetMapping("/detail")
//	@ApiOperationSupport(order = 1)
//	@ApiOperation(value = "详情", notes = "传入dataApiCategory")
//	public R<DataApiCategory> detail(DataApiCategory dataApiCategory) {
//		DataApiCategory detail = dataApiCategoryService.getOne(Condition.getQueryWrapper(dataApiCategory));
//		return R.data(detail);
//	}
//
//	/**
//	 * 分页 数据接口分类
//	 */
//	@GetMapping("/list")
//	@ApiOperationSupport(order = 2)
//	@ApiOperation(value = "列表", notes = "传入dataApiCategory")
//	public R<List<DataApiCategory>> list(DataApiCategory dataApiCategory) {
////		dataApiCategory.setCreateUserId(getUser().getUserId());
//		QueryWrapper<DataApiCategory> queryWrapper = Condition.getQueryWrapper(dataApiCategory);
//		List<DataApiCategory> list = dataApiCategoryService.list(queryWrapper.lambda().orderByDesc(DataApiCategory::getOrderIndex, DataApiCategory::getCreateTime));
//		return R.data(list);
//	}
//
//	/**
//	 * 自定义分页 数据接口分类
//	 */
////	@GetMapping("/page")
////	@ApiOperationSupport(order = 3)
////	@ApiOperation(value = "分页", notes = "传入dataApiCategory")
////	public R<IPage<DataApiCategoryVO>> page(DataApiCategoryVO dataApiCategory, Query query) {
////		IPage<DataApiCategoryVO> pages = dataApiCategoryService.selectDataApiCategoryPage(Condition.getPage(query), dataApiCategory);
////		return R.data(pages);
////	}
//
//	/**
//	 * 新增 数据接口分类
//	 */
////	@PostMapping("/save")
////	@ApiOperationSupport(order = 4)
////	@ApiOperation(value = "新增", notes = "传入dataApiCategory")
////	public R save(@Valid @RequestBody DataApiCategory dataApiCategory) {
////		return R.status(dataApiCategoryService.save(dataApiCategory));
////	}
////
////	/**
////	 * 修改 数据接口分类
////	 */
////	@PostMapping("/update")
////	@ApiOperationSupport(order = 5)
////	@ApiOperation(value = "修改", notes = "传入dataApiCategory")
////	public R update(@Valid @RequestBody DataApiCategory dataApiCategory) {
////		return R.status(dataApiCategoryService.updateById(dataApiCategory));
////	}
//
//	/**
//	 * 新增或修改 数据接口分类
//	 */
//	@PostMapping("/submit")
//	@ApiOperationSupport(order = 6)
//	@ApiOperation(value = "新增或修改", notes = "传入dataApiCategory")
//	public R submit(@Valid @RequestBody DataApiCategory dataApiCategory) {
//		if(dataApiCategory.getId() == null || dataApiCategory.getId() < 0) {
//			dataApiCategory.setCreateUserId(getUser().getUserId());
//		}
//		return R.status(dataApiCategoryService.saveOrUpdate(dataApiCategory));
//	}
//
//	/**
//	 * 删除 数据接口分类
//	 */
//	@PostMapping("/remove")
//	@ApiOperationSupport(order = 8)
//	@ApiOperation(value = "删除", notes = "传入ids")
//	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
//		List<Integer> idList = Func.toIntList(ids);
//		long count = dataApiService.count(Wrappers.<DataApi>lambdaQuery().in(DataApi::getCategoryId, idList));
//		if(count > 0) {
//			return R.fail("该分类下有接口存在，不能删除。");
//		}
//		return R.status(dataApiCategoryService.removeByIds(idList));
//	}
//}
