更新了api-base模块

This commit is contained in:
root 2025-06-22 11:04:51 +08:00
parent 18cd3e120d
commit 730365d1c4
54 changed files with 276 additions and 61 deletions

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>api</artifactId>
<groupId>io.gisbi</groupId>
<version>1.0.0</version>
<version>2.0.0</version>
</parent>
<dependencies>
<dependency>
@ -15,13 +15,13 @@
<dependency>
<groupId>io.gisbi</groupId>
<artifactId>extensions-view</artifactId>
<version>1.0.0</version>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.gisbi</groupId>
<artifactId>extensions-datafilling</artifactId>
<version>1.0.0</version>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>

View File

@ -38,8 +38,8 @@ public interface ChartViewApi {
String checkSameDataSet(@PathVariable String viewIdSource, @PathVariable String viewIdTarget);
@Operation(summary = "查询图表详情")
@PostMapping("getDetail/{id}")
ChartViewDTO getDetail(@PathVariable Long id);
@PostMapping("getDetail/{id}/{resourceTable}")
ChartViewDTO getDetail(@PathVariable Long id, @PathVariable String resourceTable);
@Operation(summary = "查询仪表板下视图项")
@GetMapping("/viewOption/{resourceId}")
@ -57,6 +57,7 @@ public interface ChartViewApi {
@PostMapping("deleteFieldByChart/{chartId}")
void deleteFieldByChart(@PathVariable Long chartId);
@GetMapping("/chartBaseInfo/{id}")
ChartBaseVO chartBaseInfo(@PathVariable("id") Long id);
@Operation(summary = "视图头部信息")
@GetMapping("/chartBaseInfo/{id}/{resourceTable}")
ChartBaseVO chartBaseInfo(@PathVariable("id") Long id, @PathVariable String resourceTable);
}

View File

@ -9,7 +9,7 @@ public class ViewDetailField implements Serializable {
private String name;
private String dataeaseName;
private String gisbiName;
private Integer deType;
}

View File

@ -27,7 +27,7 @@ public class ChartExcelRequest extends ChartExcelRequestInner {
private List<ChartExcelRequestInner> multiInfo;
private boolean dataEaseBi = false;
private boolean gisbiBi = false;
private String downloadType;

View File

@ -15,4 +15,6 @@ public class ThresholdCheckRequest implements Serializable {
private String thresholdRules;
private String thresholdTemplate;
private String resourceTable;
}

View File

@ -13,6 +13,7 @@ import io.gisbi.model.BusiNodeRequest;
import io.gisbi.model.BusiNodeVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@ -61,6 +62,7 @@ public interface DatasetTreeApi {
@PostMapping("move")
DatasetNodeDTO move(@RequestBody DatasetGroupInfoDTO dto) throws Exception;
@Operation(summary = "是否有仪表板、大屏正在使用此数据集")
@DePermit({"#p0+':manage'"})
@PostMapping("perDelete/{id}")
boolean perDelete(@PathVariable("id") Long id);
@ -101,5 +103,5 @@ public interface DatasetTreeApi {
@DePermit(value = {"#p0.id+':export'"})
@Operation(summary = "数据集导出")
@PostMapping("/exportDataset")
void exportDataset(@RequestBody DataSetExportRequest request) throws Exception;
void exportDataset(@RequestBody DataSetExportRequest request, HttpServletResponse response) throws Exception;
}

View File

@ -9,4 +9,5 @@ import lombok.Data;
public class DataSetExportRequest extends DatasetNodeDTO {
private String filename;
private String expressionTree;
private boolean gisbiBi;
}

View File

@ -11,4 +11,5 @@ public class PreviewSqlDTO {
private String sql;
private Long datasourceId;
private String sqlVariableDetails;
private Boolean isCross;
}

View File

@ -30,4 +30,6 @@ public class DatasetGroupInfoDTO extends DatasetNodeDTO {
private String creator;
private String updater;
private Boolean isCross;
}

View File

@ -88,6 +88,11 @@ public class CoreDatasetGroupVO implements Serializable {
*/
private String unionSql;
/**
* 是否跨源
*/
private Boolean isCross;
private List<CoreDatasetTableFieldVO> datasetFields = new ArrayList<>();
private List<ChartBaseVO> datasetViews = new ArrayList<>();

View File

@ -60,7 +60,7 @@ public class CoreDatasetTableFieldVO implements Serializable {
/**
* de字段名用作唯一标识
*/
private String dataeaseName;
private String gisbiName;
/**
* de字段别名
@ -80,7 +80,7 @@ public class CoreDatasetTableFieldVO implements Serializable {
private Integer size;
/**
* dataease字段类型0-文本1-时间2-整型数值3-浮点数值4-布尔5-地理位置6-二进制
* gisbi字段类型0-文本1-时间2-整型数值3-浮点数值4-布尔5-地理位置6-二进制
*/
private Integer deType;

View File

@ -34,4 +34,6 @@ public class DataSetBarVO implements Serializable {
private String updater;
private List<DatasourceDTO> datasourceDTOList;
private Boolean isCross;
}

View File

@ -18,6 +18,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.Map;
@ -126,13 +127,18 @@ public interface DatasourceApi {
@Operation(summary = "获取表")
List<DatasetTableDTO> getTables(@RequestBody DatasetTableDTO datasetTableDTO) throws DEException;
@DePermit({"#p0.datasourceId+':read'"})
@PostMapping("getTableStatus")
@Operation(summary = "获取数据表更新状态")
List<DatasetTableDTO> getTableStatus(@RequestBody DatasetTableDTO datasetTableDTO) throws DEException;
@PostMapping("/checkApiDatasource")
@Operation(summary = "校验API数据源")
ApiDefinition checkApiDatasource(@RequestBody Map<String, String> data) throws DEException;
@PostMapping("/uploadFile")
@Operation(summary = "上传文件")
ExcelFileData excelUpload(@RequestParam("file") MultipartFile file, @RequestParam("id") long datasourceId, @RequestParam("editType") Integer editType) throws DEException;
ExcelFileData uploadFile(@RequestParam("file") MultipartFile file, @RequestParam("id") long datasourceId, @RequestParam("editType") Integer editType) throws DEException;
@PostMapping("/previewData")
@Operation(summary = "预览数据")
@ -166,4 +172,8 @@ public interface DatasourceApi {
@PostMapping("/multidimensionalTables")
@Operation(summary = "获取多维表格列表")
List<Map<String, String>> multidimensionalTables(@RequestBody Map<String, String> data) throws DEException;
@PostMapping("/loadRemoteFile")
@Operation(summary = "加载文件")
ExcelFileData loadRemoteFile(@RequestBody RemoteExcelRequest remoteExcelRequeste) throws DEException, IOException;
}

View File

@ -5,6 +5,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.gisbi.api.ds.vo.DriveDTO;
import io.gisbi.api.ds.vo.DriveJarDTO;
import io.gisbi.extensions.datasource.dto.DatasourceDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -18,30 +19,39 @@ public interface DatasourceDriverApi {
* @param keyWord 过滤关键字
* @return
*/
@Operation(summary = "查询数据源树", hidden = true)
@GetMapping("/query/{keyWord}")
List<DatasourceDTO> query(@PathVariable("keyWord") String keyWord);
@Operation(summary = "列表")
@GetMapping("/list")
List<DriveDTO> list();
@Operation(summary = "根据数据源类型获取")
@GetMapping("/list/{dsType}")
List<DriveDTO> listByDsType(@PathVariable("dsType") String dsType);
@Operation(summary = "保存")
@PostMapping("/save")
DriveDTO save(@RequestBody DriveDTO datasourceDrive);
@Operation(summary = "更新")
@PostMapping("/update")
DriveDTO update(@RequestBody DriveDTO datasourceDrive);
@Operation(summary = "删除")
@PostMapping("/delete/{driverId}")
void delete(@PathVariable("driverId") String driverId);
@Operation(summary = "获取驱动jar列表")
@GetMapping("/listDriverJar/{driverId}")
List<DriveJarDTO> listDriverJar(@PathVariable("driverId") String driverId);
@Operation(summary = "删除驱动jar")
@PostMapping("/deleteDriverJar/{jarId}")
void deleteDriverJar(@PathVariable("jarId") String jarId);
@Operation(summary = "上传驱动jar")
@PostMapping("/uploadJar")
DriveJarDTO uploadJar(@RequestParam("deDriverId") String deDriverId, @RequestParam("jarFile") MultipartFile jarFile) throws Exception;
}

View File

@ -3,6 +3,7 @@ package io.gisbi.api.ds;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.gisbi.auth.DeApiPath;
import io.gisbi.extensions.datasource.dto.DatasourceDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;
@ -13,18 +14,23 @@ import static io.gisbi.constant.AuthResourceEnum.DATASOURCE;
@DeApiPath(value = "/engine", rt = DATASOURCE)
public interface EngineApi {
@Operation(summary = "查询")
@GetMapping("/getEngine")
DatasourceDTO getEngine();
@Operation(summary = "保存")
@PostMapping("/save")
void save(@RequestBody DatasourceDTO datasourceDTO);
@Operation(summary = "校验")
@PostMapping("/validate")
void validate(@RequestBody DatasourceDTO datasourceDTO) throws Exception;
@Operation(summary = "根据ID校验")
@PostMapping("/validate/{id}")
void validateById(@PathVariable Long id) throws Exception;
@Operation(summary = "是否支持设置主键")
@GetMapping("/supportSetKey")
boolean supportSetKey() throws Exception;
}

View File

@ -1,8 +1,11 @@
package io.gisbi.api.exportCenter;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.gisbi.auth.DePermit;
import io.gisbi.model.ExportTaskDTO;
import io.gisbi.auth.DeApiPath;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.GetMapping;
@ -11,30 +14,43 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
import static io.gisbi.constant.AuthResourceEnum.DATASOURCE;
@Tag(name = "数据导出中心")
@ApiSupport(order = 971)
@DeApiPath(value = "/exportCenter", rt = DATASOURCE)
public interface ExportCenterApi {
@PostMapping("/exportTasks/{status}")
public List<ExportTaskDTO> exportTasks(@PathVariable String status) ;
@PostMapping("/exportTasks/records")
public Map<String, Long> exportTasks();
@DePermit("m:read")
@PostMapping("/exportTasks/{status}/{goPage}/{pageSize}")
IPage<ExportTaskDTO> pager(@PathVariable("goPage") int goPage, @PathVariable("pageSize") int pageSize, @PathVariable String status);
@Operation(summary = "删除单条记录")
@GetMapping("/delete/{id}")
public void delete(@PathVariable String id);
@Operation(summary = "批量删除")
@PostMapping("/delete")
public void delete(@RequestBody List<String> ids);
@Operation(summary = "删除")
@PostMapping("/deleteAll/{type}")
public void deleteAll(@PathVariable String type);
@Operation(summary = "下载")
@GetMapping("/download/{id}")
public void download(@PathVariable String id, HttpServletResponse response) throws Exception;
@Operation(summary = "生成下载Url")
@GetMapping("/generateDownloadUri/{id}")
public String generateDownloadUri(@PathVariable String id) throws Exception;
@Operation(summary = "重试")
@PostMapping("/retry/{id}")
public void retry(@PathVariable String id);

View File

@ -2,6 +2,7 @@ package io.gisbi.api.font.api;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.gisbi.api.ds.vo.ExcelFileData;
import io.gisbi.api.font.dto.FontDto;
import io.gisbi.exception.DEException;
import io.swagger.v3.oas.annotations.Operation;

View File

@ -3,11 +3,13 @@ package io.gisbi.api.free;
import io.gisbi.api.free.dto.*;
import io.gisbi.api.free.vo.FreeRelationVO;
import io.gisbi.api.free.vo.FreeVO;
import io.swagger.v3.oas.annotations.Hidden;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@Hidden
public interface FreeApi {
@PostMapping("/query")

View File

@ -75,9 +75,11 @@ public interface ReportApi {
@PostMapping("/deleteLog")
void deleteInstance(@RequestBody ReportInstanceDelRequest request);
@Operation(summary = "日志错误信息")
@PostMapping("/logMsg")
String logMsg(@RequestBody ReportInstanceMsgRequest request);
@Operation(summary = "导出")
@PostMapping("/export")
ResponseEntity<ByteArrayResource> export(@RequestBody ReportExportRequest request);
}

View File

@ -1,22 +1,23 @@
package io.gisbi.api.report.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Schema(description = "导出请求")
@Data
public class ReportExportRequest implements Serializable {
@Serial
private static final long serialVersionUID = -5372551595882128201L;
@Schema(description = "资源ID")
private Long resourceId;
@Schema(description = "资源类型")
private String busiType;
@Schema(description = "分辨率")
private String pixel;
@Schema(description = "额外等待时间")
private Integer extWaitTime = 0;
@Schema(description = "导出格式")
private Integer resultFormat = 0;
}

View File

@ -1,16 +1,18 @@
package io.gisbi.api.report.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Schema(description = "日志错误信息请求")
@Data
public class ReportInstanceMsgRequest implements Serializable {
@Serial
private static final long serialVersionUID = 7192222037770564561L;
@Schema(description = "任务ID")
private Long taskId;
@Schema(description = "任务实例ID")
private Long instanceId;
}

View File

@ -34,6 +34,10 @@ public interface SysParameterApi {
@GetMapping("/queryOnlineMap")
OnlineMapEditor queryOnlineMap();
@Operation(summary = "查询在线地图")
@GetMapping("/queryOnlineMap/{type}")
OnlineMapEditor queryOnlineMapByMapType(@PathVariable("type") String type);
@Operation(summary = "查询基础设置(非xpack)")
@GetMapping("basic/query")
List<SettingItemVO> queryBasicSetting();

View File

@ -8,6 +8,8 @@ import java.io.Serializable;
@Schema(description = "在线地图构造器")
@Data
public class OnlineMapEditor implements Serializable {
@Schema(description = "在线地图类型", requiredMode = Schema.RequiredMode.REQUIRED)
private String mapType;
@Schema(description = "在线地图key", requiredMode = Schema.RequiredMode.REQUIRED)
private String key;
@Schema(description = "在线地图安全密钥", requiredMode = Schema.RequiredMode.NOT_REQUIRED)

View File

@ -1,5 +1,6 @@
package io.gisbi.api.template.request;
import io.gisbi.api.template.vo.VisualizationTemplateVO;
import lombok.Data;
import java.util.List;

View File

@ -36,16 +36,16 @@ public interface ThresholdApi {
IPage<ThresholdGridVO> pager(@PathVariable("goPage") int goPage, @PathVariable("pageSize") int pageSize, @RequestBody ThresholdGridRequest request);
@Operation(summary = "查询表单")
@GetMapping("/formInfo/{id}")
ThresholdCreator formInfo(@PathVariable("id") Long id);
@GetMapping("/formInfo/{id}/{resourceTable}")
ThresholdCreator formInfo(@PathVariable("id") Long id, @PathVariable("resourceTable") String resourceTable);
@Operation(summary = "切换可用")
@PostMapping("/switch")
void switchEnable(@RequestBody ThresholdSwitchRequest request);
@Operation(summary = "删除")
@PostMapping("/delete")
void delete(@RequestBody List<Long> idList);
@PostMapping("/delete/{resourceTable}")
void delete(@RequestBody List<Long> idList, @PathVariable("resourceTable") String resourceTable);
@Operation(summary = "批量设置接收人")
@PostMapping("/batchReci")
@ -65,10 +65,10 @@ public interface ThresholdApi {
String preview(@RequestBody ThresholdPreviewRequest request);
@Operation(summary = "视图是否设置了阈值告警")
@GetMapping("/anyThreshold/{chartId}")
boolean anyThreshold(@PathVariable("chartId") Long chartId);
@GetMapping("/anyThreshold/{chartId}/{resourceTable}")
boolean anyThreshold(@PathVariable("chartId") Long chartId, @PathVariable("resourceTable") String resourceTable);
@Operation(summary = "根据视图ID删除")
@GetMapping("/deleteWithChart/{chartId}")
void deleteWithChart(@PathVariable("chartId") Long chartId);
@GetMapping("/deleteWithChart/{chartId}/{resourceTable}")
void deleteWithChart(@PathVariable("chartId") Long chartId, @PathVariable("resourceTable") String resourceTable);
}

View File

@ -2,6 +2,7 @@ package io.gisbi.api.threshold.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.gisbi.constant.CommonConstants;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -44,4 +45,6 @@ public class ThresholdCreator extends BaseReciDTO implements Serializable {
private String msgContent;
private Boolean repeatSend = true;
private String resourceTable = CommonConstants.RESOURCE_TABLE.CORE;
}

View File

@ -1,5 +1,6 @@
package io.gisbi.api.threshold.dto;
import io.gisbi.constant.CommonConstants;
import lombok.Data;
import java.io.Serial;
@ -13,6 +14,8 @@ public class ThresholdGridRequest implements Serializable {
private String keyword;
private String resourceTable = CommonConstants.RESOURCE_TABLE.CORE;
private List<String> resourceTypeList;
private List<Integer> statusList;

View File

@ -1,5 +1,6 @@
package io.gisbi.api.threshold.dto;
import io.gisbi.constant.CommonConstants;
import lombok.Data;
import java.io.Serial;
@ -15,4 +16,6 @@ public class ThresholdPreviewRequest implements Serializable {
private String thresholdRules;
private String msgContent;
private String resourceTable = CommonConstants.RESOURCE_TABLE.CORE;
}

View File

@ -1,5 +1,6 @@
package io.gisbi.api.threshold.dto;
import io.gisbi.constant.CommonConstants;
import lombok.Data;
import java.io.Serial;
@ -13,4 +14,6 @@ public class ThresholdSwitchRequest implements Serializable {
private Long id;
private Boolean enable;
private String resourceTable = CommonConstants.RESOURCE_TABLE.CORE;
}

View File

@ -62,7 +62,18 @@ public interface DataVisualizationApi {
@PostMapping("/updateCanvas")
@DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type")
@Operation(summary = "画布更新")
void updateCanvas(@RequestBody DataVisualizationBaseRequest request);
DataVisualizationVO updateCanvas(@RequestBody DataVisualizationBaseRequest request);
@PostMapping("/updatePublishStatus")
@DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type")
@Operation(summary = "发布状态更新")
void updatePublishStatus(@RequestBody DataVisualizationBaseRequest request);
@PostMapping("/recoverToPublished")
@DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type")
@Operation(summary = "恢复到发布状态")
void recoverToPublished(@RequestBody DataVisualizationBaseRequest request);
@PostMapping("/updateBase")
@DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type")

View File

@ -19,7 +19,4 @@ public interface StaticResourceApi {
@Operation(summary = "查找静态文件并转为Base64")
Map<String,String> findResourceAsBase64(@RequestBody StaticResourceRequest resourceRequest);
@GetMapping("urlTest")
Map<String,String> urlTest();
}

View File

@ -32,9 +32,9 @@ public interface VisualizationLinkJumpApi {
@Operation(summary = "根据图表ID查询跳转信息")
VisualizationLinkJumpDTO queryWithViewId(@PathVariable Long dvId, @PathVariable Long viewId);
@GetMapping("/queryVisualizationJumpInfo/{dvId}")
@GetMapping("/queryVisualizationJumpInfo/{dvId}/{resourceTable}")
@Operation(summary = "根据可视化资源ID查询跳转信息")
VisualizationLinkJumpBaseResponse queryVisualizationJumpInfo(@PathVariable Long dvId);
VisualizationLinkJumpBaseResponse queryVisualizationJumpInfo(@PathVariable Long dvId, @PathVariable String resourceTable);
@PostMapping("/updateJumpSet")
@Operation(summary = "更新跳转信息")

View File

@ -35,9 +35,9 @@ public interface VisualizationLinkageApi {
@Operation(summary = "保存联动信息")
BaseRspModel saveLinkage(@RequestBody VisualizationLinkageRequest request);
@GetMapping("/getVisualizationAllLinkageInfo/{dvId}")
@GetMapping("/getVisualizationAllLinkageInfo/{dvId}/{resourceTable}")
@Operation(summary = "根据资源ID查询联动信息")
Map<String, List<String>> getVisualizationAllLinkageInfo(@PathVariable Long dvId);
Map<String, List<String>> getVisualizationAllLinkageInfo(@PathVariable Long dvId,@PathVariable String resourceTable);
@PostMapping("/updateLinkageActive")
@Operation(summary = "修改联动信息可用状态")

View File

@ -3,25 +3,29 @@ package io.gisbi.api.visualization;
import io.gisbi.api.dataset.vo.CoreDatasetGroupVO;
import io.gisbi.api.visualization.dto.VisualizationOuterParamsDTO;
import io.gisbi.api.visualization.response.VisualizationOuterParamsBaseResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Tag(name = "可视化管理:外部参数")
public interface VisualizationOuterParamsApi {
@GetMapping("/queryWithVisualizationId/{dvId}")
@Operation(summary = "查询")
VisualizationOuterParamsDTO queryWithVisualizationId(@PathVariable("dvId") String dvId);
@GetMapping("/queryWithVisualizationIdDS/{dvId}")
VisualizationOuterParamsDTO queryWithVisualizationIdDS(@PathVariable("dvId") String dvId);
@PostMapping("/updateOuterParamsSet")
@Operation(summary = "更新")
void updateOuterParamsSet(@RequestBody VisualizationOuterParamsDTO OuterParamsDTO);
@GetMapping("/getOuterParamsInfo/{dvId}")
@Operation(summary = "查询基础信息")
VisualizationOuterParamsBaseResponse getOuterParamsInfo(@PathVariable("dvId") String dvId);
@GetMapping("/queryDsWithVisualizationId/{dvId}")
@Operation(summary = "查询涉及数据集基础信息")
List<CoreDatasetGroupVO> queryDsWithVisualizationId(@PathVariable("dvId") String dvId);
}

View File

@ -1,12 +1,16 @@
package io.gisbi.api.visualization;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.gisbi.api.visualization.request.VisualizationSubjectRequest;
import io.gisbi.api.visualization.request.VisualizationWatermarkRequest;
import io.gisbi.api.visualization.vo.VisualizationSubjectVO;
import io.gisbi.api.visualization.vo.VisualizationWatermarkVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Tag(name = "可视化管理:水印")
@ApiSupport(order = 994)
public interface VisualizationWatermarkApi {
@ -14,10 +18,13 @@ public interface VisualizationWatermarkApi {
@ResponseBody
@GetMapping("/find")
@Operation(summary = "查询")
VisualizationWatermarkVO getWatermarkInfo();
@ResponseBody
@PostMapping("/save")
@Tag(name = "保存")
@Operation(summary = "保存")
void saveWatermarkInfo(@RequestBody VisualizationWatermarkRequest watermarkRequest);
}

View File

@ -22,6 +22,9 @@ public class VisualizationLinkJumpInfoDTO extends VisualizationLinkJumpInfoVO {
//存在公共链接的目标仪表板
private String publicJumpId;
// 目标类型
private String targetDvType;
private List<VisualizationLinkJumpTargetViewInfoVO> targetViewInfoList=new ArrayList<>();// linkType = inner 时使用
}

View File

@ -3,9 +3,12 @@ package io.gisbi.api.visualization.request;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.gisbi.api.visualization.vo.DataVisualizationVO;
import io.gisbi.api.visualization.vo.VisualizationExport2AppVO;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
public class DataVisualizationBaseRequest extends DataVisualizationVO {
@ -30,7 +33,9 @@ public class DataVisualizationBaseRequest extends DataVisualizationVO {
private String busiFlag;
// 查询来源 main=主工程 report=定时报告
private List<Long> activeViewIds;
// 查询来源 main-edit= 主工程编辑区 main=主工程 report=定时报告
private String source;
// 定时报告id
@ -56,6 +61,15 @@ public class DataVisualizationBaseRequest extends DataVisualizationVO {
// 是否强制校验新旧contentId
private Boolean checkHistory = false;
//数据来源 core 主表 snapshot 镜像表
private String resourceTable = "core";
public DataVisualizationBaseRequest(Long id,String busiFlag,String resource,String source) {
this.busiFlag = busiFlag;
this.resourceTable = resource;
super.setId(id);
this.setSource(source);
}
public DataVisualizationBaseRequest(Long id,String busiFlag) {
this.busiFlag = busiFlag;

View File

@ -2,6 +2,7 @@ package io.gisbi.api.visualization.request;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.gisbi.constant.CommonConstants;
import lombok.Data;
/**
@ -26,6 +27,8 @@ public class VisualizationLinkJumpBaseRequest {
private Boolean activeStatus;
private String resourceTable = CommonConstants.RESOURCE_TABLE.CORE;
public VisualizationLinkJumpBaseRequest() {
}

View File

@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.gisbi.api.visualization.dto.VisualizationLinkageDTO;
import io.gisbi.api.visualization.vo.VisualizationLinkageVO;
import io.gisbi.constant.CommonConstants;
import lombok.Data;
import java.util.ArrayList;
@ -28,6 +29,7 @@ public class VisualizationLinkageRequest extends VisualizationLinkageVO {
private List<String> targetViewIds;
private String resourceTable = CommonConstants.RESOURCE_TABLE.CORE;
private List<VisualizationLinkageDTO> linkageInfo = new ArrayList<>();

View File

@ -84,4 +84,9 @@ public class AppCoreDatasetGroupVO implements Serializable {
* 关联sql
*/
private String unionSql;
/**
* 是否跨源
*/
private Boolean isCross;
}

View File

@ -58,7 +58,7 @@ public class AppCoreDatasetTableFieldVO implements Serializable {
/**
* de字段名用作唯一标识
*/
private String dataeaseName;
private String gisbiName;
/**
* de字段别名
@ -78,7 +78,7 @@ public class AppCoreDatasetTableFieldVO implements Serializable {
private Integer size;
/**
* dataease字段类型0-文本1-时间2-整型数值3-浮点数值4-布尔5-地理位置6-二进制
* gisbi字段类型0-文本1-时间2-整型数值3-浮点数值4-布尔5-地理位置6-二进制
*/
private Integer deType;

View File

@ -205,4 +205,8 @@ public class DataVisualizationVO implements Serializable {
}
this.version = version;
}
public DataVisualizationVO(Integer status) {
this.status = status;
}
}

View File

@ -1,6 +1,5 @@
package io.gisbi.api.visualization.vo;
import com.google.gson.Gson;
import lombok.Data;
import java.util.ArrayList;

View File

@ -35,4 +35,7 @@ public class VisualizationStoreVO implements Serializable {
private int weight;
private Integer extFlag;
private Integer extFlag1;
}

View File

@ -1,6 +1,9 @@
package io.gisbi.api.xpack.appearance.api;
import io.gisbi.api.xpack.appearance.vo.AppearanceItemVO;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
@ -11,14 +14,18 @@ import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@Tag(name = "外观设置")
public interface XpackAppearanceApi {
@Operation(summary = "保存")
@PostMapping(value = "/save", consumes = {"multipart/form-data"})
void save(@RequestPart("request") List<AppearanceItemVO> items, @RequestPart(value = "files", required = false) List<MultipartFile> files);
@Operation(summary = "查询")
@GetMapping("/query")
List<AppearanceItemVO> query();
@Hidden
@GetMapping(value = "/image/{imageId}", produces = {MediaType.IMAGE_JPEG_VALUE, MediaType.IMAGE_PNG_VALUE, "image/svg+xml"})
ResponseEntity<byte[]> image(@PathVariable("imageId") String imageId);
}

View File

@ -8,9 +8,11 @@ import io.gisbi.api.xpack.dataFilling.dto.*;
import io.gisbi.auth.DeApiPath;
import io.gisbi.auth.DePermit;
import io.gisbi.exception.DEException;
import io.gisbi.extensions.datasource.dto.DatasetTableDTO;
import io.gisbi.extensions.datasource.dto.SimpleDatasourceDTO;
import io.gisbi.model.BusiNodeRequest;
import io.gisbi.model.BusiNodeVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.*;
@ -22,134 +24,173 @@ import java.util.Map;
import static io.gisbi.constant.AuthResourceEnum.DATA_FILLING;
@Tag(name = "数据填报")
@ApiSupport(order = 1000, author = "fit2cloud-someone")
@DeApiPath(value = "/data-filling", rt = DATA_FILLING)
public interface DataFillingApi {
@Operation(summary = "查询列表")
@PostMapping("tree")
List<BusiNodeVO> tree(@RequestBody BusiNodeRequest request) throws DEException;
@Operation(summary = "根据ID查询数据填报")
@GetMapping("/get/{id}")
DataFillingDTO get(@PathVariable("id") Long id);
@Operation(summary = "移动数据填报至文件夹")
@DePermit({"#p0.id+':manage'"})
@PostMapping("/move")
DataFillingDTO move(@RequestBody DataFillingDTO dataFillingDTO);
@Operation(summary = "保存数据填报")
@PostMapping("/save")
DataFillingDTO save(@RequestBody DataFillingDTO dataFillingDTO) throws Exception;
@Operation(summary = "编辑数据填报")
@DePermit({"#p0.id+':manage'"})
@PostMapping("/update")
DataFillingDTO update(@RequestBody DataFillingDTO dataFillingDTO) throws Exception;
@Operation(summary = "重命名数据填报")
@DePermit({"#p0.id+':manage'"})
@PostMapping("/rename")
DataFillingDTO rename(@RequestBody DataFillingDTO dataFillingDTO);
@Operation(summary = "删除数据填报")
@DePermit({"#p0+':manage'"})
@GetMapping("delete/{id}")
void delete(@PathVariable("id") Long id);
@Operation(summary = "获取创建数据填报表单用的数据源列表")
@GetMapping("/datasource/list")
List<SimpleDatasourceDTO> listDatasourceList();
@Operation(summary = "获取数据源列表")
@GetMapping("/datasource/listAll")
List<SimpleDatasourceDTO> listDatasourceListAll();
@Operation(summary = "获取选项值列表")
@PostMapping("/form/{optionDatasource}/options")
List<ColumnOption> listColumnData(@PathVariable("optionDatasource") Long optionDatasource, @RequestBody DatasourceOptionsRequest request) throws Exception;
@Operation(summary = "获取额外信息")
@PostMapping("/form/extraDetails")
List<ExtraDetails> extraDetails(@RequestBody ExtraDetailsRequest request) throws Exception;
@Operation(summary = "获取数据填报表内数据列表")
@PostMapping("/form/{id}/tableData")
DataFillFormTableDataResponse tableData(@PathVariable("id") Long id, @RequestBody DataFillFormTableDataRequest request) throws Exception;
@Operation(summary = "删除数据填报表内数据")
@DePermit({"#p0+':manage'"})
@GetMapping("/form/{formId}/delete/{id}")
void deleteRowData(@PathVariable("formId") Long formId, @PathVariable("id") String id) throws Exception;
@Operation(summary = "晴空数据填报表内数据")
@DePermit({"#p0+':manage'"})
@GetMapping("/form/{formId}/truncate")
void truncateRowData(@PathVariable("formId") Long formId) throws Exception;
@Operation(summary = "批量删除数据填报表内数据")
@DePermit({"#p0+':manage'"})
@PostMapping("/form/{formId}/batch-delete")
void batchDeleteRowData(@PathVariable("formId") Long formId, @RequestBody List<String> ids) throws Exception;
@Operation(summary = "保存数据填报内数据")
@DePermit({"#p0+':manage'"})
@PostMapping("/form/{formId}/rowData/save")
DataFillFormTableDataResponse saveRowData(@PathVariable("formId") Long formId, @RequestBody Map<String, Object> data) throws Exception;
@Operation(summary = "查看数据填报任务信息")
@GetMapping("/task/info/{taskId}")
TaskInfoVO info(@PathVariable("taskId") Long taskId);
@Operation(summary = "保存数据填报任务")
@DePermit({"#p0.formId+':manage'"})
@PostMapping("/task/save")
Long saveTask(@RequestBody TaskInfoVO task);
@Operation(summary = "立即执行数据填报任务")
@DePermit({"#p0.formId+':manage'"})
@PostMapping("/task/executeNow")
void executeNow(@RequestBody TaskInfoVO task);
@Operation(summary = "查询数据填报任务日志")
@PostMapping("/task/logMsg")
String logMsg(@RequestBody ReportInstanceMsgRequest request);
@Operation(summary = "查询数据填报任务列表")
@PostMapping("/form/{formId}/task/page/{goPage}/{pageSize}")
IPage<ReportGridVO> taskPager(@PathVariable("formId") Long formId, @PathVariable("goPage") int goPage, @PathVariable("pageSize") int pageSize, @RequestBody DfTaskInfoRequest request);
@Operation(summary = "查询数据填报子任务列表")
@PostMapping("/sub-task/page/{goPage}/{pageSize}")
IPage<DfSubTaskVo> subTaskPager(@PathVariable("goPage") int goPage, @PathVariable("pageSize") int pageSize, @RequestBody DfSubTaskInfoRequest request);
@Operation(summary = "删除数据填报任务")
@DePermit({"#p0+':manage'"})
@PostMapping("/form/{formId}/task/delete")
void batchDeleteTask(@PathVariable("formId") Long formId, @RequestBody List<Long> ids) throws Exception;
@Operation(summary = "停止数据填报任务")
@DePermit({"#p0+':manage'"})
@GetMapping("/form/{formId}/task/{id}/stop")
void stopTask(@PathVariable("formId") Long formId, @PathVariable("id") Long id) throws Exception;
@Operation(summary = "开始数据填报任务")
@DePermit({"#p0+':manage'"})
@GetMapping("/form/{formId}/task/{id}/start")
void startTask(@PathVariable("formId") Long formId, @PathVariable("id") Long id) throws Exception;
@Operation(summary = "删除数据填报子任务")
@DePermit({"#p0+':manage'"})
@PostMapping("/form/{formId}/sub-task/delete")
void batchDeleteSubTask(@PathVariable("formId") Long formId, @RequestBody List<Long> ids) throws Exception;
@Operation(summary = "列出用户的数据填报子任务")
@GetMapping("/sub-task/{id}/users/list/{type}")
List<Map<String, Object>> listSubTaskUser(@PathVariable("id") Long id, @PathVariable("type") String type) throws Exception;
@Operation(summary = "查询用户待任务列表")
@PostMapping("/user-task/page/{goPage}/{pageSize}")
IPage<DfUserTaskVo> listUserTask(@PathVariable("goPage") int goPage, @PathVariable("pageSize") int pageSize, @RequestBody DfUserTaskRequest request) throws Exception;
@Operation(summary = "查询用户待填报任务条数")
@PostMapping("/user-task/todo/count")
long countUserTodoList() throws Exception;
@Operation(summary = "根据ID查询用户填报任务列表")
@GetMapping("/user-task/list/{id}")
DfUserTaskData listUserTaskData(@PathVariable("id") Long id) throws Exception;
@Operation(summary = "用户填报数据")
@PostMapping("/user-task/saveData/{id}")
DataFillFormTableDataResponse saveFormRowData(@PathVariable("id") Long id, @RequestBody Map<String, Object> data) throws Exception;
@Operation(summary = "数据填报操作日志")
@DePermit({"#p0.formId+':read'"})
@PostMapping("/log/page/{goPage}/{pageSize}")
IPage<DfCommitLog> logPager(@RequestBody DfCommitLogRequest request, @PathVariable("goPage") int goPage, @PathVariable("pageSize") int pageSize);
@Operation(summary = "清理数据填报操作日志")
@DePermit({"#p0.formId+':manage'"})
@PostMapping("/log/clear")
void clearLog(@RequestBody DfClearCommitLogRequest request) throws Exception;
@Operation(summary = "上传Excel")
@DePermit({"#p0+':manage'"})
@PostMapping("/form/{formId}/uploadFile")
DfExcelData excelUpload(@PathVariable("formId") Long formId, @RequestParam("file") MultipartFile file) throws Exception;
@Operation(summary = "下载Excel模板")
@DePermit({"#p0+':manage'"})
@GetMapping("/form/{formId}/excelTemplate")
void excelTemplate(@PathVariable("formId") Long formId);
@Operation(summary = "确认上传Excel")
@DePermit({"#p0+':manage'"})
@PostMapping("/form/{formId}/confirmUpload")
void confirmUpload(@PathVariable("formId") Long formId, @RequestBody Map<String, String> data);
@Operation(summary = "获取表单模版配置")
@GetMapping("/template/{itemId}")
String getTemplateByUserTaskItemId(@PathVariable("itemId") Long itemId);
@ -157,6 +198,11 @@ public interface DataFillingApi {
void geFullName(Long pid, List<String> fullName);
@PostMapping("/innerExport/{isDataEaseBi}/{formId}")
void innerExport(@PathVariable("formId") Long formId, @PathVariable("isDataEaseBi") boolean isDataEaseBi, HttpServletResponse response) throws Exception;
@Operation(summary = "下载数据填报表数据")
@PostMapping("/innerExport/{isgisbiBi}/{formId}")
void innerExport(@PathVariable("formId") Long formId, @PathVariable("isgisbiBi") boolean isgisbiBi, HttpServletResponse response) throws Exception;
@PostMapping("getBuiltInTables")
@Operation(summary = "获取内置数据源表")
List<DatasetTableDTO> getBuiltInTables() throws DEException;
}

View File

@ -34,4 +34,6 @@ public class DfCommitLog implements Serializable {
private String committer;
private Long commitTime;
private Integer count;
}

View File

@ -8,6 +8,7 @@ import lombok.experimental.Accessors;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
@Data
@Accessors(chain = true)

View File

@ -3,6 +3,7 @@ package io.gisbi.api.xpack.plugin;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.gisbi.api.xpack.plugin.dto.PluginEditor;
import io.gisbi.api.xpack.plugin.vo.PluginVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@ -16,15 +17,19 @@ import java.util.List;
@ApiSupport(order = 2)
public interface PluginApi {
@Operation(summary = "查询")
@GetMapping("/query")
List<PluginVO> query();
@Operation(summary = "安装")
@PostMapping(value = "/install", consumes = {"multipart/form-data"})
void install(@RequestPart(value = "file") MultipartFile file);
@Operation(summary = "卸载")
@PostMapping("/uninstall/{id}")
void uninstall(@PathVariable("id") String id);
@Operation(summary = "更新")
@PostMapping(value = "/update", consumes = {"multipart/form-data"})
void update(@RequestPart("request") PluginEditor request, @RequestPart(value = "file") MultipartFile file);

View File

@ -25,44 +25,55 @@ public interface XpackAuthenticationApi {
@PostMapping("/switchEnable")
void switchEnable(@RequestBody XpackAuthenticationEditor editor);
@Operation(summary = "保存OIDC")
@PostMapping("/save/oidc")
String saveOidc(@RequestBody XpackOidcVO editor);
@Operation(summary = "保存CAS")
@PostMapping("/save/cas")
String saveCas(@RequestBody XpackCasVO editor);
@Operation(summary = "保存LDAP")
@PostMapping("/save/ldap")
String saveLdap(@RequestBody XpackLdapVO editor);
@Operation(summary = "保存OAuth2")
@PostMapping("/save/oauth2")
String saveOauth2(@RequestBody XpackOauth2VO editor);
@Operation(summary = "OIDC信息")
@GetMapping("/info/oidc")
XpackOidcVO oidcInfo();
@Operation(summary = "CAS信息")
@GetMapping("/info/cas")
XpackCasVO casInfo();
@Operation(summary = "LDAP信息")
@GetMapping("/info/ldap")
XpackLdapVO ldapInfo();
@Operation(summary = "OAuth2信息")
@GetMapping("/info/oauth2")
XpackOauth2VO oauth2Info();
@Operation(summary = "验证OIDC")
@PostMapping("/validate/oidc")
String validateOidc(@RequestBody XpackOidcVO editor);
@Operation(summary = "验证CAS")
@PostMapping("/validate/cas")
String validateCas(@RequestBody XpackCasVO editor);
@Operation(summary = "验证LDAP")
@PostMapping("/validate/ldap")
String validateLdap(@RequestBody XpackLdapVO editor);
@Operation(summary = "验证OAuth2")
@PostMapping("/validate/oauth2")
String validateOauth2(@RequestBody XpackOauth2VO editor);
@Operation(summary = "验证")
@PostMapping("/validateId/{id}")
String validate(@PathVariable("id") Long id);

View File

@ -4,11 +4,13 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.gisbi.api.xpack.settings.request.XpackOauth2TokenRequest;
import io.gisbi.api.xpack.settings.vo.XpackOauthAuthVO;
import io.gisbi.api.xpack.settings.vo.XpackOauthTokenVO;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@Hidden
@Tag(name = "Oauth2认证")
@ApiSupport(order = 899)
public interface XpackOauth2Api {

View File

@ -27,4 +27,6 @@ public class XpackOauth2VO implements Serializable {
private String mapping;
private String redirectUri;
private String authMethod = "0";
}

View File

@ -38,6 +38,8 @@ public class XpackShareGridVO implements Serializable {
private Integer extFlag;
private Integer extFlag1;
@Schema(description = "类型")
private String type;

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>sdk</artifactId>
<groupId>io.gisbi</groupId>
<version>1.0.0</version>
<version>2.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -23,7 +23,7 @@
<dependency>
<groupId>io.gisbi</groupId>
<artifactId>common</artifactId>
<version>1.0.0</version>
<version>2.0.0</version>
</dependency>
<dependency>