87 lines
3.2 KiB
Java
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;
|
|
}
|
|
}
|