From 44ee58a99afe19ba5ae962200f2bebab8da4618b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 07 五月 2024 15:33:06 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/northglass-erp/src/router/index.js | 38 ++
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue | 8
north-glass-erp/src/main/java/com/example/erp/service/userInfo/RoleService.java | 27 +
north-glass-erp/northglass-erp/src/views/system/role/Role.vue | 61 +++
north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionBasic.java | 1
north-glass-erp/src/main/java/com/example/erp/entity/userInfo/UserRole.java | 17
north-glass-erp/src/main/java/com/example/erp/entity/userInfo/Role.java | 2
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue | 11
north-glass-erp/src/main/java/com/example/erp/controller/userInfo/RoleController.java | 23 +
north-glass-erp/src/main/java/com/example/erp/controller/userInfo/PermissionBasicController.java | 29 +
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java | 1
north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserRoleController.java | 27 +
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java | 37 ++
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserRoleMapper.java | 9
north-glass-erp/northglass-erp/src/views/system/user/UserList.vue | 196 ++++++++++
north-glass-erp/src/main/java/com/example/erp/service/userInfo/PermissionBasicService.java | 41 ++
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java | 17
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java | 2
north-glass-erp/northglass-erp/src/views/system/role/RoleList.vue | 224 ++++++++++++
north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionRole.java | 1
north-glass-erp/target/classes/mapper/userInfo/User.xml | 32 +
north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserInfoController.java | 19
north-glass-erp/src/main/resources/mapper/userInfo/User.xml | 32 +
north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserRoleService.java | 41 ++
north-glass-erp/northglass-erp/src/views/system/user/User.vue | 61 +++
north-glass-erp/src/main/java/com/example/erp/entity/userInfo/User.java | 5
north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/RoleMapper.java | 12
north-glass-erp/src/main/java/com/example/erp/config/StpInterfaceImpl.java | 13
north-glass-erp/src/main/resources/mapper/userInfo/RoleMapper.xml | 8
north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml | 42 ++
north-glass-erp/src/main/java/com/example/erp/exception/GlobalExceptionHandle.java | 1
31 files changed, 1,000 insertions(+), 38 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/router/index.js b/north-glass-erp/northglass-erp/src/router/index.js
index c3ffb7f..1a0f6b0 100644
--- a/north-glass-erp/northglass-erp/src/router/index.js
+++ b/north-glass-erp/northglass-erp/src/router/index.js
@@ -21,6 +21,42 @@
name: 'main',
component: () => import('../layout/MainErpView.vue'),
children:[
+ //user妯″潡
+ {
+ path:'user',
+ name: 'user',
+ component: () => import('../views/system/user/User.vue'),
+ children:[
+ {
+ path: 'userList',
+ name: 'userList',
+ component: () => import('../views/system/user/UserList.vue')
+ },
+ {
+ name:'user',
+ path: '',
+ redirect:'/main/user/userList'
+ }
+ ]
+ },
+ {
+ path:'role',
+ name: 'role',
+ component: () => import('../views/system/role/Role.vue'),
+ children:[
+ {
+ path: 'roleList',
+ name: 'roleList',
+ component: () => import('../views/system/role/RoleList.vue')
+ },
+ {
+ name:'role',
+ path: '',
+ redirect:'/main/role/roleList'
+ }
+ ]
+ },
+
//sd妯″潡
{
path:'orderBasicData',
@@ -108,7 +144,7 @@
},
{
path: '',
- redirect:'/main/order/SelectOrder'
+ redirect:'/main/order/selectOrder'
}
]
},
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
index 464631f..ed91a96 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -314,7 +314,13 @@
value-format="YYYY-MM-DD"
/>
- <el-button @click="changeDate" style="margin-top: -5px" id="searchButton" type="primary" :icon="Search">{{ $t('basicData.search') }}</el-button>
+ <el-button @click="changeDate"
+ style="margin-top: -5px"
+ id="searchButton"
+ type="primary"
+ :icon="Search">
+ {{ $t('basicData.search') }}
+ </el-button>
<vxe-grid
@filter-change="filterChanged"
max-height="100%"
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
index 9b73710..601b4e5 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -342,14 +342,7 @@
}
const tagCheck = (state) => {
- if(typeof trademarkAttr.value.location === 'string'){
- return false
- }
- const filterArr = trademarkAttr.value.location.filter((item) =>{
- return item === state
- })
- return filterArr.length > 0
-
+ return trademarkAttr.value.location === state
}
const resetTrademark = () => {
for(const key in trademarkAttr.value){
@@ -556,7 +549,7 @@
<el-row>
<el-col :span="4">鍟嗘爣浣嶇疆:</el-col>
<el-col :span="25">
- <el-checkbox v-model="trademarkAttr.location" v-for="item in trademarkLocation" :label="item" />
+ <el-radio v-model="trademarkAttr.location" v-for="item in trademarkLocation" :label="item" />
</el-col>
</el-row>
diff --git a/north-glass-erp/northglass-erp/src/views/system/role/Role.vue b/north-glass-erp/northglass-erp/src/views/system/role/Role.vue
new file mode 100644
index 0000000..e997f01
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/system/role/Role.vue
@@ -0,0 +1,61 @@
+<script setup>
+import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue"
+import {useRouter,useRoute,onBeforeRouteUpdate} from "vue-router"
+import {useI18n} from "vue-i18n"
+const { t } = useI18n()
+const router = useRouter()
+const route = useRoute()
+let indexFlag=$ref(1)
+function changeRouter(index){
+ indexFlag=index
+}
+
+
+
+
+</script>
+
+<template>
+ <div id="main-div">
+ <div id="div-title">
+ <el-breadcrumb :separator-icon="ArrowRight">
+ <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/role/roleList' }">瑙掕壊棣栭〉</el-breadcrumb-item>
+ <el-breadcrumb-item v-show="false" @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/order/createOrder' }">{{$t('basicData.create')}}</el-breadcrumb-item>
+ </el-breadcrumb>
+ </div>
+
+ <div id="main-body">
+ <router-view :key="route.fullPath" />
+ </div>
+ </div>
+</template>
+
+<style scoped>
+#main-div{
+ width: 99%;
+ height: 100%;
+}
+#div-title{
+ height: 2%;
+ width: 100%;
+}
+#searchButton{
+ margin-top: -5px;
+ margin-left: 1rem;
+}
+#searchButton1{
+//margin-left: 10rem;
+}
+/*main-body鏍峰紡*/
+#main-body{
+ width: 100%;
+ height: 95%;
+ margin-top: 1%;
+}
+#select{
+ margin-left:0.5rem;
+}
+:deep(.indexTag .el-breadcrumb__inner){
+ color: #5CADFE !important;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/system/role/RoleList.vue b/north-glass-erp/northglass-erp/src/views/system/role/RoleList.vue
new file mode 100644
index 0000000..9866f6d
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/system/role/RoleList.vue
@@ -0,0 +1,224 @@
+<script setup>
+import {changeFilterEvent, filterChanged} from "@/hook"
+import {onBeforeMount, onMounted, reactive, ref} from "vue"
+import request from "@/utils/request"
+import {useRouter,useRoute} from "vue-router"
+import {useI18n} from "vue-i18n"
+import {ElMessage, ElMessageBox} from "element-plus"
+const { t } = useI18n()
+const router = useRouter()
+const route = useRoute()
+const dialogVisible = ref(false)
+let selectValue = ref(null)
+let options = ref([])
+
+const xGrid = ref()
+const gridOptions = reactive({
+ border: "full",//琛ㄦ牸鍔犺竟妗�
+ keepSource: true,//淇濇寔婧愭暟鎹�
+ align: 'center',//鏂囧瓧灞呬腑
+ stripe:true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ id: 'userList',
+ showFooter: false,//鏄剧ず鑴�
+ printConfig: {},
+ importConfig: {},
+ exportConfig: {},
+ scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+ showOverflow:true,
+ columnConfig: {
+ resizable: true,
+ useKey: true
+ },
+ filterConfig: { //绛涢�夐厤缃」
+ },
+ customConfig: {
+ storage: true
+ },
+ editConfig: {
+ trigger: 'click',
+ mode: 'row',
+ showStatus: true
+ },
+
+ //琛ㄥご鍙傛暟
+ columns:[
+
+ ],
+
+ //琛ㄥご鎸夐挳
+ toolbarConfig: {
+ buttons: [
+
+ ],
+ zoom: true,
+ custom: true
+ },
+})
+
+const pGrid = ref()
+const permissionOptions = reactive({
+ border: "full",//琛ㄦ牸鍔犺竟妗�
+ keepSource: true,//淇濇寔婧愭暟鎹�
+ align: 'center',//鏂囧瓧灞呬腑
+ stripe:true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ id: 'permissionList',
+ showFooter: false,//鏄剧ず鑴�
+ printConfig: {},
+ importConfig: {},
+ exportConfig: {},
+ scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+ showOverflow:true,
+ columnConfig: {
+ resizable: true,
+ useKey: true
+ },
+ filterConfig: { //绛涢�夐厤缃」
+ },
+ customConfig: {
+ storage: true
+ },
+ editConfig: {
+ trigger: 'click',
+ mode: 'row',
+ showStatus: true
+ },
+
+ //琛ㄥご鍙傛暟
+ columns:[
+
+ ],
+
+ //琛ㄥご鎸夐挳
+ toolbarConfig: {
+ buttons: [
+
+ ],
+ slots:{
+ buttons: "toolbar_buttons"
+ },
+ zoom: true,
+ custom: true
+ },
+})
+
+
+
+onBeforeMount(()=>{
+ let columns = [{title: t('basicData.operate'), width: 133, slots: { default: 'button_slot' }}]
+ const columnName = {
+ id: 'ID',
+ role:'瑙掕壊'
+ }
+ for (let columnNameKey in columnName) {
+ let column = {field: columnNameKey,
+ title: columnName[columnNameKey]
+ }
+ columns.push(column)
+ }
+ gridOptions.columns = columns
+
+
+ let columnsP = [
+ { type: 'seq', width: 60 },
+ { type: 'checkbox', width: 50 }
+ ]
+ const columnNameP = {
+ id: 'ID',
+ menu: '鑿滃崟',
+ page:'椤甸潰',
+ permission:'鏉冮檺'
+ }
+ for (let columnNameKey in columnNameP) {
+ let column = {field: columnNameKey,
+ title: columnNameP[columnNameKey]
+ }
+ columnsP.push(column)
+ }
+ permissionOptions.columns = columnsP
+
+})
+
+onMounted(()=>{
+ request.get('/role/findAll').then(res=>{
+ gridOptions.data = res.data
+ })
+ request.post('/permission/getPermissionList').then(res=>{
+ options.value = res.data
+ })
+})
+
+const getTableRow = (row,type) => {
+ switch (type) {
+ case 'edit': {
+ dialogVisible.value = true
+ break
+ }
+ }
+}
+
+const getPermissionList = () => {
+ request.post(`/permission/getPermission/${2}`).then(res=>{
+ permissionOptions.data = res.data
+ })
+}
+
+const selectChange = ()=>{
+ console.log(selectValue.value)
+}
+
+</script>
+
+<template>
+ <div style="width: 50%;height: 100% ;">
+ <vxe-grid
+ max-height="100%"
+ class="mytable-scrollbar"
+ ref="xGrid"
+ v-bind="gridOptions"
+ >
+ <template #filter="{ column, $panel }">
+ <div>
+ <div v-for="(option, index) in column.filters" :key="index">
+ <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+ </div>
+ </div>
+ </template>
+
+ <template #button_slot="{ row }">
+ <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">瑙掕壊鏉冮檺</el-button>
+ </template>
+ </vxe-grid>
+
+ <el-dialog
+ v-model="dialogVisible"
+ @open="getPermissionList"
+ style="height: 70%;width: 70%"
+ title="鏉冮檺閫夋嫨">
+ <vxe-grid
+ height="100%"
+ class="mytable-scrollbar"
+ ref="pGrid"
+ v-bind="permissionOptions"
+ >
+ <template #toolbar_buttons>
+ <el-cascader
+ v-model="selectValue"
+ :options="options"
+ @change="selectChange"
+ />
+ </template>
+
+ </vxe-grid>
+
+
+ </el-dialog>
+ </div>
+</template>
+
+<style scoped>
+:deep(.el-dialog__body){
+ height: 80%;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/system/user/User.vue b/north-glass-erp/northglass-erp/src/views/system/user/User.vue
new file mode 100644
index 0000000..21d0c98
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/system/user/User.vue
@@ -0,0 +1,61 @@
+<script setup>
+import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue"
+import {useRouter,useRoute,onBeforeRouteUpdate} from "vue-router"
+import {useI18n} from "vue-i18n"
+const { t } = useI18n()
+const router = useRouter()
+const route = useRoute()
+let indexFlag=$ref(1)
+function changeRouter(index){
+ indexFlag=index
+}
+
+
+
+
+</script>
+
+<template>
+ <div id="main-div">
+ <div id="div-title">
+ <el-breadcrumb :separator-icon="ArrowRight">
+ <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/user/userList' }">鐢ㄦ埛棣栭〉</el-breadcrumb-item>
+ <el-breadcrumb-item v-show="false" @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/order/createOrder' }">{{$t('basicData.create')}}</el-breadcrumb-item>
+ </el-breadcrumb>
+ </div>
+
+ <div id="main-body">
+ <router-view :key="route.fullPath" />
+ </div>
+ </div>
+</template>
+
+<style scoped>
+#main-div{
+ width: 99%;
+ height: 100%;
+}
+#div-title{
+ height: 2%;
+ width: 100%;
+}
+#searchButton{
+ margin-top: -5px;
+ margin-left: 1rem;
+}
+#searchButton1{
+//margin-left: 10rem;
+}
+/*main-body鏍峰紡*/
+#main-body{
+ width: 100%;
+ height: 95%;
+ margin-top: 1%;
+}
+#select{
+ margin-left:0.5rem;
+}
+:deep(.indexTag .el-breadcrumb__inner){
+ color: #5CADFE !important;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/system/user/UserList.vue b/north-glass-erp/northglass-erp/src/views/system/user/UserList.vue
new file mode 100644
index 0000000..a1dd201
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/system/user/UserList.vue
@@ -0,0 +1,196 @@
+<script setup>
+import {onBeforeMount, onMounted, reactive, ref} from "vue"
+import {changeFilterEvent,filterChanged} from "@/hook"
+import request from "@/utils/request"
+import {useRouter,useRoute} from "vue-router"
+import {useI18n} from "vue-i18n"
+import {ElMessage, ElMessageBox} from "element-plus"
+const { t } = useI18n()
+const router = useRouter()
+const route = useRoute()
+const dialogVisible = ref(false)
+let roleList = ref([])
+let userRole= ref({
+ userId:'',
+ roles:[]
+})
+const xGrid = ref()
+const gridOptions = reactive({
+ border: "full",//琛ㄦ牸鍔犺竟妗�
+ keepSource: true,//淇濇寔婧愭暟鎹�
+ align: 'center',//鏂囧瓧灞呬腑
+ stripe:true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ id: 'userList',
+ showFooter: false,//鏄剧ず鑴�
+ printConfig: {},
+ importConfig: {},
+ exportConfig: {},
+ scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+ showOverflow:true,
+ columnConfig: {
+ resizable: true,
+ useKey: true
+ },
+ filterConfig: { //绛涢�夐厤缃」
+ },
+ customConfig: {
+ storage: true
+ },
+ editConfig: {
+ trigger: 'click',
+ mode: 'row',
+ showStatus: true
+ },
+
+ //琛ㄥご鍙傛暟
+ columns:[
+
+ ],
+
+ //琛ㄥご鎸夐挳
+ toolbarConfig: {
+ buttons: [
+
+ ],
+ zoom: true,
+ custom: true
+ },
+})
+onBeforeMount(()=>{
+ let columns = [{title: t('basicData.operate'), width: 133, slots: { default: 'button_slot' }}]
+ const columnName = {
+ loginName: '鐢ㄦ埛ID',
+ userName:'鐢ㄦ埛',
+ // address:'鍦板潃',
+ // phone:'鐢佃瘽',
+ role:'瑙掕壊',
+ createTime:'鍒涘缓鏃堕棿'
+ }
+ for (let columnNameKey in columnName) {
+ let column = {field: columnNameKey,
+ title: columnName[columnNameKey],
+ filters:[{ data: '' }],
+ slots: { filter: 'filter' },
+ sortable: true,
+ filterMethod:filterChanged
+ }
+ columns.push(column)
+ }
+ gridOptions.columns = columns
+
+})
+onMounted(()=>{
+ request.get('/userInfo/findAll').then(res=>{
+ let arr = res.data.users[0]
+ arr.forEach(item=>{
+ let bValues = item.userRoleList.map(item => item.role);
+ item.role = bValues.join(',')
+ })
+ gridOptions.data = res.data.users[0]
+ roleList.value = res.data.role[0]
+ })
+})
+
+const getTableRow = (row,type) => {
+ switch (type) {
+ case 'edit': {
+ userRole.value.roles = []
+ dialogVisible.value = true
+ row.userRoleList.forEach(item=>{
+ userRole.value.roles.push(item.roleId)
+ })
+ userRole.value.userId = row.id
+ break
+ }
+ case 'delete': {
+ request.post(`/userInfo/userDelete/${row.id}`).then((res) => {
+ if(res.code==200 && res.data ===true){
+ ElMessage.success(t('searchOrder.msgDeleteSuccess'))
+ router.push({path:'/main/user/userList',query:{random:Math.random()}})
+ }else{
+ ElMessage.warning(t('searchOrder.msgDeleteFail'))
+ }
+ })
+ break
+ }
+
+ }
+}
+
+const handleClose = (done) => {
+ userRole.value.roles = []
+ done()
+}
+
+const roleUpdate = () => {
+ request.post('userRole/updateUserRole',userRole.value).then(res=>{
+ if(res.code==200 && res.data===true){
+ ElMessage.success(t('basicData.msg.saveSuccess'))
+ router.push({path:'/main/user/userList',query:{random:Math.random()}})
+ }
+
+ })
+ dialogVisible.value = false
+}
+
+
+
+</script>
+
+<template>
+ <div style="width: 100%;height: 100% ;">
+ <vxe-grid
+ max-height="100%"
+ class="mytable-scrollbar"
+ ref="xGrid"
+ v-bind="gridOptions"
+ >
+ <template #filter="{ column, $panel }">
+ <div>
+ <div v-for="(option, index) in column.filters" :key="index">
+ <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+ </div>
+ </div>
+ </template>
+
+ <template #button_slot="{ row }">
+ <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">璁剧疆瑙掕壊</el-button>
+ <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
+ <template #reference>
+ <el-button link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
+ </template>
+ </el-popconfirm>
+ </template>
+ </vxe-grid>
+
+ <el-dialog
+ v-model="dialogVisible"
+ title="瑙掕壊閫夋嫨"
+ width="30%"
+ :before-close="handleClose"
+ >
+ <span>
+ <el-checkbox v-for="(item) in roleList"
+ :label="item.id"
+ v-model="userRole.roles" >
+ {{item.role}}
+ </el-checkbox>
+ </span>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="roleUpdate">
+ 纭
+ </el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<style scoped>
+.dialog-footer button:first-child {
+ margin-right: 10px;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/java/com/example/erp/config/StpInterfaceImpl.java b/north-glass-erp/src/main/java/com/example/erp/config/StpInterfaceImpl.java
index bac35d2..de38cd4 100644
--- a/north-glass-erp/src/main/java/com/example/erp/config/StpInterfaceImpl.java
+++ b/north-glass-erp/src/main/java/com/example/erp/config/StpInterfaceImpl.java
@@ -14,7 +14,10 @@
* @author kong
* @since 2022-10-13
*/
-@Component // 鎵撳紑姝ゆ敞瑙o紝淇濊瘉姝ょ被琚玸pringboot鎵弿锛屽嵆鍙畬鎴恠a-token鐨勮嚜瀹氫箟鏉冮檺楠岃瘉鎵╁睍
+
+
+// 鎵撳紑姝ゆ敞瑙o紝淇濊瘉姝ょ被琚玸pringboot鎵弿锛屽嵆鍙畬鎴恠a-token鐨勮嚜瀹氫箟鏉冮檺楠岃瘉鎵╁睍
+@Component
public class StpInterfaceImpl implements StpInterface {
private final PermissionRoleService permissionRoleService;
@@ -27,14 +30,6 @@
*/
@Override
public List<String> getPermissionList(Object loginId, String loginType) {
- // 鏈琹ist浠呭仛妯℃嫙锛屽疄闄呴」鐩腑瑕佹牴鎹叿浣撲笟鍔¢�昏緫鏉ユ煡璇㈡潈闄�
- /*List<String> list = new ArrayList<>();
- list.add("101");
- list.add("user.add");
- list.add("user.update");
- list.add("user.get");
- // list.add("user.delete");
- list.add("art.*");*/
return permissionRoleService.getUserPermission(Integer.parseInt((String) loginId));
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java b/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
index cecc4a4..a65b541 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
@@ -47,6 +47,7 @@
return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, order,orderType));
}
@ApiOperation("鍒犻櫎璁㈠崟")
+ @SaCheckPermission("selectOrder.delete")
@PostMapping("/deleteOrder/{id}")
public Result deleteOrder(@PathVariable String id) {
return Result.seccess(orderService.deleteOrder(id));
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/PermissionBasicController.java b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/PermissionBasicController.java
new file mode 100644
index 0000000..63de0f6
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/PermissionBasicController.java
@@ -0,0 +1,29 @@
+package com.example.erp.controller.userInfo;
+
+import com.example.erp.common.Result;
+import com.example.erp.service.userInfo.PermissionBasicService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/permission")
+public class PermissionBasicController {
+ private final PermissionBasicService permissionBasicService;
+
+ public PermissionBasicController(PermissionBasicService permissionBasicService) {
+ this.permissionBasicService = permissionBasicService;
+ }
+
+ @PostMapping("getPermission/{userId}")
+ public Result getPermission(@PathVariable Integer userId){
+ return Result.seccess(permissionBasicService.getPermission(userId));
+ }
+
+ @PostMapping("getPermissionList")
+ public Result getPermission(){
+ return Result.seccess(permissionBasicService.getPermissionList());
+ }
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/RoleController.java b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/RoleController.java
new file mode 100644
index 0000000..30e9443
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/RoleController.java
@@ -0,0 +1,23 @@
+package com.example.erp.controller.userInfo;
+
+import com.example.erp.common.Result;
+import com.example.erp.service.userInfo.RoleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/role")
+public class RoleController {
+ private final RoleService roleService;
+
+ public RoleController(RoleService roleService) {
+ this.roleService = roleService;
+ }
+
+ @GetMapping("/findAll")
+ public Result findAll(){
+ return Result.seccess(roleService.findAll());
+ }
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserInfoController.java b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserInfoController.java
index 5255581..6045054 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserInfoController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserInfoController.java
@@ -6,10 +6,7 @@
import com.example.erp.common.Result;
import com.example.erp.controller.dto.UserDTO;
import com.example.erp.service.userInfo.UserService;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/userInfo")
@@ -36,14 +33,18 @@
return Result.seccess(userService.isLogin()); }
@SaCheckLogin
- @PostMapping("/userAdd")
+ @PostMapping("/getTokenInfo")
public Result userAdd() {
return Result.seccess(StpUtil.getTokenInfo());
}
- @PostMapping("/userDelete")
- @SaCheckPermission("user.delete")
- public Result userDelete() {
- return Result.seccess(123123);
+ @PostMapping("/userDelete/{id}")
+ public Result userDelete(@PathVariable Integer id) {
+ return Result.seccess(userService.userDelete(id));
+ }
+
+ @GetMapping("findAll")
+ public Result findAll(){
+ return Result.seccess(userService.findAll());
}
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserRoleController.java b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserRoleController.java
new file mode 100644
index 0000000..c6cc324
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/UserRoleController.java
@@ -0,0 +1,27 @@
+package com.example.erp.controller.userInfo;
+
+import com.example.erp.common.Result;
+import com.example.erp.controller.dto.UserDTO;
+import com.example.erp.service.userInfo.UserRoleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("/userRole")
+public class UserRoleController {
+ private final UserRoleService userRoleService;
+
+ public UserRoleController(UserRoleService userRoleService) {
+ this.userRoleService = userRoleService;
+ }
+
+ @PostMapping("/updateUserRole")
+ public Result updateUserRole(@RequestBody Map<String,Object> params) {
+ return Result.seccess(userRoleService.updateUserRole(params));
+ }
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionBasic.java b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionBasic.java
index 163911f..0d530f2 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionBasic.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionBasic.java
@@ -8,6 +8,7 @@
public class PermissionBasic {
@TableId(type = IdType.AUTO)
private Integer id;
+ private String menu;
private String page;
private String permission;
private String state;
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionRole.java b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionRole.java
index 8ab0432..eb80001 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionRole.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/PermissionRole.java
@@ -10,5 +10,4 @@
private Integer id;
private Integer roleId;
private Integer permissionId;
-
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/Role.java b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/Role.java
index 6f7ecf1..03b49ac 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/Role.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/Role.java
@@ -7,6 +7,6 @@
@Data
public class Role {
@TableId(type = IdType.AUTO)
- private String id;
+ private Integer id;
private String role;
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/User.java b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/User.java
index 2bcca8f..a300841 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/User.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/User.java
@@ -1,8 +1,11 @@
package com.example.erp.entity.userInfo;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
+
+import java.util.List;
@Data //get涓巗et浠g爜绠�鍐�
public class User {
@@ -17,5 +20,7 @@
private String createTime;
private String updateTime;
private Integer state;
+ @TableField(select = false,exist = false)
+ private List<UserRole> userRoleList;
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/UserRole.java b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/UserRole.java
new file mode 100644
index 0000000..77eb9a8
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/userInfo/UserRole.java
@@ -0,0 +1,17 @@
+package com.example.erp.entity.userInfo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+@Data
+public class UserRole {
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+ private Integer userId;
+ private Integer roleId;
+ @TableField(select = false,exist = false)
+ private String role;
+
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/exception/GlobalExceptionHandle.java b/north-glass-erp/src/main/java/com/example/erp/exception/GlobalExceptionHandle.java
index cc7d89a..cba151d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/exception/GlobalExceptionHandle.java
+++ b/north-glass-erp/src/main/java/com/example/erp/exception/GlobalExceptionHandle.java
@@ -22,6 +22,7 @@
return Result.error(se.getCode(),se.getMessage());
}
+ // 鎷︽埅锛氭棤鏉冮檺寮傚父
@ExceptionHandler(NotPermissionException.class)
@ResponseBody
public Result handlerException(NotPermissionException e) {
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java
new file mode 100644
index 0000000..25a841b
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/PermissionBasicMapper.java
@@ -0,0 +1,17 @@
+package com.example.erp.mapper.userInfo;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.erp.entity.userInfo.PermissionBasic;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface PermissionBasicMapper extends BaseMapper<PermissionBasic> {
+ List<PermissionBasic> getPermission(Integer userId);
+
+ List<PermissionBasic> selectOneLevel();
+
+ List<Map<String,Object>> selectTowLevel(String menu);
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/RoleMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/RoleMapper.java
new file mode 100644
index 0000000..41e4360
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/RoleMapper.java
@@ -0,0 +1,12 @@
+package com.example.erp.mapper.userInfo;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.erp.entity.userInfo.Role;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RoleMapper extends BaseMapper<Role> {
+
+
+
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java
index 5da45ca..04a247f 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserMapper.java
@@ -28,4 +28,6 @@
Boolean register(User user);
List<String> getUserRole(Integer id);
+
+ Boolean userDelete(Integer id);
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserRoleMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserRoleMapper.java
new file mode 100644
index 0000000..f463913
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/UserRoleMapper.java
@@ -0,0 +1,9 @@
+package com.example.erp.mapper.userInfo;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.erp.entity.userInfo.UserRole;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface UserRoleMapper extends BaseMapper<UserRole> {
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/PermissionBasicService.java b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/PermissionBasicService.java
new file mode 100644
index 0000000..f535f61
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/PermissionBasicService.java
@@ -0,0 +1,41 @@
+package com.example.erp.service.userInfo;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.example.erp.entity.userInfo.PermissionBasic;
+import com.example.erp.mapper.userInfo.PermissionBasicMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class PermissionBasicService {
+ private final PermissionBasicMapper permissionBasicMapper;
+
+ public PermissionBasicService(PermissionBasicMapper permissionBasicMapper) {
+ this.permissionBasicMapper = permissionBasicMapper;
+ }
+
+ public List<PermissionBasic> getPermission(Integer userId) {
+ return permissionBasicMapper.getPermission(userId);
+ }
+
+ public Object getPermissionList() {
+ List<PermissionBasic> getOne = permissionBasicMapper.selectOneLevel();
+ List<Map<String,Object>> ListOne = new ArrayList<>();
+
+ for(PermissionBasic permissionBasic : getOne){
+
+ Map<String,Object> map = new HashMap<>();
+ map.put("value",permissionBasic.getId());
+ map.put("label",permissionBasic.getMenu());
+ map.put("children",permissionBasicMapper.selectTowLevel(permissionBasic.getMenu()));
+ ListOne.add(map);
+ }
+
+ return ListOne;
+ }
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/RoleService.java b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/RoleService.java
new file mode 100644
index 0000000..bc687f3
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/RoleService.java
@@ -0,0 +1,27 @@
+package com.example.erp.service.userInfo;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.example.erp.entity.userInfo.Role;
+import com.example.erp.mapper.userInfo.RoleMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@DS("user_info")
+public class RoleService {
+ private final RoleMapper roleMapper;
+
+ public RoleService(RoleMapper roleMapper) {
+ this.roleMapper = roleMapper;
+ }
+
+ public List<Role> findAll() {
+ return roleMapper.selectList(
+ new QueryWrapper<Role>()
+ .ne("role","admin")
+ );
+ }
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserRoleService.java b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserRoleService.java
new file mode 100644
index 0000000..f968e5b
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserRoleService.java
@@ -0,0 +1,41 @@
+package com.example.erp.service.userInfo;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.example.erp.entity.userInfo.UserRole;
+import com.example.erp.mapper.userInfo.UserRoleMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@DS("user_info")
+public class UserRoleService {
+ private final UserRoleMapper userRoleMapper;
+
+ public UserRoleService(UserRoleMapper userRoleMapper) {
+ this.userRoleMapper = userRoleMapper;
+ }
+
+ public Boolean updateUserRole(Map<String, Object> params) {
+ Integer userId = (Integer) params.get("userId");
+ List<Integer> list = (List<Integer>) params.get("roles");
+ List<UserRole> userRoleList = new ArrayList<>();
+ if(!list.isEmpty()) {
+ for (Integer roleId : list) {
+ UserRole userRole = new UserRole();
+ userRole.setUserId(userId);
+ userRole.setRoleId(roleId);
+ userRoleList.add(userRole);
+ }
+ }
+ userRoleMapper.delete(new QueryWrapper<UserRole>().eq("user_id", userId));
+ userRoleList.forEach(userRole -> {
+ userRoleMapper.insert(userRole);
+ });
+ return true;
+ }
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
index 450209f..5b4ede4 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/UserService.java
@@ -5,22 +5,32 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.controller.dto.UserDTO;
+import com.example.erp.entity.userInfo.Role;
import com.example.erp.entity.userInfo.User;
+import com.example.erp.mapper.userInfo.RoleMapper;
import com.example.erp.mapper.userInfo.UserMapper;
import com.example.erp.tools.TokenTools;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
@Service
@DS("user_info")
public class UserService {
private final UserMapper userMapper;
+ private final RoleMapper roleMapper;
- public UserService(UserMapper userMapper) {
+ public UserService(UserMapper userMapper, RoleMapper roleMapper) {
this.userMapper = userMapper;
+ this.roleMapper = roleMapper;
}
@@ -70,6 +80,9 @@
User user = userMapper.selectOne(new QueryWrapper<User>().
eq("login_name", userDTO.getUserId()).eq("password", userDTO.getPass()));
if(user!=null){
+ //妫�鏌ユ槸璁╂湁鐧诲綍锛屾湁鐧诲綍鐩存帴閫�鍑�
+ StpUtil.logout(user.getId());
+ //閲嶆柊杩涜鐧诲綍
StpUtil.login(user.getId());
userDTO.setPass(null);
userDTO.setId(user.getId());
@@ -90,5 +103,27 @@
StpUtil.logout();
return true;
}
+
+ public Map<String,List<Object>> findAll() {
+ List<User> users = userMapper.findAll();
+ users.forEach(user -> {
+ user.setPassword(null);
+ });
+ Map<String,List<Object>> map = new HashMap<>();
+
+ map.put("users", Collections.singletonList(users));
+ map.put("role", Collections.singletonList(
+ roleMapper.selectList(
+ new QueryWrapper<Role>()
+ .ne("role","admin")
+ )
+ ));
+ return map;
+ }
+
+ public Boolean userDelete(Integer id) {
+
+ return userMapper.userDelete(id);
+ }
}
diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml b/north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml
new file mode 100644
index 0000000..5ab8fbd
--- /dev/null
+++ b/north-glass-erp/src/main/resources/mapper/userInfo/PermissionBasicMapper.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.example.erp.mapper.userInfo.PermissionBasicMapper">
+ <select id="getPermission">
+ select a.*,
+ CASE
+ WHEN b.id IS NULL THEN 0
+ ELSE 1
+ END
+ from permission_basic as a
+ left join permission_role as b
+ on a.id = b.permission_id
+ left join user_role as c
+ on b.role_id = c.role_id
+ left join user as d
+ on c.user_id = d.id
+ and d.id = #{userId}
+ where a.id!=1 and a.state=1
+ group by a.id
+ </select>
+
+ <select id="selectOneLevel">
+ select *
+ from permission_basic
+ where id!=1 and state=1
+ group by menu
+
+ </select>
+
+ <select id="selectTowLevel">
+ select
+ id as value,
+ page as label
+ from permission_basic
+ where id!=1 and state=1
+ group by menu
+
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/RoleMapper.xml b/north-glass-erp/src/main/resources/mapper/userInfo/RoleMapper.xml
new file mode 100644
index 0000000..b48c892
--- /dev/null
+++ b/north-glass-erp/src/main/resources/mapper/userInfo/RoleMapper.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.example.erp.mapper.userInfo.RoleMapper">
+
+
+</mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/User.xml b/north-glass-erp/src/main/resources/mapper/userInfo/User.xml
index 38454fc..1120d54 100644
--- a/north-glass-erp/src/main/resources/mapper/userInfo/User.xml
+++ b/north-glass-erp/src/main/resources/mapper/userInfo/User.xml
@@ -3,9 +3,30 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.erp.mapper.userInfo.UserMapper">
- <select id="findAll">
- SELECT *
- FROM erp_user_info.user
+ <resultMap id="findAllMap" type="com.example.erp.entity.userInfo.User">
+ <id property="id" column="id"/>
+ <result property="loginName" column="login_name"/>
+ <result property="userName" column="user_name"/>
+ <result property="createTime" column="create_time"/>
+
+ <collection property="userRoleList" ofType="com.example.erp.entity.userInfo.UserRole">
+ <result property="userId" column="user_id"/>
+ <result property="roleId" column="role_id"/>
+ <result property="role" column="role"/>
+ </collection>
+ </resultMap>
+
+
+ <select id="findAll" resultMap="findAllMap">
+ SELECT a.*,
+ b.role_id,
+ c.role
+ FROM erp_user_info.user as a
+ left join user_role as b
+ on a.id = b.user_id
+ left join role as c
+ on b.role_id = c.id
+ where state =1 and a.id != 1
</select>
<select id="findOne" >
@@ -40,4 +61,9 @@
where a.id = #{loginId}
</select>
+ <update id="userDelete">
+ update user
+ set state =0
+ where id = #{id}
+ </update>
</mapper>
\ No newline at end of file
diff --git a/north-glass-erp/target/classes/mapper/userInfo/User.xml b/north-glass-erp/target/classes/mapper/userInfo/User.xml
index 38454fc..1120d54 100644
--- a/north-glass-erp/target/classes/mapper/userInfo/User.xml
+++ b/north-glass-erp/target/classes/mapper/userInfo/User.xml
@@ -3,9 +3,30 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.erp.mapper.userInfo.UserMapper">
- <select id="findAll">
- SELECT *
- FROM erp_user_info.user
+ <resultMap id="findAllMap" type="com.example.erp.entity.userInfo.User">
+ <id property="id" column="id"/>
+ <result property="loginName" column="login_name"/>
+ <result property="userName" column="user_name"/>
+ <result property="createTime" column="create_time"/>
+
+ <collection property="userRoleList" ofType="com.example.erp.entity.userInfo.UserRole">
+ <result property="userId" column="user_id"/>
+ <result property="roleId" column="role_id"/>
+ <result property="role" column="role"/>
+ </collection>
+ </resultMap>
+
+
+ <select id="findAll" resultMap="findAllMap">
+ SELECT a.*,
+ b.role_id,
+ c.role
+ FROM erp_user_info.user as a
+ left join user_role as b
+ on a.id = b.user_id
+ left join role as c
+ on b.role_id = c.id
+ where state =1 and a.id != 1
</select>
<select id="findOne" >
@@ -40,4 +61,9 @@
where a.id = #{loginId}
</select>
+ <update id="userDelete">
+ update user
+ set state =0
+ where id = #{id}
+ </update>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0