Commit 06fd481b authored by 赵啸非's avatar 赵啸非

修改用户登录,权限分配等

parent 5ee21138
...@@ -184,15 +184,21 @@ export default { ...@@ -184,15 +184,21 @@ export default {
formatterDictLink(row, column, val) { formatterDictLink(row, column, val) {
const content = formatter(this.tableData, column, val); const content = formatter(this.tableData, column, val);
let underline = false; let underline = false;
let type = "primary" let type = "primary"
if (val === 3) { if (val === 3) {
type = 'danger' type = 'danger'
} }
return content ? <el-link type={type} underline={underline} onClick={() => { this.toDrawerMsg(row) }} size='mini'>{content}</el-link> : val return content ? <el-link type={type} underline={underline} onClick={() => { this.toDrawerMsg(row) }} size='mini'>{content}</el-link> : val
}, },
formatters(row, column, val) {
if (val) {
return (
val.split(',').map(v => { return formatter(this.tableData, column, v) }).join(",")
)
}
return '--'
},
formatterLink(row, column, val) { formatterLink(row, column, val) {
//const content = formatter(this.tableData, column-2, val); //const content = formatter(this.tableData, column-2, val);
...@@ -258,6 +264,7 @@ export default { ...@@ -258,6 +264,7 @@ export default {
// 自定义索引号 // 自定义索引号
handleIndexMethod(index) { handleIndexMethod(index) {
//prePageResult 每页条数 //prePageResult 每页条数
console.log("index:"+index)
let size = this.tableData.pageInfo.prePageResult; let size = this.tableData.pageInfo.prePageResult;
let page = this.tableData.pageInfo.currPage; let page = this.tableData.pageInfo.currPage;
let count = parseInt(size) * (parseInt(page) - 1) let count = parseInt(size) * (parseInt(page) - 1)
......
...@@ -25,13 +25,13 @@ ...@@ -25,13 +25,13 @@
</div> </div>
<div class="layout-profile"> <div class="layout-profile">
<span class="el-dropdown-link"> <!-- <span class="el-dropdown-link">
{{userData.currUserName}} {{userData.currUserName}}
<!-- <i class="el-icon-arrow-down el-icon--right"></i> --> <i class="el-icon-arrow-down el-icon--right"></i>
</span> </span> -->
<!-- <el-dropdown @command="handleCommand"> <el-dropdown @command="handleCommand">
<span class="el-dropdown-link"> <span class="el-dropdown-link" style="color:white">
{{userData.currUserName}} {{userData.currUserName}}
<i class="el-icon-arrow-down el-icon--right"></i> <i class="el-icon-arrow-down el-icon--right"></i>
</span> </span>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<el-dropdown-item command="update">修改密码</el-dropdown-item> <el-dropdown-item command="update">修改密码</el-dropdown-item>
<el-dropdown-item command="logout">退出登录</el-dropdown-item> <el-dropdown-item command="logout">退出登录</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> --> </el-dropdown>
</div> </div>
</div> </div>
......
<template> <template>
<layout-form> <layout-form>
<Breadcrumb slot='breadcrumb' :list='breadcrumbList'></Breadcrumb> <!-- <Breadcrumb slot='breadcrumb' :list='breadcrumbList'></Breadcrumb> -->
<el-form :model="extendFormData" :rules="rules" ref="form" label-width="100px" size='small'> <el-form :model="extendFormData" :rules="rules" ref="form" label-width="100px" size='small'>
<el-row><Field label="旧密码" prop="oldPwd" v-model="extendFormData.oldPwd" type='password'/></el-row> <el-row><Field label="旧密码" prop="oldPwd" v-model="extendFormData.oldPwd" type='password'/></el-row>
<el-row> <el-row>
...@@ -41,10 +41,10 @@ export default { ...@@ -41,10 +41,10 @@ export default {
urls: { urls: {
saveUrl: '/login/updatePwd', saveUrl: '/login/updatePwd',
}, },
breadcrumbList: [ // breadcrumbList: [
{name: '系统管理',}, // {name: '系统管理',},
{name: '修改密码',}, // {name: '修改密码',},
], // ],
rules: { rules: {
oldPwd: [ oldPwd: [
{ required: true, message: '请输入旧密码', trigger: 'blur' }, { required: true, message: '请输入旧密码', trigger: 'blur' },
......
...@@ -26,12 +26,7 @@ export default { ...@@ -26,12 +26,7 @@ export default {
}, },
], ],
columns: [ columns: [
{ type: "index", label: "序号",align:"center", width: 50 },
{
prop: "id",
label: "序号",
align: "center",
},
{ {
prop: "userName", prop: "userName",
......
...@@ -43,10 +43,8 @@ export default { ...@@ -43,10 +43,8 @@ export default {
}, },
], ],
columns: [ columns: [
{ { type: "selection",reserveSelection:true, width: 60 },
type: 'selection', { type: "index", label: "序号",align:"center", width: 50 },
width: 60,
},
// { // {
// prop: 'id', // prop: 'id',
// label: 'ID', // label: 'ID',
......
...@@ -381,10 +381,9 @@ export default { ...@@ -381,10 +381,9 @@ export default {
// 保存选中的用户 // 保存选中的用户
async saveUser() { async saveUser() {
try { try {
this.user.form.userIdList = this.user.checkList.join(","); //this.user.form.userIdList = this.user.checkList.join(",");
await this.$post("/role/user/distributionUser", { this.user.form.userIdList = this.user.checkList
query: this.user.form, await this.$post("/role/user/distributionUser", this.user.form,);
});
this.user.visible = false; this.user.visible = false;
this.user.form = this.initForm(); this.user.form = this.initForm();
this.$message.success("操作成功"); this.$message.success("操作成功");
...@@ -476,7 +475,7 @@ export default { ...@@ -476,7 +475,7 @@ export default {
{ {
label: "操作", label: "操作",
witdh: 180, witdh: 120,
formatter: (row) => { formatter: (row) => {
return ( return (
<div> <div>
...@@ -495,6 +494,7 @@ export default { ...@@ -495,6 +494,7 @@ export default {
> >
分配权限 分配权限
</el-button> </el-button>
{/*
<el-button <el-button
icon="el-icon-goods" icon="el-icon-goods"
size="mini" size="mini"
...@@ -503,6 +503,7 @@ export default { ...@@ -503,6 +503,7 @@ export default {
> >
分配用户 分配用户
</el-button> </el-button>
*/}
</div> </div>
); );
}, },
......
...@@ -41,11 +41,9 @@ export default { ...@@ -41,11 +41,9 @@ export default {
}, },
], ],
columns: [ columns: [
{
type: "selection", { type: "selection",reserveSelection:true, width: 60 },
width: 60, { type: "index", label: "序号",align:"center", width: 50 },
align: "center",
},
{ {
prop: "name", prop: "name",
label: "任务名称", label: "任务名称",
......
...@@ -152,11 +152,8 @@ export default { ...@@ -152,11 +152,8 @@ export default {
}, },
config: { config: {
columns: [ columns: [
{ { type: "selection",reserveSelection:true, width: 60 },
type: "selection", { type: "index", label: "序号",align:"center", width: 50 },
width: 60,
align: "center",
},
{ {
prop: "loginName", prop: "loginName",
label: "登录名称", label: "登录名称",
......
...@@ -8,13 +8,20 @@ ...@@ -8,13 +8,20 @@
package com.mortals.xhx.base.system.role.service.impl; package com.mortals.xhx.base.system.role.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.base.system.role.dao.RoleDao; import com.mortals.xhx.base.system.role.dao.RoleDao;
import com.mortals.xhx.base.system.role.model.RoleEntity; import com.mortals.xhx.base.system.role.model.*;
import com.mortals.xhx.base.system.role.service.RoleAuthService;
import com.mortals.xhx.base.system.role.service.RoleService; import com.mortals.xhx.base.system.role.service.RoleService;
import com.mortals.xhx.base.system.role.service.RoleUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays;
/** /**
* <p>Title: 角色信息</p> * <p>Title: 角色信息</p>
* <p>Description: RoleServiceImpl service接口 </p> * <p>Description: RoleServiceImpl service接口 </p>
...@@ -26,6 +33,28 @@ import org.springframework.stereotype.Service; ...@@ -26,6 +33,28 @@ import org.springframework.stereotype.Service;
@Service("roleService") @Service("roleService")
public class RoleServiceImpl extends AbstractCRUDServiceImpl<RoleDao,RoleEntity,Long> implements RoleService { public class RoleServiceImpl extends AbstractCRUDServiceImpl<RoleDao,RoleEntity,Long> implements RoleService {
@Autowired
private RoleAuthService roleAuthService;
@Autowired
private RoleUserService roleUserService;
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
//删除关联角色
Arrays.asList(ids).stream().peek(roleId->{
RoleAuthQuery roleAuthQuery = new RoleAuthQuery();
roleAuthQuery.setRoleId(roleId);
Long[] roleAuthIds = roleAuthService.find(roleAuthQuery).stream().map(RoleAuthEntity::getId).toArray(Long[]::new);
roleAuthService.remove(roleAuthIds,context);
RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setRoleId(roleId);
Long[] roleUserIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getId).toArray(Long[]::new);
roleUserService.remove(roleUserIds,context);
}).count();
super.removeAfter(ids, context, result);
}
} }
\ No newline at end of file
...@@ -32,6 +32,7 @@ import java.util.Map; ...@@ -32,6 +32,7 @@ import java.util.Map;
@Service("roleUserService") @Service("roleUserService")
public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,RoleUserEntity,Long> implements RoleUserService { public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,RoleUserEntity,Long> implements RoleUserService {
@Override @Override
public void doDistributionUser(RoleUserQuery query) { public void doDistributionUser(RoleUserQuery query) {
Long roleId = query.getRoleId(); Long roleId = query.getRoleId();
...@@ -69,4 +70,6 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol ...@@ -69,4 +70,6 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
this.dao.insertBatch(list); this.dao.insertBatch(list);
} }
} }
\ No newline at end of file
...@@ -15,6 +15,8 @@ public class UserEntityExt extends BaseEntityLong { ...@@ -15,6 +15,8 @@ public class UserEntityExt extends BaseEntityLong {
* 站点名称 * 站点名称
*/ */
private String siteName; private String siteName;
private String roleIds;
/** /**
* 唯一标识 * 唯一标识
*/ */
......
...@@ -19,6 +19,8 @@ public class UserVo extends BaseEntityLong { ...@@ -19,6 +19,8 @@ public class UserVo extends BaseEntityLong {
* 站点名称 * 站点名称
*/ */
private String siteName; private String siteName;
private String roleIds;
/** /**
* 唯一标识 * 唯一标识
*/ */
......
...@@ -22,6 +22,10 @@ import com.mortals.xhx.base.system.menu.model.MenuEntity; ...@@ -22,6 +22,10 @@ import com.mortals.xhx.base.system.menu.model.MenuEntity;
import com.mortals.xhx.base.system.menu.service.MenuService; import com.mortals.xhx.base.system.menu.service.MenuService;
import com.mortals.xhx.base.system.resource.model.ResourceEntity; import com.mortals.xhx.base.system.resource.model.ResourceEntity;
import com.mortals.xhx.base.system.resource.service.ResourceService; import com.mortals.xhx.base.system.resource.service.ResourceService;
import com.mortals.xhx.base.system.role.model.RoleUserEntity;
import com.mortals.xhx.base.system.role.model.RoleUserQuery;
import com.mortals.xhx.base.system.role.service.RoleService;
import com.mortals.xhx.base.system.role.service.RoleUserService;
import com.mortals.xhx.base.system.user.dao.UserDao; import com.mortals.xhx.base.system.user.dao.UserDao;
import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.model.UserQuery; import com.mortals.xhx.base.system.user.model.UserQuery;
...@@ -52,7 +56,10 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity ...@@ -52,7 +56,10 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
private MenuService menuService; private MenuService menuService;
@Autowired @Autowired
private ResourceService resourceService; private ResourceService resourceService;
@Autowired
private RoleService roleService;
@Autowired
private RoleUserService roleUserService;
private void doHandlerUser(UserEntity entity) throws AppException { private void doHandlerUser(UserEntity entity) throws AppException {
if (StringUtils.isNotEmpty(entity.getLoginPwd())) { if (StringUtils.isNotEmpty(entity.getLoginPwd())) {
...@@ -64,24 +71,55 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity ...@@ -64,24 +71,55 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
} else { } else {
entity.setLoginPwd(null); entity.setLoginPwd(null);
} }
// if (entity.isSystemUser()) {
// entity.setUserType(UserType.SYSTEM.getValue());
// } else {
// entity.setUserType(UserType.CUSTOMER.getValue());
// }
} }
@Override @Override
protected void saveBefore(UserEntity entity, Context context) throws AppException { protected void saveBefore(UserEntity entity, Context context) throws AppException {
this.doHandlerUser(entity); this.doHandlerUser(entity);
} }
@Override @Override
protected void updateBefore(UserEntity entity, Context context) throws AppException { protected void updateBefore(UserEntity entity, Context context) throws AppException {
if (entity.getId().longValue() == SysConstains.ADMIN_ID && !context.getUser().isAdmin()) { // if (entity.getId().longValue() == SysConstains.ADMIN_ID && !context.getUser().isAdmin()) {
throw new AppException("你没有权限执行该操作"); // throw new AppException("你没有权限执行该操作");
} // }
//更新不更新密码字段
entity.setLoginPwd(null);
this.doHandlerUser(entity); this.doHandlerUser(entity);
//更新角色
if(entity.getId().longValue() != SysConstains.ADMIN_ID &&!ObjectUtils.isEmpty(entity.getRoleIds())){
RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setUserId(entity.getId());
List<Long> idList = Arrays.asList(entity.getRoleIds().split(",")).stream().map(Long::parseLong).collect(Collectors.toList());
roleUserQuery.setRoleIdList(idList);
roleUserService.doDistributionRole(roleUserQuery);
}
}
@Override
protected void saveAfter(UserEntity entity, Context context) throws AppException {
//更新角色
if(!ObjectUtils.isEmpty(entity.getId())&&entity.getId().longValue() != SysConstains.ADMIN_ID &&!ObjectUtils.isEmpty(entity.getRoleIds())){
RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setUserId(entity.getId());
List<Long> idList = Arrays.asList(entity.getRoleIds().split(",")).stream().map(Long::parseLong).collect(Collectors.toList());
roleUserQuery.setRoleIdList(idList);
roleUserService.doDistributionRole(roleUserQuery);
}
super.saveAfter(entity, context);
}
@Override
protected void findAfter(UserEntity params, PageInfo pageInfo, Context context, List<UserEntity> list) throws AppException {
list.stream().peek(item -> {
RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setUserId(item.getId());
String roleIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(","));
item.setRoleIds(roleIds);
}).count();
super.findAfter(params, pageInfo, context, list);
} }
@Override @Override
...@@ -103,7 +141,11 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity ...@@ -103,7 +141,11 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
public UserEntity findByLoginName(String loginName) { public UserEntity findByLoginName(String loginName) {
UserQuery params = new UserQuery(); UserQuery params = new UserQuery();
params.setLoginName(loginName); params.setLoginName(loginName);
return this.selectOne(params); List<UserEntity> userList = super.dao.getList(params);
if (userList != null && userList.size() > 0) {
return userList.get(0);
}
return null;
} }
@Override @Override
...@@ -119,7 +161,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity ...@@ -119,7 +161,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
} catch (Exception e) { } catch (Exception e) {
throw new AppException("密码验认出错!", e); throw new AppException("密码验认出错!", e);
} }
return sysUser; return sysUser;
} }
...@@ -163,7 +204,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity ...@@ -163,7 +204,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
urls.addAll(StringUtils.converStr2Set(url)); urls.addAll(StringUtils.converStr2Set(url));
} }
} }
Set<Long> authIds = new HashSet<Long>(); Set<Long> authIds = new HashSet<>();
Map<Long, MenuEntity> menuMap = new HashMap<Long, MenuEntity>(); Map<Long, MenuEntity> menuMap = new HashMap<Long, MenuEntity>();
List<MenuEntity> userModuleList = this.menuService.findAllEnable(); List<MenuEntity> userModuleList = this.menuService.findAllEnable();
for (MenuEntity sysModule : userModuleList) { for (MenuEntity sysModule : userModuleList) {
...@@ -171,6 +212,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity ...@@ -171,6 +212,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
continue; continue;
} }
menuMap.put(sysModule.getId(), sysModule); menuMap.put(sysModule.getId(), sysModule);
if (!user.isAdmin() && urls.contains(StringUtils.trim(sysModule.getUrl()))) { if (!user.isAdmin() && urls.contains(StringUtils.trim(sysModule.getUrl()))) {
authIds.add(sysModule.getId()); authIds.add(sysModule.getId());
} }
...@@ -264,7 +306,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity ...@@ -264,7 +306,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
} }
try { try {
sysUser.setLoginPwd(SecurityUtil.md5DoubleEncoding(newPwd)); sysUser.setLoginPwd(SecurityUtil.md5DoubleEncoding(newPwd));
} catch (Exception e) { } catch (Exception e) {
throw new AppException("密码转换异常!", e); throw new AppException("密码转换异常!", e);
} }
...@@ -272,14 +313,15 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity ...@@ -272,14 +313,15 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
return true; return true;
} }
@Override @Override
protected void findAfter(UserEntity params, PageInfo pageInfo, Context context, List<UserEntity> list) throws AppException { protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
super.findAfter(params, pageInfo, context, list); Arrays.asList(ids).stream().peek(userId->{
// list.stream().peek(item->{ RoleUserQuery roleUserQuery = new RoleUserQuery();
// if(!ObjectUtils.isEmpty(item.getSiteId())&&item.getSiteId()!=0L){ roleUserQuery.setUserId(userId);
// item.setSiteName(siteService.get(item.getSiteId()).getSiteName()); Long[] userIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getId).toArray(Long[]::new);
// } roleUserService.remove(userIds,context);
// }).count(); }).count();
super.removeAfter(ids, context, result);
} }
} }
\ No newline at end of file
...@@ -9,12 +9,18 @@ import com.mortals.framework.model.Context; ...@@ -9,12 +9,18 @@ import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.framework.web.BaseCRUDJsonMappingController; import com.mortals.framework.web.BaseCRUDJsonMappingController;
import com.mortals.xhx.base.framework.annotation.Operlog; import com.mortals.xhx.base.framework.annotation.Operlog;
import com.mortals.xhx.base.system.role.model.RoleQuery;
import com.mortals.xhx.base.system.role.model.RoleUserEntity;
import com.mortals.xhx.base.system.role.model.RoleUserQuery;
import com.mortals.xhx.base.system.role.service.RoleService;
import com.mortals.xhx.base.system.role.service.RoleUserService;
import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.UserStatus; import com.mortals.xhx.common.code.UserStatus;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Jwts;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
...@@ -26,6 +32,7 @@ import javax.servlet.http.HttpServletResponse; ...@@ -26,6 +32,7 @@ import javax.servlet.http.HttpServletResponse;
import java.util.Base64; import java.util.Base64;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 用户信息 * 用户信息
...@@ -38,7 +45,9 @@ import java.util.Map; ...@@ -38,7 +45,9 @@ import java.util.Map;
public class UserController extends BaseCRUDJsonBodyMappingController<UserService, UserEntity, Long> { public class UserController extends BaseCRUDJsonBodyMappingController<UserService, UserEntity, Long> {
@Autowired @Autowired
private UserService userService; private RoleService roleService;
@Autowired
private RoleUserService roleUserService;
public UserController() { public UserController() {
super.setFormClass(UserForm.class); super.setFormClass(UserForm.class);
...@@ -47,10 +56,10 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -47,10 +56,10 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
Map<String, Object> statsus = new HashMap<String, Object>(); this.addDict(model,"userType", IBaseEnum.getEnumMap(UserType.class));
statsus.put("userType", IBaseEnum.getEnumMap(UserType.class)); this.addDict(model,"status", UserStatus.getEnumMap());
statsus.put("status", UserStatus.getEnumMap()); this.addDict(model, "roleIds", roleService.find(new RoleQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getName())));
model.put(KEY_RESULT_DICT, statsus);
} }
@Override @Override
...@@ -64,17 +73,19 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -64,17 +73,19 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
} }
@Override @Override
protected int editAfter(Long id, Map<String, Object> model, UserEntity entity, Context context) throws AppException { protected int editAfter(Long id, Map<String, Object> model, UserEntity entity, Context context) throws AppException {
entity.setLoginPwd(null); RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setUserId(entity.getId());
String roleIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(","));
entity.setRoleIds(roleIds);
return super.editAfter(id, model, entity, context); return super.editAfter(id, model, entity, context);
} }
@Override @Override
protected int saveAfter(UserEntity entity, Map<String, Object> model, Context context) throws AppException { protected int saveAfter(UserEntity entity, Map<String, Object> model, Context context) throws AppException {
if (entity.getId() == getCurUser().getId()) { if (entity.getId() == getCurUser().getId()) {
// TODO: 2022/8/15 更新redis session信息
//saveCurrUserForSession(request, response, userService.get(form.getEntity().getId(), false)); //saveCurrUserForSession(request, response, userService.get(form.getEntity().getId(), false));
} }
return super.saveAfter(entity, model, context); return super.saveAfter(entity, model, context);
...@@ -86,6 +97,9 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -86,6 +97,9 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
if (service.existUser(entity.getLoginName(), entity.getId())) { if (service.existUser(entity.getLoginName(), entity.getId())) {
throw new AppException("登录名已存在!"); throw new AppException("登录名已存在!");
} }
if (!ObjectUtils.isEmpty(entity.getLoginName()) && service.existUser(entity.getLoginName(), entity.getId())) {
throw new AppException("登录名已存在!");
}
super.saveBefore(entity, model, context); super.saveBefore(entity, model, context);
} }
......
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