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
......
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;
} }
} }
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