Commit f7c8abac authored by 2539630746's avatar 2539630746

API管理,模板管理,应用多选导出

parent 290ef22c
...@@ -184,6 +184,12 @@ ...@@ -184,6 +184,12 @@
<version>3.3.1</version> <version>3.3.1</version>
</dependency> </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version> <!-- 使用最新版本 -->
</dependency>
</dependencies> </dependencies>
<dependencyManagement> <dependencyManagement>
......
...@@ -39,6 +39,7 @@ public class Application { ...@@ -39,6 +39,7 @@ public class Application {
+ "Application AMOS-API-TOOL is running! Access URLs:\n\t" + "Swagger文档: \thttp://" + ip + ":" + port + "Application AMOS-API-TOOL is running! Access URLs:\n\t" + "Swagger文档: \thttp://" + ip + ":" + port
+ path + "/doc.html\n" + "----------------------------------------------------------"); + path + "/doc.html\n" + "----------------------------------------------------------");
} }
} }
...@@ -31,7 +31,7 @@ public class AmosToolTemplateController { ...@@ -31,7 +31,7 @@ public class AmosToolTemplateController {
/** /**
* 添加单个记录 * 添加单个记录
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping("/save") @PostMapping("/save")
@ApiOperation(value = "新增", notes = "新增") @ApiOperation(value = "新增", notes = "新增")
public ResponseModel<AmosToolTemplateModel> create(@RequestBody AmosToolTemplateVoModel amosToolTplVoModel) throws NoSuchFieldException, IllegalAccessException { public ResponseModel<AmosToolTemplateModel> create(@RequestBody AmosToolTemplateVoModel amosToolTplVoModel) throws NoSuchFieldException, IllegalAccessException {
...@@ -41,7 +41,7 @@ public class AmosToolTemplateController { ...@@ -41,7 +41,7 @@ public class AmosToolTemplateController {
/** /**
* 根据 sequenceNbr 删除 * 根据 sequenceNbr 删除
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@DeleteMapping("/{sequenceNbr}") @DeleteMapping("/{sequenceNbr}")
@ApiOperation(value = "删除") @ApiOperation(value = "删除")
public ResponseModel<Boolean> deleteById(@PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<Boolean> deleteById(@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
...@@ -51,7 +51,7 @@ public class AmosToolTemplateController { ...@@ -51,7 +51,7 @@ public class AmosToolTemplateController {
/** /**
* 根据 sequenceNbr 批量删除 * 根据 sequenceNbr 批量删除
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@DeleteMapping(value = "/delete/{sequenceNbr}") @DeleteMapping(value = "/delete/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr批量删除", notes = "根据sequenceNbr批量删除") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr批量删除", notes = "根据sequenceNbr批量删除")
public ResponseModel<Boolean> deleteModelsBySequenceNbr(@PathVariable(value = "sequenceNbr") String sequenceNbr) { public ResponseModel<Boolean> deleteModelsBySequenceNbr(@PathVariable(value = "sequenceNbr") String sequenceNbr) {
...@@ -61,7 +61,7 @@ public class AmosToolTemplateController { ...@@ -61,7 +61,7 @@ public class AmosToolTemplateController {
/** /**
* 根据 sequenceNbr 编辑单个记录 * 根据 sequenceNbr 编辑单个记录
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(value = "编辑") @ApiOperation(value = "编辑")
@RequestMapping(value = "/{sequenceNbr}", method = RequestMethod.PUT) @RequestMapping(value = "/{sequenceNbr}", method = RequestMethod.PUT)
public ResponseModel<AmosToolTemplateModel> update( public ResponseModel<AmosToolTemplateModel> update(
...@@ -74,7 +74,7 @@ public class AmosToolTemplateController { ...@@ -74,7 +74,7 @@ public class AmosToolTemplateController {
/** /**
* 根据 sequenceNbr 查询单个记录 * 根据 sequenceNbr 查询单个记录
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(value = "查询单个对象") @ApiOperation(value = "查询单个对象")
@RequestMapping(value = "/{sequenceNbr}", method = RequestMethod.GET) @RequestMapping(value = "/{sequenceNbr}", method = RequestMethod.GET)
public ResponseModel<AmosToolTemplateVoModel> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<AmosToolTemplateVoModel> selectOne(@PathVariable Long sequenceNbr) {
...@@ -85,7 +85,7 @@ public class AmosToolTemplateController { ...@@ -85,7 +85,7 @@ public class AmosToolTemplateController {
/** /**
* 根据字段查询 * 根据字段查询
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(value = "查询大全") @ApiOperation(value = "查询大全")
@PostMapping("/select/all") @PostMapping("/select/all")
public ResponseModel<List<AmosToolTemplateModel>> query(@RequestParam(value = "categoryScene") String categoryScene, public ResponseModel<List<AmosToolTemplateModel>> query(@RequestParam(value = "categoryScene") String categoryScene,
...@@ -96,7 +96,7 @@ public class AmosToolTemplateController { ...@@ -96,7 +96,7 @@ public class AmosToolTemplateController {
/** /**
* 列表所有记录 * 列表所有记录
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation("查询所有") @ApiOperation("查询所有")
@GetMapping("/every") @GetMapping("/every")
public ResponseModel<List<AmosToolTemplateModel>> selectForList() { public ResponseModel<List<AmosToolTemplateModel>> selectForList() {
...@@ -106,7 +106,7 @@ public class AmosToolTemplateController { ...@@ -106,7 +106,7 @@ public class AmosToolTemplateController {
/** /**
* 列表分页查询 * 列表分页查询
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(value = "分页查询") @ApiOperation(value = "分页查询")
@GetMapping(value = "/page") @GetMapping(value = "/page")
public ResponseModel<Page<AmosToolTemplateModel>> queryForPage( public ResponseModel<Page<AmosToolTemplateModel>> queryForPage(
...@@ -121,7 +121,7 @@ public class AmosToolTemplateController { ...@@ -121,7 +121,7 @@ public class AmosToolTemplateController {
/** /**
* 点击后根据 sequenceNbr 查看次数加一 * 点击后根据 sequenceNbr 查看次数加一
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(value = "点击查看次数加一") @ApiOperation(value = "点击查看次数加一")
@PutMapping("/update") @PutMapping("/update")
public ResponseModel<Boolean> updateById(@RequestParam(value = "templateId") Long sequenceNbr) { public ResponseModel<Boolean> updateById(@RequestParam(value = "templateId") Long sequenceNbr) {
......
...@@ -37,7 +37,7 @@ public class ApiInfoResource { ...@@ -37,7 +37,7 @@ public class ApiInfoResource {
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增") @ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<ApiInfoModel> save(@RequestBody ApiInfoModel apiInfoModel) { public ResponseModel<ApiInfoModel> save(@RequestBody ApiInfoModel apiInfoModel) {
apiInfoModel = apiInfoService.createWithModel(apiInfoModel); apiInfoModel = apiInfoService.insertModel(apiInfoModel);
return ResponseHelper.buildResponse(apiInfoModel); return ResponseHelper.buildResponse(apiInfoModel);
} }
...@@ -51,7 +51,7 @@ public class ApiInfoResource { ...@@ -51,7 +51,7 @@ public class ApiInfoResource {
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新") @ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<ApiInfoModel> updateBySequenceNbrApiInfo(@RequestBody ApiInfoModel model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<ApiInfoModel> updateBySequenceNbrApiInfo(@RequestBody ApiInfoModel model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(apiInfoService.updateWithModel(model)); return ResponseHelper.buildResponse(apiInfoService.updateByModel(model));
} }
/** /**
...@@ -63,7 +63,7 @@ public class ApiInfoResource { ...@@ -63,7 +63,7 @@ public class ApiInfoResource {
@DeleteMapping(value = "/{sequenceNbr}") @DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(@PathVariable(value = "sequenceNbr") Long sequenceNbr){ public ResponseModel<Boolean> deleteBySequenceNbr(@PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(apiInfoService.removeById(sequenceNbr)); return ResponseHelper.buildResponse(apiInfoService.deleteById(sequenceNbr));
} }
/** /**
...@@ -75,7 +75,7 @@ public class ApiInfoResource { ...@@ -75,7 +75,7 @@ public class ApiInfoResource {
@DeleteMapping(value = "/delete/{sequenceNbr}") @DeleteMapping(value = "/delete/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除多项", notes = "根据sequenceNbr删除多项") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除多项", notes = "根据sequenceNbr删除多项")
public ResponseModel<Boolean> deleteModelsBySequenceNbr(@PathVariable(value = "sequenceNbr")String sequenceNbr){ public ResponseModel<Boolean> deleteModelsBySequenceNbr(@PathVariable(value = "sequenceNbr")String sequenceNbr){
return ResponseHelper.buildResponse(apiInfoService.removeByIds(Arrays.asList(StringUtil.string2Array(sequenceNbr)))); return ResponseHelper.buildResponse(apiInfoService.deleteByIds(Arrays.asList(StringUtil.string2Array(sequenceNbr))));
} }
/** /**
...@@ -87,7 +87,7 @@ public class ApiInfoResource { ...@@ -87,7 +87,7 @@ public class ApiInfoResource {
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个") @ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<ApiInfoModel> selectOne(@PathVariable Long sequenceNbr) throws Exception { public ResponseModel<ApiInfoModel> selectOne(@PathVariable Long sequenceNbr) throws Exception {
return ResponseHelper.buildResponse(apiInfoService.queryBySeq(sequenceNbr)); return ResponseHelper.buildResponse(apiInfoService.selectOneApiInfo(sequenceNbr));
} }
/** /**
...@@ -110,7 +110,7 @@ public class ApiInfoResource { ...@@ -110,7 +110,7 @@ public class ApiInfoResource {
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
return ResponseHelper.buildResponse( return ResponseHelper.buildResponse(
apiInfoService.queryForApiInfoPage(page, apiSourceService.queryCodeById(sequenceNbr),apiName)); apiInfoService.queryForApiInfoPage(page,apiSourceService.queryCodeById(sequenceNbr),apiName));
} }
/** /**
...@@ -120,7 +120,7 @@ public class ApiInfoResource { ...@@ -120,7 +120,7 @@ public class ApiInfoResource {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResponseModel<List<ApiInfoModel>> selectForList() { public ResponseModel<List<ApiInfoModel>> selectForList() {
return ResponseHelper.buildResponse(apiInfoService.queryForApiInfoList()); return ResponseHelper.buildResponse(apiInfoService.queryForApiInfoList());
} }
} }
package com.yeejoin.amos.api.tool.controller; package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.model.ApiSourceModel; import com.yeejoin.amos.api.tool.face.model.AdapterCategoryModel;
import com.yeejoin.amos.api.tool.face.service.ApiInfoService;
import com.yeejoin.amos.api.tool.face.service.ApiSourceService; import com.yeejoin.amos.api.tool.face.service.ApiSourceService;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -34,8 +31,8 @@ public class ApiSourceResource { ...@@ -34,8 +31,8 @@ public class ApiSourceResource {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增") @ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<ApiSourceModel> save(@RequestBody ApiSourceModel model) { public ResponseModel<AdapterCategoryModel> save(@RequestBody AdapterCategoryModel model) {
model = apiSourceService.createWithModel(model); model = apiSourceService.createByModel(model);
return ResponseHelper.buildResponse(model); return ResponseHelper.buildResponse(model);
} }
...@@ -48,17 +45,18 @@ public class ApiSourceResource { ...@@ -48,17 +45,18 @@ public class ApiSourceResource {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新") @ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<ApiSourceModel> updateBySeqApiSource( public ResponseModel<AdapterCategoryModel> updateBySeqApiSource(
@RequestBody ApiSourceModel model, @RequestBody AdapterCategoryModel model,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) { @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(apiSourceService.updateWithModel(model)); return ResponseHelper.buildResponse(apiSourceService.updateByModel(model));
} }
/** /**
* 根据sequenceNbr删除 * 根据sequenceNbr删除
* @param sequenceNbr 编码 * @param sequenceNbr 编码
* @return Boolean * @return Boolean
* 这里做单个删除
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}") @DeleteMapping(value = "/{sequenceNbr}")
...@@ -75,18 +73,18 @@ public class ApiSourceResource { ...@@ -75,18 +73,18 @@ public class ApiSourceResource {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<ApiSourceModel> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<AdapterCategoryModel> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(apiSourceService.queryBySeq(sequenceNbr)); return ResponseHelper.buildResponse(apiSourceService.queryBySequenceNbr(sequenceNbr));
} }
/** /**
* 列表全部数据查询 * 列表全部数据查询
* @return List<ApiSourceDto> * @return List<ApiSourceDto>
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResponseModel<List<ApiSourceModel>> selectForList(@RequestParam("categoryType") String categoryType) { public ResponseModel<List<AdapterCategoryModel>> selectForList(@RequestParam("categoryType") String categoryType) {
return ResponseHelper.buildResponse(apiSourceService.queryForApiSourceLists(categoryType)); return ResponseHelper.buildResponse(apiSourceService.queryForApiSourceLists(categoryType));
} }
......
...@@ -19,10 +19,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -19,10 +19,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.Enumeration; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -49,7 +46,7 @@ public class DataApiResource { ...@@ -49,7 +46,7 @@ public class DataApiResource {
* *
* @throws SQLException * @throws SQLException
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "导出应用快搭增量脚本") @ApiOperation(value = "导出应用快搭增量脚本")
@RequestMapping(value = "/generateSQL", method = RequestMethod.GET) @RequestMapping(value = "/generateSQL", method = RequestMethod.GET)
public void generateSQL( public void generateSQL(
...@@ -61,13 +58,19 @@ public class DataApiResource { ...@@ -61,13 +58,19 @@ public class DataApiResource {
Map<String, Object> variables = new HashMap<>(); Map<String, Object> variables = new HashMap<>();
Enumeration<String> keys = request.getParameterNames(); Enumeration<String> keys = request.getParameterNames();
while (keys.hasMoreElements()) { while (keys.hasMoreElements()) {
String name = (String) keys.nextElement(); String name = keys.nextElement();
String value = request.getParameter(name); String value = request.getParameter(name);
variables.put(name, value); String[] appSeqs = value.split(",");
if ("appSeq".equals(name) && appSeqs.length > 1) {
for (int i = 0; i < appSeqs.length; i++) {
String uuid = UUID.randomUUID().toString();
variables.put(uuid + name, appSeqs[i]);
}
}else if ("appSeq".equals(name) && appSeqs.length<=1){
String uuid = UUID.randomUUID().toString();
variables.put(uuid+name,value);
}
} }
variables.remove("resourceCode");
variables.remove("dimension");
variables.remove("ipSeq");
studioResourceService.generateSQL(resourceCode, dimension, ipSeq, variables, response); studioResourceService.generateSQL(resourceCode, dimension, ipSeq, variables, response);
} }
......
...@@ -3,8 +3,6 @@ package com.yeejoin.amos.api.tool.controller; ...@@ -3,8 +3,6 @@ package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel; import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel; import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel;
import com.yeejoin.amos.api.tool.face.service.TemplateCategoryService; import com.yeejoin.amos.api.tool.face.service.TemplateCategoryService;
import com.yeejoin.amos.api.tool.face.service.TemplateService;
import com.yeejoin.amos.api.tool.face.service.VisualDesignerService;
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;
...@@ -14,6 +12,7 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -14,6 +12,7 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.doc.TycloudResource; import org.typroject.tyboot.core.restful.doc.TycloudResource;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.io.IOException;
import java.util.List; import java.util.List;
@CrossOrigin @CrossOrigin
...@@ -26,26 +25,18 @@ public class TemplateCategoryResource { ...@@ -26,26 +25,18 @@ public class TemplateCategoryResource {
@Autowired @Autowired
private TemplateCategoryService templateCategoryService; private TemplateCategoryService templateCategoryService;
@Autowired
private TemplateService templateService;
@Autowired
private VisualDesignerService visualDesignerService;
/** /**
* 新增 * 新增
* @param sequenceNbr 设计器主键 *
* @param templateCategoryModel 模板分类信息 * @param templateCategoryModel 模板分类信息
* @return ApiSourceDto * @return ApiSourceDto
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save/{sequenceNbr}") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增") @ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<TemplateCategoryModel> save( public ResponseModel<TemplateCategoryModel> save(
@PathVariable Long sequenceNbr, @RequestBody TemplateCategoryModel templateCategoryModel) throws IOException {
@RequestBody TemplateCategoryModel templateCategoryModel){ templateCategoryModel = templateCategoryService.insertModel(templateCategoryModel);
templateCategoryModel.setDesignerType(visualDesignerService.queryBySeq(sequenceNbr).getDesignerType());
templateCategoryModel = templateCategoryService.createWithModel(templateCategoryModel);
return ResponseHelper.buildResponse(templateCategoryModel); return ResponseHelper.buildResponse(templateCategoryModel);
} }
...@@ -57,9 +48,10 @@ public class TemplateCategoryResource { ...@@ -57,9 +48,10 @@ public class TemplateCategoryResource {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新") @ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<TemplateCategoryModel> updateBySeqTplCate(@RequestBody TemplateCategoryModel templateCategoryModel, @PathVariable(value = "sequenceNbr") Long sequenceNbr){ public ResponseModel<TemplateCategoryModel> updateBySeqTplCate(@RequestBody TemplateCategoryModel templateCategoryModel,
@PathVariable(value = "sequenceNbr") Long sequenceNbr){
templateCategoryModel.setSequenceNbr(sequenceNbr); templateCategoryModel.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(templateCategoryService.updateWithModel(templateCategoryModel)); return ResponseHelper.buildResponse(templateCategoryService.updateByModel(templateCategoryModel));
} }
/** /**
...@@ -83,7 +75,7 @@ public class TemplateCategoryResource { ...@@ -83,7 +75,7 @@ public class TemplateCategoryResource {
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<TemplateCategoryModel> selectOne(@PathVariable Long sequenceNbr){ public ResponseModel<TemplateCategoryModel> selectOne(@PathVariable Long sequenceNbr){
return ResponseHelper.buildResponse(templateCategoryService.queryBySeq(sequenceNbr)); return ResponseHelper.buildResponse(templateCategoryService.queryWithSeq(sequenceNbr));
} }
/** /**
...@@ -93,15 +85,15 @@ public class TemplateCategoryResource { ...@@ -93,15 +85,15 @@ public class TemplateCategoryResource {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResponseModel<List<TemplateCategoryModel>> selectForList(){ public ResponseModel<List<TemplateCategoryModel>> selectForList(@RequestParam("categoryType")String categoryType){
return ResponseHelper.buildResponse(templateCategoryService.queryForTplCateList()); return ResponseHelper.buildResponse(templateCategoryService.queryForTplCateList(categoryType));
} }
/** /**
* 列表树形结构查询 * 列表树形结构查询
* @return List<ApiSourceDto> * @return List<ApiSourceDto>
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表树形结构查询", notes = "列表树形结构查询") @ApiOperation(httpMethod = "GET", value = "列表树形结构查询", notes = "列表树形结构查询")
@GetMapping(value = "/tree") @GetMapping(value = "/tree")
public ResponseModel<List<TemplateCategoryTreeModel>> selectForTree(@RequestParam("categoryType") String categoryType){ public ResponseModel<List<TemplateCategoryTreeModel>> selectForTree(@RequestParam("categoryType") String categoryType){
......
...@@ -39,7 +39,7 @@ public class TemplateResource { ...@@ -39,7 +39,7 @@ public class TemplateResource {
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增") @ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<TemplateModel> save(@RequestBody TemplateVoModel tplVoModel) throws Exception { public ResponseModel<TemplateModel> save(@RequestBody TemplateVoModel tplVoModel) throws Exception {
tplVoModel.setDisplayName(tplVoModel.getComName()); tplVoModel.setDisplayName(tplVoModel.getComName());
return ResponseHelper.buildResponse(templateService.createWithModel(templateService.convertModel(tplVoModel))); return ResponseHelper.buildResponse(templateService.createByModel(templateService.convertModel(tplVoModel)));
} }
/** /**
...@@ -56,7 +56,7 @@ public class TemplateResource { ...@@ -56,7 +56,7 @@ public class TemplateResource {
@PathVariable(value = "sequenceNbr") Long sequenceNbr) throws NoSuchFieldException, IllegalAccessException { @PathVariable(value = "sequenceNbr") Long sequenceNbr) throws NoSuchFieldException, IllegalAccessException {
tplVoModel.setSequenceNbr(sequenceNbr); tplVoModel.setSequenceNbr(sequenceNbr);
tplVoModel.setDisplayName(tplVoModel.getComName()); tplVoModel.setDisplayName(tplVoModel.getComName());
return ResponseHelper.buildResponse(templateService.updateWithModel(templateService.convertModel(tplVoModel))); return ResponseHelper.buildResponse(templateService.updateByModel(templateService.convertModel(tplVoModel)));
} }
/** /**
...@@ -69,7 +69,7 @@ public class TemplateResource { ...@@ -69,7 +69,7 @@ public class TemplateResource {
@DeleteMapping(value = "/{sequenceNbr}") @DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(@PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<Boolean> deleteBySequenceNbr(@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(templateService.removeById(sequenceNbr)); return ResponseHelper.buildResponse(templateService.removeBySequenceNbr(sequenceNbr));
} }
/** /**
...@@ -81,7 +81,7 @@ public class TemplateResource { ...@@ -81,7 +81,7 @@ public class TemplateResource {
@DeleteMapping(value = "/delete/{sequenceNbr}") @DeleteMapping(value = "/delete/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除多项", notes = "根据sequenceNbr删除多项") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除多项", notes = "根据sequenceNbr删除多项")
public ResponseModel<Boolean> deleteModelsBySequenceNbr(@PathVariable(value = "sequenceNbr") String sequenceNbr) { public ResponseModel<Boolean> deleteModelsBySequenceNbr(@PathVariable(value = "sequenceNbr") String sequenceNbr) {
return ResponseHelper.buildResponse(templateService.removeByIds(Arrays.asList(StringUtil.string2Array(sequenceNbr)))); return ResponseHelper.buildResponse(templateService.removeBySequenceNbrs((Arrays.asList(StringUtil.string2Array(sequenceNbr)))));
} }
/** /**
...@@ -104,7 +104,7 @@ public class TemplateResource { ...@@ -104,7 +104,7 @@ public class TemplateResource {
* @param displayName 模板名称 * @param displayName 模板名称
* @return Page<TemplateModel> * @return Page<TemplateModel>
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page") @GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "分页查询", notes = "分页查询") @ApiOperation(httpMethod = "GET", value = "分页查询", notes = "分页查询")
public ResponseModel<Page<TemplateModel>> queryForPage( public ResponseModel<Page<TemplateModel>> queryForPage(
...@@ -142,4 +142,5 @@ public class TemplateResource { ...@@ -142,4 +142,5 @@ public class TemplateResource {
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.face.model; package com.yeejoin.amos.api.tool.face.model;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -16,11 +15,11 @@ public class AdapterCategoryModel extends BaseModel { ...@@ -16,11 +15,11 @@ public class AdapterCategoryModel extends BaseModel {
private Long parentId; private Long parentId;
private String categoryName; private String name;
private String icon; private String icon;
private String categoryKey; private String code;
private Integer sort; private Integer sort;
...@@ -30,6 +29,6 @@ public class AdapterCategoryModel extends BaseModel { ...@@ -30,6 +29,6 @@ public class AdapterCategoryModel extends BaseModel {
private Date createDate; private Date createDate;
private JSONObject extras; private String extras;
} }
...@@ -46,7 +46,6 @@ public class TemplateModel extends BaseModel { ...@@ -46,7 +46,6 @@ public class TemplateModel extends BaseModel {
@ApiModelProperty(value = "是否删除") @ApiModelProperty(value = "是否删除")
protected Boolean isDel = false; protected Boolean isDel = false;
public void setThumb(String thumb) { public void setThumb(String thumb) {
this.thumb = thumb ; this.thumb = thumb ;
} }
......
...@@ -14,7 +14,7 @@ public interface AmosToolTemplateMapper extends BaseMapper<AmosToolTemplate> { ...@@ -14,7 +14,7 @@ public interface AmosToolTemplateMapper extends BaseMapper<AmosToolTemplate> {
/** /**
* 全部 * 全部
*/ */
@Select("select * from amos_tool_template" + @Select("select * from scene_case" +
" order by ${miniSences} ${way}") " order by ${miniSences} ${way}")
List<AmosToolTemplateModel> listAll(@Param("miniSences") String miniSences, List<AmosToolTemplateModel> listAll(@Param("miniSences") String miniSences,
@Param("way") String way); @Param("way") String way);
...@@ -22,7 +22,7 @@ public interface AmosToolTemplateMapper extends BaseMapper<AmosToolTemplate> { ...@@ -22,7 +22,7 @@ public interface AmosToolTemplateMapper extends BaseMapper<AmosToolTemplate> {
/** /**
* 具体场景 * 具体场景
*/ */
@Select("select * from amos_tool_template" + @Select("select * from scene_case" +
" where CATEGORY_SCENE=#{categoryScene} order by `${miniSences}` ${way}") " where CATEGORY_SCENE=#{categoryScene} order by `${miniSences}` ${way}")
List<AmosToolTemplateModel> queryByScenes(@Param("categoryScene") String categoryScene, List<AmosToolTemplateModel> queryByScenes(@Param("categoryScene") String categoryScene,
@Param("miniSences") String miniSences, @Param("way") String way); @Param("miniSences") String miniSences, @Param("way") String way);
...@@ -31,6 +31,6 @@ public interface AmosToolTemplateMapper extends BaseMapper<AmosToolTemplate> { ...@@ -31,6 +31,6 @@ public interface AmosToolTemplateMapper extends BaseMapper<AmosToolTemplate> {
/** /**
* 点击查看次数加一 * 点击查看次数加一
*/ */
@Update("update amos_tool_template set VIEW_TIMES = VIEW_TIMES+1 where SEQUENCE_NBR = #{sequenceNbr}") @Update("update scene_case set VIEW_TIMES = VIEW_TIMES+1 where SEQUENCE_NBR = #{sequenceNbr}")
boolean updateTimesById(@Param("sequenceNbr") Long sequenceNbr); boolean updateTimesById(@Param("sequenceNbr") Long sequenceNbr);
} }
package com.yeejoin.amos.api.tool.face.orm.entity; package com.yeejoin.amos.api.tool.face.orm.entity;
import com.alibaba.fastjson.JSONObject;
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 com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity; import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -43,11 +45,11 @@ public class ApiInfo extends BaseEntity{ ...@@ -43,11 +45,11 @@ public class ApiInfo extends BaseEntity{
/** /**
* 请求参数配置 * 请求参数配置
*/ */
@TableField("body_value") @TableField(value = "body_value",typeHandler = JacksonTypeHandler.class)
private String bodyValue; private JSONObject bodyValue;
/** /**
* 解析规则配置 * 解析规则配置
*/ */
@TableField("rule_data") @TableField(value = "rule_data",typeHandler = JacksonTypeHandler.class)
private String ruleData; private JSONObject ruleData;
} }
package com.yeejoin.amos.api.tool.config; package com.yeejoin.amos.api.tool.face.rowmapper;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel; import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel;
...@@ -11,20 +11,21 @@ import java.text.ParseException; ...@@ -11,20 +11,21 @@ import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
// 定义自定义RowMapper 解决数据库json类型字段不能转化为JSONObject类型的问题 /**
* 定义自定义RowMapper 解决数据库json类型字段不能转化为JSONObject类型的问题
*/
public class AdapterCategoryRowMapper implements RowMapper<TemplateCategoryModel> { public class AdapterCategoryRowMapper implements RowMapper<TemplateCategoryModel> {
@Override @Override
public TemplateCategoryModel mapRow(ResultSet rs, int rowNum) throws SQLException { public TemplateCategoryModel mapRow(ResultSet rs, int rowNum) throws SQLException {
TemplateCategoryModel categoryModel = new TemplateCategoryModel(); TemplateCategoryModel categoryModel = new TemplateCategoryModel();
// 在这里处理JSON字段的转换 // 在这里处理JSON字段的转换
categoryModel.setSequenceNbr(Long.valueOf(rs.getString(1))); categoryModel.setSequenceNbr(Long.valueOf(rs.getString("SEQUENCE_NBR")));
categoryModel.setCateName(rs.getString("CATEGORY_NAME")); categoryModel.setCateName(rs.getString("CATEGORY_NAME"));
categoryModel.setIcon(rs.getString("ICON")); categoryModel.setIcon(rs.getString("ICON"));
categoryModel.setRecUserId(rs.getString("REC_USER_ID")); categoryModel.setRecUserId(rs.getString("REC_USER_ID"));
String extras = rs.getString("EXTRAS"); String extras = rs.getString("EXTRAS");
if (StringUtils.isNotBlank(extras)){ if (StringUtils.isNotBlank(extras)){
JSONObject jsonObject = JSONObject.parseObject(extras); JSONObject jsonObject = JSONObject.parseObject(extras);
System.out.println("<======="+jsonObject);
categoryModel.setTplType(jsonObject.getString("tempType")); categoryModel.setTplType(jsonObject.getString("tempType"));
categoryModel.setDesignerType(jsonObject.getString("designerType")); categoryModel.setDesignerType(jsonObject.getString("designerType"));
} }
......
package com.yeejoin.amos.api.tool.face.rowmapper;
import com.yeejoin.amos.api.tool.face.model.AdapterCategoryModel;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class ApiSourceRowMapper implements RowMapper<AdapterCategoryModel> {
@Override
public AdapterCategoryModel mapRow(ResultSet rs, int rowNum) throws SQLException {
AdapterCategoryModel adapterCategoryModel=new AdapterCategoryModel();
adapterCategoryModel.setName(rs.getString("CATEGORY_NAME"));
adapterCategoryModel.setCode(rs.getString("CATEGORY_KEY"));
adapterCategoryModel.setSequenceNbr(rs.getLong("SEQUENCE_NBR"));
Timestamp timestamp = rs.getTimestamp("REC_DATE");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = dateFormat.format(timestamp);
try {
adapterCategoryModel.setRecDate(dateFormat.parse(formattedDateTime));
} catch (ParseException e) {
throw new RuntimeException(e);
}
adapterCategoryModel.setRecUserId(rs.getString("REC_USER_ID"));
return adapterCategoryModel;
}
}
package com.yeejoin.amos.api.tool.face.rowmapper;
import com.yeejoin.amos.api.tool.face.model.ApiInfoModel;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class StudioDataApiRowMapper implements RowMapper<ApiInfoModel> {
@Override
public ApiInfoModel mapRow(ResultSet rs, int rowNum) throws SQLException {
ApiInfoModel apiSourceModel = new ApiInfoModel();
apiSourceModel.setSequenceNbr(rs.getLong("SEQUENCE_NBR"));
apiSourceModel.setRecUserId(rs.getString("REC_USER_ID"));
apiSourceModel.setApiSource(rs.getString("API_SOURCE"));
apiSourceModel.setApiName(rs.getString("API_NAME"));
apiSourceModel.setApiPath(rs.getString("API_PATH"));
apiSourceModel.setHttpMethod(rs.getString("HTTP_METHOD"));
apiSourceModel.setResType(rs.getString("RES_TYPE"));
apiSourceModel.setRuleData(rs.getString("RULE_DATA"));
apiSourceModel.setBodyValue(rs.getString("BODY_VALUE"));
Timestamp timestamp = rs.getTimestamp("REC_DATE");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = dateFormat.format(timestamp);
try {
apiSourceModel.setRecDate(dateFormat.parse(formattedDateTime));
} catch (ParseException e) {
throw new RuntimeException(e);
}
return apiSourceModel;
}
}
package com.yeejoin.amos.api.tool.config; package com.yeejoin.amos.api.tool.face.rowmapper;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.api.tool.face.model.TemplateModel; import com.yeejoin.amos.api.tool.face.model.TemplateModel;
import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
...@@ -17,20 +16,20 @@ public class StudioTemplateRowMapper implements RowMapper<TemplateModel> { ...@@ -17,20 +16,20 @@ public class StudioTemplateRowMapper implements RowMapper<TemplateModel> {
public TemplateModel mapRow(ResultSet rs, int rowNum) throws SQLException { public TemplateModel mapRow(ResultSet rs, int rowNum) throws SQLException {
TemplateModel templateModel = new TemplateModel(); TemplateModel templateModel = new TemplateModel();
// 在这里处理JSON字段的转换 // 在这里处理JSON字段的转换
templateModel.setSequenceNbr(Long.valueOf(rs.getString(1))); templateModel.setSequenceNbr(rs.getLong("SEQUENCE_NBR"));
templateModel.setDisplayName(rs.getString(2)); templateModel.setDisplayName(rs.getString("DISPLAY_NAME"));
templateModel.setComKey(rs.getString(3)); templateModel.setComKey(rs.getString("COMPONENT_KEY"));
templateModel.setComName(rs.getString(4)); templateModel.setComName(rs.getString("COMPONENT_NAME"));
templateModel.setContent(JSONObject.parseObject(rs.getString(6))); templateModel.setContent(JSONObject.parseObject(rs.getString("CONTENT")));
templateModel.setCateSeq(Long.valueOf(rs.getString(7))); templateModel.setCateSeq(rs.getLong("CATEGORY_SEQ"));
templateModel.setThumb(rs.getString(8)); templateModel.setThumb(rs.getString("THUMB"));
templateModel.setSketch(rs.getString(9)); templateModel.setSketch(rs.getString("SKETCH"));
String isDel = rs.getString(10); String isDel = rs.getString("IS_DELETE");
templateModel.setIsDel(false); templateModel.setIsDel(false);
if ("1".equals(isDel)){ if ("1".equals(isDel)){
templateModel.setIsDel(true); templateModel.setIsDel(true);
} }
String openStatus = rs.getString(11); String openStatus = rs.getString("OPEN_STATUS");
templateModel.setOpenStatus(false); templateModel.setOpenStatus(false);
if ("1".equals(openStatus)){ if ("1".equals(openStatus)){
templateModel.setOpenStatus(true); templateModel.setOpenStatus(true);
...@@ -43,7 +42,7 @@ public class StudioTemplateRowMapper implements RowMapper<TemplateModel> { ...@@ -43,7 +42,7 @@ public class StudioTemplateRowMapper implements RowMapper<TemplateModel> {
} catch (ParseException e) { } catch (ParseException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
templateModel.setRecUserId(rs.getString(13)); templateModel.setRecUserId(rs.getString("REC_USER_ID"));
return templateModel; return templateModel;
} }
} }
......
package com.yeejoin.amos.api.tool.face.rowmapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel;
import org.apache.commons.lang.StringUtils;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
public class TemplateCategoryRowMapper implements RowMapper<TemplateCategoryModel> {
@Override
public TemplateCategoryModel mapRow(ResultSet rs, int i) throws SQLException {
TemplateCategoryModel templateCategoryModel = new TemplateCategoryModel();
// 在这里处理JSON字段的转换
templateCategoryModel.setSequenceNbr(Long.valueOf(rs.getString("SEQUENCE_NBR")));
templateCategoryModel.setCateName(rs.getString("CATEGORY_NAME"));
templateCategoryModel.setIcon(rs.getString("ICON"));
templateCategoryModel.setRecUserId(rs.getString("REC_USER_ID"));
String extras = rs.getString("EXTRAS");
ObjectMapper objectMapper = new ObjectMapper();
try {
JsonNode jsonNode = objectMapper.readTree(extras);
if (StringUtils.isNotBlank(extras)){
String value1 = jsonNode.get("tempType").asText();
String value2 = jsonNode.get("designerType").asText();
templateCategoryModel.setTplType(value1);
templateCategoryModel.setDesignerType(value2);
}
Timestamp timestamp1 = rs.getTimestamp("REC_DATE");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDateTime1 = dateFormat.format(timestamp1);
templateCategoryModel.setRecDate(dateFormat.parse(formattedDateTime1));
} catch (Exception e) {
throw new RuntimeException(e);
}
return templateCategoryModel;
}
}
...@@ -58,12 +58,12 @@ public class AmosToolTemplateService extends BaseService<AmosToolTemplateModel, ...@@ -58,12 +58,12 @@ public class AmosToolTemplateService extends BaseService<AmosToolTemplateModel,
*/ */
public List<AmosToolTemplateModel> query(String categoryScene, String miniSences) { public List<AmosToolTemplateModel> query(String categoryScene, String miniSences) {
SortType sortType = getSortType(miniSences); SortType sortType = getSortType(miniSences);
if ("全部".equals(categoryScene)) { if ("全部".equals(categoryScene)) {
return amosToolTemplateMapper.listAll(sortType.getField(), sortType.getDirection()); return amosToolTemplateMapper.listAll(sortType.getField(), sortType.getDirection());
} else { } else {
return amosToolTemplateMapper.queryByScenes(categoryScene, sortType.getField(), sortType.getDirection()); return amosToolTemplateMapper.queryByScenes(categoryScene, sortType.getField(), sortType.getDirection());
} }
} }
/** /**
* 生成随机UID * 生成随机UID
......
...@@ -3,49 +3,146 @@ package com.yeejoin.amos.api.tool.face.service; ...@@ -3,49 +3,146 @@ package com.yeejoin.amos.api.tool.face.service;
import com.yeejoin.amos.api.tool.face.orm.entity.ApiInfo; import com.yeejoin.amos.api.tool.face.orm.entity.ApiInfo;
import com.yeejoin.amos.api.tool.face.orm.dao.ApiInfoMapper; import com.yeejoin.amos.api.tool.face.orm.dao.ApiInfoMapper;
import com.yeejoin.amos.api.tool.face.model.ApiInfoModel; import com.yeejoin.amos.api.tool.face.model.ApiInfoModel;
import org.springframework.beans.factory.annotation.Autowired; import com.yeejoin.amos.api.tool.face.rowmapper.StudioDataApiRowMapper;
import com.yeejoin.amos.api.tool.utils.ToolUtils;
import org.springframework.jdbc.core.JdbcTemplate;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
@Service @Service
public class ApiInfoService extends BaseService<ApiInfoModel,ApiInfo,ApiInfoMapper> { public class ApiInfoService extends BaseService<ApiInfoModel,ApiInfo,ApiInfoMapper> {
public ApiInfoModel insertModel(ApiInfoModel apiInfoModel){
JdbcTemplate jdbcTemplate= ToolUtils.getJdbcTemplate();
Random random = new Random();
Long primaryKey = random.nextLong();
String loginId = RequestContext.getLoginId();
String sql="INSERT INTO studio_data_api (SEQUENCE_NBR,API_SOURCE,API_NAME,HTTP_METHOD,API_PATH,RES_TYPE,BODY_VALUE,RULE_DATA,REC_USER_ID,REC_DATE)" +
" VALUES(?,?,?,?,?,?,?,?,?,?)";
Object [] params={primaryKey,apiInfoModel.getApiSource(),apiInfoModel.getApiName(),apiInfoModel.getHttpMethod(),
apiInfoModel.getApiPath(),apiInfoModel.getResType(),apiInfoModel.getBodyValue(),
apiInfoModel.getRuleData(),loginId,new Date()};
jdbcTemplate.update(sql,params);
return apiInfoModel;
}
/** /**
* 分页查询 * 更新操作
*/ */
public Page<ApiInfoModel> queryForApiInfoPage(Page<ApiInfoModel> page,String apiSource ,String apiName) { public ApiInfoModel updateByModel(ApiInfoModel apiInfoModel){
return this.queryForPage(page ,null ,false ,apiSource ,apiName); JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="UPDATE studio_data_api SET API_SOURCE=?,API_NAME=?,HTTP_METHOD=?,API_PATH=?,RES_TYPE=?," +
" BODY_VALUE=?,RULE_DATA=? WHERE SEQUENCE_NBR=?";
Object[] params={apiInfoModel.getApiSource(),apiInfoModel.getApiName(),apiInfoModel.getHttpMethod(),
apiInfoModel.getApiPath(),apiInfoModel.getResType(),apiInfoModel.getBodyValue(),apiInfoModel.getRuleData(),apiInfoModel.getSequenceNbr()};
jdbcTemplate.update(sql,params);
return apiInfoModel;
} }
/** /**
* 列表查询 * 分页查询
*/ */
public List<ApiInfoModel> queryForApiInfoList() { public Page<ApiInfoModel> queryForApiInfoPage(Page<ApiInfoModel> page,String apiSource,String apiName){
return this.queryForList("" , false); JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
Long curr=page.getCurrent();
Long pageSize=page.getSize();
int startIndex = (curr.intValue() - 1) * pageSize.intValue();
// 查询总记录数
String countSql = "SELECT COUNT(*) FROM studio_data_api WHERE API_SOURCE = ? AND API_NAME = ?";
// 构建 SQL 查询语句
String sql = "SELECT * FROM studio_data_api WHERE API_SOURCE = ? AND API_NAME = ? LIMIT ? , ?";
Long total;
Object[] params = {apiSource, apiName, startIndex, pageSize};
if (apiName==null||"".equals(apiName)){
countSql="SELECT COUNT(*) FROM studio_data_api WHERE API_SOURCE = ?";
total=jdbcTemplate.queryForObject(countSql, Long.class, apiSource);
sql="SELECT * FROM studio_data_api WHERE API_SOURCE = ? LIMIT ? , ?";
// 构建参数数组
params = new Object[]{apiSource,startIndex, pageSize};
}else {
total=jdbcTemplate.queryForObject(countSql, Long.class,apiSource,apiName);
}
// 查询分页数据
List<ApiInfoModel> data = jdbcTemplate.query(sql,new StudioDataApiRowMapper(),params);
// 构建Page对象
Page<ApiInfoModel> pageResult = new Page<>();
pageResult.setCurrent(pageSize);
pageResult.setSize(pageSize);
pageResult.setTotal(total);
pageResult.setRecords(data);
return pageResult;
} }
/** /**
* 根据来源获取Api列表 * 单个查询
*/ */
public List<ApiInfoModel> selectByApiSource(String apiSource) { public ApiInfoModel selectOneApiInfo(Long sequenceNbr){
return this.queryForList("" , false,apiSource); JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="SELECT * FROM studio_data_api WHERE SEQUENCE_NBR=?";
ApiInfoModel apiInfoModel = jdbcTemplate.queryForObject(sql,new Long[]{sequenceNbr},new StudioDataApiRowMapper());
return apiInfoModel;
} }
/** /**
* 根据来源获取Api列表主键 * 根据主键单个删除
*/ */
public List<String> selectSeqByApiSource(String apiSource) { public Boolean deleteById(Long sequenceNbr){
List<String> sequenceNbrs = new ArrayList<>(); JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
for(ApiInfoModel model : this.selectByApiSource(apiSource)){ String sql="DELETE FROM STUDIO_DATA_API WHERE SEQUENCE_NBR=?";
sequenceNbrs.add(Long.toString(model.getSequenceNbr())); try {
jdbcTemplate.update(sql,sequenceNbr);
return true;
}catch (Exception e){
return false;
} }
return sequenceNbrs;
} }
/**
* 根据主键批量删除
*/
public Boolean deleteByIds(List<String> sequenceNbrs){
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="DELETE FROM STUDIO_DATA_API WHERE SEQUENCE_NBR=?";
try {
sequenceNbrs.stream().forEach(sequenceNbr ->{
jdbcTemplate.update(sql,sequenceNbr);
});
return true;
}catch (Exception e){
return false;
}
}
/**
* 列表查询
*/
public List<ApiInfoModel> queryForApiInfoList() {
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="SELECT * FROM studio_data_api";
List<ApiInfoModel> apiInfoModels = jdbcTemplate.query(sql, new Object[]{}, new StudioDataApiRowMapper());
// return this.queryForList("" , false);
return apiInfoModels;
}
/**
* 根据来源获取Api列表
*/
// public List<ApiInfoModel> selectByApiSource(String apiSource) {
// return this.queryForList("" , false,apiSource);
// }
//
// /**
// * 根据来源获取Api列表主键
// */
// public List<String> selectSeqByApiSource(String apiSource) {
// List<String> sequenceNbrs = new ArrayList<>();
// for(ApiInfoModel model : this.selectByApiSource(apiSource)){
// sequenceNbrs.add(Long.toString(model.getSequenceNbr()));
// }
// return sequenceNbrs;
// }
} }
package com.yeejoin.amos.api.tool.face.service; package com.yeejoin.amos.api.tool.face.service;
import com.yeejoin.amos.api.tool.face.model.AdapterCategoryModel; import com.yeejoin.amos.api.tool.face.model.AdapterCategoryModel;
import com.yeejoin.amos.api.tool.face.model.ApiSourceModel; import com.yeejoin.amos.api.tool.face.model.ApiSourceModel;
import com.yeejoin.amos.api.tool.face.orm.entity.ApiSource; import com.yeejoin.amos.api.tool.face.orm.entity.ApiSource;
import com.yeejoin.amos.api.tool.face.orm.dao.ApiSourceMapper; import com.yeejoin.amos.api.tool.face.orm.dao.ApiSourceMapper;
import org.springframework.beans.factory.annotation.Autowired; import com.yeejoin.amos.api.tool.face.rowmapper.ApiSourceRowMapper;
import org.springframework.beans.factory.annotation.Qualifier; import com.yeejoin.amos.api.tool.utils.ToolUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Random;
@Service @Service
public class ApiSourceService extends BaseService<ApiSourceModel, ApiSource, ApiSourceMapper> { public class ApiSourceService extends BaseService<ApiSourceModel, ApiSource, ApiSourceMapper> {
@Autowired public AdapterCategoryModel createByModel(AdapterCategoryModel model) {
private ApiInfoService apiInfoService; JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
Long sequenceNbr= new Random().nextLong();
model.setSequenceNbr(sequenceNbr);
String loginId = RequestContext.getLoginId();
String agencyCode=RequestContext.getAgencyCode();
Integer result = jdbcTemplate.queryForObject("SELECT COUNT(*) FROM adapter_category WHERE CATEGORY_TYPE=?", new String[]{"API"}, Integer.class);
String sql="INSERT INTO adapter_category (SEQUENCE_NBR,CATEGORY_TYPE,PARENT_ID,CATEGORY_NAME,CATEGORY_KEY,SORT,AGENCY_CODE,IS_DELETE,REC_USER_ID,REC_DATE,CREATE_DATE) " +
"VALUES (?,?,?,?,?,?,?,?,?,?,?)";
jdbcTemplate.update(sql,new Object[]{model.getSequenceNbr(),"API",0l,model.getName(),
model.getCode(),result+1,agencyCode==null?"":agencyCode,0,loginId,new Date(),new Date()});
return model;
}
private JdbcTemplate jdbcTemplate; public List<AdapterCategoryModel> queryForApiSourceLists(String categoryType) {
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
List<AdapterCategoryModel> adapterCategoryModels = jdbcTemplate.query("SELECT * FROM adapter_category WHERE CATEGORY_TYPE=? AND IS_DELETE!=?",
new Object[]{categoryType,ToolUtils.IS_DELETE},new ApiSourceRowMapper());
return adapterCategoryModels;
}
@Autowired public AdapterCategoryModel queryBySequenceNbr(Long sequenceNbr){
@Qualifier("dataSource-amos-studio") JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
private DataSource dataSource; String sql="SELECT * FROM adapter_category WHERE SEQUENCE_NBR=? AND IS_DELETE!=?";
AdapterCategoryModel adapterCategoryModel = jdbcTemplate.queryForObject(sql,new Object[]{sequenceNbr,ToolUtils.IS_DELETE},new ApiSourceRowMapper());
return adapterCategoryModel;
}
/** /**
* 列表查询 * 列表查询
*/ */
public List<ApiSourceModel> queryForApiSourceList() { // public List<ApiSourceModel> queryForApiSourceList() {
return this.queryForList("", false); // return this.queryForList("", false);
} // }
public List<ApiSourceModel> queryForApiSourceLists(String categoryType) {
jdbcTemplate=new JdbcTemplate(dataSource);
List<AdapterCategoryModel> adapterCategoryModels = jdbcTemplate.query("SELECT * FROM adapter_category WHERE CATEGORY_TYPE=?", new String[]{categoryType}, new BeanPropertyRowMapper(AdapterCategoryModel.class));
List<ApiSourceModel> result=new ArrayList<>();
adapterCategoryModels.stream().forEach(adapterCategoryModel -> {
ApiSourceModel apiSourceModel=new ApiSourceModel();
apiSourceModel.setSequenceNbr(adapterCategoryModel.getSequenceNbr());
apiSourceModel.setRecDate(adapterCategoryModel.getRecDate());
apiSourceModel.setRecUserId(adapterCategoryModel.getRecUserId());
apiSourceModel.setName(adapterCategoryModel.getCategoryName());
apiSourceModel.setCode(adapterCategoryModel.getCategoryKey());
result.add(apiSourceModel);
});
return result;
}
/** /**
* 根据机构ID获取机构编码 * 根据机构ID获取机构编码
*/ */
public String queryCodeById(Long sequenceNbr){ public String queryCodeById(Long sequenceNbr){
ApiSourceModel model = this.queryModelByParams(sequenceNbr); /**
return model.getCode(); * 这里直接传入的主键查询表,因此不做CATEGORY_TYPE的分类
*/
//ApiSourceModel model = this.queryModelByParams(sequenceNbr);
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="SELECT * FROM adapter_category WHERE SEQUENCE_NBR=? AND IS_DELETE!=?";
AdapterCategoryModel model = jdbcTemplate.queryForObject(sql, new Object[]{sequenceNbr,ToolUtils.IS_DELETE},new ApiSourceRowMapper());
return model.getCode()==null?"":model.getCode();
} }
/** /**
* 通过API来源ID删除API来源 * 通过API来源ID删除API来源
*/ */
public Boolean deleteById(Long sequenceNbr){ public Boolean deleteById(Long sequenceNbr){
List<String> strings = apiInfoService.selectSeqByApiSource(this.queryCodeById(sequenceNbr)); JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
if(strings.size() != 0) { String code = this.queryCodeById(sequenceNbr);
this.removeByIds(strings); /**
* 这里是删除一级菜单,因为需要查询是否存在对应的二级菜单
*/
String studioDataApiNum="SELECT COUNT(*) FROM studio_data_api WHERE API_SOURCE=?";
Integer integer = jdbcTemplate.queryForObject(studioDataApiNum, new String[]{code}, Integer.class);
if (integer!=null && integer>0){
String realDelSql="DELETE FROM studio_data_api WHERE API_SOURCE=?";
jdbcTemplate.update(realDelSql,new String[]{code});
}
String sql="UPDATE adapter_category SET IS_DELETE=? WHERE SEQUENCE_NBR=? ";
try {
jdbcTemplate.update(sql,new Object[]{ToolUtils.IS_DELETE,sequenceNbr});
return true;
}catch (Exception e){
return false;
} }
return this.removeById(sequenceNbr);
} }
public AdapterCategoryModel updateByModel(AdapterCategoryModel model) {
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="UPDATE adapter_category SET CATEGORY_NAME=?,CATEGORY_KEY=?,REC_DATE=? WHERE SEQUENCE_NBR=?";
jdbcTemplate.update(sql,new Object[]{model.getName(),model.getCode(),new Date(),model.getSequenceNbr()});
return model;
}
} }
...@@ -10,7 +10,6 @@ import com.yeejoin.amos.api.tool.utils.DatabaseUtils; ...@@ -10,7 +10,6 @@ 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.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.sql.*; import java.sql.*;
import java.util.*; import java.util.*;
......
...@@ -21,7 +21,6 @@ import org.typroject.tyboot.component.emq.EmqKeeper; ...@@ -21,7 +21,6 @@ import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.utils.StringUtil; import org.typroject.tyboot.core.foundation.utils.StringUtil;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.io.*; import java.io.*;
...@@ -32,13 +31,11 @@ import java.util.Date; ...@@ -32,13 +31,11 @@ import java.util.Date;
import java.util.HashMap; 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.*; 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> {
@Autowired @Autowired
private RelationMapper relationMapper; private RelationMapper relationMapper;
@Autowired @Autowired
......
...@@ -13,27 +13,21 @@ import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn; ...@@ -13,27 +13,21 @@ import com.yeejoin.amos.api.tool.face.orm.entity.TableColumn;
import com.yeejoin.amos.api.tool.utils.AESUtils; import com.yeejoin.amos.api.tool.utils.AESUtils;
import com.yeejoin.amos.api.tool.utils.DatabaseUtils; import com.yeejoin.amos.api.tool.utils.DatabaseUtils;
import com.yeejoin.amos.api.tool.utils.DateUtils; import com.yeejoin.amos.api.tool.utils.DateUtils;
import com.yeejoin.amos.api.tool.utils.SqlHelper;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.text.StringSubstitutor; import org.apache.commons.text.StringSubstitutor;
import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.component.emq.EmqKeeper; 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.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import java.io.*; import java.io.*;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.sql.*; import java.sql.*;
import java.util.ArrayList; import java.util.*;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
...@@ -78,24 +72,16 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -78,24 +72,16 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
/** /**
* 导出设计器中大屏时分库查询 因为可能加yeeamos,这里不使用多数据源 * 导出设计器中大屏时分库查询 因为可能加yeeamos,这里不使用多数据源
*/ */
public static final String databaseName1="amos_studio"; public static final String databaseName1 = "amos_studio";
public static final String databaseName2="amos_project"; public static final String databaseName2 = "amos_project";
public static final String appKey="APP_KEY";
@Autowired public static final String appKey = "APP_KEY";
JdbcTemplate jdbcTemplate;
@Autowired
DataSource datasource;
@Autowired @Autowired
private DatabaseConnectionService databaseConnectionService; private DatabaseConnectionService databaseConnectionService;
@Autowired @Autowired
private SqlHelper sqlHelper;
@Autowired
EmqKeeper emqKeeper; EmqKeeper emqKeeper;
...@@ -121,9 +107,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -121,9 +107,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
if (!sqlDirectory.exists()) { if (!sqlDirectory.exists()) {
sqlDirectory.mkdir(); sqlDirectory.mkdir();
} }
// print(variables.get(dimension).toString(), "开始执行", "start");
print(variables.get(dimension).toString(), "开始执行", "start");
// 备份文件路径名称 // 备份文件路径名称
String fileName = (SourceEnum.IDX.getSource().equals(resourceCode.toLowerCase()) ? (resourceCode.toLowerCase() + "_") : "studio_") + DateFormatUtils.format(new Date(), "yyyyMMdd") + "." + SUFFIX; String fileName = (SourceEnum.IDX.getSource().equals(resourceCode.toLowerCase()) ? (resourceCode.toLowerCase() + "_") : "studio_") + DateFormatUtils.format(new Date(), "yyyyMMdd") + "." + SUFFIX;
String sqlFilePath = backPath + SLASH + fileName; String sqlFilePath = backPath + SLASH + fileName;
...@@ -133,7 +117,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -133,7 +117,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
out = new FileOutputStream(file); out = new FileOutputStream(file);
writer = new OutputStreamWriter(out, StandardCharsets.UTF_8); writer = new OutputStreamWriter(out, StandardCharsets.UTF_8);
String fileName2="project"+DateFormatUtils.format(new Date(), "yyyyMMdd") + "." + SUFFIX; String fileName2 = "project" + DateFormatUtils.format(new Date(), "yyyyMMdd") + "." + SUFFIX;
String sqlFilePath2 = backPath + SLASH + fileName2; String sqlFilePath2 = backPath + SLASH + fileName2;
File file2 = new File(sqlFilePath2); File file2 = new File(sqlFilePath2);
FileOutputStream out2; FileOutputStream out2;
...@@ -144,100 +128,115 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -144,100 +128,115 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
StringBuffer deleteSql = new StringBuffer(); StringBuffer deleteSql = new StringBuffer();
StringBuffer insertSql = new StringBuffer(); StringBuffer insertSql = new StringBuffer();
String appK = "";
String insertSql2 = "";
boolean isZip=false;
Map<String, Object> newVariables =null;
for (StudioResourceModel model : resourceList) { for (StudioResourceModel model : resourceList) {
if (!validationParameters(model, variables)) { if (!validationParameters(model, variables)) {
continue; continue;
} }
if (!ObjectUtils.isEmpty(model.getResourceDeleteSql())) { for (Map.Entry<String, Object> smallEntry : variables.entrySet()) {
String json = format(model.getResourceDeleteSql(), variables); /** 这里要做多选导出,想法是把原来的单个导出的map key,value多次遍历
JSONObject dimensionData = JSONObject.parseObject(json); * 而map不能放重复元素,因此之前拼uuid,后面循环截取
JSONObject deleteAllSql = dimensionData.getJSONObject(dimension); * */
for (String tableName : deleteAllSql.keySet()) { newVariables = new HashMap<>();
String delSql=(String)deleteAllSql.get(tableName); String temporary = smallEntry.getKey();
deleteSql.append( delSql.replace(";", ";" + BR)); String realKey = temporary.substring(36);
String value = (String) smallEntry.getValue();
newVariables.put(realKey, value);
print(value, "开始执行", "start");
if (!ObjectUtils.isEmpty(model.getResourceDeleteSql())) {
String json = format(model.getResourceDeleteSql(), newVariables);
JSONObject dimensionData = JSONObject.parseObject(json);
JSONObject deleteAllSql = dimensionData.getJSONObject(dimension);
for (String tableName : deleteAllSql.keySet()) {
String delSql = (String) deleteAllSql.get(tableName);
deleteSql.append(delSql.replace(";", ";" + BR));
}
}
if (!ObjectUtils.isEmpty(model.getResourceInsertSql())) {
String sql = buildInsertSql(model, dimension, ipSeq, newVariables);
if (!ObjectUtils.isEmpty(sql)) insertSql.append(sql);
} }
}
if (!ObjectUtils.isEmpty(model.getResourceInsertSql())) {
String sql = buildInsertSql(model, dimension, ipSeq, variables);
if (!ObjectUtils.isEmpty(sql)) insertSql.append(sql);
}
}
Connection connection = this.getConnection(databaseConnectionService.queryBySeq(ipSeq),databaseName1); Connection connection = this.getConnection(databaseConnectionService.queryBySeq(ipSeq), databaseName1);
String sql="select * from studio_application where SEQUENCE_NBR="+variables.get("appSeq"); String sql = "select * from studio_application where SEQUENCE_NBR=" + newVariables.get("appSeq");
List<Map<String, Object>> maps = DatabaseUtils.getMaps(sql, connection); List<Map<String, Object>> maps = DatabaseUtils.getMaps(sql, connection);
String appK=""; if (maps != null || maps.size() != 0) {
String insertSql2=""; for (Map<String, Object> map : maps) {
if (maps!=null||maps.size()!=0){ // 遍历每一个Map
for (Map<String, Object> map : maps) { for (Map.Entry<String, Object> entry : map.entrySet()) {
// 遍历每一个Map String key = entry.getKey();
for (Map.Entry<String, Object> entry : map.entrySet()) { if (appKey.equals(key)) {
String key = entry.getKey(); appK = (String) map.get(key);
if (appKey.equals(key)){ }
appK =(String) map.get(key); }
} }
connection.close();
Connection conn = this.getConnection(databaseConnectionService.queryBySeq(ipSeq), databaseName2);
String projectSql = "select * from privilege_permission where APP_CODE = '" + appK + "'";
List<Map<String, Object>> projectMaps = DatabaseUtils.getMaps(projectSql, conn);
if (projectMaps != null || projectMaps.size() != 0) {
List<TableColumn> tableColumn = DatabaseUtils.getTableColumn("privilege_permission", conn);
insertSql2 = DatabaseUtils.getInsertSQL(projectMaps, tableColumn, "privilege_permission").toString();
}
conn.close();
} }
}
connection.close();
Connection conn = this.getConnection(databaseConnectionService.queryBySeq(ipSeq),databaseName2);
String projectSql="select * from privilege_permission where APP_CODE = '"+appK+"'";
List<Map<String, Object>> projectMaps = DatabaseUtils.getMaps(projectSql, conn);
if (projectMaps!=null||projectMaps.size()!=0){
List<TableColumn> tableColumn = DatabaseUtils.getTableColumn("privilege_permission",conn);
insertSql2=DatabaseUtils.getInsertSQL(projectMaps, tableColumn, "privilege_permission").toString();
}
conn.close();
}
if (insertSql2.length() > 0) {
print(variables.get(dimension).toString(), "开始创建insert语句...", "running");
writer2.write(BR + DELIMITER + BR);
writer2.write("/**" + BR + "* 资源数据" + BR + "**/" + BR);
writer2.write(BR + DELIMITER + BR);
writer2.write(insertSql2);
writer2.write(BR + BR + DELIMITER + BR);
print(variables.get(dimension).toString(), "insert语句创建完成...", "running");
}
if (insertSql2.length() > 0) {
isZip=true;
print(newVariables.get(dimension).toString(), "开始创建insert语句...", "running");
writer2.write(BR + DELIMITER + BR);
writer2.write("/**" + BR + "* 资源数据" + BR + "**/" + BR);
writer2.write(BR + DELIMITER + BR);
writer2.write(insertSql2);
writer2.write(BR + BR + DELIMITER + BR);
print(newVariables.get(dimension).toString(), "insert语句创建完成...", "running");
}
if (deleteSql.length() > 0) { if (deleteSql.length() > 0) {
print(variables.get(dimension).toString(), "开始创建delete语句...", "running"); print(newVariables.get(dimension).toString(), "开始创建delete语句...", "running");
writer.write(BR + DELIMITER + BR); writer.write(BR + DELIMITER + BR);
writer.write("/**" + BR + "* 删除历史资源数据 " + BR + "**/" + BR); writer.write("/**" + BR + "* 删除历史资源数据 " + BR + "**/" + BR);
writer.write(BR + DELIMITER + BR); writer.write(BR + DELIMITER + BR);
writer.write(deleteSql.toString()); writer.write(deleteSql.toString());
writer.write(BR + BR + DELIMITER + BR); writer.write(BR + BR + DELIMITER + BR);
print(variables.get(dimension).toString(), "delete语句创建完成...", "running"); print(newVariables.get(dimension).toString(), "delete语句创建完成...", "running");
} }
if (insertSql.length() > 0) {
print(variables.get(dimension).toString(), "开始创建insert语句...", "running");
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);
print(variables.get(dimension).toString(), "insert语句创建完成...", "running");
}
writer2.flush();
writer.flush();
writer.close();
writer2.close();
out.close();
out2.close();
if (deleteSql.length() == 0 && insertSql.length() == 0) { if (insertSql.length() > 0) {
print(variables.get(dimension).toString(), "该项目下数据路径字段为空,不支持导出...", "start"); print(newVariables.get(dimension).toString(), "开始创建insert语句...", "running");
return; 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);
print(newVariables.get(dimension).toString(), "insert语句创建完成...", "running");
}
if (deleteSql.length() == 0 && insertSql.length() == 0) {
print(newVariables.get(dimension).toString(), "该项目下数据路径字段为空,不支持导出...", "start");
return;
}
deleteSql=new StringBuffer();
insertSql=new StringBuffer();
insertSql2="";
}
writer2.flush();
writer.flush();
writer.close();
writer2.close();
out.close();
out2.close();
} }
if (insertSql2.length()>0){ if (isZip) {
downloadFilesAsZip(new String[]{sqlFilePath,sqlFilePath2},"output.zip",response); downloadFilesAsZip(new String[]{sqlFilePath, sqlFilePath2}, "output.zip", response);
}else { } else {
download(response, fileName, sqlFilePath); download(response, fileName, sqlFilePath);
} }
delExistFile(sqlFilePath,sqlFilePath2); delExistFile(sqlFilePath, sqlFilePath2);
print(variables.get(dimension).toString(), "执行结束", "end"); print(newVariables.get(dimension).toString(), "执行结束", "end");
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} catch (SQLException e) { } catch (SQLException e) {
...@@ -245,18 +244,18 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -245,18 +244,18 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
} }
} }
private void delExistFile(String sqlFilePath,String sqlFilePath2){ private void delExistFile(String sqlFilePath, String sqlFilePath2) {
File delStudio = new File(sqlFilePath); File delStudio = new File(sqlFilePath);
if (delStudio.exists()){ if (delStudio.exists()) {
delStudio.delete(); delStudio.delete();
} }
File delProject = new File(sqlFilePath2); File delProject = new File(sqlFilePath2);
if (delProject.exists()){ if (delProject.exists()) {
delProject.delete(); delProject.delete();
} }
} }
public void downloadFilesAsZip(String[] filePaths, String zipFileName,HttpServletResponse response) { public void downloadFilesAsZip(String[] filePaths, String zipFileName, HttpServletResponse response) {
try { try {
// 创建一个临时文件输出流,用于写入压缩文件 // 创建一个临时文件输出流,用于写入压缩文件
FileOutputStream fos = new FileOutputStream(zipFileName); FileOutputStream fos = new FileOutputStream(zipFileName);
...@@ -284,13 +283,13 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -284,13 +283,13 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
fos.close(); // 关闭文件输出流 fos.close(); // 关闭文件输出流
// 将压缩文件发送到浏览器进行下载 // 将压缩文件发送到浏览器进行下载
sendFileToBrowser(zipFileName,response); sendFileToBrowser(zipFileName, response);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
private void sendFileToBrowser(String fileName,HttpServletResponse response) throws IOException { private void sendFileToBrowser(String fileName, HttpServletResponse response) throws IOException {
String fileExtension = ""; // 如果需要设置特定文件类型,请在此处添加,例如 ".zip" String fileExtension = ""; // 如果需要设置特定文件类型,请在此处添加,例如 ".zip"
fileName = fileName + fileExtension; // 例如 "example.zip" fileName = fileName + fileExtension; // 例如 "example.zip"
File downloadFile = new File(fileName); // 获取要下载的文件路径和名称 File downloadFile = new File(fileName); // 获取要下载的文件路径和名称
...@@ -310,10 +309,11 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -310,10 +309,11 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
/** /**
* 连接数据库 * 连接数据库
*
* @param model DataBaseLinkModel * @param model DataBaseLinkModel
* @return 数据库连接 * @return 数据库连接
*/ */
private static Connection getConnection(DatabaseConnectionModel model,String databaseName) { private static Connection getConnection(DatabaseConnectionModel model, String databaseName) {
try { try {
// 加载数据库驱动 // 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver"); Class.forName("com.mysql.cj.jdbc.Driver");
...@@ -339,6 +339,20 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -339,6 +339,20 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
return null; return null;
} }
private boolean validationParameters(StudioResourceModel model, Map<String, Object> variables) {
String text = model.getResourceParams();
JSONArray fields = JSONObject.parseArray(text);
for (int i = 0; i < fields.size(); i++) {
Set<String> set = variables.keySet();
for (String key : set) {
if (!key.contains(fields.getJSONObject(i).getString("name"))) {
return false;
}
}
}
return true;
}
public void generateSQLByDatabaseName(String resourceCode, String dimension, String dbSeqs, Long ipSeq, Map<String, Object> variables, HttpServletResponse response) { public void generateSQLByDatabaseName(String resourceCode, String dimension, String dbSeqs, Long ipSeq, Map<String, Object> variables, HttpServletResponse response) {
try { try {
DatabaseConnectionModel dataBaseConnectionModel = databaseConnectionService.queryBySeq(ipSeq); DatabaseConnectionModel dataBaseConnectionModel = databaseConnectionService.queryBySeq(ipSeq);
...@@ -448,17 +462,6 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -448,17 +462,6 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
} }
} }
private boolean validationParameters(StudioResourceModel model, Map<String, Object> variables) {
String text = model.getResourceParams();
JSONArray fields = JSONObject.parseArray(text);
for (int i = 0; i < fields.size(); i++) {
if (!variables.containsKey(fields.getJSONObject(i).getString("name"))) {
return false;
}
}
return true;
}
private String buildInsertSql(StudioResourceModel resource, String dimension, Long ipSeq, Map<String, Object> variables) throws SQLException { private String buildInsertSql(StudioResourceModel resource, String dimension, Long ipSeq, Map<String, Object> variables) throws SQLException {
StringBuffer sbsql = new StringBuffer(); StringBuffer sbsql = new StringBuffer();
...@@ -484,10 +487,9 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -484,10 +487,9 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
* select XX,XX FROM 表名,按照空格拆分后第三个元素是真实表名 * select XX,XX FROM 表名,按照空格拆分后第三个元素是真实表名
*/ */
String realTableName = selectsql.split(" ")[3]; String realTableName = selectsql.split(" ")[3];
if (!tableName.equals(realTableName)){ if (!tableName.equals(realTableName)) {
tableName=realTableName; tableName = realTableName;
} }
List<TableColumn> columns = DatabaseUtils.getTableColumn(tableName, connection); List<TableColumn> columns = DatabaseUtils.getTableColumn(tableName, connection);
List<Map<String, Object>> dataList = DatabaseUtils.getMaps(selectsql, connection); List<Map<String, Object>> dataList = DatabaseUtils.getMaps(selectsql, connection);
sbsql.append(DatabaseUtils.getInsertSQL(dataList, columns, tableName)); sbsql.append(DatabaseUtils.getInsertSQL(dataList, columns, tableName));
...@@ -555,7 +557,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud ...@@ -555,7 +557,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
Connection connection = DatabaseUtils.getConnection(model); Connection connection = DatabaseUtils.getConnection(model);
Statement sql = connection.createStatement(); Statement sql = connection.createStatement();
String sqlStr = "select SEQUENCE_NBR,PROJECT_NAME,AGENCY_CODE from " + model.getPrefix() + "amos_studio" + model.getSuffix() + ".studio_project " + String sqlStr = "select SEQUENCE_NBR,PROJECT_NAME,AGENCY_CODE from " + model.getPrefix() + "amos_studio" + model.getSuffix() + ".studio_project " +
"where AGENCY_CODE = " + "'" + agencyCode + "'"; "where AGENCY_CODE = " + "'" + agencyCode + "' and is_delete!=1";
ResultSet resultSet = sql.executeQuery(sqlStr); ResultSet resultSet = sql.executeQuery(sqlStr);
ResultSetMetaData md = resultSet.getMetaData(); // 获得结果集结构信息,元数据 ResultSetMetaData md = resultSet.getMetaData(); // 获得结果集结构信息,元数据
List<ProjectModel> listPm = new ArrayList<>(); // 实例化一个list作为容器 List<ProjectModel> listPm = new ArrayList<>(); // 实例化一个list作为容器
......
package com.yeejoin.amos.api.tool.face.service; package com.yeejoin.amos.api.tool.face.service;
import com.yeejoin.amos.api.tool.config.AdapterCategoryRowMapper; import com.fasterxml.jackson.core.JsonProcessingException;
import com.yeejoin.amos.api.tool.face.model.AdapterCategoryModel;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel; import com.yeejoin.amos.api.tool.face.model.TemplateCategoryModel;
import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel; import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel;
import com.yeejoin.amos.api.tool.face.model.VisualDesignerModel; import com.yeejoin.amos.api.tool.face.model.VisualDesignerModel;
import com.yeejoin.amos.api.tool.face.orm.dao.TemplateCategoryMapper; import com.yeejoin.amos.api.tool.face.orm.dao.TemplateCategoryMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.TemplateCategory; import com.yeejoin.amos.api.tool.face.orm.entity.TemplateCategory;
import com.yeejoin.amos.api.tool.face.rowmapper.AdapterCategoryRowMapper;
import com.yeejoin.amos.api.tool.face.rowmapper.TemplateCategoryRowMapper;
import com.yeejoin.amos.api.tool.utils.ToolUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.sql.DataSource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Random;
@Service @Service
public class TemplateCategoryService extends BaseService<TemplateCategoryModel, TemplateCategory, TemplateCategoryMapper> { public class TemplateCategoryService extends BaseService<TemplateCategoryModel, TemplateCategory, TemplateCategoryMapper> {
@Autowired @Autowired
private VisualDesignerService visualDesignerService; private VisualDesignerService visualDesignerService;
@Autowired
private TemplateService templateService;
private JdbcTemplate jdbcTemplate;
@Autowired
@Qualifier("dataSource-amos-studio")
private DataSource dataSource;
private List<TemplateCategoryModel> templateCategoryModels=new ArrayList<>();
/** /**
* 列表查询 * 列表查询
*/ */
public List<TemplateCategoryModel> queryForTplCateList() { public List<TemplateCategoryModel> queryForTplCateList(String categoryType) {
return this.queryForList("", false); // jdbcTemplate = new JdbcTemplate(dataSource);
// String sql = "SELECT * FROM adapter_category WHERE CATEGORY_TYPE=?";
// List<TemplateCategoryModel> templateCategoryModels = jdbcTemplate.query(sql,new String[]{categoryType}, new TemplateCategoryRowMapper());
// return this.queryForList("", false);
return templateCategoryModels;
}
public TemplateCategoryModel queryWithSeq(Long sequenceNbr) {
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql = "SELECT * FROM adapter_category WHERE SEQUENCE_NBR=? AND IS_DELETE!=?";
return jdbcTemplate.queryForObject(sql, new Object[]{sequenceNbr,ToolUtils.IS_DELETE},new TemplateCategoryRowMapper());
} }
/** /**
* 通过模板分类ID删除模板分类 * 通过模板分类ID删除模板分类
*/ */
public Boolean deleteById(Long sequenceNbr){ public Boolean deleteById(Long sequenceNbr) {
List<String> strings = templateService.selectSeqsByCategorySeq(sequenceNbr); /**
if(strings.size() != 0) { * 这里删除的是二级菜单,因此还需要查询是否存在三级菜单;如果有,则删除。
this.removeByIds(strings); */
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String studioTemplateNum = "SELECT COUNT(*) FROM studio_template WHERE CATEGORY_SEQ=? AND IS_DELETE!=?";
Integer resultNum = jdbcTemplate.queryForObject(studioTemplateNum, new Object[]{sequenceNbr,ToolUtils.IS_DELETE}, Integer.class);
try {
if (resultNum != null && resultNum > 0) {
String realDelSql = "UPDATE studio_template SET IS_DELETE=? WHERE CATEGORY_SEQ=?";
jdbcTemplate.update(realDelSql, new Object[]{ToolUtils.IS_DELETE,sequenceNbr});
}
String sql = "UPDATE adapter_category SET IS_DELETE=? WHERE SEQUENCE_NBR=?";
jdbcTemplate.update(sql, new Object[]{ToolUtils.IS_DELETE,sequenceNbr});
return true;
} catch (Exception e) {
return false;
} }
return this.removeById(sequenceNbr);
} }
/** /**
*
* 模板分类表单数据转化为树形节点 * 模板分类表单数据转化为树形节点
*/ */
public List<TemplateCategoryTreeModel> tplCateToNode(List<TemplateCategoryModel> templateCategoryModels){ public List<TemplateCategoryTreeModel> tplCateToNode(List<TemplateCategoryModel> templateCategoryModels) {
List<TemplateCategoryTreeModel> nodes = new ArrayList<>(); List<TemplateCategoryTreeModel> nodes = new ArrayList<>();
for (TemplateCategoryModel model : templateCategoryModels){ for (TemplateCategoryModel model : templateCategoryModels) {
TemplateCategoryTreeModel node = new TemplateCategoryTreeModel(); TemplateCategoryTreeModel node = new TemplateCategoryTreeModel();
node.setName(model.getCateName()); node.setName(model.getCateName());
node.setSequenceNbr(model.getSequenceNbr()); node.setSequenceNbr(model.getSequenceNbr());
...@@ -70,14 +87,14 @@ public class TemplateCategoryService extends BaseService<TemplateCategoryModel, ...@@ -70,14 +87,14 @@ public class TemplateCategoryService extends BaseService<TemplateCategoryModel,
* 修改后 * 修改后
*/ */
public List<TemplateCategoryTreeModel> getTree(String categoryType) { public List<TemplateCategoryTreeModel> getTree(String categoryType) {
jdbcTemplate=new JdbcTemplate(dataSource); JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
/** /**
* 该方法返回封装好的TemplateCategoryModel类型的数据 * 该方法返回封装好的TemplateCategoryModel类型的数据
*/ */
List<TemplateCategoryModel> templateCategoryModels = jdbcTemplate.query("SELECT * FROM adapter_category where CATEGORY_TYPE=?", new String[]{categoryType}, new AdapterCategoryRowMapper()); templateCategoryModels = jdbcTemplate.query("SELECT * FROM adapter_category WHERE CATEGORY_TYPE=? AND IS_DELETE!=?",new Object[]{categoryType,ToolUtils.IS_DELETE}, new AdapterCategoryRowMapper());
// List<TemplateCategoryModel> templateCategoryModels = this.queryForTplCateList(); // List<TemplateCategoryModel> templateCategoryModels = this.queryForTplCateList();
List<TemplateCategoryTreeModel> nodes = this.tplCateToNode(templateCategoryModels); List<TemplateCategoryTreeModel> nodes = this.tplCateToNode(templateCategoryModels);
List<VisualDesignerModel> visualDesignerLists = jdbcTemplate.query("select * from studio_visual_designer",new Object[]{},new BeanPropertyRowMapper(VisualDesignerModel.class)); List<VisualDesignerModel> visualDesignerLists = jdbcTemplate.query("SELECT * FROM studio_visual_designer", new Object[]{}, new BeanPropertyRowMapper(VisualDesignerModel.class));
// List<VisualDesignerModel> visualDesignerLists = visualDesignerService.queryForVisualDesignerList(); // List<VisualDesignerModel> visualDesignerLists = visualDesignerService.queryForVisualDesignerList();
nodes.addAll(visualDesignerService.VisualDesignerToNode(visualDesignerLists)); nodes.addAll(visualDesignerService.VisualDesignerToNode(visualDesignerLists));
return getChildren(nodes, "", 0L); return getChildren(nodes, "", 0L);
...@@ -87,20 +104,43 @@ public class TemplateCategoryService extends BaseService<TemplateCategoryModel, ...@@ -87,20 +104,43 @@ public class TemplateCategoryService extends BaseService<TemplateCategoryModel,
/** /**
* 获得模板分类子节点(递归) * 获得模板分类子节点(递归)
*/ */
public List<TemplateCategoryTreeModel> getChildren(List<TemplateCategoryTreeModel> nodes, String parent, Long id){ public List<TemplateCategoryTreeModel> getChildren(List<TemplateCategoryTreeModel> nodes, String parent, Long id) {
List<TemplateCategoryTreeModel> tree = new ArrayList<>(); List<TemplateCategoryTreeModel> tree = new ArrayList<>();
for (TemplateCategoryTreeModel node : nodes){ for (TemplateCategoryTreeModel node : nodes) {
if(node.getParentId() == 0L && parent.equals("")){ if (node.getParentId() == 0L && parent.equals("")) {
node.setChildren(getChildren(nodes, node.getDesignerType(), node.getSequenceNbr())); node.setChildren(getChildren(nodes, node.getDesignerType(), node.getSequenceNbr()));
tree.add(node); tree.add(node);
} } else {
else {
if (parent.equals(node.getDesignerType()) && node.getParentId() != 0L) { if (parent.equals(node.getDesignerType()) && node.getParentId() != 0L) {
node.setParentId(id); node.setParentId(id);
tree.add(node); tree.add(node);
} }
} }
} }
return tree; return tree;
}
public TemplateCategoryModel updateByModel(TemplateCategoryModel templateCategoryModel) {
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="UPDATE adapter_category SET CATEGORY_NAME=?,REC_DATE=?,EXTRAS=JSON_OBJECT('tempType', ?,'designerType',?) WHERE SEQUENCE_NBR=?";
Object[] params={templateCategoryModel.getCateName()
,new Date(),templateCategoryModel.getTplType(),templateCategoryModel.getDesignerType(),templateCategoryModel.getSequenceNbr()};
jdbcTemplate.update(sql,params);
return templateCategoryModel;
}
public TemplateCategoryModel insertModel(TemplateCategoryModel templateCategoryModel) throws JsonProcessingException {
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
Long parentId=visualDesignerService.selectSequenceNbr(templateCategoryModel.getDesignerType());
Long sequenceNbr = new Random().nextLong();
templateCategoryModel.setSequenceNbr(sequenceNbr);
String loginId = RequestContext.getLoginId();
String agencyCode=RequestContext.getAgencyCode();
Integer result = jdbcTemplate.queryForObject("SELECT COUNT(*) FROM adapter_category WHERE CATEGORY_TYPE=?", new String[]{"TEMPLATE"}, Integer.class);
String sql="INSERT INTO adapter_category (SEQUENCE_NBR,CATEGORY_TYPE,PARENT_ID,CATEGORY_NAME,SORT,AGENCY_CODE,IS_DELETE," +
" REC_USER_ID,REC_DATE,CREATE_DATE,EXTRAS) VALUES (?,?,?,?,?,?,?,?,?,?,JSON_OBJECT('tempType', ?,'designerType',?))";
Object[]params={sequenceNbr,"TEMPLATE",parentId,templateCategoryModel.getCateName(),result+1,agencyCode,0,loginId,new Date(),new Date(),templateCategoryModel.getTplType(),templateCategoryModel.getDesignerType()};
jdbcTemplate.update(sql,params);
return templateCategoryModel;
} }
} }
...@@ -3,27 +3,24 @@ package com.yeejoin.amos.api.tool.face.service; ...@@ -3,27 +3,24 @@ package com.yeejoin.amos.api.tool.face.service;
import com.alibaba.fastjson.JSON; 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.config.StudioTemplateRowMapper;
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.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.face.rowmapper.StudioTemplateRowMapper;
import com.yeejoin.amos.api.tool.utils.ConvertUtil; import com.yeejoin.amos.api.tool.utils.ConvertUtil;
import com.yeejoin.amos.api.tool.utils.ToolUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
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.context.RequestContext;
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.sql.DataSource;
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.*;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
@Service @Service
public class TemplateService extends BaseService<TemplateModel, Template, TemplateMapper> { public class TemplateService extends BaseService<TemplateModel, Template, TemplateMapper> {
...@@ -31,11 +28,6 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -31,11 +28,6 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
@Autowired @Autowired
private TemplateCategoryService templateCategoryService; private TemplateCategoryService templateCategoryService;
private JdbcTemplate jdbcTemplate;
@Autowired
@Qualifier("dataSource-amos-studio")
private DataSource dataSource;
/** /**
* 分页查询 * 分页查询
...@@ -43,12 +35,12 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -43,12 +35,12 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
public Page<TemplateModel> queryForTplPage(Page<TemplateModel> page, Long categorySeq, String displayName,String categoryType) { public Page<TemplateModel> queryForTplPage(Page<TemplateModel> page, Long categorySeq, String displayName,String categoryType) {
List<TemplateCategoryTreeModel> modelList = templateCategoryService.getTree(categoryType); List<TemplateCategoryTreeModel> modelList = templateCategoryService.getTree(categoryType);
List<TemplateModel> records = new ArrayList<>(); List<TemplateModel> records = new ArrayList<>();
jdbcTemplate=new JdbcTemplate(dataSource); JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
for (TemplateCategoryTreeModel visualDesigner : modelList) { for (TemplateCategoryTreeModel visualDesigner : modelList) {
if (Objects.equals(categorySeq, visualDesigner.getSequenceNbr())) { if (Objects.equals(categorySeq, visualDesigner.getSequenceNbr())) {
for (TemplateCategoryTreeModel category : visualDesigner.getChildren()) { for (TemplateCategoryTreeModel category : visualDesigner.getChildren()) {
List<TemplateModel> templateModels = jdbcTemplate.query("SELECT * FROM studio_template WHERE category_seq=?", List<TemplateModel> templateModels = jdbcTemplate.query("SELECT * FROM studio_template WHERE category_seq=? and IS_DELETE!=?",
new Long[]{category.getSequenceNbr()},new StudioTemplateRowMapper()); new Object[]{category.getSequenceNbr(),ToolUtils.IS_DELETE},new StudioTemplateRowMapper());
// List<TemplateModel> templateModels = this.queryForTplListByCategorySeq(category.getSequenceNbr()); // List<TemplateModel> templateModels = this.queryForTplListByCategorySeq(category.getSequenceNbr());
records.addAll(templateModels); records.addAll(templateModels);
} }
...@@ -59,19 +51,19 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -59,19 +51,19 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
Long pageSize=page.getSize(); Long pageSize=page.getSize();
int startIndex = (curr.intValue() - 1) * pageSize.intValue(); int startIndex = (curr.intValue() - 1) * pageSize.intValue();
// 查询总记录数 // 查询总记录数
String countSql = "SELECT COUNT(*) FROM studio_template WHERE category_seq = ? AND display_name = ?"; String countSql = "SELECT COUNT(*) FROM studio_template WHERE category_seq = ? AND display_name = ? AND IS_DELETE!=?";
// 构建 SQL 查询语句 // 构建 SQL 查询语句
String sql = "SELECT * FROM studio_template WHERE category_seq = ? AND display_name = ? LIMIT ? , ?"; String sql = "SELECT * FROM studio_template WHERE category_seq = ? AND IS_DELETE!=? AND display_name = ? LIMIT ? , ? ";
Long total; Long total;
Object[] params = {categorySeq, displayName, startIndex, pageSize}; Object[] params = {categorySeq,ToolUtils.IS_DELETE,displayName, startIndex, pageSize};
if (displayName==null||"".equals(displayName)){ if (displayName==null||"".equals(displayName)){
countSql="SELECT COUNT(*) FROM studio_template WHERE category_seq = ?"; countSql="SELECT COUNT(*) FROM studio_template WHERE category_seq = ? AND IS_DELETE!=?";
total=jdbcTemplate.queryForObject(countSql, Long.class, categorySeq); total=jdbcTemplate.queryForObject(countSql, Long.class, categorySeq,ToolUtils.IS_DELETE);
sql="SELECT * FROM studio_template WHERE category_seq = ? LIMIT ? , ?"; sql="SELECT * FROM studio_template WHERE IS_DELETE!=? AND category_seq = ? LIMIT ? , ? ";
// 构建参数数组 // 构建参数数组
params = new Object[]{categorySeq,startIndex, pageSize}; params = new Object[]{ToolUtils.IS_DELETE,categorySeq,startIndex, pageSize};
}else { }else {
total=jdbcTemplate.queryForObject(countSql, Long.class, categorySeq, displayName); total=jdbcTemplate.queryForObject(countSql, Long.class, categorySeq, displayName,1);
} }
// 查询分页数据 // 查询分页数据
List<TemplateModel> data = jdbcTemplate.query(sql,new StudioTemplateRowMapper(),params); List<TemplateModel> data = jdbcTemplate.query(sql,new StudioTemplateRowMapper(),params);
...@@ -100,34 +92,48 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -100,34 +92,48 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
/** /**
* 列表查询 * 列表查询
*/ */
public List<TemplateModel> queryForTplListByCategorySeq(Long categorySeq) { // public List<TemplateModel> queryForTplListByCategorySeq(Long categorySeq) {
return this.queryForList("", false, categorySeq); // return this.queryForList("", false, categorySeq);
} // }
/** /**
* 根据模板分类ID获取模板sequenceNb's * 根据模板分类ID获取模板sequenceNbrs
*/ */
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;
} // }
/** /**
* 列表查询 * 列表查询
*/ */
public List<TemplateModel> queryForTplList() { public List<TemplateModel> queryForTplList() {
return this.queryForList("", false); JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="SELECT * FROM studio_template WHERE IS_DELETE!=?";
List<TemplateModel> templateModels = jdbcTemplate.query(sql, new Object[]{ToolUtils.IS_DELETE}, new StudioTemplateRowMapper());
List<TemplateModel> templateModelLists=new ArrayList<>();
for (TemplateModel templateModel:templateModels){
TemplateVoModel templateVoModel = this.convertVoModel(templateModel);
if (templateVoModel.getContent() != null) {
templateVoModel.setContentStr(templateVoModel.getContent().toString());
}
templateModelLists.add(templateModel);
}
return templateModelLists;
} }
/** /**
* 根据sequenceNbr获取模板并转化为VO * 根据sequenceNbr获取模板并转化为VO
*/ */
public TemplateVoModel queryForTplVo(Long sequenceNbr) { public TemplateVoModel queryForTplVo(Long sequenceNbr) {
TemplateModel templateModel = this.queryBySeq(sequenceNbr); JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="SELECT * FROM studio_template WHERE SEQUENCE_NBR=? AND IS_DELETE!=?";
TemplateModel templateModel=jdbcTemplate.queryForObject(sql,new Object[]{sequenceNbr,ToolUtils.IS_DELETE},new StudioTemplateRowMapper());
// TemplateModel templateModel = this.queryBySeq(sequenceNbr);
TemplateVoModel templateVoModel = this.convertVoModel(templateModel); TemplateVoModel templateVoModel = this.convertVoModel(templateModel);
if (templateModel.getContent() != null) { if (templateModel.getContent() != null) {
templateVoModel.setContentStr(templateModel.getContent().toString()); templateVoModel.setContentStr(templateModel.getContent().toString());
...@@ -208,5 +214,47 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa ...@@ -208,5 +214,47 @@ public class TemplateService extends BaseService<TemplateModel, Template, Templa
return pictureModels; return pictureModels;
} }
public TemplateModel createByModel(TemplateModel templateModel) {
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
Long sequenceNbr = new Random().nextLong();
String loginId = RequestContext.getLoginId();
templateModel.setSequenceNbr(sequenceNbr);
JSONObject content= templateModel.getContent();
String sql="INSERT INTO studio_template (SEQUENCE_NBR,DISPLAY_NAME,COMPONENT_KEY,COMPONENT_NAME," +
"CONTENT,CATEGORY_SEQ,THUMB,SKETCH,IS_DELETE,OPEN_STATUS,REC_DATE,REC_USER_ID) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";
Object [] params={sequenceNbr,templateModel.getDisplayName(),templateModel.getComKey(),templateModel.getComName(),
content==null?null:content.toString(),templateModel.getCateSeq(),templateModel.getThumb(),templateModel.getSketch(),
templateModel.getIsDel(),templateModel.getOpenStatus(),new Date(),loginId};
jdbcTemplate.update(sql,params);
return templateModel;
}
public TemplateModel updateByModel(TemplateModel templateModel) {
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="UPDATE studio_template SET DISPLAY_NAME=?,COMPONENT_KEY=?,CATEGORY_SEQ=?,CONTENT=?,OPEN_STATUS=?," +
" THUMB=?,SKETCH=?,COMPONENT_NAME=? WHERE SEQUENCE_NBR=?";
Object[]params={templateModel.getDisplayName(),templateModel.getComKey(),templateModel.getCateSeq(),templateModel.getContent().toString(),
templateModel.getOpenStatus(),templateModel.getThumb(),templateModel.getSketch(),templateModel.getComName(),templateModel.getSequenceNbr()};
jdbcTemplate.update(sql,params);
return templateModel;
}
public Boolean removeBySequenceNbr(Long sequenceNbr) {
JdbcTemplate jdbcTemplate=ToolUtils.getJdbcTemplate();
String sql="UPDATE studio_template SET IS_DELETE=? WHERE SEQUENCE_NBR=?";
try {
jdbcTemplate.update(sql,new Object[]{ToolUtils.IS_DELETE,sequenceNbr});
return true;
}catch (Exception e){
e.printStackTrace();
return false;
}
}
public Boolean removeBySequenceNbrs(List<String> asList) {
for (String sequenceNbr:asList) {
removeBySequenceNbr(Long.valueOf(sequenceNbr));
}
return true;
}
} }
package com.yeejoin.amos.api.tool.face.service; package com.yeejoin.amos.api.tool.face.service;
// import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.ToolLibraryDetailModel; import com.yeejoin.amos.api.tool.face.model.ToolLibraryDetailModel;
import com.yeejoin.amos.api.tool.face.model.ToolLibraryModel; import com.yeejoin.amos.api.tool.face.model.ToolLibraryModel;
......
...@@ -5,9 +5,14 @@ import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel; ...@@ -5,9 +5,14 @@ import com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel;
import com.yeejoin.amos.api.tool.face.model.VisualDesignerModel; import com.yeejoin.amos.api.tool.face.model.VisualDesignerModel;
import com.yeejoin.amos.api.tool.face.orm.dao.VisualDesignerMapper; import com.yeejoin.amos.api.tool.face.orm.dao.VisualDesignerMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.VisualDesigner; import com.yeejoin.amos.api.tool.face.orm.entity.VisualDesigner;
import com.yeejoin.amos.api.tool.utils.ToolUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.sql.DataSource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -37,8 +42,9 @@ public class VisualDesignerService extends BaseService<VisualDesignerModel, Visu ...@@ -37,8 +42,9 @@ public class VisualDesignerService extends BaseService<VisualDesignerModel, Visu
} }
return nodes; return nodes;
} }
public Long selectSequenceNbr(String designerType) {
JdbcTemplate jdbcTemplate= ToolUtils.getJdbcTemplate();
String sql="SELECT SEQUENCE_NBR FROM studio_visual_designer WHERE DESIGNER_TYPE=?";
return jdbcTemplate.queryForObject(sql,new String[]{designerType},Long.class);
}
} }
\ No newline at end of file
...@@ -104,18 +104,17 @@ public class DatabaseUtils { ...@@ -104,18 +104,17 @@ public class DatabaseUtils {
String dbUrl=""; String dbUrl="";
String backUpUrl=""; String backUpUrl="";
DatabaseConnectionModel changeModel = databaseConnectionService.queryBySeq(model.getSequenceNbr()); DatabaseConnectionModel changeModel = databaseConnectionService.queryBySeq(model.getSequenceNbr());
if (!model.getDbName().equals(changeModel.getDbName())){ if (changeModel!=null &&!model.getDbName().equals(changeModel.getDbName())){
dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" + model.getDbName(); dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" + model.getDbName();
backUpUrl=dbUrl; backUpUrl=dbUrl;
}else { }else {
dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" + dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" +
model.getPrefix() + model.getDbName() + model.getSuffix(); model.getPrefix() + model.getDbName() + model.getSuffix();
} }
Connection connection=DriverManager.getConnection(dbUrl, model.getUserName(), AESUtils.decrypt(model.getPassWord())); Connection connection=DriverManager.getConnection(dbUrl, model.getUserName(), AESUtils.decrypt(model.getPassWord()));
return connection; return connection;
// 解密pwd,并连接 // 解密pwd,并连接
// return connection==null?DriverManager.getConnection(backUpUrl, model.getUserName(), AESUtils.decrypt(model.getPassWord())):connection; // return connection==null?DriverManager.getConnection(backUpUrl, model.getUserName(), AESUtils.decrypt(model.getPassWord())):connection;
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
// 处理数据库驱动加载异常 // 处理数据库驱动加载异常
e.printStackTrace(); e.printStackTrace();
...@@ -256,7 +255,6 @@ public class DatabaseUtils { ...@@ -256,7 +255,6 @@ 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"))
columns.add(column); columns.add(column);
} }
return columns; return columns;
......
package com.yeejoin.amos.api.tool.utils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
@Configuration
public class ToolUtils {
public static final Boolean IS_DELETE=true;
public static final Boolean IS_NOT_DELETE=false;
private static JdbcTemplate jdbcTemplate=new JdbcTemplate();
@Autowired
@Qualifier("dataSource-amos-studio")
private DataSource dataSource;
@Autowired
public void ToolUtils(){
jdbcTemplate.setDataSource(dataSource);
}
public static JdbcTemplate getJdbcTemplate(){
return jdbcTemplate;
}
}
...@@ -12,7 +12,7 @@ spring.datasource.hikari.max-lifetime=1800000 ...@@ -12,7 +12,7 @@ spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000 spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1 spring.datasource.hikari.connection-test-query=SELECT 1
spring.second-datasource.jdbc-url=jdbc:mysql://172.16.3.18:3306/amos_studio_delete?allowMultiQueries=true spring.second-datasource.jdbc-url=jdbc:mysql://172.16.3.18:3306/amos_studio?allowMultiQueries=true
spring.second-datasource.username=root spring.second-datasource.username=root
spring.second-datasource.password=Yeejoin@2020 spring.second-datasource.password=Yeejoin@2020
spring.second-datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.second-datasource.driver-class-name=com.mysql.cj.jdbc.Driver
......
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