修改top表格信息权限
This commit is contained in:
parent
81728aa4c8
commit
c8a3149a62
|
|
@ -17,7 +17,7 @@ export function getQuery(id) {
|
||||||
// 查询万能查询详细
|
// 查询万能查询详细
|
||||||
export function getTables() {
|
export function getTables() {
|
||||||
return request({
|
return request({
|
||||||
url: '/top/',
|
url: '/top/table',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@
|
||||||
size="small"
|
size="small"
|
||||||
icon="el-icon-edit-outline"
|
icon="el-icon-edit-outline"
|
||||||
@click="handleEditTable(scope.row)"
|
@click="handleEditTable(scope.row)"
|
||||||
v-hasPermi="['tool:query:edit']"
|
v-hasPermi="['top:edit']"
|
||||||
>编辑</el-button>
|
>编辑</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
|
|
|
||||||
|
|
@ -48,10 +48,10 @@
|
||||||
<!--<el-button size="mini" @click="$parent.mdsLayoutHandler">MDS</el-button>-->
|
<!--<el-button size="mini" @click="$parent.mdsLayoutHandler">MDS</el-button>-->
|
||||||
<!--<el-button size="mini" @click="$parent.dagreLayoutHandler">层次</el-button>-->
|
<!--<el-button size="mini" @click="$parent.dagreLayoutHandler">层次</el-button>-->
|
||||||
<!--<el-button size="mini" @click="$parent.autoLayoutHandler">自动(old)</el-button>-->
|
<!--<el-button size="mini" @click="$parent.autoLayoutHandler">自动(old)</el-button>-->
|
||||||
<el-button size="mini" @click="$parent.searchPreview">预览</el-button>
|
<el-button size="mini" v-hasPermi="['top:preview']" @click="$parent.searchPreview">预览</el-button>
|
||||||
<!-- 返回到预览模式 -->
|
<!-- 返回到预览模式 -->
|
||||||
<!-- <top-button size="mini" @click="$parent.changeModeHandler('preview')">返回</top-button>-->
|
<!-- <top-button size="mini" @click="$parent.changeModeHandler('preview')">返回</top-button>-->
|
||||||
<top-button size="mini" @click="$parent.saveDataHandler">保存</top-button>
|
<top-button size="mini" v-hasPermi="['top:edit']" @click="$parent.saveDataHandler">保存</top-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -101,6 +101,7 @@ export default {
|
||||||
.right {
|
.right {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 30%;
|
width: 30%;
|
||||||
|
padding-right: 10px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,21 +4,20 @@ import com.ebts.common.annotation.Log;
|
||||||
import com.ebts.common.core.controller.BaseController;
|
import com.ebts.common.core.controller.BaseController;
|
||||||
import com.ebts.common.core.entity.AjaxResult;
|
import com.ebts.common.core.entity.AjaxResult;
|
||||||
import com.ebts.common.enums.BusinessType;
|
import com.ebts.common.enums.BusinessType;
|
||||||
|
import com.ebts.common.utils.SecurityUtils;
|
||||||
import com.ebts.common.utils.ServerResult;
|
import com.ebts.common.utils.ServerResult;
|
||||||
import com.ebts.common.utils.StringUtils;
|
import com.ebts.common.utils.StringUtils;
|
||||||
import com.ebts.generator.dto.TopResult;
|
import com.ebts.generator.dto.TopResult;
|
||||||
import com.ebts.generator.entity.UniQuery;
|
import com.ebts.generator.entity.UniQuery;
|
||||||
import com.ebts.generator.service.TopQueryService;
|
import com.ebts.generator.service.TopQueryService;
|
||||||
import com.ebts.generator.service.TopSearchTableService;
|
|
||||||
import com.ebts.generator.service.UniQueryService;
|
import com.ebts.generator.service.UniQueryService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -61,9 +60,8 @@ public class TopQueryController extends BaseController {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PreAuthorize("@ebts.hasPermi('top:table')")
|
@PreAuthorize("@ebts.hasPermi('top:table')")
|
||||||
@GetMapping
|
@GetMapping("/table")
|
||||||
public AjaxResult table() {
|
public AjaxResult table() {
|
||||||
|
|
||||||
return AjaxResult.success(topQueryService.selectTopSearchTables());
|
return AjaxResult.success(topQueryService.selectTopSearchTables());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,12 @@ public interface TopSearchTableDao {
|
||||||
*/
|
*/
|
||||||
List<TopSearchTable> selectTopSearchTableList(TopSearchTable topSearchTable);
|
List<TopSearchTable> selectTopSearchTableList(TopSearchTable topSearchTable);
|
||||||
|
|
||||||
List<TopSearchTable> selectTopSearchTables();
|
/**
|
||||||
|
* 获取top万能查询基础表格信息
|
||||||
|
* @param roleIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<TopSearchTable> selectTopSearchTables(String[] roleIds);
|
||||||
|
|
||||||
|
|
||||||
List<TopSearchColumn> selectTableColumns(Long id);
|
List<TopSearchColumn> selectTableColumns(Long id);
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,6 @@ import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.ebts.common.utils.StringUtils;
|
import com.ebts.common.utils.StringUtils;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author: Clay
|
* @author: Clay
|
||||||
* @date: 2021/7/26 17:26
|
* @date: 2021/7/26 17:26
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.ebts.generator.service.impl;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.ebts.common.utils.SecurityUtils;
|
||||||
import com.ebts.common.utils.ServerResult;
|
import com.ebts.common.utils.ServerResult;
|
||||||
import com.ebts.generator.dao.QueryDao;
|
import com.ebts.generator.dao.QueryDao;
|
||||||
import com.ebts.generator.dao.RelationalMapDao;
|
import com.ebts.generator.dao.RelationalMapDao;
|
||||||
|
|
@ -22,6 +23,7 @@ import java.util.ArrayList;
|
||||||
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 java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author: Clay
|
* @author: Clay
|
||||||
|
|
@ -45,7 +47,12 @@ public class TopQueryServiceImpl implements TopQueryService {
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> selectTopSearchTables() {
|
public Map<String, Object> selectTopSearchTables() {
|
||||||
Map<String, Object> modeMap = new HashMap<>();
|
Map<String, Object> modeMap = new HashMap<>();
|
||||||
modeMap.put("tables", topSearchTableDao.selectTopSearchTables());
|
//采用原子式获取到forEach中的值,原子式能够允许其他线程进行尝试性的修改值
|
||||||
|
AtomicReference<String> roleIds = new AtomicReference<>("");
|
||||||
|
SecurityUtils.getLoginUser().getUser().getRoles().forEach(role->{
|
||||||
|
roleIds.updateAndGet(v -> v + role.getRoleId()+",");
|
||||||
|
});
|
||||||
|
modeMap.put("tables", topSearchTableDao.selectTopSearchTables(roleIds.get().substring(0,roleIds.get().length()-1).split(",")));
|
||||||
modeMap.put("relationalMap", relationalMapDao.selectRelationalMapList(new RelationalMap()));
|
modeMap.put("relationalMap", relationalMapDao.selectRelationalMapList(new RelationalMap()));
|
||||||
return modeMap;
|
return modeMap;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -78,15 +78,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
where gtst.id = #{id}
|
where gtst.id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectTopSearchTables" resultMap="TopSearchTableTopSearchColumnResult">
|
<select id="selectTopSearchTables" resultMap="TopSearchTableTopSearchColumnResult" parameterType="String">
|
||||||
select gtst.id, gtst.table_name, gtst.table_comment, gtst.remark, gtst.create_by, gtst.create_time, gtst.update_by, gtst.update_time,
|
select gtst.id, gtst.table_name, gtst.table_comment, gtst.remark, gtst.create_by, gtst.create_time, gtst.update_by, gtst.update_time,
|
||||||
gtsc.id as column_id, gtsc.search_table_id, gtsc.column_name, gtsc.column_comment, gtsc.column_type, gtsc.is_use, gtsc.create_by, gtsc.create_time, gtsc.update_by, gtsc.update_time,
|
gtsc.id as column_id, gtsc.search_table_id, gtsc.column_name, gtsc.column_comment, gtsc.column_type, gtsc.is_use, gtsc.create_by, gtsc.create_time, gtsc.update_by, gtsc.update_time,
|
||||||
grm.main_id, grm.child_id, grm.main_key, grm.child_key, grm.type
|
grm.main_id, grm.child_id, grm.main_key, grm.child_key, grm.type
|
||||||
from gen_top_search_table gtst
|
from gen_top_search_table gtst
|
||||||
left join gen_top_search_column gtsc on gtsc.search_table_id = gtst.id
|
left join gen_top_search_column gtsc on gtsc.search_table_id = gtst.id
|
||||||
left join gen_relational_mapping grm on grm.main_id = gtst.id
|
left join gen_relational_mapping grm on grm.main_id = gtst.id
|
||||||
|
where gtst.id IN (SELECT search_table_id FROM gen_search_table_role WHERE role_id IN
|
||||||
|
<foreach collection="array" item="roleId" open="(" separator="," close=")">
|
||||||
|
#{roleId}
|
||||||
|
</foreach>) and gtsc.is_use = 1
|
||||||
</select>
|
</select>
|
||||||
|
<!-- <foreach collection="array" item="name" open="(" separator="," close=")">-->
|
||||||
|
<!-- #{name}#{roleIds}-->
|
||||||
|
<!-- </foreach>-->
|
||||||
<!--AND table_name NOT LIKE 'gen_%'-->
|
<!--AND table_name NOT LIKE 'gen_%'-->
|
||||||
<select id="selectDbTableList" resultType="java.util.Map">
|
<select id="selectDbTableList" resultType="java.util.Map">
|
||||||
select table_name, table_comment, create_time, update_time from information_schema.tables
|
select table_name, table_comment, create_time, update_time from information_schema.tables
|
||||||
|
|
@ -174,9 +180,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<insert id="batchTopSearchColumn">
|
<insert id="batchTopSearchColumn">
|
||||||
insert into gen_top_search_column(search_table_id,column_name,column_comment,column_type,create_by,create_time,update_by,update_time) values
|
insert into gen_top_search_column(search_table_id,column_name,column_comment,column_type,is_use,create_by,create_time) values
|
||||||
<foreach item="item" index="index" collection="list" separator=",">
|
<foreach item="item" index="index" collection="list" separator=",">
|
||||||
(#{item.searchTableId},#{item.columnName},#{item.columnComment},#{item.columnType},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime})
|
(#{item.searchTableId},#{item.columnName},#{item.columnComment},#{item.columnType},#{item.isUse},#{item.createBy},#{item.createTime})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
重要在my.conf中设置:log_bin_trust_function_creators=1
|
||||||
|
|
||||||
|
|
||||||
/* currval函数 */
|
/* currval函数 */
|
||||||
DROP FUNCTION IF EXISTS `currval` ;
|
DROP FUNCTION IF EXISTS `currval` ;
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue