疯狂的狮子li
2020-09-18 298fabfdecca5dccd20129a59090003daa00f44d
Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue

 Conflicts:
 ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
 ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java
 ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
 ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
 ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml
 ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
 ruoyi-ui/src/api/tool/gen.js
 ruoyi-ui/src/assets/styles/ruoyi.scss
 ruoyi-ui/src/views/system/user/index.vue
 ruoyi-ui/src/views/tool/gen/index.vue
已修改13个文件
122 ■■■■■ 文件已修改
pom.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/tool/gen.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/assets/styles/ruoyi.scss 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/system/user/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/tool/gen/index.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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);
                    }
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
@@ -165,13 +165,25 @@
    @PreAuthorize("@ss.hasPermi('tool:gen:code')")
    @Log(title = "代码生成", 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 = "代码生成", businessType = BusinessType.UPDATE)
    @GetMapping("/synchDb/{tableName}")
    public AjaxResult synchDb(@PathVariable("tableName") String tableName)
    {
        genTableService.synchDb(tableName);
        return AjaxResult.success();
    }
    /**
     * 批量生成代码
     */
    @PreAuthorize("@ss.hasPermi('tool:gen:code')")
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
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 @@
     * 生成代码(自定义路径)
     * 
     * @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);
        }
    }
    /**
     * 批量生成代码(下载方式)
     * 
     * @param tableNames 表数组
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);
    /**
     * 批量生成代码(下载方式)
     * 
     * @param tableNames 表数组
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>
ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
@@ -186,4 +186,4 @@
        </foreach>
    </delete>
</mapper>
</mapper>
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -75,7 +75,7 @@
            AND date_format(u.create_time,'%y%m%d') &lt;= 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}
ruoyi-ui/src/api/tool/gen.js
@@ -67,3 +67,10 @@
  })
}
// 同步数据库
export function synchDb(tableName) {
  return request({
    url: '/tool/gen/synchDb/' + tableName,
    method: 'get'
  })
}
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;
        }
    }
}
/** 表单布局 **/
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>
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();