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

脚本导出接口

parent c71079b8
...@@ -3,9 +3,9 @@ package com.yeejoin.amos.api.tool.controller; ...@@ -3,9 +3,9 @@ package com.yeejoin.amos.api.tool.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.AmosToolTemplateModel;
import com.yeejoin.amos.api.tool.face.model.AmosToolTemplateVoModel; 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.ProjectModel;
import com.yeejoin.amos.api.tool.face.model.TemplateVoModel;
import com.yeejoin.amos.api.tool.face.service.AmosToolTemplateService; 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.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;
...@@ -16,7 +16,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -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.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.annotation.Resource;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
...@@ -129,27 +128,4 @@ public class AmosToolTemplateController { ...@@ -129,27 +128,4 @@ public class AmosToolTemplateController {
public ResponseModel<Boolean> updateById(@RequestParam(value = "templateId") Long sequenceNbr) { public ResponseModel<Boolean> updateById(@RequestParam(value = "templateId") Long sequenceNbr) {
return ResponseHelper.buildResponse(amosToolTemplateService.updateTimes(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; package com.yeejoin.amos.api.tool.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.AmosDemoModel; import com.yeejoin.amos.api.tool.face.model.ProjectModel;
import com.yeejoin.amos.api.tool.face.service.AmosDemoService;
import com.yeejoin.amos.api.tool.face.service.StudioResourceService; 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.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
...@@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletResponse; ...@@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletResponse;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -70,4 +71,49 @@ DataApiResource { ...@@ -70,4 +71,49 @@ DataApiResource {
variables.remove("ipSeq"); variables.remove("ipSeq");
studioResourceService.generateSQL(resourceCode, dimension, ipSeq, variables, response); 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 { ...@@ -27,7 +27,7 @@ public class RelationResource {
/** /**
* 根据机构ID和数据库sequenceNbr批量删除数据库 * 根据机构ID和数据库sequenceNbr批量删除数据库
* *
* @param agencyCodeId 机构ID * @param agencyCode 机构ID
* @param sequenceNbrs 多个主键 * @param sequenceNbrs 多个主键
* @return String * @return String
*/ */
......
...@@ -5,17 +5,14 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -5,17 +5,14 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
@ApiModel(value = "Mode", description = "") @ApiModel(value = "Model", description = "")
public class ProjectMode { public class ProjectModel {
@ApiModelProperty(value = "PROJECT_SEQ or APP_SQE") @ApiModelProperty(value = "PROJECT_SEQ or APP_SEQ")
private String sequenceNbr; private String sequenceNbr;
@ApiModelProperty(value = "项目名称") @ApiModelProperty(value = "名称")
private String ProjectName; private String name;
@ApiModelProperty(value = "项目名称")
private String appName;
@ApiModelProperty(value = "机构编码") @ApiModelProperty(value = "机构编码")
private String agencyCode; private String agencyCode;
......
package com.yeejoin.amos.api.tool.face.service; package com.yeejoin.amos.api.tool.face.service;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.enums.SortType; import com.yeejoin.amos.api.tool.enums.SortType;
import com.yeejoin.amos.api.tool.face.model.*; 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.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.face.orm.entity.AmosToolTemplate;
import com.yeejoin.amos.api.tool.utils.ConvertUtil; import com.yeejoin.amos.api.tool.utils.ConvertUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -120,68 +118,5 @@ public class AmosToolTemplateService extends BaseService<AmosToolTemplateModel, ...@@ -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; ...@@ -2,10 +2,10 @@ package com.yeejoin.amos.api.tool.face.service;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.Query;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.enums.SourceEnum; 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.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.orm.entity.StudioResource;
import com.yeejoin.amos.api.tool.face.model.StudioResourceModel; import com.yeejoin.amos.api.tool.face.model.StudioResourceModel;
import com.yeejoin.amos.api.tool.face.orm.dao.StudioResourceMapper; import com.yeejoin.amos.api.tool.face.orm.dao.StudioResourceMapper;
...@@ -24,11 +24,12 @@ import org.typroject.tyboot.component.emq.EmqKeeper; ...@@ -24,11 +24,12 @@ import org.typroject.tyboot.component.emq.EmqKeeper;
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.management.Query;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.io.*; import java.io.*;
import java.sql.Connection; import java.sql.*;
import java.sql.SQLException; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -225,6 +226,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -225,6 +226,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
columns = DataBaseUtils.getTableColumn(tableName,connection); columns = DataBaseUtils.getTableColumn(tableName,connection);
dataList = DataBaseUtils.getMaps(selectsql,connection); dataList = DataBaseUtils.getMaps(selectsql,connection);
sbsql.append(DataBaseUtils.getInsertSQL(dataList,columns,tableName)); sbsql.append(DataBaseUtils.getInsertSQL(dataList,columns,tableName));
connection.close();
} }
} }
return sbsql.toString(); return sbsql.toString();
...@@ -267,4 +269,102 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -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; package com.yeejoin.amos.api.tool.utils;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn; import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -99,7 +100,7 @@ public class DataBaseUtils { ...@@ -99,7 +100,7 @@ public class DataBaseUtils {
List<TableColumn> columns = new ArrayList<>(); List<TableColumn> columns = new ArrayList<>();
for (Map<String, Object> map : columnList) { for (Map<String, Object> map : columnList) {
TableColumn column = JSON.parseObject(JSON.toJSONString(map), TableColumn.class); TableColumn column = JSON.parseObject(JSON.toJSONString(map), TableColumn.class);
if(!column.getColumnName().equals("content")) if (!column.getColumnName().equals("content"))
columns.add(column); columns.add(column);
} }
return columns; return columns;
...@@ -150,5 +151,24 @@ public class DataBaseUtils { ...@@ -150,5 +151,24 @@ public class DataBaseUtils {
return sql; 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