session干扰
This commit is contained in:
@@ -70,7 +70,7 @@ public class MenuController {
|
|||||||
|
|
||||||
@ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID")
|
@ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID")
|
||||||
@GetMapping(value = "/child")
|
@GetMapping(value = "/child")
|
||||||
@SaCheckPermission("menu:list','roles:list")
|
@SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND)
|
||||||
public ResponseEntity<Object> child(@RequestParam Long id){
|
public ResponseEntity<Object> child(@RequestParam Long id){
|
||||||
Set<Menu> menuSet = new HashSet<>();
|
Set<Menu> menuSet = new HashSet<>();
|
||||||
List<MenuDto> menuList = menuService.getMenus(id);
|
List<MenuDto> menuList = menuService.getMenus(id);
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
if (userRepository.findByEmail(resources.getEmail()) != null) {
|
if (userRepository.findByEmail(resources.getEmail()) != null) {
|
||||||
throw new EntityExistException(User.class, "email", resources.getEmail());
|
throw new EntityExistException(User.class, "email", resources.getEmail());
|
||||||
}
|
}
|
||||||
|
resources.setCreateBy(SecurityUtils.getCurrentUsername());
|
||||||
userRepository.save(resources);
|
userRepository.save(resources);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,7 +140,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
// 清除缓存
|
// 清除缓存
|
||||||
delCaches(user.getId(), user.getUsername());
|
delCaches(user.getId(), user.getUsername());
|
||||||
// 修改session
|
// 修改session
|
||||||
flushSession(user);
|
// flushSession(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -153,7 +154,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
// 清理缓存
|
// 清理缓存
|
||||||
delCaches(user.getId(), user.getUsername());
|
delCaches(user.getId(), user.getUsername());
|
||||||
// 修改session
|
// 修改session
|
||||||
flushSession(user);
|
// flushSession(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -183,7 +184,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
public void updatePass(String username, String pass) {
|
public void updatePass(String username, String pass) {
|
||||||
userRepository.updatePass(username, pass, new Date());
|
userRepository.updatePass(username, pass, new Date());
|
||||||
redisUtils.del("user::username:" + username);
|
redisUtils.del("user::username:" + username);
|
||||||
flushSession(userRepository.findByUsername(username));
|
// flushSession(userRepository.findByUsername(username));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -199,7 +200,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
FileUtil.del(oldPath);
|
FileUtil.del(oldPath);
|
||||||
}
|
}
|
||||||
@NotBlank String username = user.getUsername();
|
@NotBlank String username = user.getUsername();
|
||||||
flushSession(user);
|
// flushSession(user);
|
||||||
return new HashMap<String, String>(1) {{
|
return new HashMap<String, String>(1) {{
|
||||||
put("avatar", file.getName());
|
put("avatar", file.getName());
|
||||||
}};
|
}};
|
||||||
@@ -209,7 +210,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateEmail(String username, String email) {
|
public void updateEmail(String username, String email) {
|
||||||
userRepository.updateEmail(username, email);
|
userRepository.updateEmail(username, email);
|
||||||
flushSession(userRepository.findByUsername(username));
|
// flushSession(userRepository.findByUsername(username));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -246,9 +247,9 @@ public class UserServiceImpl implements UserService {
|
|||||||
*
|
*
|
||||||
* @param user /
|
* @param user /
|
||||||
*/
|
*/
|
||||||
private void flushSession(User user) {
|
// private void flushSession(User user) {
|
||||||
UserDto userDto = this.findByName(user.getUsername());
|
// UserDto userDto = this.findByName(user.getUsername());
|
||||||
List<String> permissionList = roleService.getPermissionList(userDto.getId().toString());
|
// List<String> permissionList = roleService.getPermissionList(userDto.getId().toString());
|
||||||
flushSessionUtil.flushSessionInfo(userDto, permissionList);
|
// flushSessionUtil.flushSessionInfo(userDto, permissionList);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ const service = axios.create({
|
|||||||
// request拦截器
|
// request拦截器
|
||||||
service.interceptors.request.use(
|
service.interceptors.request.use(
|
||||||
config => {
|
config => {
|
||||||
// debugger
|
|
||||||
if (getToken()) {
|
if (getToken()) {
|
||||||
config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
|
config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,16 +70,16 @@
|
|||||||
>
|
>
|
||||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px">
|
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px">
|
||||||
<el-form-item label="用户名" prop="username">
|
<el-form-item label="用户名" prop="username">
|
||||||
<el-input style="width: 200px;" v-model="form.username" />
|
<el-input v-model="form.username" style="width: 200px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="电话" prop="phone">
|
<el-form-item label="电话" prop="phone">
|
||||||
<el-input v-model.number="form.phone" style="width: 200px;"/>
|
<el-input v-model.number="form.phone" style="width: 200px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="昵称" prop="nickName">
|
<el-form-item label="昵称" prop="nickName">
|
||||||
<el-input v-model="form.nickName" style="width: 200px;"/>
|
<el-input v-model="form.nickName" style="width: 200px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="邮箱" prop="email">
|
<el-form-item label="邮箱" prop="email">
|
||||||
<el-input v-model="form.email" style="width: 200px;"/>
|
<el-input v-model="form.email" style="width: 200px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="部门" prop="dept.id">
|
<el-form-item label="部门" prop="dept.id">
|
||||||
<treeselect
|
<treeselect
|
||||||
@@ -191,7 +191,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import crudUser from '@/api/system/user'
|
import crudUser from '@/api/system/user'
|
||||||
import { isvalidPhone } from '@/utils/validate'
|
|
||||||
import { getDepts, getDeptSuperior } from '@/api/system/dept'
|
import { getDepts, getDeptSuperior } from '@/api/system/dept'
|
||||||
import { getAll, getLevel } from '@/api/system/role'
|
import { getAll, getLevel } from '@/api/system/role'
|
||||||
import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||||
@@ -205,7 +204,6 @@ import { mapGetters } from 'vuex'
|
|||||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||||
|
|
||||||
let userRoles = []
|
let userRoles = []
|
||||||
let userJobs = []
|
|
||||||
const defaultForm = {
|
const defaultForm = {
|
||||||
id: null,
|
id: null,
|
||||||
username: null,
|
username: null,
|
||||||
@@ -227,14 +225,6 @@ export default {
|
|||||||
// 数据字典
|
// 数据字典
|
||||||
dicts: ['user_status'],
|
dicts: ['user_status'],
|
||||||
data() {
|
data() {
|
||||||
// 自定义验证
|
|
||||||
const validPhone = (rule, value, callback) => {
|
|
||||||
if (!isvalidPhone(value)) {
|
|
||||||
callback(new Error('请输入正确的11位手机号码'))
|
|
||||||
} else {
|
|
||||||
callback()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return {
|
return {
|
||||||
height: document.documentElement.clientHeight - 180 + 'px;',
|
height: document.documentElement.clientHeight - 180 + 'px;',
|
||||||
deptName: '', depts: [], deptDatas: [], level: 3, roles: [],
|
deptName: '', depts: [], deptDatas: [], level: 3, roles: [],
|
||||||
@@ -257,12 +247,6 @@ export default {
|
|||||||
nickName: [
|
nickName: [
|
||||||
{ required: true, message: '请输入用户昵称', trigger: 'blur' },
|
{ required: true, message: '请输入用户昵称', trigger: 'blur' },
|
||||||
{ min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' }
|
{ min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' }
|
||||||
],
|
|
||||||
email: [
|
|
||||||
{ type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
phone: [
|
|
||||||
{ required: false, trigger: 'blur', validator: validPhone }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -289,13 +273,6 @@ export default {
|
|||||||
userRoles.push(role)
|
userRoles.push(role)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
changeJob(value) {
|
|
||||||
userJobs = []
|
|
||||||
value.forEach(function(data, index) {
|
|
||||||
const job = { id: data }
|
|
||||||
userJobs.push(job)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
deleteTag(value) {
|
deleteTag(value) {
|
||||||
userRoles.forEach(function(data, index) {
|
userRoles.forEach(function(data, index) {
|
||||||
if (data.id === value) {
|
if (data.id === value) {
|
||||||
@@ -316,14 +293,12 @@ export default {
|
|||||||
},
|
},
|
||||||
// 新增前将多选的值设置为空
|
// 新增前将多选的值设置为空
|
||||||
[CRUD.HOOK.beforeToAdd]() {
|
[CRUD.HOOK.beforeToAdd]() {
|
||||||
this.jobDatas = []
|
|
||||||
this.roleDatas = []
|
this.roleDatas = []
|
||||||
},
|
},
|
||||||
// 初始化编辑时候的角色与岗位
|
// 初始化编辑时候的角色与岗位
|
||||||
[CRUD.HOOK.beforeToEdit](crud, form) {
|
[CRUD.HOOK.beforeToEdit](crud, form) {
|
||||||
this.roleDatas = []
|
this.roleDatas = []
|
||||||
userRoles = []
|
userRoles = []
|
||||||
userJobs = []
|
|
||||||
const _this = this
|
const _this = this
|
||||||
form.roles.forEach(function(role, index) {
|
form.roles.forEach(function(role, index) {
|
||||||
_this.roleDatas.push(role.id)
|
_this.roleDatas.push(role.id)
|
||||||
@@ -339,12 +314,6 @@ export default {
|
|||||||
type: 'warning'
|
type: 'warning'
|
||||||
})
|
})
|
||||||
return false
|
return false
|
||||||
} else if (this.jobDatas.length === 0) {
|
|
||||||
this.$message({
|
|
||||||
message: '岗位不能为空',
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
return false
|
|
||||||
} else if (this.roleDatas.length === 0) {
|
} else if (this.roleDatas.length === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: '角色不能为空',
|
message: '角色不能为空',
|
||||||
@@ -353,11 +322,12 @@ export default {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
crud.form.roles = userRoles
|
crud.form.roles = userRoles
|
||||||
// crud.form.jobs = userJobs
|
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
// 获取左侧部门数据
|
// 获取左侧部门数据
|
||||||
getDeptDatas(node, resolve) {
|
getDeptDatas(node, resolve) {
|
||||||
|
console.log('node', node)
|
||||||
|
console.log('resolve', resolve)
|
||||||
const sort = 'id,desc'
|
const sort = 'id,desc'
|
||||||
const params = { sort: sort }
|
const params = { sort: sort }
|
||||||
if (typeof node !== 'object') {
|
if (typeof node !== 'object') {
|
||||||
@@ -367,8 +337,10 @@ export default {
|
|||||||
} else if (node.level !== 0) {
|
} else if (node.level !== 0) {
|
||||||
params['pid'] = node.data.id
|
params['pid'] = node.data.id
|
||||||
}
|
}
|
||||||
|
console.log('params', params)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
getDepts(params).then(res => {
|
getDepts(params).then(res => {
|
||||||
|
console.log('res', res)
|
||||||
if (resolve) {
|
if (resolve) {
|
||||||
resolve(res.content)
|
resolve(res.content)
|
||||||
} else {
|
} else {
|
||||||
@@ -378,7 +350,9 @@ export default {
|
|||||||
}, 100)
|
}, 100)
|
||||||
},
|
},
|
||||||
getDepts() {
|
getDepts() {
|
||||||
|
console.log('获取部门')
|
||||||
getDepts({ enabled: true }).then(res => {
|
getDepts({ enabled: true }).then(res => {
|
||||||
|
console.log('获取的部门信息', res)
|
||||||
this.depts = res.content.map(function(obj) {
|
this.depts = res.content.map(function(obj) {
|
||||||
if (obj.hasChildren) {
|
if (obj.hasChildren) {
|
||||||
obj.children = null
|
obj.children = null
|
||||||
@@ -389,6 +363,7 @@ export default {
|
|||||||
},
|
},
|
||||||
getSupDepts(deptId) {
|
getSupDepts(deptId) {
|
||||||
getDeptSuperior(deptId).then(res => {
|
getDeptSuperior(deptId).then(res => {
|
||||||
|
console.log('父部门', res)
|
||||||
const date = res.content
|
const date = res.content
|
||||||
this.buildDepts(date)
|
this.buildDepts(date)
|
||||||
this.depts = date
|
this.depts = date
|
||||||
|
|||||||
Reference in New Issue
Block a user