Commit 4a01f1a3 authored by Code-KingTT's avatar Code-KingTT

Merge remote-tracking branch 'origin/develop' into develop

parents d0928246 7b7e92a3
package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.model.AgencyTreeModel;
import com.yeejoin.amos.api.tool.face.service.AgencyTreeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
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 java.util.List;
/**
* @author r
*/
@RestController
@Api(tags = "机构树")
@RequestMapping(value = "/privilege_agency")
public class AgencyTreeResource {
@Autowired
private AgencyTreeService agencyTreeService;
/**
* 根据sequenceNbr删除
* @param sequenceNbr 主键
* @return Boolean
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(@PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(agencyTreeService.removeById(sequenceNbr));
}
/**
*列表全部数据查询
* @return List<AgencyTreeModel>
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<AgencyTreeModel>> selectForList() {
return ResponseHelper.buildResponse(agencyTreeService.queryForAgencyTreeList());
}
}
...@@ -25,8 +25,6 @@ public class ApiSourceResource { ...@@ -25,8 +25,6 @@ public class ApiSourceResource {
@Autowired @Autowired
private ApiSourceService apiSourceService; private ApiSourceService apiSourceService;
@Autowired
private ApiInfoService apiInfoService;
/** /**
* 新增 * 新增
......
...@@ -36,7 +36,8 @@ import java.util.Map; ...@@ -36,7 +36,8 @@ import java.util.Map;
@TycloudResource(module = "atl", value = "dataApi") @TycloudResource(module = "atl", value = "dataApi")
@RequestMapping(value = "/v1/dataApi") @RequestMapping(value = "/v1/dataApi")
@Api(tags = "atl-导出") @Api(tags = "atl-导出")
public class DataApiResource { public class
DataApiResource {
private final Logger logger = LogManager.getLogger(DataApiResource.class); private final Logger logger = LogManager.getLogger(DataApiResource.class);
......
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.AgencyModel;
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.TemplateVoModel;
import com.yeejoin.amos.api.tool.face.service.DataBaseLinkService; import com.yeejoin.amos.api.tool.face.service.DataBaseLinkService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -12,6 +14,9 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -12,6 +14,9 @@ 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.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List; import java.util.List;
...@@ -20,45 +25,89 @@ import java.util.List; ...@@ -20,45 +25,89 @@ import java.util.List;
*/ */
@RestController @RestController
@Api(tags = "数据库信息") @Api(tags = "数据库信息")
@RequestMapping(value = "/database_join_record") @RequestMapping(value = "/database_link")
public class DataBaseLinkResource { public class DataBaseLinkResource {
@Autowired @Autowired
private DataBaseLinkService dataBaseLinkService; private DataBaseLinkService dataBaseLinkService;
/** /**
* 数据库初始化 * 新增
* @param dataBaseLinkModel 数据库连接信息 *
* @return List<DataBaseLinkModel> * @param dataBaseLinkModel 数据库连接
* @return DataBaseLinkModel
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<DataBaseLinkModel> save(@RequestBody DataBaseLinkModel dataBaseLinkModel) throws Exception {
return ResponseHelper.buildResponse(dataBaseLinkService.save(dataBaseLinkModel));
}
/**
* 根据sequenceNbr更新
*
* @param model 数据库连接
* @return DataBaseLinkModel
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<DataBaseLinkModel> updateBySeq(
@RequestBody DataBaseLinkModel model,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) throws Exception {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(dataBaseLinkService.update(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return Boolean
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(dataBaseLinkService.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
* @param sequenceNbr 主键
* @return TemplateVoModel
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/refresh") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "POST", value = "数据库初始化", notes = "数据库初始化") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<List<DataBaseLinkModel>> save(@RequestBody DataBaseLinkModel dataBaseLinkModel) throws Exception { public ResponseModel<DataBaseLinkModel> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse( return ResponseHelper.buildResponse(dataBaseLinkService.queryBySeq(sequenceNbr));
dataBaseLinkService.refreshDataBase(dataBaseLinkService.encryptPwd(dataBaseLinkModel)));
} }
/** /**
* 列表分页查询 * 机构分页查询
*
* @param current 当前分页 * @param current 当前分页
* @param size 分页大小 * @param size 分页大小
* @return Page<DataBaseLinkModel> * @return Page<AgencyModel>
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/page") @GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "分页查询", notes = "分页查询") @ApiOperation(httpMethod = "GET", value = "机构分页查询", notes = "分页查询")
public ResponseModel<Page<DataBaseLinkModel>> queryForPage( public ResponseModel<Page<AgencyModel>> queryForPage(
@RequestParam(value = "current") int current, @RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) { @RequestParam(value = "size") int size,
Page<DataBaseLinkModel> page = new Page<DataBaseLinkModel>(); @RequestParam Long ipSeq) throws SQLException {
Page<AgencyModel> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
return ResponseHelper.buildResponse(dataBaseLinkService.queryForDataBasePage(page)); return ResponseHelper.buildResponse(dataBaseLinkService.queryForAgencyPage(page,ipSeq));
} }
/** /**
* 列表全部数据查询 * 列表全部数据查询
*
* @return List<DataBaseLinkModel> * @return List<DataBaseLinkModel>
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
...@@ -67,4 +116,19 @@ public class DataBaseLinkResource { ...@@ -67,4 +116,19 @@ public class DataBaseLinkResource {
public ResponseModel<List<DataBaseLinkModel>> selectForList() { public ResponseModel<List<DataBaseLinkModel>> selectForList() {
return ResponseHelper.buildResponse(dataBaseLinkService.queryForDataBaseList()); return ResponseHelper.buildResponse(dataBaseLinkService.queryForDataBaseList());
} }
/**
* 机构列表查询
*
* @return Page<AgencyModel>
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/agency/list")
@ApiOperation(httpMethod = "GET", value = "机构列表查询", notes = "列表查询")
public ResponseModel<List<AgencyModel>> queryForList(HttpServletRequest request) throws SQLException, IOException {
return ResponseHelper.buildResponse(dataBaseLinkService.queryForAgencyList(request));
}
} }
package com.yeejoin.amos.api.tool.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.DataBaseNameListModel;
import com.yeejoin.amos.api.tool.face.service.DataBaseNameListService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
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 java.util.List;
@RestController
@Api(tags = "数据库名称表")
@RequestMapping(value = "/database_name")
public class DataBaseNameListResource {
@Autowired
private DataBaseNameListService dataBaseNameListService;
/**
* 数据库初始化
*
* @param ipSeq 数据库连接seq
* @return List<DataBaseLinkModel>
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/refresh/{ipSeq}")
@ApiOperation(httpMethod = "POST", value = "数据库初始化", notes = "数据库初始化")
public ResponseModel<List<String>> refresh(@PathVariable Long ipSeq) throws Exception {
return ResponseHelper.buildResponse(
dataBaseNameListService.refreshDataBase(ipSeq));
}
/**
* 分页查询
*
* @param current 当前分页
* @param size 分页大小
* @return Page<DataBaseNameListModel>
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "分页查询", notes = "分页查询")
public ResponseModel<Page<DataBaseNameListModel>> queryForPage(
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam Long ipSeq) {
Page<DataBaseNameListModel> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(dataBaseNameListService.queryForDataBasePage(page,ipSeq));
}
}
package com.yeejoin.amos.api.tool.controller; package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.model.DataBaseLinkModel;
import com.yeejoin.amos.api.tool.face.service.DataBaseLinkService; import com.yeejoin.amos.api.tool.face.service.DataBaseLinkService;
import com.yeejoin.amos.api.tool.face.service.RelationService; import com.yeejoin.amos.api.tool.face.service.RelationService;
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.beans.factory.annotation.Configurable;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
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.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.xml.crypto.Data; import javax.servlet.http.HttpServletResponse;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
@CrossOrigin @CrossOrigin
...@@ -31,29 +26,35 @@ public class RelationResource { ...@@ -31,29 +26,35 @@ public class RelationResource {
/** /**
* 根据机构ID和数据库sequenceNbr批量删除数据库 * 根据机构ID和数据库sequenceNbr批量删除数据库
*
* @param agencyCodeId 机构ID * @param agencyCodeId 机构ID
* @param sequenceNbrs 多个主键 * @param sequenceNbrs 多个主键
* @return String * @return String
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@DeleteMapping(value = "/relation/{agencyCodeId}/{sequenceNbrs}") @DeleteMapping(value = "/relation/{agencyCode}/{sequenceNbrs}")
@ApiOperation(httpMethod = "DELETE", value = "机构删除", notes = "机构删除") @ApiOperation(httpMethod = "DELETE", value = "机构删除", notes = "机构删除")
public ResponseModel<String> deleteDataBase( public ResponseModel<String> deleteDataBase(
@PathVariable Long agencyCodeId, @PathVariable String agencyCode,
@PathVariable String sequenceNbrs) throws Exception { @PathVariable String sequenceNbrs) throws Exception {
relationService.deleteAgency(agencyCodeId,sequenceNbrs); relationService.deleteAgency(agencyCode, sequenceNbrs);
return ResponseHelper.buildResponse("The data has been deleted !"); return ResponseHelper.buildResponse("The data has been deleted !");
} }
/** /**
* 导出SQL脚本 * 导出SQL脚本
*
* @return String * @return String
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/output/{agencyCodeId}/{sequenceNbrs}") @GetMapping(value = "/output/{agencyCode}/{sequenceNbrs}")
@ApiOperation(httpMethod = "GET", value = "导出", notes = "导出") @ApiOperation(httpMethod = "GET", value = "导出", notes = "导出")
public ResponseModel<String> genereteSQL(@PathVariable Long agencyCodeId,@PathVariable String sequenceNbrs) throws Exception {
relationService.outputAgency(agencyCodeId, sequenceNbrs); public ResponseModel<String> generateSQL(
@PathVariable String agencyCode,
@PathVariable String sequenceNbrs,
HttpServletResponse response) throws Exception {
relationService.outputAgency(agencyCode, sequenceNbrs,response);
return ResponseHelper.buildResponse("yes"); return ResponseHelper.buildResponse("yes");
} }
} }
\ No newline at end of file
...@@ -133,9 +133,9 @@ public class TemplateResource { ...@@ -133,9 +133,9 @@ public class TemplateResource {
* @return TemplateModel * @return TemplateModel
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@CrossOrigin
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr导入content", notes = "根据sequenceNbr导入content") @ApiOperation(httpMethod = "POST", value = "根据sequenceNbr导入content", notes = "根据sequenceNbr导入content")
@PostMapping(value = "/import") @PostMapping(value = "/import")
@CrossOrigin(methods = RequestMethod.POST)
public ResponseModel<TemplateModel> importTpl(@RequestParam("file") MultipartFile multipartFile) throws IOException { public ResponseModel<TemplateModel> importTpl(@RequestParam("file") MultipartFile multipartFile) throws IOException {
return ResponseHelper.buildResponse(templateService.createWithModel(templateService.fileToTpl(multipartFile))); return ResponseHelper.buildResponse(templateService.createWithModel(templateService.fileToTpl(multipartFile)));
} }
......
package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.service.TransferDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
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 java.sql.SQLException;
@CrossOrigin
@RestController
@Api(tags = "数据迁移")
@RequestMapping(value = "/transfer_data")
public class TransferDataResource {
@Autowired
private TransferDataService transferDataService;
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PutMapping(value = "/relation/")
@ApiOperation(httpMethod = "Put", value = "数据迁移", notes = "数据迁移")
public ResponseModel<String> transferData( ) throws SQLException, ClassNotFoundException {
transferDataService.transferData();
return ResponseHelper.buildResponse("The data has been transferred !");
}
}
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.api.tool.face.model; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.api.tool.face.model;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.typroject.tyboot.core.rdbms.model.BaseModel; import org.typroject.tyboot.core.rdbms.model.BaseModel;
...@@ -10,9 +11,8 @@ import org.typroject.tyboot.core.rdbms.model.BaseModel; ...@@ -10,9 +11,8 @@ import org.typroject.tyboot.core.rdbms.model.BaseModel;
* @author r * @author r
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @ApiModel(value = "AgencyModel", description = "")
@ApiModel(value = "DataBaseLinkModel", description = "") public class AgencyModel {
public class AgencyTreeModel extends BaseModel {
@ApiModelProperty(value = "机构名称") @ApiModelProperty(value = "机构名称")
private String agencyName; private String agencyName;
......
package com.yeejoin.amos.api.tool.face.model; package com.yeejoin.amos.api.tool.face.model;
import com.yeejoin.amos.api.tool.face.orm.entity.DataBaseLink;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -16,9 +17,6 @@ import org.typroject.tyboot.core.rdbms.model.BaseModel; ...@@ -16,9 +17,6 @@ import org.typroject.tyboot.core.rdbms.model.BaseModel;
@ApiModel(value = "DataBaseLinkModel", description = "") @ApiModel(value = "DataBaseLinkModel", description = "")
public class DataBaseLinkModel extends BaseModel { public class DataBaseLinkModel extends BaseModel {
@ApiModelProperty(value = "数据名称")
private String dataName = "";
@ApiModelProperty(value = "主机IP") @ApiModelProperty(value = "主机IP")
private String ip; private String ip;
...@@ -34,12 +32,13 @@ public class DataBaseLinkModel extends BaseModel { ...@@ -34,12 +32,13 @@ public class DataBaseLinkModel extends BaseModel {
@ApiModelProperty(value = "密码") @ApiModelProperty(value = "密码")
private String passWord; private String passWord;
public DataBaseLinkModel(String dataName, String ip, String port, String dbName, String userName, String passWord) { public DataBaseLinkModel(String ip, String port, String dbName, String userName, String passWord) {
this.dataName = dataName;
this.ip = ip; this.ip = ip;
this.port = port; this.port = port;
this.dbName = dbName; this.dbName = dbName;
this.userName = userName; this.userName = userName;
this.passWord = passWord; this.passWord = passWord;
} }
} }
package com.yeejoin.amos.api.tool.face.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.typroject.tyboot.core.rdbms.model.BaseModel;
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "DataBaseNameListModel", description = "")
public class DataBaseNameListModel extends BaseModel {
@ApiModelProperty(value = "数据库名")
private String dbName;
@ApiModelProperty(value = "连接id")
private Long parentId;
}
...@@ -4,11 +4,11 @@ import io.swagger.annotations.ApiModel; ...@@ -4,11 +4,11 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import sun.reflect.generics.tree.Tree; // import sun.reflect.generics.tree.Tree;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.TreeMap; //import java.util.TreeMap;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
......
package com.yeejoin.amos.api.tool.face.orm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.AgencyTree;
/**
* Mapper 接口
*
* @author r
*/
public interface AgencyTreeMapper extends BaseMapper<AgencyTree> {
}
package com.yeejoin.amos.api.tool.face.orm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.DataBaseNameList;
import org.mapstruct.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface DataBaseNameListMapper extends BaseMapper<DataBaseNameList> {
}
...@@ -20,39 +20,33 @@ import lombok.experimental.Accessors; ...@@ -20,39 +20,33 @@ import lombok.experimental.Accessors;
public class DataBaseLink extends BaseEntity { public class DataBaseLink extends BaseEntity {
/** /**
*数据名称
*/
@TableField("dataName")
private String dataName;
/**
*主机IP *主机IP
*/ */
@TableField("ip") @TableField("IP")
private String ip; private String ip;
/** /**
*端口 *端口
*/ */
@TableField("port") @TableField("PORT")
private String port; private String port;
/** /**
*数据库名 *数据库名
*/ */
@TableField("dbName") @TableField("DATABASE_NAME")
private String dbName; private String dbName;
/** /**
*用户名 *用户名
*/ */
@TableField("userName") @TableField("USER_NAME")
private String userName; private String userName;
/** /**
*密码 *密码
*/ */
@TableField("passWord") @TableField("PASSWORD")
private String passWord; private String passWord;
} }
...@@ -2,35 +2,26 @@ package com.yeejoin.amos.api.tool.face.orm.entity; ...@@ -2,35 +2,26 @@ package com.yeejoin.amos.api.tool.face.orm.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/** import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
* @author r
*/
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true) @Accessors(chain = true)
@TableName("privilege_agency") @TableName("database_name_list")
public class AgencyTree extends BaseEntity { public class DataBaseNameList extends BaseEntity {
/** /**
*机构名称 * 数据库名
*/ */
@TableField("AGENCY_NAME") @TableField("DATABASE_NAME")
private String agencyName; private String dbName;
/** /**
*机构编码 * 连接id
*/ */
@TableField("AGENCY_CODE") @TableField("PARENT_ID")
private String agencyCode; private Long parentId;
/**
*机构描述
*/
@TableField("AGENCY_DESC")
private String agencyDesc;
} }
package com.yeejoin.amos.api.tool.face.service;
import com.yeejoin.amos.api.tool.face.model.AgencyTreeModel;
import com.yeejoin.amos.api.tool.face.orm.dao.AgencyTreeMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.AgencyTree;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.List;
/**
* 服务实现类
*
* @author r
*/
@Service
public class AgencyTreeService extends BaseService<AgencyTreeModel, AgencyTree, AgencyTreeMapper> {
/**
* 列表查询
*/
public List<AgencyTreeModel> queryForAgencyTreeList() {
return this.queryForList("" , false);
}
public String queryForAgencyCodeById(Long id){
return queryBySeq(id).getAgencyCode();
}
}
...@@ -2,19 +2,26 @@ package com.yeejoin.amos.api.tool.face.service; ...@@ -2,19 +2,26 @@ package com.yeejoin.amos.api.tool.face.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.AgencyModel;
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.orm.dao.DataBaseLinkMapper; import com.yeejoin.amos.api.tool.face.orm.dao.DataBaseLinkMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.DataBaseLink; import com.yeejoin.amos.api.tool.face.orm.entity.DataBaseLink;
import com.yeejoin.amos.api.tool.utils.AESUtils; import com.yeejoin.amos.api.tool.utils.AESUtils;
import org.apache.commons.beanutils.BeanUtils; import com.yeejoin.amos.api.tool.utils.DataBaseUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.Bean;
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.HttpServletRequest;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.sql.*; import java.sql.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 服务实现类 * 服务实现类
...@@ -22,17 +29,85 @@ import java.util.List; ...@@ -22,17 +29,85 @@ import java.util.List;
* @author r * @author r
*/ */
@Service @Service
public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBaseLink, DataBaseLinkMapper> { public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBaseLink, DataBaseLinkMapper> {
@Autowired @Autowired
private DataBaseLinkMapper dataBaseLinkMapper; DataBaseLinkMapper dataBaseLinkMapper;
/**
* 新增
*/
public DataBaseLinkModel save(DataBaseLinkModel dataBaseLinkModel) throws Exception {
DataBaseLinkModel model = this.encryptPwd(dataBaseLinkModel);
if (this.testConnection(model)) {
return this.createWithModel(model);
} else {
return new DataBaseLinkModel();
}
}
/**
* 编辑
*/
public DataBaseLinkModel update(DataBaseLinkModel dataBaseLinkModel) throws Exception {
DataBaseLinkModel model = this.encryptPwd(dataBaseLinkModel);
if (this.testConnection(model)) {
return this.updateWithModel(model);
} else {
return new DataBaseLinkModel();
}
}
/**
* 机构分页查询
*/
public Page<AgencyModel> queryForAgencyPage(Page<AgencyModel> page, Long ipSeq) throws SQLException {
Connection connection = this.connectNewDatabase(this.queryBySeq(ipSeq));
List<Map<String, Object>> maps =
DataBaseUtils.getMaps("SELECT AGENCY_NAME, AGENCY_CODE, AGENCY_DESC FROM privilege_agency;", connection);
connection.close();
List<AgencyModel> records = new ArrayList<>();
for (Map<String, Object> map : maps) {
AgencyModel model = new AgencyModel();
model.setAgencyName(map.get("AGENCY_NAME").toString());
model.setAgencyCode(map.get("AGENCY_CODE").toString());
if ((map.get("AGENCY_DESC") != null))
model.setAgencyDesc(map.get("AGENCY_DESC").toString());
records.add(model);
}
Page<AgencyModel> entiryPage = new Page(page.getCurrent(), page.getSize());
if (!ValidationUtil.isEmpty(records)) {
page.setTotal(records.size());
page.setPages(entiryPage.getPages());
page.setCurrent(entiryPage.getCurrent());
page.setSize(entiryPage.getSize());
page.setRecords(records);
}
return page;
}
/** /**
* 分页查询 * 机构列表查询
*/ */
public Page<DataBaseLinkModel> queryForDataBasePage(Page<DataBaseLinkModel> page) { public List<AgencyModel> queryForAgencyList(HttpServletRequest request) throws SQLException, IOException {
return this.queryForPage(page, null, false); // URL url = new URL(request.getRequestURL().toString());
DataBaseLink dataBaseLink = getOne(new QueryWrapper<DataBaseLink>().eq("IP",DataBaseUtils.getIp()));
DataBaseLinkModel dataBaseLinkModel = new DataBaseLinkModel();
Bean.toModel(dataBaseLink,dataBaseLinkModel);
Connection connection = this.connectNewDatabase(dataBaseLinkModel);
List<Map<String, Object>> maps =
DataBaseUtils.getMaps("SELECT AGENCY_NAME, AGENCY_CODE, AGENCY_DESC FROM privilege_agency;", connection);
connection.close();
List<AgencyModel> records = new ArrayList<>();
for (Map<String, Object> map : maps) {
AgencyModel model = new AgencyModel();
model.setAgencyName(map.get("AGENCY_NAME").toString());
model.setAgencyCode(map.get("AGENCY_CODE").toString());
if ((map.get("AGENCY_DESC") != null))
model.setAgencyDesc(map.get("AGENCY_DESC").toString());
records.add(model);
}
return records;
} }
/** /**
...@@ -57,51 +132,45 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase ...@@ -57,51 +132,45 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
} }
/** /**
* 初始化数据库连接表 * 连接数据库
*/ */
public List<DataBaseLinkModel> refreshDataBase(DataBaseLinkModel dataBaseLinkModel) throws Exception { public Connection connectNewDatabase(DataBaseLinkModel model) {
//清空表单 try {
this.remove(new QueryWrapper<>()); // 加载数据库驱动
//连接数据库 Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = this.connectNewDatabase(dataBaseLinkModel); // 连接新增的数据库
String dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" + model.getDbName();
if (connection == null) // 解密pwd,并连接
return null; return DriverManager.getConnection(dbUrl, model.getUserName(), AESUtils.decrypt(model.getPassWord()));
List<DataBaseLinkModel> dataBaseLinkModels = new ArrayList<>(); } catch (SQLException | ClassNotFoundException e) {
Collection<DataBaseLink> dataBaseLinks = new ArrayList<>(); e.printStackTrace();
for (String name : this.getDataBaseName(connection)) { } catch (Exception e) {
if (name == null) throw new RuntimeException(e);
break;
DataBaseLinkModel model = new DataBaseLinkModel();
BeanUtils.copyProperties(model, dataBaseLinkModel);
model.setDbName(name);
model.setDataName(name);
dataBaseLinkModels.add(model);
dataBaseLinks.add(this.prepareEntity(model));
} }
this.saveBatch(dataBaseLinks); return null;
connection.close();
return dataBaseLinkModels;
} }
/** /**
* 连接数据库 * 测试连接数据库
*/ */
public Connection connectNewDatabase(DataBaseLinkModel model) throws Exception { public boolean testConnection(DataBaseLinkModel model) throws Exception {
// 加载数据库驱动 Connection connection = this.connectNewDatabase(model);
Class.forName("com.mysql.cj.jdbc.Driver"); if (connection != null) {
// 连接新增的数据库 connection.close();
String dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" + model.getDbName(); return true;
// 解密pwd,并连接 }
return DriverManager.getConnection(dbUrl, model.getUserName(),AESUtils.decrypt(model.getPassWord())); return false;
} }
/** /**
* 加密model里的密码 * 加密model里的密码
*/ */
public DataBaseLinkModel encryptPwd(DataBaseLinkModel model) throws Exception { public DataBaseLinkModel encryptPwd(DataBaseLinkModel model) throws Exception {
model.setPassWord(AESUtils.encrypt(model.getPassWord())); model.setPassWord(AESUtils.encrypt(model.getPassWord()));
return model; return model;
} }
} }
package com.yeejoin.amos.api.tool.face.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.DataBaseLinkModel;
import com.yeejoin.amos.api.tool.face.model.DataBaseNameListModel;
import com.yeejoin.amos.api.tool.face.orm.dao.DataBaseNameListMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.DataBaseNameList;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@Service
public class DataBaseNameListService extends BaseService<DataBaseNameListModel, DataBaseNameList, DataBaseNameListMapper> {
@Autowired
private DataBaseLinkService dataBaseLinkService;
/**
* 分页查询
*/
public Page<DataBaseNameListModel> queryForDataBasePage(Page<DataBaseNameListModel> page,Long parentId) {
return this.queryForPage(page, null, false, parentId);
}
/**
* 初始化数据库名表
*/
public List<String> refreshDataBase(Long ipSeq) throws Exception {
DataBaseLinkModel dataBaseLinkModel = dataBaseLinkService.queryBySeq(ipSeq);
//清空表单
this.remove(new QueryWrapper<DataBaseNameList>().eq("PARENT_ID", ipSeq));
//连接数据库
Connection connection = dataBaseLinkService.connectNewDatabase(dataBaseLinkModel);
if (connection == null)
return null;
List<String> strings = new ArrayList<>();
Collection<DataBaseNameList> dataBaseNameLists = new ArrayList<>();
for (String name : dataBaseLinkService.getDataBaseName(connection)) {
if (name == null)
break;
DataBaseNameListModel model = new DataBaseNameListModel(name, ipSeq);
strings.add(name);
dataBaseNameLists.add(this.prepareEntity(model));
}
this.saveBatch(dataBaseNameLists);
connection.close();
return strings;
}
}
package com.yeejoin.amos.api.tool.face.service; package com.yeejoin.amos.api.tool.face.service;
import com.alibaba.fastjson.JSON;
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.DataBaseNameListModel;
import com.yeejoin.amos.api.tool.face.model.RelationModel; import com.yeejoin.amos.api.tool.face.model.RelationModel;
import com.yeejoin.amos.api.tool.face.model.RelationTreeModel; import com.yeejoin.amos.api.tool.face.model.RelationTreeModel;
import com.yeejoin.amos.api.tool.face.orm.dao.RelationMapper; import com.yeejoin.amos.api.tool.face.orm.dao.RelationMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.Relation; import com.yeejoin.amos.api.tool.face.orm.entity.Relation;
import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn; import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn;
import io.github.classgraph.json.JSONUtils; import com.yeejoin.amos.api.tool.utils.DataBaseUtils;
import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.beanutils.ConvertUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -25,55 +25,46 @@ import java.util.HashMap; ...@@ -25,55 +25,46 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static com.yeejoin.amos.api.tool.utils.DataBaseUtils.*;
@Service @Service
public class RelationService extends BaseService<RelationModel, Relation, RelationMapper> { public class RelationService extends BaseService<RelationModel, Relation, RelationMapper> {
/**
* 数据库备份路径
*/
public static final String BACKUP_PATH = "/db/";
/**
* 数据库备份文本前缀
*/
public static String ONESQL_PREFIX = "";
private static String SUFFIX = "sql";
private static String BR = "\r\n";
private static String SLASH = "/";
private static String BRANCH = ";";
private static String SPLIT = "`";
private static String SPACE = " ";
private static String INSERT_INTO = " INSERT INTO ";
private static String CREATE_INTO = " CREATE TABLE ";
private static String VALUES = "VALUES";
private static String LEFTBRACE = "(";
private static String RIGHTBRACE = ")";
private static String QUOTES = "'";
private static String COMMA = ",";
private static String DISABLEFOREIGN = "SET FOREIGN_KEY_CHECKS = 0;\r\n";
private static String ABLEFOREIGN = "SET FOREIGN_KEY_CHECKS = 1;\r\n";
private static String DELIMITER = "###################################";
@Autowired @Autowired
private RelationMapper relationMapper; private RelationMapper relationMapper;
@Autowired @Autowired
private DataBaseLinkService dataBaseLinkService; private DataBaseLinkService dataBaseLinkService;
@Autowired @Autowired
private AgencyTreeService agencyTreeService;
@Autowired
JdbcTemplate jdbcTemplate; JdbcTemplate jdbcTemplate;
@Autowired @Autowired
StudioResourceService studioResourceService; private DataBaseNameListService dataBaseNameListService;
/** /**
* 根据机构删除 * 根据机构删除
*/ */
public void deleteAgency(Long agencyCodeId, String sequenceNbrs) throws Exception { public void deleteAgency(String agencyCode, String sequenceNbrs) throws Exception {
for (Long seq : (Long[]) ConvertUtils.convert(StringUtil.string2Array(sequenceNbrs),Long.class)) { for (Long seq : (Long[]) ConvertUtils.convert(StringUtil.string2Array(sequenceNbrs), Long.class)) {
DataBaseLinkModel model = dataBaseLinkService.queryBySeq(seq); DataBaseNameListModel nameListModel = dataBaseNameListService.queryBySeq(seq);
DataBaseLinkModel model = dataBaseLinkService.queryBySeq(nameListModel.getParentId());
model.setDbName(nameListModel.getDbName());
Connection connection = dataBaseLinkService.connectNewDatabase(model); Connection connection = dataBaseLinkService.connectNewDatabase(model);
this.deleteDataBase( this.deleteDataBase(
connection, agencyTreeService.queryForAgencyCodeById(agencyCodeId), model.getDbName()); connection, agencyCode, model.getDbName());
}
}
/**
* 导出机构
*/
public void outputAgency(String agencyCode, String sequenceNbrs, HttpServletResponse response) throws Exception {
for (Long seq : (Long[]) ConvertUtils.convert(StringUtil.string2Array(sequenceNbrs), Long.class)) {
DataBaseNameListModel nameListModel = dataBaseNameListService.queryBySeq(seq);
DataBaseLinkModel model = dataBaseLinkService.queryBySeq(nameListModel.getParentId());
model.setDbName(nameListModel.getDbName());
Connection connection = dataBaseLinkService.connectNewDatabase(model);
this.insertData(
connection, agencyCode, model.getDbName(), response);
} }
} }
...@@ -90,8 +81,8 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati ...@@ -90,8 +81,8 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
//根据根节点获得根节点相关列表 //根据根节点获得根节点相关列表
List<RelationTreeModel> array = this.createList(tree); List<RelationTreeModel> array = this.createList(tree);
//根据列表获取sql语句 //根据列表获取sql语句
System.out.println(this.createSqlByArray(array,agencyCode)); System.out.println(this.createSqlByArray(array, agencyCode));
System.out.println(statementSql(this.createSqlByArray(array, agencyCode).toString(),connection)); System.out.println(statementSql(this.createSqlByArray(array, agencyCode).toString(), connection));
} }
} catch (SQLException e) { } catch (SQLException e) {
e.printStackTrace(); e.printStackTrace();
...@@ -122,8 +113,7 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati ...@@ -122,8 +113,7 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
public List<HashMap<String, String>> queryRelation(String dbName) throws SQLException { public List<HashMap<String, String>> queryRelation(String dbName) throws SQLException {
StringBuilder sql = new StringBuilder("SELECT * FROM "); StringBuilder sql = new StringBuilder("SELECT * FROM ");
sql.append(dbName).append("_relation;"); sql.append(dbName).append("_relation;");
List<HashMap<String,String>> maps = relationMapper.getPublicItems(sql.toString()); return relationMapper.getPublicItems(sql.toString());
return maps;
} }
/** /**
...@@ -197,16 +187,26 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati ...@@ -197,16 +187,26 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
} }
/** /**
* * 插入数据
* @param connection
* @param agencyCode
* @param dbName
* @return
* @throws SQLException
*/ */
public void insertData(Connection connection, String agencyCode, String dbName,HttpServletResponse response) throws SQLException {
public String insertData(Connection connection, String agencyCode, String dbName) throws SQLException {
try { try {
File directory = new File("");// 参数为空
String coursePath = directory.getCanonicalPath();
File parentFile = new File(coursePath).getParentFile();
String backPath = parentFile.getCanonicalPath() + BACKUP_PATH;
File sqlDirectory = new File(backPath);
if (!sqlDirectory.exists()) {
sqlDirectory.mkdir();
}
String fileName = agencyCode + "." + SUFFIX;
String sqlFilePath = backPath + SLASH + fileName;
File file = new File(sqlFilePath);
FileOutputStream out;
OutputStreamWriter writer = null;
out = new FileOutputStream(file);
writer = new OutputStreamWriter(out, "utf8");
StringBuffer insertSql = new StringBuffer();
if (!connection.isClosed()) if (!connection.isClosed())
System.out.println("Succeeded connecting to the Database!"); System.out.println("Succeeded connecting to the Database!");
//通过连接获取relation表树形结构 //通过连接获取relation表树形结构
...@@ -215,91 +215,41 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati ...@@ -215,91 +215,41 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
//根据根节点获得根节点相关列表 //根据根节点获得根节点相关列表
List<RelationTreeModel> array = this.createList(tree); List<RelationTreeModel> array = this.createList(tree);
//根据列表获取sql语句 //根据列表获取sql语句
for(RelationTreeModel model: array){ for (RelationTreeModel model : array) {
List<RelationTreeModel> tableSet = tableRelation(model, array); List<RelationTreeModel> tableSet = tableRelation(model, array);
List<String> columNames = this.selectColumNames(model.getName(),connection); List<TableColumn> columns = DataBaseUtils.getTableColumn(model.getName(), connection);
String sql = this.insertSqlByTableName(tableSet , model.getName(), columNames, agencyCode ).toString(); String sql = this.getSelectSQL(tableSet, model.getName(), columns, agencyCode).toString();
List<Map<String, Object>> dataList = DataBaseUtils.getMaps(sql, connection);
System.out.println(sql); System.out.println(sql);
String columnSql = "" + StringBuffer insertSQL = DataBaseUtils.getInsertSQL(dataList, columns, model.getName());
"\t\t SELECT\n" + System.out.println(insertSQL);
"\t\t table_name as table_name,\n" + if (!ObjectUtils.isEmpty(sql)) insertSql.append(insertSQL);
"\t\t\tcolumn_name as columnName,\n" +
"\t\t\t( CASE WHEN ( is_nullable = 'no' && column_key != 'PRI' ) THEN '1' ELSE NULL END ) AS isRequired,\n" +
"\t\t\t( CASE WHEN column_key = 'PRI' THEN '1' ELSE '0' END ) AS isPk,\n" +
"\t\t\tordinal_position AS sort,\n" +
"\t\t\tcolumn_comment as columnComment,\n" +
"\t\t\t( CASE WHEN extra = 'auto_increment' THEN '1' ELSE '0' END ) AS isIncrement,\n" +
"\t\t\tcolumn_type as columnType \n" +
"\t\tFROM\n" +
"\t\t\tinformation_schema.COLUMNS \n" +
"\t\tWHERE\n" +
"\t\t\ttable_schema = database()\n" +
"\t\t\tAND table_name = \"" + model.getName() + "\"\n" +
"\t\tORDER BY\n" +
"\t\t\tordinal_position\t";
List<Map<String, Object>> dataList = this.setToMap(sql,connection);
List<Map<String, Object>> columnList = this.setToMap(columnSql,connection);
List<TableColumn> columns = new ArrayList<>();
for (Map<String,Object> map: columnList){
TableColumn column = JSON.parseObject(JSON.toJSONString(map), TableColumn.class);
columns.add(column);
}
StringBuffer sbsql = new StringBuffer();
for (Map<String, Object> map : dataList) {
sbsql.append(INSERT_INTO);
sbsql.append(SPACE).append(model.getName()).append(SPACE);
sbsql.append(LEFTBRACE);
for (TableColumn column : columns) {
sbsql.append(SPLIT);
sbsql.append(column.getColumnName());
sbsql.append(SPLIT);
sbsql.append(COMMA);
}
sbsql.deleteCharAt(sbsql.length() - 1);
sbsql.append(RIGHTBRACE);
sbsql.append(VALUES);
sbsql.append(LEFTBRACE);
for (TableColumn column : columns) {
if (column.getColumnType().contains("bigint") ||
column.getColumnType().contains("int") ||
column.getColumnType().contains("bit(1)")) {
if (!ObjectUtils.isEmpty(map.get(column.getColumnName()))) {
sbsql.append(map.get(column.getColumnName()));
}else {
sbsql.append("0");
}
} else {
if (!ObjectUtils.isEmpty(map.get(column.getColumnName()))) {
sbsql.append("'").append(map.get(column.getColumnName())).append("'");
} else {
sbsql.append("null");
}
}
sbsql.append(COMMA);
}
sbsql.deleteCharAt(sbsql.length() - 1);
sbsql.append(RIGHTBRACE);
sbsql.append(BRANCH).append(BR);
}
System.out.println(sbsql);
} }
} }
} catch (SQLException e) { if (insertSql.length() > 0) {
writer.write(BR + DELIMITER + BR);
writer.write("/**" + BR + "* 资源数据" + BR + "**/" + BR);
writer.write(BR + DELIMITER + BR);
writer.write(insertSql.toString());
writer.write(BR + BR + DELIMITER + BR);
}
writer.flush();
writer.close();
out.close();
download(response, fileName, sqlFilePath);
} catch (SQLException | IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
connection.close(); connection.close();
return null;
} }
/** /**
* 导出插入语句 * 导出插入语句
* @param array
* @param agencyCode
* @return
*/ */
public StringBuilder insertSqlByTableName( public StringBuilder getSelectSQL(
List<RelationTreeModel> array, List<RelationTreeModel> array,
String tableName, String tableName,
List<String> columNames, List<TableColumn> columns,
String agencyCode) { String agencyCode) {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
if (array.size() == 1) { if (array.size() == 1) {
...@@ -309,12 +259,12 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati ...@@ -309,12 +259,12 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
} else { } else {
sql.append("SELECT "); sql.append("SELECT ");
int count = 0; int count = 0;
for(String name : columNames){ for (TableColumn colum : columns) {
if (count != 0){ if (count != 0) {
sql.append(","); sql.append(",");
} }
count++; count++;
sql.append(tableName).append(".").append(name); sql.append(tableName).append(".").append(colum.getColumnName());
} }
sql.append(" FROM ").append(array.get(0).getName()); sql.append(" FROM ").append(array.get(0).getName());
for (RelationTreeModel model : array) { for (RelationTreeModel model : array) {
...@@ -331,25 +281,6 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati ...@@ -331,25 +281,6 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
} }
/** /**
*
* @param tableName
* @param connection
* @return
* @throws SQLException
*/
public List<String> selectColumNames(String tableName, Connection connection) throws SQLException {
List<String> columNames = new ArrayList<>();
String sql = "SELECT * FROM " + tableName + " limit 0,0";
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
ResultSetMetaData data = resultSet.getMetaData();
for(int i = 1 ; i <= data.getColumnCount(); i++ ){
if(!("content").equals(data.getColumnName(i)))
columNames.add(data.getColumnName(i));
}
return columNames;
}
/**
* 列表节点生成(递归) * 列表节点生成(递归)
*/ */
public List<RelationTreeModel> createNodeList(List<RelationTreeModel> tree) { public List<RelationTreeModel> createNodeList(List<RelationTreeModel> tree) {
...@@ -378,17 +309,13 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati ...@@ -378,17 +309,13 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
} }
/** /**
* * 根据表获取关联表集合
* @param table
* @param list
* @return
*/ */
public List<RelationTreeModel> tableRelation(RelationTreeModel table, List<RelationTreeModel> list){ public List<RelationTreeModel> tableRelation(RelationTreeModel table, List<RelationTreeModel> list) {
List<RelationTreeModel> result = new ArrayList<>(); List<RelationTreeModel> result = new ArrayList<>();
if(table.getParentName().equals("")) { if (table.getParentName().equals("")) {
result.add(table); result.add(table);
} } else {
else {
for (RelationTreeModel node : list) { for (RelationTreeModel node : list) {
if (node.getName().equals(table.getParentName())) { if (node.getName().equals(table.getParentName())) {
result.addAll(tableRelation(node, list)); result.addAll(tableRelation(node, list));
...@@ -399,55 +326,20 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati ...@@ -399,55 +326,20 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
} }
return result; return result;
} }
/**
* 获取关系表转化为map
*/
public List<Map<String, Object>> setToMap(String sql, Connection connection) throws SQLException {
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(sql);
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
try {
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
Map<String, Object> rowData = new HashMap<String, Object>();
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), rs.getObject(i));
}
list.add(rowData);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
rs = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
public void outputAgency(Long agencyCodeId, String sequenceNbrs) throws Exception { public void download(HttpServletResponse response, String fileName, String sqlFilePath) throws IOException {
for (Long seq : (Long[]) ConvertUtils.convert(StringUtil.string2Array(sequenceNbrs),Long.class)) { File f = new File(sqlFilePath);
DataBaseLinkModel model = dataBaseLinkService.queryBySeq(seq); BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
Connection connection = dataBaseLinkService.connectNewDatabase(model); byte[] buf = new byte[1024];
this.insertData( int len = 0;
connection, agencyTreeService.queryForAgencyCodeById(agencyCodeId), model.getDbName()); 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();
} }
public void download(String filePath ,String sql) throws IOException {
File file = new File(filePath);
try {
FileWriter writer = new FileWriter(file);
writer.write(sql);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} }
...@@ -4,34 +4,62 @@ import com.alibaba.fastjson.JSON; ...@@ -4,34 +4,62 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.PictureModel; import com.yeejoin.amos.api.tool.face.model.PictureModel;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel;
import com.yeejoin.amos.api.tool.face.model.TemplateModel; import com.yeejoin.amos.api.tool.face.model.TemplateModel;
import com.yeejoin.amos.api.tool.face.model.TemplateVoModel; import com.yeejoin.amos.api.tool.face.model.TemplateVoModel;
import com.yeejoin.amos.api.tool.face.orm.dao.TemplateMapper; import com.yeejoin.amos.api.tool.face.orm.dao.TemplateMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.Template; import com.yeejoin.amos.api.tool.face.orm.entity.Template;
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;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.utils.StringUtil; 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 java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.Reader; import java.io.Reader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.UUID; import java.util.UUID;
@Service @Service
public class TemplateService extends BaseService<TemplateModel, Template, TemplateMapper> { public class TemplateService extends BaseService<TemplateModel, Template, TemplateMapper> {
@Autowired
private TemplateCategoryService templateCategoryService;
/** /**
* 分页查询 * 分页查询
*/ */
public Page<TemplateModel> queryForTplPage(Page<TemplateModel> page, Long categorySeq, String displayName) { public Page<TemplateModel> queryForTplPage(Page<TemplateModel> page, Long categorySeq, String displayName) {
List<TemplateCategoryTreeModel> modelList = templateCategoryService.getTree();
List<TemplateModel> records = new ArrayList<>();
for (TemplateCategoryTreeModel visualDesigner : modelList) {
if (Objects.equals(categorySeq, visualDesigner.getSequenceNbr())) {
for (TemplateCategoryTreeModel category : visualDesigner.getChildren()) {
records.addAll(this.queryForTplListByCategorySeq(category.getSequenceNbr()));
}
return this.queryForPages(records, page);
}
}
return this.queryForPage(page, null, false, categorySeq, displayName); return this.queryForPage(page, null, false, categorySeq, displayName);
} }
public Page<TemplateModel> queryForPages(List<TemplateModel> records, Page<TemplateModel> page) {
Page<TemplateModel> entiryPage = new Page(page.getCurrent(), page.getSize());
if (!ValidationUtil.isEmpty(records)) {
page.setTotal(records.size());
page.setPages(entiryPage.getPages());
page.setCurrent(entiryPage.getCurrent());
page.setSize(entiryPage.getSize());
page.setRecords(records);
}
return page;
}
/** /**
* 列表查询 * 列表查询
*/ */
...@@ -42,9 +70,9 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -42,9 +70,9 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
/** /**
* 根据模板分类ID获取模板sequenceNb's * 根据模板分类ID获取模板sequenceNb's
*/ */
public List<String> selectSeqsByCategorySeq(Long categorySeq){ public List<String> selectSeqsByCategorySeq(Long categorySeq) {
List<String> strings = new ArrayList<>(); List<String> strings = new ArrayList<>();
for (TemplateModel model : this.queryForTplListByCategorySeq(categorySeq)){ for (TemplateModel model : this.queryForTplListByCategorySeq(categorySeq)) {
strings.add(Long.toString(model.getSequenceNbr())); strings.add(Long.toString(model.getSequenceNbr()));
} }
return strings; return strings;
...@@ -61,7 +89,7 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -61,7 +89,7 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
/** /**
* 根据sequenceNbr获取模板并转化为VO * 根据sequenceNbr获取模板并转化为VO
*/ */
public TemplateVoModel queryForTplVo(Long sequenceNbr){ public TemplateVoModel queryForTplVo(Long sequenceNbr) {
TemplateModel templateModel = this.queryBySeq(sequenceNbr); TemplateModel templateModel = this.queryBySeq(sequenceNbr);
TemplateVoModel templateVoModel = this.convertVoModel(templateModel); TemplateVoModel templateVoModel = this.convertVoModel(templateModel);
if (templateModel.getContent() != null) { if (templateModel.getContent() != null) {
...@@ -114,10 +142,10 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -114,10 +142,10 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
/** /**
* model转化VO * model转化VO
*/ */
public TemplateVoModel convertVoModel(TemplateModel templateModel){ public TemplateVoModel convertVoModel(TemplateModel templateModel) {
TemplateVoModel tplVoModel = new TemplateVoModel(); TemplateVoModel tplVoModel = new TemplateVoModel();
BeanUtils.copyProperties(templateModel, tplVoModel); BeanUtils.copyProperties(templateModel, tplVoModel);
if(templateModel.getSketch() != null) if (templateModel.getSketch() != null)
tplVoModel.setSketches(this.urlToPicModel(templateModel.getSketch())); tplVoModel.setSketches(this.urlToPicModel(templateModel.getSketch()));
if (templateModel.getThumb() != null) if (templateModel.getThumb() != null)
tplVoModel.setThumbs(this.urlToPicModel(templateModel.getThumb())); tplVoModel.setThumbs(this.urlToPicModel(templateModel.getThumb()));
...@@ -128,8 +156,8 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -128,8 +156,8 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
/** /**
* 生成随机UID * 生成随机UID
*/ */
public String getUid(){ public String getUid() {
UUID uuid= UUID.randomUUID(); UUID uuid = UUID.randomUUID();
String str = uuid.toString(); String str = uuid.toString();
return str.replace("-", ""); return str.replace("-", "");
} }
...@@ -137,7 +165,7 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -137,7 +165,7 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
/** /**
* url转化图片 * url转化图片
*/ */
public List<PictureModel> urlToPicModel(String url){ public List<PictureModel> urlToPicModel(String url) {
List<PictureModel> pictureModels = new ArrayList<>(); List<PictureModel> pictureModels = new ArrayList<>();
PictureModel pictureModel = new PictureModel("", this.getUid(), url, "done"); PictureModel pictureModel = new PictureModel("", this.getUid(), url, "done");
pictureModels.add(pictureModel); pictureModels.add(pictureModel);
......
package com.yeejoin.amos.api.tool.face.service;
import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn;
import com.yeejoin.amos.api.tool.utils.DataBaseUtils;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class TransferDataService {
private static String TABLE_DES = "mcb_warning_base_source_attribution";
private static String TABLE_ORI = "qms_explorer";
private static String DBNAME_DES = "amos_mcb";
private static String DBNAME_ORI = "amos_studio";
public Connection connectDataBase(String dataBaseName) throws ClassNotFoundException, SQLException {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 生成url
String dbUrl = "jdbc:mysql://172.16.3.18:3306/" + dataBaseName;
// 连接数据库
return DriverManager.getConnection(dbUrl, "root", "Yeejoin@2020");
}
public void transferData() throws SQLException, ClassNotFoundException {
Connection connection = this.connectDataBase(DBNAME_ORI);
List<Map<String,Object>> maps = DataBaseUtils.getMaps("SELECT * FROM " + TABLE_ORI + " ;" , connection);
connection.close();
connection = this.connectDataBase(DBNAME_DES);
List<TableColumn> columns = DataBaseUtils.getTableColumn(TABLE_DES,connection);
List<Map<String,Object>> dataList = this.convertDataMap(maps, columns);
System.out.println(DataBaseUtils.getInsertSQL(dataList,columns,TABLE_DES));
}
public List<Map<String, Object>> convertDataMap(List<Map<String, Object>> maps, List<TableColumn> columns) {
List<Map<String, Object>> dataList = new ArrayList<>();
for (Map<String, Object> map : maps) {
Map<String, Object> data = new HashMap<>();
for (TableColumn column : columns) {
data.put(column.getColumnName(), null);
}
data.replace("SEQUENCE_NBR", map.get("SEQUENCE_NBR"));
data.replace("NAME", map.get("RESOURCE_NAME"));
data.replace("PARENT_ID", map.get("PARENT_ID"));
data.replace("CODE", map.get("AGENCY_CODE"));
data.replace("REC_USER_ID", map.get("REC_USER_ID"));
data.replace("REC_DATE", map.get("REC_DATE"));
dataList.add(data);
}
return dataList;
}
}
package com.yeejoin.amos.api.tool.utils;
import com.alibaba.fastjson.JSON;
import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn;
import org.springframework.util.ObjectUtils;
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.sql.*;
import java.util.*;
public class DataBaseUtils {
/**
* 数据库备份路径
*/
public static final String BACKUP_PATH = "/db/";
/**
* 数据库备份文本前缀
*/
public static String ONESQL_PREFIX = "";
public static String SUFFIX = "sql";
public static String BR = "\r\n";
public static String SLASH = "/";
public static String BRANCH = ";";
private static String SPLIT = "`";
private static String SPACE = " ";
private static String INSERT_INTO = " INSERT INTO ";
private static String CREATE_INTO = " CREATE TABLE ";
private static String VALUES = "VALUES";
private static String LEFTBRACE = "(";
private static String RIGHTBRACE = ")";
private static String QUOTES = "'";
private static String COMMA = ",";
private static String DISABLEFOREIGN = "SET FOREIGN_KEY_CHECKS = 0;\r\n";
private static String ABLEFOREIGN = "SET FOREIGN_KEY_CHECKS = 1;\r\n";
public static String DELIMITER = "###################################";
/**
* 获取maps
*/
public static List<Map<String, Object>> getMaps(String sql, Connection connection) throws SQLException {
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(sql);
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
try {
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
Map<String, Object> rowData = new HashMap<String, Object>();
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), rs.getObject(i));
}
list.add(rowData);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
rs = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
/**
* 获取表单列名
*/
public static List<TableColumn> getTableColumn(String tableName, Connection connection) throws SQLException {
String columnSql = "" +
"\t\t SELECT\n" +
"\t\t table_name as table_name,\n" +
"\t\t\tcolumn_name as columnName,\n" +
"\t\t\t( CASE WHEN ( is_nullable = 'no' && column_key != 'PRI' ) THEN '1' ELSE NULL END ) AS isRequired,\n" +
"\t\t\t( CASE WHEN column_key = 'PRI' THEN '1' ELSE '0' END ) AS isPk,\n" +
"\t\t\tordinal_position AS sort,\n" +
"\t\t\tcolumn_comment as columnComment,\n" +
"\t\t\t( CASE WHEN extra = 'auto_increment' THEN '1' ELSE '0' END ) AS isIncrement,\n" +
"\t\t\tcolumn_type as columnType \n" +
"\t\tFROM\n" +
"\t\t\tinformation_schema.COLUMNS \n" +
"\t\tWHERE\n" +
"\t\t\ttable_schema = database()\n" +
"\t\t\tAND table_name = \"" + tableName + "\"\n" +
"\t\tORDER BY\n" +
"\t\t\tordinal_position\t";
List<Map<String, Object>> columnList = DataBaseUtils.getMaps(columnSql, connection);
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"))
columns.add(column);
}
return columns;
}
/**
* 获取insert语句
*/
public static StringBuffer getInsertSQL(List<Map<String, Object>> dataList, List<TableColumn> columns, String tableName) {
StringBuffer sql = new StringBuffer();
for (Map<String, Object> map : dataList) {
sql.append(INSERT_INTO);
sql.append(SPACE).append(tableName).append(SPACE);
sql.append(LEFTBRACE);
for (TableColumn column : columns) {
sql.append(SPLIT);
sql.append(column.getColumnName());
sql.append(SPLIT);
sql.append(COMMA);
}
sql.deleteCharAt(sql.length() - 1);
sql.append(RIGHTBRACE);
sql.append(VALUES);
sql.append(LEFTBRACE);
for (TableColumn column : columns) {
if (column.getColumnType().contains("bigint") ||
column.getColumnType().contains("int") ||
column.getColumnType().contains("bit(1)")) {
if (!ObjectUtils.isEmpty(map.get(column.getColumnName()))) {
sql.append(map.get(column.getColumnName()));
} else {
sql.append("0");
}
} else {
if (!ObjectUtils.isEmpty(map.get(column.getColumnName()))) {
sql.append("'").append(map.get(column.getColumnName())).append("'");
} else {
sql.append("null");
}
}
sql.append(COMMA);
}
sql.deleteCharAt(sql.length() - 1);
sql.append(RIGHTBRACE);
sql.append(BRANCH).append(BR);
}
return sql;
}
public static String getIp() throws IOException {
// InetAddress inetAddress = null;
// boolean isFind = false; // 返回标识
// Enumeration<NetworkInterface> networkInterfaceLists = null;
// try {
// // 获取网络接口
// networkInterfaceLists = (Enumeration<NetworkInterface>) NetworkInterface.getNetworkInterfaces();
// } catch (SocketException e) {
// e.printStackTrace();
// }
// while (networkInterfaceLists.hasMoreElements()) {
// NetworkInterface networkInterface = (NetworkInterface) networkInterfaceLists.nextElement();
// Enumeration<InetAddress> ips = networkInterface.getInetAddresses();
// // 遍历所有ip,获取本地地址中不是回环地址的ipv4地址
// while (ips.hasMoreElements()) {
// inetAddress = (InetAddress) ips.nextElement();
// if (inetAddress instanceof Inet4Address && inetAddress.isSiteLocalAddress()
// && !inetAddress.isLoopbackAddress()) {
// isFind = true;
// break;
// }
// }
// if (isFind) {
// break;
// }
// }
// return inetAddress == null ? "" : inetAddress.getHostAddress();
//获取jar包同级目录
String filePath = System.getProperty("user.dir") + "/config/application-dev.properties";
InputStream in = new BufferedInputStream(Files.newInputStream(Paths.get(filePath)));
Properties properties = new Properties();
properties.load(in);
//获取配置文件数据
return properties.getProperty("eureka.instance.hostname");
}
}
spring.application.name=AMOS-ATL spring.application.name=AMOS-ATL
server.servlet.context-path=/atl server.servlet.context-path=/atl
<<<<<<< HEAD
#server.servlet.context-path=/jcs #server.servlet.context-path=/jcs
server.port=30002 #server.port=30201
#server.port=20000 server.port=20000
=======
server.port=30201
>>>>>>> 56d4a0ab360f8ce8f2fa01e2ecf68e745d42bc24
spring.profiles.active=dev spring.profiles.active=dev
management.health.elasticsearch.enabled=false management.health.elasticsearch.enabled=false
......
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