multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysMenuController.java
@@ -7,6 +7,10 @@ import com.gkhy.exam.common.domain.entity.SysMenu; import com.gkhy.exam.common.utils.StringUtils; import com.gkhy.exam.system.service.ISysMenuService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -24,6 +28,7 @@ * * @author expert */ @Api(tags = "菜单信息") @RestController @RequestMapping("/system/menu") public class SysMenuController @@ -35,6 +40,7 @@ * 获取菜单列表 */ //@PreAuthorize("hasAnyAuthority('system:menu:list')") @ApiOperation(value = "获取菜单列表") @GetMapping("/list") public CommonResult list(SysMenu menu) { @@ -46,6 +52,10 @@ * 根据菜单编号获取详细信息 */ //@PreAuthorize("hasAnyAuthority('system:menu:query')") @ApiOperation(value = "根据菜单编号获取详细信息") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "menuId", dataType = "int", required = true, value = "menuId"), }) @GetMapping(value = "/{menuId}") public CommonResult getInfo(@PathVariable Long menuId) { @@ -56,6 +66,7 @@ * 获取菜单下拉树列表 */ @GetMapping("/treeselect") @ApiOperation(value = "获取菜单下拉树列表") public CommonResult treeselect(SysMenu menu) { List<SysMenu> menus = menuService.selectMenuList(menu, getUserId()); @@ -65,6 +76,10 @@ /** * 加载对应角色菜单列表树 */ @ApiOperation(value = "加载对应角色菜单列表树") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "roleId", dataType = "int", required = true, value = "roleId"), }) @GetMapping(value = "/roleMenuTreeselect/{roleId}") public CommonResult roleMenuTreeselect(@PathVariable("roleId") Long roleId) { @@ -79,6 +94,7 @@ * 新增菜单 */ //@PreAuthorize("hasAnyAuthority('system:menu:add')") @ApiOperation(value = "新增菜单") @PostMapping public CommonResult add(@Validated @RequestBody SysMenu menu) { @@ -100,6 +116,7 @@ //@PreAuthorize("hasAnyAuthority('system:menu:edit')") @PutMapping @ApiOperation(value = "修改菜单") public CommonResult edit(@Validated @RequestBody SysMenu menu) { if (!menuService.checkMenuNameUnique(menu)) @@ -122,7 +139,12 @@ * 删除菜单 */ //@PreAuthorize("hasAnyAuthority('system:menu:remove')") @ApiOperation(value = "删除菜单") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "menuId", dataType = "int", required = true, value = "menuId"), }) @DeleteMapping("/{menuId}") public CommonResult remove(@PathVariable("menuId") Long menuId) { if (menuService.hasChildByMenuId(menuId)) multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysRoleController.java
@@ -16,6 +16,10 @@ import com.gkhy.exam.system.domain.SysUserRole; import com.gkhy.exam.system.service.ISysRoleService; import com.gkhy.exam.system.service.SysUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -35,6 +39,7 @@ * * @author expert */ @Api(tags = "角色信息") @RestController @RequestMapping("/system/role") public class SysRoleController @@ -56,6 +61,7 @@ // @PreAuthorize("hasAnyAuthority('system:role:list')") @GetMapping("/list") @ApiOperation(value = "获取角色列表") public CommonResult list(SysRole role) { @@ -76,7 +82,11 @@ * 根据角色编号获取详细信息 */ //@PreAuthorize("hasAnyAuthority('system:role:query')") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "roleId", dataType = "int", required = true, value = "roleId"), }) @GetMapping(value = "/{roleId}") @ApiOperation(value = "根据角色编号获取详细信息") public CommonResult getInfo(@PathVariable Long roleId) { roleService.checkRoleDataScope(roleId); @@ -89,6 +99,7 @@ //@PreAuthorize("hasAnyAuthority('system:role:add')") //@Log(title = "角色管理", businessType = BusinessType.INSERT) @PostMapping @ApiOperation(value = "新增角色") public CommonResult add(@Validated @RequestBody SysRole role) { if (!roleService.checkRoleNameUnique(role)) @@ -110,6 +121,7 @@ //@PreAuthorize("hasAnyAuthority('system:role:edit')") //@Log(title = "角色管理", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "修改保存角色") public CommonResult edit(@Validated @RequestBody SysRole role) { roleService.checkRoleAllowed(role); @@ -146,6 +158,7 @@ //@PreAuthorize("hasAnyAuthority('system:role:edit')") //@Log(title = "角色管理", businessType = BusinessType.UPDATE) @PutMapping("/dataScope") @ApiOperation(value = "修改保存数据权限") public CommonResult dataScope(@RequestBody SysRole role) { roleService.checkRoleAllowed(role); @@ -159,6 +172,7 @@ //@PreAuthorize("hasAnyAuthority('system:role:edit')") // @Log(title = "角色管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") @ApiOperation(value = "状态修改") public CommonResult changeStatus(@RequestBody SysRole role) { roleService.checkRoleAllowed(role); @@ -172,6 +186,10 @@ */ //@PreAuthorize("hasAnyAuthority('system:role:remove')") @Log(title = "角色管理", businessType = BusinessType.DELETE) @ApiOperation(value = "删除角色") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "roleIds", dataType = "array", required = true, value = "roleIds"), }) @DeleteMapping("/{roleIds}") public CommonResult remove(@PathVariable Long[] roleIds) { @@ -182,6 +200,7 @@ * 获取角色选择框列表 */ //@PreAuthorize("hasAnyAuthority('system:role:query')") @ApiOperation(value = "获取角色选择框列表") @GetMapping("/optionselect") public CommonResult optionselect() { @@ -192,6 +211,7 @@ * 查询已分配用户角色列表 */ //@PreAuthorize("hasAnyAuthority('system:role:list')") @ApiOperation(value = "查询已分配用户角色列表") @GetMapping("/authUser/allocatedList") public CommonResult allocatedList(SysUser user) { @@ -205,6 +225,8 @@ */ //@PreAuthorize("hasAnyAuthority('system:role:list')") @GetMapping("/authUser/unallocatedList") @ApiOperation(value = "查询未分配用户角色列表") public CommonResult unallocatedList(SysUser user) { startPage(); @@ -218,6 +240,7 @@ //@PreAuthorize("hasAnyAuthority('system:role:edit')") @Log(title = "角色管理", businessType = BusinessType.GRANT) @PutMapping("/authUser/cancel") @ApiOperation(value = "取消授权用户") public CommonResult cancelAuthUser(@RequestBody SysUserRole userRole) { return CommonResult.success(roleService.deleteAuthUser(userRole)); @@ -229,6 +252,11 @@ //@PreAuthorize("hasAnyAuthority('system:role:edit')") @Log(title = "角色管理", businessType = BusinessType.GRANT) @PutMapping("/authUser/cancelAll") @ApiOperation(value = "批量取消授权用户") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "userIds", dataType = "array", required = true, value = "用户id数组"), @ApiImplicitParam(paramType = "query", name = "roleId", dataType = "int", required = true, value = "角色id"), }) public CommonResult cancelAuthUserAll(Long roleId, Long[] userIds) { return CommonResult.success(roleService.deleteAuthUsers(roleId, userIds)); @@ -240,6 +268,11 @@ //@PreAuthorize("hasAnyAuthority('system:role:edit')") @Log(title = "角色管理", businessType = BusinessType.GRANT) @PutMapping("/authUser/selectAll") @ApiOperation(value = "批量选择用户授权") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "userIds", dataType = "array", required = true, value = "用户id数组"), @ApiImplicitParam(paramType = "query", name = "roleId", dataType = "int", required = true, value = "角色id"), }) public CommonResult selectAuthUserAll(Long roleId, Long[] userIds) { roleService.checkRoleDataScope(roleId); @@ -251,6 +284,7 @@ */ //@PreAuthorize("hasAnyAuthority('system:role:query')") @GetMapping(value = "/deptTree/{roleId}") @ApiOperation(value = "获取对应角色部门树列表") public CommonResult deptTree(@PathVariable("roleId") Long roleId) { Map<String,Object> ajax = new HashMap<>(); multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysUser.java
@@ -16,6 +16,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import java.util.Set; import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; @@ -164,4 +165,8 @@ @TableField(exist = false) private List<SysRole> roles; // @TableField(exist = false) // @ApiModelProperty("角色ids") // private Set<Long> roleIds; } multi-common/src/main/java/com/gkhy/exam/common/domain/model/LoginUserDetails.java
@@ -24,6 +24,7 @@ private List<GrantedAuthority> authorities; public LoginUserDetails(SysUser user,List<GrantedAuthority> authorities) { this.user = user; this.authorities=authorities; multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
@@ -7,6 +7,7 @@ import com.gkhy.exam.common.api.CommonPage; import com.gkhy.exam.common.constant.CacheConstant; import com.gkhy.exam.common.constant.UserConstant; import com.gkhy.exam.common.domain.entity.SysRole; import com.gkhy.exam.common.domain.entity.SysUser; import com.gkhy.exam.common.enums.UserTypeEnum; import com.gkhy.exam.common.exception.ApiException; @@ -26,10 +27,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.validation.Validator; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.*; import java.util.concurrent.TimeUnit; @@ -153,12 +151,8 @@ user.setCreateBy(SecurityUtils.getUsername()); user.setPassword(SecurityUtils.encryptPassword(Base64.decodeStr(user.getPassword()))); int row=baseMapper.insert(user); List<SysUserRole> userRoleList = new ArrayList<>(); SysUserRole sysUserRole = new SysUserRole(); sysUserRole.setUserId(user.getId()); sysUserRole.setRoleId(2L); userRoleList.add(sysUserRole); userRoleMapper.batchUserRole(userRoleList); batchSaveRole(user.getRoles(),user.getId(),false); exStudentService.insertStudent(exStudent); @@ -168,6 +162,30 @@ return row; } public void batchSaveRole(List<SysRole> roleIds, Long userId, boolean isUpdate){ if (isUpdate){ userRoleMapper.deleteUserRoleByUserId(userId); } List<SysUserRole> userRoleList = new ArrayList<>(); if(roleIds != null && !roleIds.isEmpty()){ for (SysRole roleId : roleIds) { SysUserRole sysUserRole = new SysUserRole(); sysUserRole.setUserId(userId); sysUserRole.setRoleId(roleId.getRoleId()); userRoleList.add(sysUserRole); } }else { SysUserRole sysUserRole = new SysUserRole(); sysUserRole.setUserId(userId); sysUserRole.setRoleId(2L); userRoleList.add(sysUserRole); } userRoleMapper.batchUserRole(userRoleList); } @Override public int updateUser(SysUser user) { checkRequestData(user); @@ -175,6 +193,8 @@ user.setUpdateBy(SecurityUtils.getUsername()); user.setPassword(null); int row=baseMapper.updateById(user); batchSaveRole(user.getRoles(),user.getId(),true); if(row<1){ throw new ApiException("更新用户信息失败"); } multi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -39,6 +39,12 @@ </resultMap> <resultMap id="SysUserVoResult" type="com.gkhy.exam.common.domain.entity.SysUser" extends="SysUserResult"> <collection property="roles" ofType="com.gkhy.exam.common.domain.entity.SysRole" column="userId = id" select="getReponseData"> <result property="roleId" column="role_id" /> <result property="roleName" column="role_name" /> </collection> </resultMap> <delete id="deleteUserById" parameterType="java.lang.Long"> @@ -51,7 +57,12 @@ where username=#{username} and del_flag=0 limit 1 </select> <select id="userList" resultMap="SysUserResult"> <select id="getReponseData" resultType="com.gkhy.exam.common.domain.entity.SysRole"> select r.role_name,r.role_id from sys_user_role ur left join sys_role r on r.role_id=ur.role_id where ur.user_id = #{userId} </select> <select id="userList" resultMap="SysUserVoResult"> select u.id,u.username,u.name,u.user_type,u.phone,u.parent_id,u.company_id,u.sex,u.status,u.del_flag,u.version, u.login_ip,u.login_date,u.create_by,u.create_time,u.remark,c.name as company_name,su.name as parent_name, u.dept_id,d.dept_name,u.duty,u.post,u.id_card,u.entry_time,u.resign_time,u.person_type,u.age,u.positional @@ -59,6 +70,7 @@ left join sys_company c on c.id=u.company_id left join sys_user su on su.id=u.parent_id and u.parent_id!=0 left join sys_dept d on d.dept_id=u.dept_id <where> and u.del_flag = 0 <if test="username != null and username != ''">