Commit 6b3a780f authored by chenzai's avatar chenzai

commit 一级导出

parent ac9ce01b
...@@ -7,19 +7,18 @@ import com.yeejoin.amos.api.tool.face.service.ToolLibraryService; ...@@ -7,19 +7,18 @@ import com.yeejoin.amos.api.tool.face.service.ToolLibraryService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.doc.TycloudResource; import org.typroject.tyboot.core.restful.doc.TycloudResource;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.List; import java.util.List;
@RestController @RestController
@TycloudResource(module = "atl", value = "dataApi") @TycloudResource(module = "atl", value = "dataApi")
@RequestMapping(value = "/component") @RequestMapping(value = "/component")
...@@ -29,13 +28,6 @@ public class ToolLibraryResource { ...@@ -29,13 +28,6 @@ public class ToolLibraryResource {
@Autowired @Autowired
private ToolLibraryService toolLibraryService; private ToolLibraryService toolLibraryService;
@GetMapping("/list")
@ApiOperation(value = "组件库设计器节点列表")
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
public ResponseModel<List<ToolLibraryTreeModel>> listComponentTools(@RequestParam("designer") String designer) throws SQLException, ClassNotFoundException {
return ResponseHelper.buildResponse(toolLibraryService.queryForComponentList(designer));
}
@GetMapping("/detailList") @GetMapping("/detailList")
@ApiOperation(value = "组件库设计器节点详情") @ApiOperation(value = "组件库设计器节点详情")
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
...@@ -48,4 +40,22 @@ public class ToolLibraryResource { ...@@ -48,4 +40,22 @@ public class ToolLibraryResource {
return ResponseHelper.buildResponse(toolLibraryService.queryForComponentListDetails(page, sequenceNbr)); return ResponseHelper.buildResponse(toolLibraryService.queryForComponentListDetails(page, sequenceNbr));
} }
@GetMapping("/list")
@ApiOperation(value = "组件库设计器节点列表")
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
public ResponseModel<List<ToolLibraryTreeModel>> listComponentTools(@RequestParam("designer") String designer) throws SQLException, ClassNotFoundException {
return ResponseHelper.buildResponse(toolLibraryService.queryForComponentList(designer));
}
/**
* 导出SQL脚本 一级功能
* {id}表示前端传递的设计器类型
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/export/{id}")
@ApiOperation(httpMethod = "GET", value = "导出", notes = "导出")
public void generateSQL(@PathVariable String id, HttpServletResponse httpServletResponse){
toolLibraryService.generateSQL(id,httpServletResponse);
}
} }
package com.yeejoin.amos.api.tool.face.orm.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("morphic_widget")
public class MorphicWidget extends BaseEntity {
/**
* 类型
*/
@TableField("category")
private String category;
/**
* 组件标识
*/
@TableField("component_key")
private String componentKey;
/**
* 名称
*/
@TableField("name")
private String name;
/**
* 组件设置
*/
@TableField("chart_option")
private String chartOption;
/**
* 样式设置
*/
@TableField("component_setting")
private String componentSetting;
/**
* 数据设置
*/
@TableField("data_setting")
private String dataSetting;
/**
* 展示名称
*/
@TableField("display_name")
private String displayName;
/**
* 组件标签
*/
@TableField("tag")
private String tag;
/**
* 设备接口
*/
@TableField("devices_api")
private String devicesApi;
/**
* 描述
*/
@TableField("descr")
private String descr;
/**
* 图标
*/
@TableField("sketch")
private String sketch;
/**
* 样式
*/
@TableField("style")
private String style;
/**
* 数据表信息
*/
@TableField("tables")
private String tables;
/**
* 模板类型
*/
@TableField("template")
private String template;
/**
* 图标
*/
@TableField("thumb")
private String thumb;
/**
* 组件接口
*/
@TableField("widget_api")
private String widgetApi;
/**
* 分组id
*/
@TableField("group_id")
private Long groupId;
/**
* 是否删除
*/
@TableField("is_delete")
private Boolean isDelete;
/**
* 可用状态
*/
@TableField("open_status")
private Boolean openStatus;
/**
* 联动动作
*/
@TableField("link_actions")
private String linkActions;
/**
* 联动事件
*/
@TableField("link_events")
private String linkEvents;
/**
* 联动字段匹配模式
*/
@TableField("link_patterns")
private String linkPatterns;
/**
* 占位提示
*/
@TableField("placeholder")
private String placeholder;
/**
* 默认配置
*/
@TableField("default_data")
private String defaultData;
/**
* 模拟数据
*/
@TableField("mock_data")
private String mockData;
/**
* 启用数据设置
*/
@TableField("open_data_setting")
private Boolean openDataSetting;
/**
* bean类名
*/
@TableField("service_name")
private String serviceName;
/**
* bean类名
*/
@TableField("tem_type")
private String temType;
}
package com.yeejoin.amos.api.tool.face.orm.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("morphic_widget")
public class ToolLibraryDetail extends BaseEntity {
/**
* 工具名称
*/
@TableField("name")
private String name;
/**
* 工具类别
*/
@TableField("category")
private String category;
/**
* 工具组件key
*/
@TableField("component_key")
private String componentKey;
}
...@@ -5,12 +5,15 @@ import com.yeejoin.amos.api.tool.face.model.ToolLibraryDetailModel; ...@@ -5,12 +5,15 @@ import com.yeejoin.amos.api.tool.face.model.ToolLibraryDetailModel;
import com.yeejoin.amos.api.tool.face.model.ToolLibraryModel; import com.yeejoin.amos.api.tool.face.model.ToolLibraryModel;
import com.yeejoin.amos.api.tool.face.model.ToolLibraryTreeModel; import com.yeejoin.amos.api.tool.face.model.ToolLibraryTreeModel;
import com.yeejoin.amos.api.tool.face.orm.dao.ToolLibraryMapper; import com.yeejoin.amos.api.tool.face.orm.dao.ToolLibraryMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn;
import com.yeejoin.amos.api.tool.face.orm.entity.ToolLibrary; import com.yeejoin.amos.api.tool.face.orm.entity.ToolLibrary;
import com.yeejoin.amos.api.tool.utils.DataBaseUtils; import com.yeejoin.amos.api.tool.utils.DataBaseUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.sql.Connection; import java.sql.Connection;
import java.sql.DriverManager; import java.sql.DriverManager;
import java.sql.SQLException; import java.sql.SQLException;
...@@ -131,4 +134,39 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar ...@@ -131,4 +134,39 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
return result; return result;
} }
public void generateSQL(String id,HttpServletResponse httpServletResponse) {
try {
Class.forName(className);
Connection connection = DriverManager.getConnection(url, userName, passWord);
List<Map<String, Object>> resultMaps = DataBaseUtils.getMaps("select * from " +
" (select SEQUENCE_NBR from morphic_widget_group " +
" where DESIGNER_TYPE='" + id + "') as t\n" +
" inner join morphic_widget mw on mw.group_id=t.SEQUENCE_NBR", connection);
List<TableColumn> tableColumn = DataBaseUtils.getTableColumn("morphic_widget",connection);
StringBuffer morphic_widget = DataBaseUtils.getInsertSQL(resultMaps, tableColumn, "morphic_widget");
// download(httpServletResponse,);
} catch (Exception e) {
e.printStackTrace();
}
}
public void download(HttpServletResponse response, String fileName, String sqlFilePath) throws IOException {
File f = new File(sqlFilePath);
BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
byte[] buf = new byte[1024];
int len = 0;
response.reset(); // 非常重要
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
OutputStream out = response.getOutputStream();
while ((len = br.read(buf)) > 0)
out.write(buf, 0, len);
br.close();
out.close();
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment