de/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java
2021-12-16 18:16:24 +08:00

87 lines
3.2 KiB
Java

package io.dataease.controller.dataset;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.base.domain.DatasetTableField;
import io.dataease.controller.response.DatasetTableField4Type;
import io.dataease.service.dataset.DataSetFieldService;
import io.dataease.service.dataset.DataSetTableFieldsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author gin
* @Date 2021/2/24 4:28 下午
*/
@Api(tags = "数据集:数据集字段")
@ApiSupport(order = 60)
@RestController
@RequestMapping("/dataset/field")
public class DataSetTableFieldController {
@Resource
private DataSetTableFieldsService dataSetTableFieldsService;
@Autowired
private DataSetFieldService dataSetFieldService;
@ApiOperation("查询表下属字段")
@PostMapping("list/{tableId}")
public List<DatasetTableField> list(@PathVariable String tableId) {
DatasetTableField datasetTableField = DatasetTableField.builder().build();
datasetTableField.setTableId(tableId);
return dataSetTableFieldsService.list(datasetTableField);
}
@ApiOperation("分组查询表下属字段")
@PostMapping("listByDQ/{tableId}")
public DatasetTableField4Type listByDQ(@PathVariable String tableId) {
DatasetTableField datasetTableField = DatasetTableField.builder().build();
datasetTableField.setTableId(tableId);
datasetTableField.setGroupType("d");
List<DatasetTableField> dimensionList = dataSetTableFieldsService.list(datasetTableField);
datasetTableField.setGroupType("q");
List<DatasetTableField> quotaList = dataSetTableFieldsService.list(datasetTableField);
DatasetTableField4Type datasetTableField4Type = new DatasetTableField4Type();
datasetTableField4Type.setDimensionList(dimensionList);
datasetTableField4Type.setQuotaList(quotaList);
return datasetTableField4Type;
}
@ApiOperation("批量更新")
@PostMapping("batchEdit")
public void batchEdit(@RequestBody List<DatasetTableField> list) {
dataSetTableFieldsService.batchEdit(list);
}
@ApiOperation("保存")
@PostMapping("save")
public DatasetTableField save(@RequestBody DatasetTableField datasetTableField) {
return dataSetTableFieldsService.save(datasetTableField);
}
@ApiOperation("删除")
@PostMapping("delete/{id}")
public void delete(@PathVariable String id) {
dataSetTableFieldsService.delete(id);
}
@ApiOperation("值枚举")
@PostMapping("fieldValues/{fieldId}")
public List<Object> fieldValues(@PathVariable String fieldId) {
return dataSetFieldService.fieldValues(fieldId);
}
@ApiOperation("多字段值枚举")
@PostMapping("multFieldValues")
public List<Object> multFieldValues(@RequestBody List<String> fieldIds) {
List<Object> results = fieldIds.stream().map(fieldId -> dataSetFieldService.fieldValues(fieldId)).flatMap(list -> list.stream()).distinct().collect(Collectors.toList());
return results;
}
}