From 8bc2ba9e1cbc8bc6f4c5e3476ca00ad1886a32e9 Mon Sep 17 00:00:00 2001 From: clay <20932067@zju.edu.cn> Date: Wed, 21 Jul 2021 01:27:03 +0800 Subject: [PATCH] =?UTF-8?q?top=E7=BB=B4=E6=8A=A4=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/generator.yml | 2 +- .../controller/TopSearchTableController.java | 151 ++++++++++ .../generator/dao/SearchTableRoleDao.java | 70 +++++ .../ebts/generator/dao/TopSearchTableDao.java | 97 +++++++ .../generator/entity/SearchTableRole.java | 61 ++++ .../generator/entity/TopSearchColumn.java | 111 ++++++++ .../ebts/generator/entity/TopSearchTable.java | 91 ++++++ .../service/TopSearchTableService.java | 67 +++++ .../impl/TopSearchTableServiceImpl.java | 263 ++++++++++++++++++ .../mapper/generator/GenTableMapper.xml | 17 +- .../generator/SearchTableRoleMapper.xml | 65 +++++ .../mapper/generator/TopSearchTableMapper.xml | 127 +++++++++ .../src/main/resources/vm/vue/index.vue.vm | 2 +- 13 files changed, 1115 insertions(+), 9 deletions(-) create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/controller/TopSearchTableController.java create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/dao/SearchTableRoleDao.java create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/dao/TopSearchTableDao.java create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/entity/SearchTableRole.java create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/entity/TopSearchColumn.java create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/entity/TopSearchTable.java create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/service/TopSearchTableService.java create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/service/impl/TopSearchTableServiceImpl.java create mode 100644 ebts/ebts-generator/src/main/resources/mapper/generator/SearchTableRoleMapper.xml create mode 100644 ebts/ebts-generator/src/main/resources/mapper/generator/TopSearchTableMapper.xml diff --git a/ebts/ebts-admin/src/main/resources/generator.yml b/ebts/ebts-admin/src/main/resources/generator.yml index 1723c7c..82bc70b 100644 --- a/ebts/ebts-admin/src/main/resources/generator.yml +++ b/ebts/ebts-admin/src/main/resources/generator.yml @@ -7,4 +7,4 @@ gen: # 自动去除表前缀,默认是false autoRemovePre: true # 表前缀(生成类名不会包含表前缀,多个用逗号分隔) - tablePrefix: sys_,test_ \ No newline at end of file + tablePrefix: sys_,test_,gen_ \ No newline at end of file diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/controller/TopSearchTableController.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/controller/TopSearchTableController.java new file mode 100644 index 0000000..7312dfd --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/controller/TopSearchTableController.java @@ -0,0 +1,151 @@ +package com.ebts.generator.controller; + +import java.io.Serializable; +import java.util.List; + + +import com.ebts.common.core.controller.EBTSController; +import com.ebts.common.core.text.Convert; +import com.ebts.common.utils.ServerResult; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ebts.common.annotation.Log; +import com.ebts.common.core.entity.AjaxResult; +import com.ebts.common.enums.BusinessType; +import com.ebts.generator.entity.TopSearchTable; +import com.ebts.generator.service.TopSearchTableService; +import com.ebts.common.utils.poi.ExcelUtil; + +/** + * top万能查询主Controller + * + * @author clay + * @date 2021-07-20 + */ + +@RestController +@RequestMapping("/tool/table") +public class TopSearchTableController extends EBTSController { + protected final Logger logger = LoggerFactory.getLogger(TopSearchTableController.class); + + @Autowired + private TopSearchTableService topSearchTableService; + + /** + * 查询top万能查询主列表 + */ + @PreAuthorize("@ebts.hasPermi('tool:table:list')") + @PostMapping("/list") + public Serializable list(@Validated @RequestBody TopSearchTable topSearchTable) { + startPage(topSearchTable.getPageInfo()); + ServerResult> genServerResult = topSearchTableService.selectTopSearchTableList(topSearchTable); + if (genServerResult.isStart()) { + return getDataTable(genServerResult.getData()); + } else { + return AjaxResult.info(genServerResult.getMsg()); + } + } + + /** + * 导出top万能查询主列表 + */ + @PreAuthorize("@ebts.hasPermi('tool:table:export')") + @Log(title = "top万能查询主", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public AjaxResult export(@Validated @RequestBody TopSearchTable topSearchTable) { + ServerResult> genServerResult = topSearchTableService.selectTopSearchTableList(topSearchTable); + ExcelUtil util = new ExcelUtil(TopSearchTable. class); + if (genServerResult.isStart()) { + return util.exportExcel(genServerResult.getData(), "table"); + } else { + return AjaxResult.error(genServerResult.getMsg()); + } + } + + /** + * 获取top万能查询主详细信息 + */ + @PreAuthorize("@ebts.hasPermi('tool:table:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + ServerResult genServerResult = topSearchTableService.selectTopSearchTableById(id); + if (genServerResult.isStart()) { + return AjaxResult.success(genServerResult.getData()); + } else { + return AjaxResult.info(genServerResult.getMsg()); + } + } + + /** + * 新增top万能查询主 + */ + @PreAuthorize("@ebts.hasPermi('tool:table:add')") + @Log(title = "top万能查询主", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody TopSearchTable topSearchTable) { + ServerResult genServerResult = topSearchTableService.insertTopSearchTable(topSearchTable); + if (genServerResult.isStart()) { + return AjaxResult.success(); + } else { + return AjaxResult.error(genServerResult.getMsg()); + } + } + + /** + * 修改top万能查询主 + */ + @PreAuthorize("@ebts.hasPermi('tool:table:edit')") + @Log(title = "top万能查询主", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody TopSearchTable topSearchTable) { + ServerResult genServerResult = topSearchTableService.updateTopSearchTable(topSearchTable); + if (genServerResult.isStart()) { + return AjaxResult.success(); + } else { + return AjaxResult.error(genServerResult.getMsg()); + } + } + + /** + * 删除top万能查询主 + */ + @PreAuthorize("@ebts.hasPermi('tool:table:remove')") + @Log(title = "top万能查询主", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + if (ids.length<0){ + return AjaxResult.error("id不能为空!"); + } + ServerResult genServerResult = topSearchTableService.deleteTopSearchTableByIds(ids); + if (genServerResult.isStart()) { + return AjaxResult.success(); + } else { + return AjaxResult.error(genServerResult.getMsg()); + } + } + /** + * 导入表结构(保存) + */ + @PreAuthorize("@ebts.hasPermi('tool:gen:list')") + @Log(title = "代码生成", businessType = BusinessType.IMPORT) + @PostMapping("/importTopTable") + public AjaxResult importTableSave(String tables) { + String[] tableNames = Convert.toStrArray(tables); + // 查询表信息 + + List tableList = topSearchTableService.selectDbTableListByNames(tableNames); + topSearchTableService.importGenTable(tableList); + return AjaxResult.success(); + } +} diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/dao/SearchTableRoleDao.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/dao/SearchTableRoleDao.java new file mode 100644 index 0000000..aef75d4 --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/dao/SearchTableRoleDao.java @@ -0,0 +1,70 @@ +package com.ebts.generator.dao; + +/** + * @author: Clay + * @date: 2021/7/21 0:44 + * @description:SearchTableRoleDao + * @email: clay@hchyun.com + */ + +import java.util.List; + +import com.ebts.generator.entity.SearchTableRole; + +/** + * top万能查询角色关系Mapper接口 + * + * @author clay + * @date 2021-07-21 + */ +public interface SearchTableRoleDao { + /** + * 查询top万能查询角色关系 + * + * @param searchTableId top万能查询角色关系ID + * @return top万能查询角色关系 + */ + SearchTableRole selectSearchTableRoleById(Long searchTableId); + + /** + * 查询top万能查询角色关系列表 + * + * @param searchTableRole top万能查询角色关系 + * @return top万能查询角色关系集合 + */ + List selectSearchTableRoleList(SearchTableRole searchTableRole); + + /** + * 新增top万能查询角色关系 + * + * @param searchTableRole top万能查询角色关系 + * @return 结果 + */ + int insertSearchTableRole(SearchTableRole searchTableRole); + + /** + * 修改top万能查询角色关系 + * + * @param searchTableRole top万能查询角色关系 + * @return 结果 + */ + int updateSearchTableRole(SearchTableRole searchTableRole); + + /** + * 删除top万能查询角色关系 + * + * @param searchTableId top万能查询角色关系ID + * @return 结果 + */ + int deleteSearchTableRoleById(Long searchTableId); + + /** + * 批量删除top万能查询角色关系 + * + * @param searchTableIds 需要删除的数据ID + * @return 结果 + */ + int deleteSearchTableRoleByIds(Long[] searchTableIds); + + int batchSearchTableRole(List roleList); +} diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/dao/TopSearchTableDao.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/dao/TopSearchTableDao.java new file mode 100644 index 0000000..a4b2492 --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/dao/TopSearchTableDao.java @@ -0,0 +1,97 @@ +package com.ebts.generator.dao; + +import java.util.List; +import com.ebts.generator.entity.TopSearchTable; +import com.ebts.generator.entity.TopSearchColumn; + +/** + * top万能查询主Mapper接口 + * + * @author clay + * @date 2021-07-20 + */ +public interface TopSearchTableDao { + /** + * 查询top万能查询主 + * + * @param id top万能查询主ID + * @return top万能查询主 + */ + TopSearchTable selectTopSearchTableById(Long id); + + /** + * 查询top万能查询主列表 + * + * @param topSearchTable top万能查询主 + * @return top万能查询主集合 + */ + List selectTopSearchTableList(TopSearchTable topSearchTable); + + /** + * 查询据库列表 + * + * @param tableNames 表名称组 + * @return 数据库表集合 + */ + List selectDbTableListByNames(String[] tableNames); + List selectDbTableColumnsByName(String tableName); + + + + /** + * 新增top万能查询主 + * + * @param topSearchTable top万能查询主 + * @return 结果 + */ + int insertTopSearchTable(TopSearchTable topSearchTable); + + /** + * 修改top万能查询主 + * + * @param topSearchTable top万能查询主 + * @return 结果 + */ + int updateTopSearchTable(TopSearchTable topSearchTable); + + /** + * 删除top万能查询主 + * + * @param id top万能查询主ID + * @return 结果 + */ + int deleteTopSearchTableById(Long id); + + /** + * 批量删除top万能查询主 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteTopSearchTableByIds(Long[] ids); + + /** + * 批量删除top万能查询字段 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + int deleteTopSearchColumnBySearchTableIds(Long[] ids); + + /** + * 批量新增top万能查询字段 + * + * @param topSearchColumnList top万能查询字段列表 + * @return 结果 + */ + int batchTopSearchColumn(List topSearchColumnList); + + + /** + * 通过top万能查询主ID删除top万能查询字段信息 + * + * @param id top万能查询主ID + * @return 结果 + */ + int deleteTopSearchColumnBySearchTableId(Long id); +} diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/SearchTableRole.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/SearchTableRole.java new file mode 100644 index 0000000..e1dc22c --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/SearchTableRole.java @@ -0,0 +1,61 @@ +package com.ebts.generator.entity; + +/** + * @author: Clay + * @date: 2021/7/21 0:43 + * @description:SearchTableRole + * @email: clay@hchyun.com + */ +import com.ebts.common.core.entity.BaseEntity; +import com.ebts.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * top万能查询角色关系对象 gen_search_table_role + * + * @author clay + * @date 2021-07-21 + */ +public class SearchTableRole extends BaseEntity{ + + /** 表格id */ + private Long searchTableId; + + /** 角色id */ + private Long roleId; + + public SearchTableRole(Long searchTableId, Long roleId) { + this.searchTableId = searchTableId; + this.roleId = roleId; + } + + public SearchTableRole() { + + } + + public void setSearchTableId(Long searchTableId){ + this.searchTableId = searchTableId; + } + + public Long getSearchTableId(){ + return searchTableId; + } + public void setRoleId(Long roleId){ + this.roleId = roleId; + } + + public Long getRoleId(){ + return roleId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("searchTableId", getSearchTableId()) + .append("roleId", getRoleId()) + .toString(); + } +} \ No newline at end of file diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/TopSearchColumn.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/TopSearchColumn.java new file mode 100644 index 0000000..66979eb --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/TopSearchColumn.java @@ -0,0 +1,111 @@ +package com.ebts.generator.entity; + +import com.ebts.common.annotation.Excel; +import com.ebts.common.core.entity.BaseEntity; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + +/** + * top万能查询字段对象 gen_top_search_column + * + * @author clay + * @date 2021-07-20 + */ +public class TopSearchColumn extends BaseEntity{ + + /** 主键id */ + private Long id; + + /** top万能查询表格主键id */ + @Excel(name = "top万能查询表格主键id") + private Long searchTableId; + + /** 列名称 */ + @Excel(name = "列名称") + private String columnName; + + /** 列描述 */ + @Excel(name = "列描述") + private String columnComment; + + /** 列类型 */ + @Excel(name = "列类型") + private String columnType; + + /** 是否使用 */ + @Excel(name = "是否使用") + private Integer isUse; + private Integer isPk; + private Integer sort; + + public Integer getSort() { + return sort; + } + + public Integer getIsPk() { + return isPk; + } + + public void setIsPk(Integer isPk) { + this.isPk = isPk; + } + + public void setId(Long id){ + this.id = id; + } + + public Long getId(){ + return id; + } + public void setSearchTableId(Long searchTableId){ + this.searchTableId = searchTableId; + } + + public Long getSearchTableId(){ + return searchTableId; + } + public void setColumnName(String columnName){ + this.columnName = columnName; + } + + public String getColumnName(){ + return columnName; + } + public void setColumnComment(String columnComment){ + this.columnComment = columnComment; + } + + public String getColumnComment(){ + return columnComment; + } + public void setColumnType(String columnType){ + this.columnType = columnType; + } + + public String getColumnType(){ + return columnType; + } + public void setIsUse(Integer isUse){ + this.isUse = isUse; + } + + public Integer getIsUse(){ + return isUse; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("searchTableId", getSearchTableId()) + .append("columnName", getColumnName()) + .append("columnComment", getColumnComment()) + .append("columnType", getColumnType()) + .append("isUse", getIsUse()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/TopSearchTable.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/TopSearchTable.java new file mode 100644 index 0000000..48d48b8 --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/TopSearchTable.java @@ -0,0 +1,91 @@ +package com.ebts.generator.entity; + +import java.util.List; +import com.ebts.common.core.entity.BaseEntity; +import com.ebts.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * top万能查询主对象 gen_top_search_table + * + * @author clay + * @date 2021-07-20 + */ +@ApiModel("top万能查询主") +public class TopSearchTable extends BaseEntity{ + + /** 主键id */ + @ApiModelProperty("主键id") + private Long id; + + /** 表名 */ + @Excel(name = "表名") + @ApiModelProperty("表名") + private String tableName; + + /** 表描述 */ + @Excel(name = "表描述") + @ApiModelProperty("表描述") + private String tableComment; + + /** top万能查询字段信息 */ + @ApiModelProperty("top万能查询字段信息") + private List topSearchColumnList; + + private Long[] roleIds; + + public Long[] getRoleIds() { + return roleIds; + } + + public void setRoleIds(Long[] roleIds) { + this.roleIds = roleIds; + } + + public void setId(Long id){ + this.id = id; + } + + public Long getId(){ + return id; + } + public void setTableName(String tableName){ + this.tableName = tableName; + } + + public String getTableName(){ + return tableName; + } + public void setTableComment(String tableComment){ + this.tableComment = tableComment; + } + + public String getTableComment(){ + return tableComment; + } + + public List getTopSearchColumnList(){ + return topSearchColumnList; + } + + public void setTopSearchColumnList(List topSearchColumnList){ + this.topSearchColumnList = topSearchColumnList; + } + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("tableName", getTableName()) + .append("tableComment", getTableComment()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("topSearchColumnList", getTopSearchColumnList()) + .toString(); + } +} diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/service/TopSearchTableService.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/service/TopSearchTableService.java new file mode 100644 index 0000000..1923f1e --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/service/TopSearchTableService.java @@ -0,0 +1,67 @@ +package com.ebts.generator.service; + +import java.util.List; + +import com.ebts.common.utils.ServerResult; +import com.ebts.generator.entity.TopSearchTable; + +/** + * top万能查询主Service接口 + * + * @author clay + * @date 2021-07-20 + */ +public interface TopSearchTableService +{ + /** + * 查询top万能查询主 + * + * @param id top万能查询主ID + * @return top万能查询主 + */ + ServerResult selectTopSearchTableById(Long id); + + /** + * 查询top万能查询主列表 + * + * @param topSearchTable top万能查询主 + * @return top万能查询主集合 + */ + ServerResult> selectTopSearchTableList(TopSearchTable topSearchTable); + + /** + * 新增top万能查询主 + * + * @param topSearchTable top万能查询主 + * @return 结果 + */ + ServerResult insertTopSearchTable(TopSearchTable topSearchTable); + + /** + * 修改top万能查询主 + * + * @param topSearchTable top万能查询主 + * @return 结果 + */ + ServerResult updateTopSearchTable(TopSearchTable topSearchTable); + + List selectDbTableListByNames(String[] tableNames); + + void importGenTable(List tableList); + + /** + * 批量删除top万能查询主 + * + * @param ids 需要删除的top万能查询主ID + * @return 结果 + */ + ServerResult deleteTopSearchTableByIds(Long[] ids); + + /** + * 删除top万能查询主信息 + * + * @param id top万能查询主ID + * @return 结果 + */ + ServerResult deleteTopSearchTableById(Long id); +} diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/service/impl/TopSearchTableServiceImpl.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/service/impl/TopSearchTableServiceImpl.java new file mode 100644 index 0000000..c0fe3a7 --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/service/impl/TopSearchTableServiceImpl.java @@ -0,0 +1,263 @@ +package com.ebts.generator.service.impl; + +import java.util.List; + +import com.ebts.common.constant.ReturnConstants; +import com.ebts.common.exception.EbtsException; +import com.ebts.common.utils.SecurityUtils; +import com.ebts.common.utils.DateUtils; +import com.ebts.common.utils.SecurityUtils; +import com.ebts.common.utils.DateUtils; +import com.ebts.common.utils.ServerResult; +import com.ebts.generator.dao.SearchTableRoleDao; +import com.ebts.generator.entity.SearchTableRole; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import com.ebts.common.utils.StringUtils; +import org.springframework.transaction.annotation.Transactional; +import com.ebts.generator.entity.TopSearchColumn; +import com.ebts.generator.dao.TopSearchTableDao; +import com.ebts.generator.entity.TopSearchTable; +import com.ebts.generator.service.TopSearchTableService; + +/** + * top万能查询主Service业务层处理 + * + * @author clay + * @date 2021-07-20 + */ +@Service +public class TopSearchTableServiceImpl implements TopSearchTableService { + private Logger logger = LoggerFactory.getLogger(TopSearchTableServiceImpl.class); + + @Autowired + private TopSearchTableDao topSearchTableDao; + @Autowired + private SearchTableRoleDao searchTableRoleDao; + + /** + * 查询top万能查询主 + * + * @param id top万能查询主ID + * @return top万能查询主 + */ + @Override + public ServerResult selectTopSearchTableById(Long id) { + try { + TopSearchTable topSearchTable = topSearchTableDao.selectTopSearchTableById(id); + List roleList = searchTableRoleDao.selectSearchTableRoleList(new SearchTableRole()); + Long[] roles = new Long[roleList.size()] ; + for (int i = 0; i < roleList.size(); i++) { + roles[i] = roleList.get(i).getRoleId(); + } + topSearchTable.setRoleIds(roles); + if (topSearchTable != null){ + return new ServerResult<>(true,topSearchTable); + }else { + return new ServerResult<>(false, ReturnConstants.RESULT_EMPTY); + } + }catch (RuntimeException e){ + logger.error(e.getMessage()); + throw new EbtsException(ReturnConstants.OP_ERROR,e); + } + } + + /** + * 查询top万能查询主列表 + * + * @param topSearchTable top万能查询主 + * @return top万能查询主 + */ + @Override + public ServerResult> selectTopSearchTableList(TopSearchTable topSearchTable) { + try { + List topSearchTableList = topSearchTableDao.selectTopSearchTableList(topSearchTable); + if (topSearchTableList.size()>0){ + return new ServerResult<>(true,topSearchTableList); + }else { + return new ServerResult<>(false,ReturnConstants.RESULT_EMPTY); + } + }catch (RuntimeException e){ + logger.error(e.getMessage()); + throw new EbtsException(ReturnConstants.OP_ERROR,e); + } + } + + /** + * 新增top万能查询主 + * + * @param topSearchTable top万能查询主 + * @return 结果 + */ + @Transactional + @Override + public ServerResult insertTopSearchTable(TopSearchTable topSearchTable) { + try { + topSearchTable.setCreateBy(SecurityUtils.getUserId()); + int renewal = topSearchTableDao.insertTopSearchTable(topSearchTable); + if (insertTopSearchColumn(topSearchTable)){ + return new ServerResult<>(false,ReturnConstants.DB_EX); + } + if (renewal >0){ + return new ServerResult<>(true,renewal); + }else { + return new ServerResult<>(false,ReturnConstants.SYS_FAILL); + } + }catch (RuntimeException e){ + logger.error(e.getMessage()); + throw new EbtsException(ReturnConstants.OP_ERROR,e); + } + } + + /** + * 修改top万能查询主 + * + * @param topSearchTable top万能查询主 + * @return 结果 + */ + @Transactional + @Override + public ServerResult updateTopSearchTable(TopSearchTable topSearchTable) { + try { + topSearchTable.setUpdateBy(SecurityUtils.getUserId()); + topSearchTableDao.deleteTopSearchColumnBySearchTableId(topSearchTable.getId()); + if (insertTopSearchColumn(topSearchTable)){ + return new ServerResult<>(false,ReturnConstants.DB_EX); + } + List searchTableRoles = new ArrayList<>(); + for (Long roleId : topSearchTable.getRoleIds()) { + searchTableRoles.add(new SearchTableRole(topSearchTable.getId(),roleId)); + } + boolean renewalRole = inserTopTableRole(searchTableRoles); + + Integer renewal = topSearchTableDao.updateTopSearchTable(topSearchTable); + if (renewal >0 && renewalRole){ + return new ServerResult<>(true,renewal); + }else { + return new ServerResult<>(false,ReturnConstants.OP_ERROR); + } + }catch (RuntimeException e){ + logger.error(e.getMessage()); + throw new EbtsException(ReturnConstants.OP_ERROR,e); + } + } + + @Override + public List selectDbTableListByNames(String[] tableNames) { + try { + return topSearchTableDao.selectDbTableListByNames(tableNames); + } catch (RuntimeException e) { + logger.error(e.getMessage()); + throw new EbtsException(ReturnConstants.OP_ERROR,e); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void importGenTable(List tableList) { + try { + Long createBy = SecurityUtils.getUserId(); + for (TopSearchTable table : tableList) { + String tableName = table.getTableName(); + table.setCreateBy(createBy); + int row = topSearchTableDao.insertTopSearchTable(table); + if (row>0){ + List searchColumns = topSearchTableDao.selectDbTableColumnsByName(tableName); + for (TopSearchColumn searchColumn : searchColumns) { + searchColumn.setSearchTableId(table.getId()); + } + if (searchColumns.size() > 0) { + topSearchTableDao.batchTopSearchColumn(searchColumns); + } + } + } + }catch (RuntimeException e){ + logger.error(e.getMessage()); + throw new EbtsException("导入失败:" + e.getMessage(),e); + } + + } + + /** + * 批量删除top万能查询主 + * + * @param ids 需要删除的top万能查询主ID + * @return 结果 + */ + @Transactional + @Override + public ServerResult deleteTopSearchTableByIds(Long[] ids) { + try { + //批量删除子表数据 + topSearchTableDao.deleteTopSearchColumnBySearchTableIds(ids); + Integer renewal = topSearchTableDao.deleteTopSearchTableByIds(ids); + if (renewal >0){ + return new ServerResult<>(true,renewal); + }else { + return new ServerResult<>(false,ReturnConstants.SYS_FAILL); + } + }catch (RuntimeException e){ + logger.error(e.getMessage()); + throw new EbtsException(ReturnConstants.OP_ERROR,e); + } + } + + /** + * 删除top万能查询主信息 + * + * @param id top万能查询主ID + * @return 结果 + */ + @Override + public ServerResult deleteTopSearchTableById(Long id) { + try { + //删除子表数据 + topSearchTableDao.deleteTopSearchColumnBySearchTableId(id); + Integer renewal = topSearchTableDao.deleteTopSearchTableById(id); + if (renewal >0){ + return new ServerResult<>(true,renewal); + }else { + return new ServerResult<>(false,ReturnConstants.SYS_FAILL); + } + }catch (RuntimeException e){ + logger.error(e.getMessage()); + throw new EbtsException(ReturnConstants.OP_ERROR,e); + } + } + public boolean inserTopTableRole(List roleList){ + if (StringUtils.isNotNull(roleList)){ + Integer renewal = searchTableRoleDao.batchSearchTableRole(roleList); + if (renewal>0){ + return true; + } + } + return false; + } + + /** + * 新增top万能查询字段信息 + * + * @param topSearchTable top万能查询主对象 + */ + public boolean insertTopSearchColumn(TopSearchTable topSearchTable) { + List topSearchColumnList = topSearchTable.getTopSearchColumnList(); + Long id = topSearchTable.getId(); + if (StringUtils.isNotNull(topSearchColumnList)) { + List list = new ArrayList(); + for (TopSearchColumn topSearchColumn : topSearchColumnList){ + topSearchColumn.setSearchTableId(id); + list.add(topSearchColumn); + } + if (list.size() > 0) { + Integer renewal = topSearchTableDao.batchTopSearchColumn(list); + if (renewal>0){ + return false; + } + } + } + return true; + } +} diff --git a/ebts/ebts-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ebts/ebts-generator/src/main/resources/mapper/generator/GenTableMapper.xml index 4c5b087..1537d41 100644 --- a/ebts/ebts-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ebts/ebts-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -81,11 +81,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + - + select table_name, table_comment, create_time, update_time from information_schema.tables - where table_comment ]]> '' and table_schema = (select database()) - and table_name = #{tableName} + where table_comment ]]> '' AND table_schema = (select database()) + AND table_name = #{tableName} diff --git a/ebts/ebts-generator/src/main/resources/mapper/generator/SearchTableRoleMapper.xml b/ebts/ebts-generator/src/main/resources/mapper/generator/SearchTableRoleMapper.xml new file mode 100644 index 0000000..661a8df --- /dev/null +++ b/ebts/ebts-generator/src/main/resources/mapper/generator/SearchTableRoleMapper.xml @@ -0,0 +1,65 @@ + + + + + + + + + + select search_table_id, role_id from gen_search_table_role + + + + + + + + + insert into gen_search_table_role + + search_table_id, + role_id, + + + #{searchTableId}, + #{roleId}, + + + + + update gen_search_table_role + + role_id = #{roleId}, + + where search_table_id = #{searchTableId} + + + + delete from gen_search_table_role where search_table_id = #{searchTableId} + + + + delete from gen_search_table_role where search_table_id in + + #{searchTableId} + + + + insert into gen_search_table_role (search_table_id, role_id) values + + (#{item.searchTableId},#{item.roleId}) + + + \ No newline at end of file diff --git a/ebts/ebts-generator/src/main/resources/mapper/generator/TopSearchTableMapper.xml b/ebts/ebts-generator/src/main/resources/mapper/generator/TopSearchTableMapper.xml new file mode 100644 index 0000000..2ec8374 --- /dev/null +++ b/ebts/ebts-generator/src/main/resources/mapper/generator/TopSearchTableMapper.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, table_name, table_comment, remark, create_by, create_time, update_by, update_time from gen_top_search_table + + + + + + + + + + + + insert into gen_top_search_table + + table_name, + table_comment, + remark, + create_by, + + + #{tableName}, + #{tableComment}, + #{remark}, + #{createBy}, + + + + + update gen_top_search_table + + table_name = #{tableName}, + table_comment = #{tableComment}, + remark = #{remark}, + create_by = #{createBy}, + + where id = #{id} + + + + delete from gen_top_search_table where id = #{id} + + + + delete from gen_top_search_table where id in + + #{id} + + + + + delete from gen_top_search_column where search_table_id in + + #{searchTableId} + + + + + delete from gen_top_search_column where search_table_id = #{searchTableId} + + + + insert into gen_top_search_column(search_table_id,column_name,column_comment,column_type,is_use,create_by,create_time,update_by,update_time) values + + (#{item.searchTableId},#{item.columnName},#{item.columnComment},#{item.columnType},#{item.isUse},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime}) + + + \ No newline at end of file diff --git a/ebts/ebts-generator/src/main/resources/vm/vue/index.vue.vm b/ebts/ebts-generator/src/main/resources/vm/vue/index.vue.vm index 1ef7391..16c32ca 100644 --- a/ebts/ebts-generator/src/main/resources/vm/vue/index.vue.vm +++ b/ebts/ebts-generator/src/main/resources/vm/vue/index.vue.vm @@ -185,7 +185,7 @@ #foreach($column in $columns)