From 298fabfdecca5dccd20129a59090003daa00f44d Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 18 九月 2020 17:38:23 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue --- ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java | 10 +++ ruoyi-ui/src/views/tool/gen/index.vue | 22 +++++++ ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 2 ruoyi-ui/src/views/system/user/index.vue | 2 pom.xml | 3 ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml | 7 ++ ruoyi-ui/src/assets/styles/ruoyi.scss | 5 + ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java | 14 ++++ ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java | 33 ++++++++++ ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 8 +- ruoyi-ui/src/api/tool/gen.js | 7 ++ ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java | 7 ++ ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml | 2 13 files changed, 110 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index de0bc2d..d03c5d6 100644 --- a/pom.xml +++ b/pom.xml @@ -17,6 +17,7 @@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> + <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version> <mybatis.boot.version>1.3.2</mybatis.boot.version> <druid.version>1.1.22</druid.version> <bitwalker.version>1.19</bitwalker.version> @@ -42,7 +43,7 @@ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> - <version>2.1.1.RELEASE</version> + <version>2.1.17.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index 43e52da..6d57f22 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -243,19 +243,19 @@ val = Convert.toStr(val); } } - else if ((Integer.TYPE == fieldType) || (Integer.class == fieldType)) + else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) { val = Convert.toInt(val); } - else if ((Long.TYPE == fieldType) || (Long.class == fieldType)) + else if (Long.TYPE == fieldType || Long.class == fieldType) { val = Convert.toLong(val); } - else if ((Double.TYPE == fieldType) || (Double.class == fieldType)) + else if (Double.TYPE == fieldType || Double.class == fieldType) { val = Convert.toDouble(val); } - else if ((Float.TYPE == fieldType) || (Float.class == fieldType)) + else if (Float.TYPE == fieldType || Float.class == fieldType) { val = Convert.toFloat(val); } diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java index d1dc739..548b4b5 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java @@ -165,13 +165,25 @@ @PreAuthorize("@ss.hasPermi('tool:gen:code')") @Log(title = "浠g爜鐢熸垚", businessType = BusinessType.GENCODE) @GetMapping("/genCode/{tableName}") - public AjaxResult genCode(HttpServletResponse response, @PathVariable("tableName") String tableName) + public AjaxResult genCode(@PathVariable("tableName") String tableName) { genTableService.generatorCode(tableName); return AjaxResult.success(); } /** + * 鍚屾鏁版嵁搴� + */ + @PreAuthorize("@ss.hasPermi('tool:gen:edit')") + @Log(title = "浠g爜鐢熸垚", businessType = BusinessType.UPDATE) + @GetMapping("/synchDb/{tableName}") + public AjaxResult synchDb(@PathVariable("tableName") String tableName) + { + genTableService.synchDb(tableName); + return AjaxResult.success(); + } + + /** * 鎵归噺鐢熸垚浠g爜 */ @PreAuthorize("@ss.hasPermi('tool:gen:code')") diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java index 60ef08e..951e166 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java @@ -17,7 +17,7 @@ * @return 鍒椾俊鎭� */ public List<GenTableColumn> selectDbTableColumnsByName(String tableName); - + /** * 鏌ヨ涓氬姟瀛楁鍒楄〃 * @@ -43,6 +43,14 @@ public int updateGenTableColumn(GenTableColumn genTableColumn); /** + * 鍒犻櫎涓氬姟瀛楁 + * + * @param genTableColumns 鍒楁暟鎹� + * @return 缁撴灉 + */ + public int deleteGenTableColumns(List<GenTableColumn> genTableColumns); + + /** * 鎵归噺鍒犻櫎涓氬姟瀛楁 * * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java index 3d521fa..91f7418 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java @@ -7,6 +7,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import org.apache.commons.io.IOUtils; @@ -224,7 +225,6 @@ * 鐢熸垚浠g爜锛堣嚜瀹氫箟璺緞锛� * * @param tableName 琛ㄥ悕绉� - * @return 鏁版嵁 */ @Override public void generatorCode(String tableName) @@ -263,6 +263,37 @@ } /** + * 鍚屾鏁版嵁搴� + * + * @param tableName 琛ㄥ悕绉� + */ + @Override + @Transactional + public void synchDb(String tableName) + { + GenTable table = genTableMapper.selectGenTableByName(tableName); + List<GenTableColumn> tableColumns = table.getColumns(); + List<String> tableColumnNames = tableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); + + List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); + List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); + + dbTableColumns.forEach(column -> { + if (!tableColumnNames.contains(column.getColumnName())) + { + GenUtils.initColumnField(column, table); + genTableColumnMapper.insertGenTableColumn(column); + } + }); + + List<GenTableColumn> delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList()); + if (StringUtils.isNotEmpty(delColumns)) + { + genTableColumnMapper.deleteGenTableColumns(delColumns); + } + } + + /** * 鎵归噺鐢熸垚浠g爜锛堜笅杞芥柟寮忥級 * * @param tableNames 琛ㄦ暟缁� diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java index e017d35..0b2377a 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java @@ -91,6 +91,13 @@ public void generatorCode(String tableName); /** + * 鍚屾鏁版嵁搴� + * + * @param tableName 琛ㄥ悕绉� + */ + public void synchDb(String tableName); + + /** * 鎵归噺鐢熸垚浠g爜锛堜笅杞芥柟寮忥級 * * @param tableNames 琛ㄦ暟缁� diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml index 2811759..5fa790f 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml @@ -117,4 +117,11 @@ </foreach> </delete> + <delete id="deleteGenTableColumns"> + delete from gen_table_column where column_id in + <foreach collection="list" item="item" open="(" separator="," close=")"> + #{item.columnId} + </foreach> + </delete> + </mapper> \ No newline at end of file diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml index fc41807..f4b8aef 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -186,4 +186,4 @@ </foreach> </delete> -</mapper> \ No newline at end of file +</mapper> \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index a1c926a..fe1fc2a 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -75,7 +75,7 @@ AND date_format(u.create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') </if> <if test="deptId != null and deptId != 0"> - AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE FIND_IN_SET (#{deptId},ancestors) )) + AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) )) </if> <!-- 鏁版嵁鑼冨洿杩囨护 --> ${params.dataScope} diff --git a/ruoyi-ui/src/api/tool/gen.js b/ruoyi-ui/src/api/tool/gen.js index ed8c2e4..4506927 100644 --- a/ruoyi-ui/src/api/tool/gen.js +++ b/ruoyi-ui/src/api/tool/gen.js @@ -67,3 +67,10 @@ }) } +// 鍚屾鏁版嵁搴� +export function synchDb(tableName) { + return request({ + url: '/tool/gen/synchDb/' + tableName, + method: 'get' + }) +} diff --git a/ruoyi-ui/src/assets/styles/ruoyi.scss b/ruoyi-ui/src/assets/styles/ruoyi.scss index 0f308aa..e6a81ea 100644 --- a/ruoyi-ui/src/assets/styles/ruoyi.scss +++ b/ruoyi-ui/src/assets/styles/ruoyi.scss @@ -67,6 +67,11 @@ font-size: 13px; } } + .el-table__body-wrapper { + .el-button [class*="el-icon-"] + span { + margin-left: 1px; + } + } } /** 琛ㄥ崟甯冨眬 **/ diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue index 493d510..0b087de 100644 --- a/ruoyi-ui/src/views/system/user/index.vue +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -69,7 +69,7 @@ <span>{{ parseTime(scope.row.createTime) }}</span> </template> </el-table-column> - <el-table-column label="鎿嶄綔" align="center" width="180" class-name="small-padding fixed-width"> + <el-table-column label="鎿嶄綔" align="center" width="160" class-name="small-padding fixed-width"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">淇敼</el-button> <el-button v-if="scope.row.userId !== 1" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">鍒犻櫎</el-button> diff --git a/ruoyi-ui/src/views/tool/gen/index.vue b/ruoyi-ui/src/views/tool/gen/index.vue index f003a35..7e95bfa 100644 --- a/ruoyi-ui/src/views/tool/gen/index.vue +++ b/ruoyi-ui/src/views/tool/gen/index.vue @@ -135,6 +135,13 @@ <el-button type="text" size="small" + icon="el-icon-refresh" + @click="handleSynchDb(scope.row)" + v-hasPermi="['tool:gen:edit']" + >鍚屾</el-button> + <el-button + type="text" + size="small" icon="el-icon-download" @click="handleGenTable(scope.row)" v-hasPermi="['tool:gen:code']" @@ -167,7 +174,7 @@ </template> <script> -import { listTable, previewTable, delTable, genCode } from "@/api/tool/gen"; +import { listTable, previewTable, delTable, genCode, synchDb } from "@/api/tool/gen"; import importTable from "./importTable"; import { downLoadZip } from "@/utils/zipdownload"; export default { @@ -252,6 +259,19 @@ downLoadZip("/tool/gen/batchGenCode?tables=" + tableNames, "ruoyi"); } }, + /** 鍚屾鏁版嵁搴撴搷浣� */ + handleSynchDb(row) { + const tableName = row.tableName; + this.$confirm('纭瑕佸己鍒跺悓姝�"' + tableName + '"琛ㄧ粨鏋勫悧锛�', "璀﹀憡", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(function() { + return synchDb(tableName); + }).then(() => { + this.msgSuccess("鍚屾鎴愬姛"); + }).catch(function() {}); + }, /** 鎵撳紑瀵煎叆琛ㄥ脊绐� */ openImportTable() { this.$refs.import.show(); -- Gitblit v1.9.3