Commit 3c3bd7b8 authored by 陈祥烨's avatar 陈祥烨

脚本导出接口

parent c71079b8
......@@ -3,9 +3,9 @@ package com.yeejoin.amos.api.tool.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.AmosToolTemplateModel;
import com.yeejoin.amos.api.tool.face.model.AmosToolTemplateVoModel;
import com.yeejoin.amos.api.tool.face.model.ProjectMode;
import com.yeejoin.amos.api.tool.face.model.TemplateVoModel;
import com.yeejoin.amos.api.tool.face.model.ProjectModel;
import com.yeejoin.amos.api.tool.face.service.AmosToolTemplateService;
import com.yeejoin.amos.api.tool.utils.DataBaseUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -16,7 +16,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.annotation.Resource;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;
......@@ -129,27 +128,4 @@ public class AmosToolTemplateController {
public ResponseModel<Boolean> updateById(@RequestParam(value = "templateId") Long sequenceNbr) {
return ResponseHelper.buildResponse(amosToolTemplateService.updateTimes(sequenceNbr));
}
/**
* 获取项目列表
* */
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@ApiOperation(value = "项目列表")
@GetMapping("/project/list")
public ResponseModel<List<ProjectMode>>selectByIpAgency(
@RequestParam(value = "ipId") Long sequenceNbr,
@RequestParam(value = "agencyCode") String agencyCode) throws SQLException {
return ResponseHelper.buildResponse(amosToolTemplateService.getProjectList(sequenceNbr,agencyCode));
}
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@ApiOperation(value = "应用列表")
@GetMapping("application/page/project")
public ResponseModel<List<ProjectMode>>selectApp(
@RequestParam(value = "ipSeq") Long sequenceNbr,
@RequestParam(value = "projectNbr") Long projectNbr) throws SQLException {
return ResponseHelper.buildResponse(amosToolTemplateService.getAppList(sequenceNbr,projectNbr));
}
}
package com.yeejoin.amos.api.tool.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.AmosDemoModel;
import com.yeejoin.amos.api.tool.face.service.AmosDemoService;
import com.yeejoin.amos.api.tool.face.model.ProjectModel;
import com.yeejoin.amos.api.tool.face.service.StudioResourceService;
import com.yeejoin.amos.api.tool.utils.DataBaseUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.logging.log4j.LogManager;
......@@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletResponse;
import java.sql.SQLException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -70,4 +71,49 @@ DataApiResource {
variables.remove("ipSeq");
studioResourceService.generateSQL(resourceCode, dimension, ipSeq, variables, response);
}
/**
* 获取项目列表
*/
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@ApiOperation(value = "项目列表")
@GetMapping("/project/list")
public ResponseModel<List<ProjectModel>> selectByIpAgency(
@RequestParam(value = "ipSeq") Long ipSeq,
@RequestParam(value = "agencyCode") String agencyCode) throws SQLException {
return ResponseHelper.buildResponse(studioResourceService.getProjectList(ipSeq, agencyCode));
}
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@ApiOperation(value = "应用列表")
@GetMapping("application/page/project")
public ResponseModel<Page<ProjectModel>> selectApp(
@RequestParam(value = "ipSeq") Long sequenceNbr,
@RequestParam(value = "projectNbr") Long projectNbr,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) throws SQLException {
Page page = new Page();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(
DataBaseUtils.listToPage(studioResourceService.getAppList(sequenceNbr, projectNbr), current, size));
}
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@ApiOperation(value = "数据列表")
@GetMapping("idx/page")
public ResponseModel<Page<ProjectModel>> selectIdx(
@RequestParam(value = "ipSeq") Long ipSeq,
@RequestParam(value = "agencyCode") String agencyCode,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) throws SQLException {
Page page = new Page();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(
DataBaseUtils.listToPage(studioResourceService.getIdx(ipSeq, agencyCode), current, size));
}
}
......@@ -27,7 +27,7 @@ public class RelationResource {
/**
* 根据机构ID和数据库sequenceNbr批量删除数据库
*
* @param agencyCodeId 机构ID
* @param agencyCode 机构ID
* @param sequenceNbrs 多个主键
* @return String
*/
......
......@@ -5,17 +5,14 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "Mode", description = "")
public class ProjectMode {
@ApiModel(value = "Model", description = "")
public class ProjectModel {
@ApiModelProperty(value = "PROJECT_SEQ or APP_SQE")
@ApiModelProperty(value = "PROJECT_SEQ or APP_SEQ")
private String sequenceNbr;
@ApiModelProperty(value = "项目名称")
private String ProjectName;
@ApiModelProperty(value = "项目名称")
private String appName;
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "机构编码")
private String agencyCode;
......
package com.yeejoin.amos.api.tool.face.service;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.enums.SortType;
import com.yeejoin.amos.api.tool.face.model.*;
import com.yeejoin.amos.api.tool.face.orm.dao.AmosToolTemplateMapper;
import com.yeejoin.amos.api.tool.face.orm.dao.DataBaseLinkMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.AmosToolTemplate;
import com.yeejoin.amos.api.tool.utils.ConvertUtil;
import org.springframework.beans.BeanUtils;
......@@ -120,68 +118,5 @@ public class AmosToolTemplateService extends BaseService<AmosToolTemplateModel,
}
/**
* 获取项目列表
*/
public List<ProjectMode> getProjectList(Long sequenceNbr, String agencyCode) throws SQLException {
DataBaseLinkModel model= dataBaseLinkService.queryBySeq(sequenceNbr);
model.setDbName("amos_studio");
Connection connection = dataBaseLinkService.connectNewDatabase(model);
Statement sql = connection.createStatement();
String sqlStr = "select SEQUENCE_NBR,PROJECT_NAME,AGENCY_CODE from studio_project " +
"where AGENCY_CODE = " + "\'" + agencyCode +"\'";
// System.out.println(sqlStr);
ResultSet resultSet = sql.executeQuery(sqlStr);
ResultSetMetaData md = resultSet.getMetaData(); //获得结果集结构信息,元数据
List<ProjectMode> listPm = new ArrayList<>(); //实例化一个list作为容器
try {
//循环赋值 添加ProjectMode到list
while (resultSet.next()){
//每次循环都实例化一个user 用来储存属性
ProjectMode pm = new ProjectMode();
pm.setProjectName(resultSet.getString("PROJECT_NAME"));
pm.setSequenceNbr(resultSet.getString("SEQUENCE_NBR"));
pm.setAgencyCode(resultSet.getString("AGENCY_CODE"));
listPm.add(pm);
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//关闭资源
connection.close();
}
return listPm;
}
public List<ProjectMode> getAppList(Long sequenceNbr,Long projectNbr ) throws SQLException {
DataBaseLinkModel model= dataBaseLinkService.queryBySeq(sequenceNbr);
model.setDbName("amos_studio");
Connection connection = dataBaseLinkService.connectNewDatabase(model);
Statement sql = connection.createStatement();
String sqlStr = "select SEQUENCE_NBR,APP_NAME from studio_application " +
"where PROJECT_SEQ = " + "\'" + projectNbr +"\'";
// System.out.println(sqlStr);
ResultSet resultSet = sql.executeQuery(sqlStr);
ResultSetMetaData md = resultSet.getMetaData(); //获得结果集结构信息,元数据
List<ProjectMode> listPm = new ArrayList<>(); //实例化一个list作为容器
try {
//循环赋值 添加ProjectMode到list
while (resultSet.next()){
//每次循环都实例化一个user 用来储存属性
ProjectMode pm = new ProjectMode();
pm.setProjectName(resultSet.getString("APP_NAME"));
pm.setSequenceNbr(resultSet.getString("SEQUENCE_NBR"));
listPm.add(pm);
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//关闭资源
connection.close();
}
return listPm;
}
}
......@@ -2,10 +2,10 @@ package com.yeejoin.amos.api.tool.face.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.Query;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.enums.SourceEnum;
import com.yeejoin.amos.api.tool.face.model.DataBaseLinkModel;
import com.yeejoin.amos.api.tool.face.model.ProjectModel;
import com.yeejoin.amos.api.tool.face.orm.entity.StudioResource;
import com.yeejoin.amos.api.tool.face.model.StudioResourceModel;
import com.yeejoin.amos.api.tool.face.orm.dao.StudioResourceMapper;
......@@ -24,11 +24,12 @@ import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.management.Query;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import java.io.*;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -225,6 +226,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
columns = DataBaseUtils.getTableColumn(tableName,connection);
dataList = DataBaseUtils.getMaps(selectsql,connection);
sbsql.append(DataBaseUtils.getInsertSQL(dataList,columns,tableName));
connection.close();
}
}
return sbsql.toString();
......@@ -267,4 +269,102 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
}
}
/**
* 获取项目列表
*/
public List<ProjectModel> getProjectList(Long ipSeq, String agencyCode) throws SQLException {
DataBaseLinkModel model= dataBaseLinkService.queryBySeq(ipSeq);
model.setDbName("amos_studio");
Connection connection = dataBaseLinkService.connectNewDatabase(model);
Statement sql = connection.createStatement();
String sqlStr = "select SEQUENCE_NBR,PROJECT_NAME,AGENCY_CODE from amos_studio.studio_project " +
"where AGENCY_CODE = " + "\'" + agencyCode +"\'";
// System.out.println(sqlStr);
ResultSet resultSet = sql.executeQuery(sqlStr);
ResultSetMetaData md = resultSet.getMetaData(); //获得结果集结构信息,元数据
List<ProjectModel> listPm = new ArrayList<>(); //实例化一个list作为容器
try {
//循环赋值 添加ProjectMode到list
while (resultSet.next()){
//每次循环都实例化一个user 用来储存属性
ProjectModel pm = new ProjectModel();
pm.setName(resultSet.getString("PROJECT_NAME"));
pm.setSequenceNbr(resultSet.getString("SEQUENCE_NBR"));
pm.setAgencyCode(resultSet.getString("AGENCY_CODE"));
listPm.add(pm);
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//关闭资源
connection.close();
}
return listPm;
}
public List<ProjectModel> getAppList(Long ipSeq, Long projectNbr ) throws SQLException {
DataBaseLinkModel model= dataBaseLinkService.queryBySeq(ipSeq);
model.setDbName("amos_studio");
Connection connection = dataBaseLinkService.connectNewDatabase(model);
Statement sql = connection.createStatement();
String sqlStr = "select SEQUENCE_NBR,APP_NAME from amos_studio.studio_application " +
"where PROJECT_SEQ = " + "\'" + projectNbr +"\'";
// System.out.println(sqlStr);
ResultSet resultSet = sql.executeQuery(sqlStr);
ResultSetMetaData md = resultSet.getMetaData(); //获得结果集结构信息,元数据
List<ProjectModel> listPm = new ArrayList<>(); //实例化一个list作为容器
try {
//循环赋值 添加ProjectMode到list
while (resultSet.next()){
//每次循环都实例化一个user 用来储存属性
ProjectModel pm = new ProjectModel();
pm.setName(resultSet.getString("APP_NAME"));
pm.setSequenceNbr(resultSet.getString("SEQUENCE_NBR"));
listPm.add(pm);
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//关闭资源
connection.close();
}
return listPm;
}
public List<ProjectModel> getIdx(Long ipSeq, String agencyCode ) throws SQLException {
DataBaseLinkModel model= dataBaseLinkService.queryBySeq(ipSeq);
model.setDbName("amos_idx");
Connection connection = dataBaseLinkService.connectNewDatabase(model);
Statement sql = connection.createStatement();
String sqlStr = "select id,agencyCode,name,type from amos_idx.idx_explorer " +
"where agencyCode = '" + agencyCode + "' and type = 'project'" ;
// System.out.println(sqlStr);
ResultSet resultSet = sql.executeQuery(sqlStr);
ResultSetMetaData md = resultSet.getMetaData(); //获得结果集结构信息,元数据
List<ProjectModel> listPm = new ArrayList<>(); //实例化一个list作为容器
try {
//循环赋值 添加ProjectMode到list
while (resultSet.next()){
//每次循环都实例化一个user 用来储存属性
ProjectModel pm = new ProjectModel();
pm.setName(resultSet.getString("name"));
pm.setSequenceNbr(resultSet.getString("id"));
pm.setAgencyCode(agencyCode);
listPm.add(pm);
}
resultSet.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//关闭资源
connection.close();
}
return listPm;
}
}
package com.yeejoin.amos.api.tool.utils;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
......@@ -99,7 +100,7 @@ public class DataBaseUtils {
List<TableColumn> columns = new ArrayList<>();
for (Map<String, Object> map : columnList) {
TableColumn column = JSON.parseObject(JSON.toJSONString(map), TableColumn.class);
if(!column.getColumnName().equals("content"))
if (!column.getColumnName().equals("content"))
columns.add(column);
}
return columns;
......@@ -150,5 +151,24 @@ public class DataBaseUtils {
return sql;
}
public static <V> Page<V> listToPage(List<V> list, int current, int size) {
//当前页
Page<V> page = new Page<>(current, size);
int count = list.size();
List<V> pageList = new ArrayList<>();
//计算当前页第一条数据的下标
int currId = current > 1 ? (current - 1) * size : 0;
for (int i = 0; i < size && i < count - currId; i++) {
pageList.add(list.get(currId + i));
}
page.setSize(size);
page.setCurrent(current);
page.setTotal(count);
//计算分页总页数
page.setPages(count % 10 == 0 ? count / 10 : count / 10 + 1);
page.setRecords(pageList);
return page;
}
}
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