Commit 6e45a2fe by yuwei

项目初始化

parent 2df1784a
...@@ -4,9 +4,9 @@ import cn.datax.common.annotation.DictAop; ...@@ -4,9 +4,9 @@ import cn.datax.common.annotation.DictAop;
import cn.datax.common.core.JsonPage; import cn.datax.common.core.JsonPage;
import cn.datax.common.core.R; import cn.datax.common.core.R;
import cn.datax.common.dictionary.utils.DictUtil; import cn.datax.common.dictionary.utils.DictUtil;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
...@@ -30,15 +30,12 @@ public class DictAnalysis implements ResponseBodyAdvice { ...@@ -30,15 +30,12 @@ public class DictAnalysis implements ResponseBodyAdvice {
if (o instanceof R) { if (o instanceof R) {
if (((R) o).getData() instanceof JsonPage) { if (((R) o).getData() instanceof JsonPage) {
List list = ((JsonPage) ((R) o).getData()).getData(); List list = ((JsonPage) ((R) o).getData()).getData();
List<JSONObject> items = new ArrayList<>(); List<ObjectNode> items = new ArrayList<>();
for (Object record : list) { for (Object record : list) {
String json = "{}"; ObjectNode item = null;
try { try {
json = objectMapper.writeValueAsString(record); item = (ObjectNode) objectMapper.readTree(objectMapper.writeValueAsString(record));
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {}
e.printStackTrace();
}
JSONObject item = JSONObject.parseObject(json);
for (Field field : record.getClass().getDeclaredFields()) { for (Field field : record.getClass().getDeclaredFields()) {
// 获取自定义注解 // 获取自定义注解
DictAop dictAop = field.getAnnotation(DictAop.class); DictAop dictAop = field.getAnnotation(DictAop.class);
...@@ -50,7 +47,7 @@ public class DictAnalysis implements ResponseBodyAdvice { ...@@ -50,7 +47,7 @@ public class DictAnalysis implements ResponseBodyAdvice {
// 字典翻译 // 字典翻译
Object dictValue = DictUtil.getInstance().getDictItemValue(code, object.toString()); Object dictValue = DictUtil.getInstance().getDictItemValue(code, object.toString());
if (null != dictValue) { if (null != dictValue) {
item.put(field.getName() + "_dictText", dictValue); item.put(field.getName() + "_dictText", String.valueOf(dictValue));
} }
} }
} }
......
...@@ -17,6 +17,11 @@ ...@@ -17,6 +17,11 @@
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>${oracle.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version> <version>${mybatis-plus.version}</version>
......
...@@ -49,6 +49,10 @@ public class MenuDto implements Serializable { ...@@ -49,6 +49,10 @@ public class MenuDto implements Serializable {
@ApiModelProperty(value = "资源编码") @ApiModelProperty(value = "资源编码")
private String menuCode; private String menuCode;
@ApiModelProperty(value = "隐藏")
@NotNull(message = "隐藏不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private Integer menuHidden;
@ApiModelProperty(value = "排序") @ApiModelProperty(value = "排序")
@NotNull(message = "排序不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class}) @NotNull(message = "排序不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private Integer menuSort; private Integer menuSort;
......
...@@ -68,6 +68,11 @@ public class MenuEntity extends BaseEntity { ...@@ -68,6 +68,11 @@ public class MenuEntity extends BaseEntity {
private String menuCode; private String menuCode;
/** /**
* 资源隐藏(0否,1是)
*/
private Integer menuHidden;
/**
* 排序 * 排序
*/ */
private Integer menuSort; private Integer menuSort;
......
...@@ -28,5 +28,6 @@ public class MenuVo implements Serializable { ...@@ -28,5 +28,6 @@ public class MenuVo implements Serializable {
@DictAop(code = "sys_menu_type") @DictAop(code = "sys_menu_type")
private String menuType; private String menuType;
private String menuCode; private String menuCode;
private Integer menuHidden;
private Integer menuSort; private Integer menuSort;
} }
...@@ -31,6 +31,10 @@ public class RouteVo implements Serializable { ...@@ -31,6 +31,10 @@ public class RouteVo implements Serializable {
*/ */
private MetaVo meta; private MetaVo meta;
/** /**
* 隐藏
*/
private Boolean hidden;
/**
* 子路由 * 子路由
*/ */
private List<RouteVo> children; private List<RouteVo> children;
......
...@@ -207,6 +207,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem ...@@ -207,6 +207,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
routeVo.setPath(entity.getMenuPath()); routeVo.setPath(entity.getMenuPath());
routeVo.setRedirect(entity.getMenuRedirect()); routeVo.setRedirect(entity.getMenuRedirect());
routeVo.setMeta(metaVo); routeVo.setMeta(metaVo);
routeVo.setHidden(DataConstant.TrueOrFalse.TRUE.getKey().equals(String.valueOf(entity.getMenuHidden())));
temp = getRouteTree(list, entity.getId()); temp = getRouteTree(list, entity.getId());
if(CollUtil.isNotEmpty(temp)){ if(CollUtil.isNotEmpty(temp)){
routeVo.setChildren(temp); routeVo.setChildren(temp);
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<result column="menu_type" property="menuType" /> <result column="menu_type" property="menuType" />
<result column="menu_code" property="menuCode" /> <result column="menu_code" property="menuCode" />
<result column="menu_sort" property="menuSort" /> <result column="menu_sort" property="menuSort" />
<result column="menu_hidden" property="menuHidden" />
<result column="status" property="status" /> <result column="status" property="status" />
<result column="remark" property="remark" /> <result column="remark" property="remark" />
</resultMap> </resultMap>
...@@ -30,7 +31,7 @@ ...@@ -30,7 +31,7 @@
create_time, create_time,
update_by, update_by,
update_time, update_time,
parent_id, menu_name, menu_path, menu_component, menu_redirect, menu_perms, menu_icon, menu_type, menu_code, menu_sort, status, remark parent_id, menu_name, menu_path, menu_component, menu_redirect, menu_perms, menu_icon, menu_type, menu_code, menu_sort, menu_hidden, status, remark
</sql> </sql>
<sql id="Menu_Column_List"> <sql id="Menu_Column_List">
...@@ -40,7 +41,7 @@ ...@@ -40,7 +41,7 @@
${alias}.update_by, ${alias}.update_by,
${alias}.update_time, ${alias}.update_time,
${alias}.parent_id, ${alias}.menu_name, ${alias}.menu_path, ${alias}.menu_component, ${alias}.menu_redirect, ${alias}.menu_perms, ${alias}.parent_id, ${alias}.menu_name, ${alias}.menu_path, ${alias}.menu_component, ${alias}.menu_redirect, ${alias}.menu_perms,
${alias}.menu_icon, ${alias}.menu_type, ${alias}.menu_code, ${alias}.menu_sort, ${alias}.status, ${alias}.remark ${alias}.menu_icon, ${alias}.menu_type, ${alias}.menu_code, ${alias}.menu_sort, ${alias}.menu_hidden, ${alias}.status, ${alias}.remark
</sql> </sql>
<select id="selectMenuByRoleIds" parameterType="java.util.List" resultMap="BaseResultMap"> <select id="selectMenuByRoleIds" parameterType="java.util.List" resultMap="BaseResultMap">
......
...@@ -6,9 +6,6 @@ import org.flowable.engine.ProcessEngineConfiguration; ...@@ -6,9 +6,6 @@ import org.flowable.engine.ProcessEngineConfiguration;
import org.flowable.spring.SpringProcessEngineConfiguration; import org.flowable.spring.SpringProcessEngineConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource; import javax.sql.DataSource;
...@@ -38,9 +35,6 @@ public class ProcessEngineConfig { ...@@ -38,9 +35,6 @@ public class ProcessEngineConfig {
springProcessEngineConfiguration.setActivityFontName("宋体"); springProcessEngineConfiguration.setActivityFontName("宋体");
springProcessEngineConfiguration.setLabelFontName("宋体"); springProcessEngineConfiguration.setLabelFontName("宋体");
springProcessEngineConfiguration.setAnnotationFontName("宋体"); springProcessEngineConfiguration.setAnnotationFontName("宋体");
//自动部署已有的流程文件
Resource[] resources = new PathMatchingResourcePatternResolver().getResources(ResourceLoader.CLASSPATH_URL_PREFIX + "processes/*.bpmn20.xml");
springProcessEngineConfiguration.setDeploymentResources(resources);
return springProcessEngineConfiguration; return springProcessEngineConfiguration;
} }
} }
...@@ -7,7 +7,7 @@ import '@/styles/element-variables.scss' ...@@ -7,7 +7,7 @@ import '@/styles/element-variables.scss'
import '@/styles/index.scss' import '@/styles/index.scss'
import "@/assets/icons/iconfont.css" import '@/assets/icons/iconfont.css'
import App from './App' import App from './App'
import store from './store' import store from './store'
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left"> <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left">
<div class="title-container"> <div class="title-container">
<h3 class="title">Login Form</h3> <h3 class="title">系统登陆</h3>
</div> </div>
<el-form-item prop="username"> <el-form-item prop="username">
......
<template> <template>
<div class="app-container"> <div class="app-container">
ColumnPane ColumnPane
<div v-for="(item, index) in data" :key="index">
{{item.id}}
</div>
</div> </div>
</template> </template>
...@@ -13,7 +16,6 @@ export default { ...@@ -13,7 +16,6 @@ export default {
default: function () { default: function () {
return [] return []
} }
} }
} }
} }
......
<template> <template>
<div class="app-container"> <div class="app-container">
SourcePane SourcePane
<div v-for="(item, index) in data" :key="index">
{{item.id}}
</div>
</div> </div>
</template> </template>
...@@ -13,7 +16,6 @@ export default { ...@@ -13,7 +16,6 @@ export default {
default: function () { default: function () {
return [] return []
} }
} }
} }
} }
......
<template> <template>
<div class="app-container"> <div class="app-container">
TablePane TablePane
<div v-for="(item, index) in data" :key="index">
{{item.id}}
</div>
</div> </div>
</template> </template>
...@@ -13,7 +16,6 @@ export default { ...@@ -13,7 +16,6 @@ export default {
default: function () { default: function () {
return [] return []
} }
} }
} }
} }
......
...@@ -11,19 +11,25 @@ ...@@ -11,19 +11,25 @@
<el-option label="数据表" value="2"></el-option> <el-option label="数据表" value="2"></el-option>
<el-option label="数据元" value="3"></el-option> <el-option label="数据元" value="3"></el-option>
</el-select> </el-select>
<el-button slot="append" :disabled="btnEnable" icon="el-icon-search"></el-button> <el-button slot="append" :disabled="btnEnable" icon="el-icon-search" @click="search"></el-button>
</el-input> </el-input>
</el-col> </el-col>
</el-row> </el-row>
<div class="line"></div> <div class="line"></div>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="24">
6
</el-col>
<el-col :span="18">
<source-pane v-if="type === '1'" :data="dataList"></source-pane> <source-pane v-if="type === '1'" :data="dataList"></source-pane>
<table-pane v-if="type === '2'" :data="dataList"></table-pane> <table-pane v-if="type === '2'" :data="dataList"></table-pane>
<column-pane v-if="type === '3'" :data="dataList"></column-pane> <column-pane v-if="type === '3'" :data="dataList"></column-pane>
<el-pagination
:page-sizes="[10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="queryParams.pageNum"
:page-size.sync="queryParams.pageSize"
:total="total"
></el-pagination>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -49,6 +55,10 @@ import SourcePane from './SourcePane' ...@@ -49,6 +55,10 @@ import SourcePane from './SourcePane'
import TablePane from './TablePane' import TablePane from './TablePane'
import ColumnPane from './ColumnPane' import ColumnPane from './ColumnPane'
import { pageDataSource } from '@/api/metadata/datasource'
import { pageDataTable } from '@/api/metadata/datatable'
import { pageDataColumn } from '@/api/metadata/datacolumn'
export default { export default {
name: 'DataSearch', name: 'DataSearch',
components: { SourcePane, TablePane, ColumnPane }, components: { SourcePane, TablePane, ColumnPane },
...@@ -73,10 +83,51 @@ export default { ...@@ -73,10 +83,51 @@ export default {
methods: { methods: {
search () { search () {
this.searchExecuting = true this.searchExecuting = true
let data = JSON.parse(JSON.stringify(this.queryParams))
if (this.type === '1') {
data.sourceName = this.keyword
pageDataSource(data).then(response => {
if (response.success) {
const { data } = response
this.dataList = data.data
this.total = data.total
}
})
} else if (this.type === '2') {
data.tableName = this.keyword
pageDataTable(data).then(response => {
if (response.success) {
const { data } = response
this.dataList = data.data
this.total = data.total
}
})
} else if (this.type === '3') {
data.columnName = this.keyword
pageDataColumn(data).then(response => {
if (response.success) {
const { data } = response
this.dataList = data.data
this.total = data.total
}
})
}
}, },
typeSelectChanged (val) { typeSelectChanged (val) {
this.dataList = [] this.dataList = []
this.total = 0
this.queryParams.pageNum = 1
this.queryParams.pageSize = 20
console.log(val) console.log(val)
},
handleSizeChange (val) {
this.queryParams.pageNum = 1
this.queryParams.pageSize = val
this.search()
},
handleCurrentChange (val) {
this.queryParams.pageNum = val
this.search()
} }
}, },
computed: { computed: {
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.7.RELEASE</version> <version>2.3.3.RELEASE</version>
<relativePath/> <relativePath/>
</parent> </parent>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.target>1.8</maven.compiler.target>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<spring-boot.version>2.3.2.RELEASE</spring-boot.version> <spring-boot.version>2.3.3.RELEASE</spring-boot.version>
<spring-cloud.version>Hoxton.SR7</spring-cloud.version> <spring-cloud.version>Hoxton.SR7</spring-cloud.version>
<spring-boot-admin.version>2.2.4</spring-boot-admin.version> <spring-boot-admin.version>2.2.4</spring-boot-admin.version>
......
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