forked from github/dataease
refactor: 工作台中的推荐模板中可以展示自定义的用户模板
This commit is contained in:
parent
60ffb1bd5e
commit
881a60dfa3
@ -21,11 +21,11 @@ public class MybatisPlusGenerator {
|
||||
/**
|
||||
* 业务模块例如datasource,dataset,panel等
|
||||
*/
|
||||
private static final String busi = "visualization";
|
||||
private static final String busi = "template";
|
||||
/**
|
||||
* 这是要生成代码的表名称
|
||||
*/
|
||||
private static final String TABLE_NAME = "visualization_watermark";
|
||||
private static final String TABLE_NAME = "visualization_template";
|
||||
|
||||
/**
|
||||
* 下面两个配置基本上不用动
|
||||
|
@ -5,11 +5,11 @@ import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仪表板模板表
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author fit2cloud
|
||||
* @since 2023-11-06
|
||||
* @since 2024-01-16
|
||||
*/
|
||||
@TableName("visualization_template")
|
||||
public class VisualizationTemplate implements Serializable {
|
||||
@ -37,7 +37,7 @@ public class VisualizationTemplate implements Serializable {
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* 模板种类 dataV or dashboard 目录或者文件夹
|
||||
* 模版种类 dataV or dashboard 目录或者文件夹
|
||||
*/
|
||||
private String dvType;
|
||||
|
||||
@ -62,7 +62,7 @@ public class VisualizationTemplate implements Serializable {
|
||||
private String snapshot;
|
||||
|
||||
/**
|
||||
* 模板类型 system 系统内置 self 用户自建
|
||||
* 模版类型 system 系统内置 self 用户自建
|
||||
*/
|
||||
private String templateType;
|
||||
|
||||
@ -81,6 +81,11 @@ public class VisualizationTemplate implements Serializable {
|
||||
*/
|
||||
private String dynamicData;
|
||||
|
||||
/**
|
||||
* 使用次数
|
||||
*/
|
||||
private Integer useCount;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
@ -185,6 +190,14 @@ public class VisualizationTemplate implements Serializable {
|
||||
this.dynamicData = dynamicData;
|
||||
}
|
||||
|
||||
public Integer getUseCount() {
|
||||
return useCount;
|
||||
}
|
||||
|
||||
public void setUseCount(Integer useCount) {
|
||||
this.useCount = useCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "VisualizationTemplate{" +
|
||||
@ -201,6 +214,7 @@ public class VisualizationTemplate implements Serializable {
|
||||
", templateStyle = " + templateStyle +
|
||||
", templateData = " + templateData +
|
||||
", dynamicData = " + dynamicData +
|
||||
", useCount = " + useCount +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
|
@ -6,11 +6,11 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仪表板模板表 Mapper 接口
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author fit2cloud
|
||||
* @since 2023-11-06
|
||||
* @since 2024-01-16
|
||||
*/
|
||||
@Mapper
|
||||
public interface VisualizationTemplateMapper extends BaseMapper<VisualizationTemplate> {
|
||||
|
@ -121,13 +121,17 @@ public class TemplateCenterManage {
|
||||
|
||||
|
||||
public MarketBaseResponse searchTemplateRecommend() {
|
||||
MarketTemplateV2BaseResponse v2BaseResponse = null;
|
||||
Map<String, String> templateParams = sysParameterManage.groupVal("template.");
|
||||
// 模版市场推荐
|
||||
try {
|
||||
Map<String, String> templateParams = sysParameterManage.groupVal("template.");
|
||||
return baseResponseV2TransRecommend(templateQuery(templateParams), templateParams.get("template.url"));
|
||||
v2BaseResponse = templateQuery(templateParams);
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e);
|
||||
}
|
||||
return null;
|
||||
// 模版管理使用次数推荐
|
||||
List<TemplateMarketDTO> manage = searchTemplateFromManage();
|
||||
return baseResponseV2TransRecommend(v2BaseResponse, templateParams.get("template.url"));
|
||||
}
|
||||
|
||||
public MarketPreviewBaseResponse searchTemplatePreview() {
|
||||
|
@ -102,7 +102,7 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
}
|
||||
VisualizationWatermark watermark = watermarkMapper.selectById("system_default");
|
||||
VisualizationWatermarkVO watermarkVO = new VisualizationWatermarkVO();
|
||||
BeanUtils.copyBean(watermarkVO,watermark);
|
||||
BeanUtils.copyBean(watermarkVO, watermark);
|
||||
result.setWatermarkInfo(watermarkVO);
|
||||
return result;
|
||||
} else {
|
||||
@ -117,9 +117,9 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
DataVisualizationInfo visualizationInfo = new DataVisualizationInfo();
|
||||
BeanUtils.copyBean(visualizationInfo, request);
|
||||
visualizationInfo.setNodeType(request.getNodeType() == null ? DataVisualizationConstants.NODE_TYPE.LEAF : request.getNodeType());
|
||||
if(request.getSelfWatermarkStatus() != null && request.getSelfWatermarkStatus()){
|
||||
if (request.getSelfWatermarkStatus() != null && request.getSelfWatermarkStatus()) {
|
||||
visualizationInfo.setSelfWatermarkStatus(1);
|
||||
}else{
|
||||
} else {
|
||||
visualizationInfo.setSelfWatermarkStatus(0);
|
||||
}
|
||||
Long newDvId = coreVisualizationManage.innerSave(visualizationInfo);
|
||||
@ -137,17 +137,17 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
}
|
||||
DataVisualizationInfo visualizationInfo = new DataVisualizationInfo();
|
||||
BeanUtils.copyBean(visualizationInfo, request);
|
||||
if(request.getSelfWatermarkStatus() != null && request.getSelfWatermarkStatus()){
|
||||
if (request.getSelfWatermarkStatus() != null && request.getSelfWatermarkStatus()) {
|
||||
visualizationInfo.setSelfWatermarkStatus(1);
|
||||
}else{
|
||||
} else {
|
||||
visualizationInfo.setSelfWatermarkStatus(0);
|
||||
}
|
||||
if(DataVisualizationConstants.RESOURCE_OPT_TYPE.COPY.equals(request.getOptType())){
|
||||
if (DataVisualizationConstants.RESOURCE_OPT_TYPE.COPY.equals(request.getOptType())) {
|
||||
// 复制更新 新建权限插入
|
||||
visualizationInfoMapper.deleteById(dvId);
|
||||
visualizationInfo.setNodeType(DataVisualizationConstants.NODE_TYPE.LEAF);
|
||||
coreVisualizationManage.innerSave(visualizationInfo);
|
||||
}else{
|
||||
} else {
|
||||
// 检查当前节点的pid是否一致如果不一致 需要调用move 接口(预存 可能会出现pid =-1的情况)
|
||||
if (request.getPid() != -1) {
|
||||
QueryWrapper<DataVisualizationInfo> queryWrapper = new QueryWrapper<>();
|
||||
@ -241,7 +241,7 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
extDataVisualizationMapper.copyLinkJumpInfo(copyId);
|
||||
extDataVisualizationMapper.copyLinkJumpTargetInfo(copyId);
|
||||
DataVisualizationInfo visualizationInfoTarget = new DataVisualizationInfo();
|
||||
BeanUtils.copyBean(visualizationInfoTarget,newDv);
|
||||
BeanUtils.copyBean(visualizationInfoTarget, newDv);
|
||||
visualizationInfoTarget.setPid(-1L);
|
||||
coreVisualizationManage.preInnerSave(visualizationInfoTarget);
|
||||
return String.valueOf(newDvId);
|
||||
@ -271,7 +271,11 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
name = visualizationTemplate.getName();
|
||||
dvType = visualizationTemplate.getDvType();
|
||||
// 模板市场记录
|
||||
coreOptRecentManage.saveOpt(request.getTemplateId(), OptConstants.OPT_RESOURCE_TYPE.TEMPLATE,OptConstants.OPT_TYPE.NEW);
|
||||
coreOptRecentManage.saveOpt(request.getTemplateId(), OptConstants.OPT_RESOURCE_TYPE.TEMPLATE, OptConstants.OPT_TYPE.NEW);
|
||||
VisualizationTemplate visualizationTemplateUpdate = new VisualizationTemplate();
|
||||
visualizationTemplateUpdate.setId(visualizationTemplate.getId());
|
||||
visualizationTemplateUpdate.setUseCount(visualizationTemplate.getUseCount() == null ? 0 : visualizationTemplate.getUseCount() + 1);
|
||||
templateMapper.updateById(visualizationTemplateUpdate);
|
||||
} else if (DataVisualizationConstants.NEW_PANEL_FROM.NEW_OUTER_TEMPLATE.equals(newFrom)) {
|
||||
templateStyle = request.getCanvasStyleData();
|
||||
templateData = request.getComponentData();
|
||||
@ -291,7 +295,7 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
name = templateFileInfo.getName();
|
||||
dvType = templateFileInfo.getDvType();
|
||||
// 模板市场记录
|
||||
coreOptRecentManage.saveOpt(request.getResourceName(), OptConstants.OPT_RESOURCE_TYPE.TEMPLATE,OptConstants.OPT_TYPE.NEW);
|
||||
coreOptRecentManage.saveOpt(request.getResourceName(), OptConstants.OPT_RESOURCE_TYPE.TEMPLATE, OptConstants.OPT_TYPE.NEW);
|
||||
}
|
||||
// 解析动态数据
|
||||
Map<String, String> dynamicDataMap = JsonUtil.parseObject(dynamicData, Map.class);
|
||||
@ -302,7 +306,7 @@ public class DataVisualizationServer implements DataVisualizationApi {
|
||||
String originViewId = entry.getKey();
|
||||
String originViewData = JsonUtil.toJSONString(entry.getValue()).toString();
|
||||
ChartViewDTO chartView = JsonUtil.parseObject(originViewData, ChartViewDTO.class);
|
||||
if(chartView == null){
|
||||
if (chartView == null) {
|
||||
continue;
|
||||
}
|
||||
Long newViewId = IDUtils.snowID();
|
||||
|
@ -10,3 +10,8 @@ CREATE TABLE `visualization_watermark` (
|
||||
) COMMENT='仪表板水印设置表';
|
||||
|
||||
INSERT INTO `visualization_watermark` (`id`, `version`, `setting_content`, `create_by`, `create_time`) VALUES ('system_default', '1.0', '{\"enable\":false,\"enablePanelCustom\":true,\"type\":\"custom\",\"content\":\"水印\",\"watermark_color\":\"#DD1010\",\"watermark_x_space\":12,\"watermark_y_space\":36,\"watermark_fontsize\":15}', 'admin', NULL);
|
||||
|
||||
ALTER TABLE `visualization_template`
|
||||
ADD COLUMN `use_count` int NULL DEFAULT 0 COMMENT '使用次数' AFTER `dynamic_data`;
|
||||
|
||||
update visualization_template set use_count = 0;
|
||||
|
@ -10,3 +10,8 @@ CREATE TABLE `visualization_watermark` (
|
||||
) COMMENT='仪表板水印设置表';
|
||||
|
||||
INSERT INTO `visualization_watermark` (`id`, `version`, `setting_content`, `create_by`, `create_time`) VALUES ('system_default', '1.0', '{\"enable\":false,\"enablePanelCustom\":true,\"type\":\"custom\",\"content\":\"水印\",\"watermark_color\":\"#DD1010\",\"watermark_x_space\":12,\"watermark_y_space\":36,\"watermark_fontsize\":15}', 'admin', NULL);
|
||||
|
||||
ALTER TABLE `visualization_template`
|
||||
ADD COLUMN `use_count` int NULL DEFAULT 0 COMMENT '使用次数' AFTER `dynamic_data`;
|
||||
|
||||
update visualization_template set use_count = 0;
|
||||
|
@ -53,12 +53,13 @@
|
||||
vt.create_time,
|
||||
vt.template_type,
|
||||
vt.SNAPSHOT,
|
||||
vt.use_count,
|
||||
vtcm.category_id,
|
||||
cor.time as 'recent_use_time'
|
||||
FROM visualization_template vt
|
||||
LEFT JOIN visualization_template_category_map vtcm ON vt.id = vtcm.template_id
|
||||
left JOIN core_opt_recent cor on cor.resource_type = 6 and vt.id = cor.resource_name
|
||||
ORDER BY vt.create_time DESC
|
||||
ORDER BY vt.use_count ,vt.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="findCategories" resultMap="BaseResultMapDTO">
|
||||
|
@ -76,6 +76,11 @@ public class VisualizationTemplateVO {
|
||||
*/
|
||||
private String dynamicData;
|
||||
|
||||
/**
|
||||
* 使用次数
|
||||
*/
|
||||
private Integer useCount;
|
||||
|
||||
/**
|
||||
* 分类
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user