|  |  |  | 
|---|
|  |  |  | import com.zy.common.model.PowerDto; | 
|---|
|  |  |  | import com.zy.common.utils.RandomValidateCodeUtil; | 
|---|
|  |  |  | import com.zy.system.entity.*; | 
|---|
|  |  |  | import com.zy.system.entity.license.LicenseVerify; | 
|---|
|  |  |  | import com.zy.system.service.*; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Value; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/login.action") | 
|---|
|  |  |  | @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "登录") | 
|---|
|  |  |  | public R loginAction(String mobile, String password){ | 
|---|
|  |  |  | public R loginAction(String mobile, String password) { | 
|---|
|  |  |  | //验证许可证是否有效 | 
|---|
|  |  |  | LicenseVerify licenseVerify = new LicenseVerify(); | 
|---|
|  |  |  | boolean verify = licenseVerify.verify(); | 
|---|
|  |  |  | if (!verify) {//许可证已失效 | 
|---|
|  |  |  | return R.parse(CodeRes.SYSTEM_20001); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (mobile.equals("super") && password.equals(Cools.md5(superPwd))) { | 
|---|
|  |  |  | Map<String, Object> res = new HashMap<>(); | 
|---|
|  |  |  | res.put("username", mobile); | 
|---|
|  |  |  | 
|---|
|  |  |  | EntityWrapper<User> userWrapper = new EntityWrapper<>(); | 
|---|
|  |  |  | userWrapper.eq("mobile", mobile); | 
|---|
|  |  |  | User user = userService.selectOne(userWrapper); | 
|---|
|  |  |  | if (Cools.isEmpty(user)){ | 
|---|
|  |  |  | if (Cools.isEmpty(user)) { | 
|---|
|  |  |  | return R.parse(CodeRes.USER_10001); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (user.getStatus()!=1){ | 
|---|
|  |  |  | if (user.getStatus() != 1) { | 
|---|
|  |  |  | return R.parse(CodeRes.USER_10002); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!user.getPassword().equals(password)){ | 
|---|
|  |  |  | if (!user.getPassword().equals(password)) { | 
|---|
|  |  |  | return R.parse(CodeRes.USER_10003); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String token = Cools.enToken(System.currentTimeMillis() + mobile, user.getPassword()); | 
|---|
|  |  |  | 
|---|
|  |  |  | int time = 0; | 
|---|
|  |  |  | while (time < 3000) { | 
|---|
|  |  |  | code = RandomValidateCodeUtil.code.get(sd); | 
|---|
|  |  |  | if (!Cools.isEmpty(code)){ | 
|---|
|  |  |  | if (!Cools.isEmpty(code)) { | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | Thread.sleep(10); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/user/detail/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | public R userDetail(){ | 
|---|
|  |  |  | public R userDetail() { | 
|---|
|  |  |  | return R.ok(userService.selectById(getUserId())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/menu/auth") | 
|---|
|  |  |  | @ManagerAuth(memo = "首页菜单") | 
|---|
|  |  |  | public R menu(){ | 
|---|
|  |  |  | public R menu() { | 
|---|
|  |  |  | // 获取所有一级菜单 | 
|---|
|  |  |  | List<Resource> oneLevel = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 1).eq("status", 1).orderBy("sort")); | 
|---|
|  |  |  | User user = null; | 
|---|
|  |  |  | 
|---|
|  |  |  | List<RoleResource> roleResources = roleResourceService.selectList(new EntityWrapper<RoleResource>().eq("role_id", user.getRoleId())); | 
|---|
|  |  |  | List<Long> resourceIds = new ArrayList<>(); | 
|---|
|  |  |  | roleResources.forEach(roleResource -> resourceIds.add(roleResource.getResourceId())); | 
|---|
|  |  |  | if (resourceIds.isEmpty()){ | 
|---|
|  |  |  | if (resourceIds.isEmpty()) { | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | resourceWrapper = new EntityWrapper<Resource>().in("id", resourceIds).eq("level", 2).eq("status", 1).orderBy("sort"); | 
|---|
|  |  |  | 
|---|
|  |  |  | // 是否拥有查看权限 | 
|---|
|  |  |  | if (getUserId() != 9527) { | 
|---|
|  |  |  | Resource view = resourceService.selectOne(new EntityWrapper<Resource>().eq("resource_id", resource.getId()).like("code", "view")); | 
|---|
|  |  |  | if (!Cools.isEmpty(view)){ | 
|---|
|  |  |  | if (!Cools.isEmpty(view)) { | 
|---|
|  |  |  | RoleResource param = new RoleResource(); | 
|---|
|  |  |  | param.setResourceId(view.getId()); | 
|---|
|  |  |  | param.setRoleId(user.getRoleId()); | 
|---|
|  |  |  | if (null == roleResourceService.selectOne(new EntityWrapper<>(param))){ | 
|---|
|  |  |  | if (null == roleResourceService.selectOne(new EntityWrapper<>(param))) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/power/list/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | public R powerList(){ | 
|---|
|  |  |  | public R powerList() { | 
|---|
|  |  |  | List<Resource> oneLevels = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 1).eq("status", 1).orderBy("sort")); | 
|---|
|  |  |  | List<Map> result = new ArrayList<>(); | 
|---|
|  |  |  | // 一级 | 
|---|
|  |  |  | for (Resource oneLevel : oneLevels){ | 
|---|
|  |  |  | for (Resource oneLevel : oneLevels) { | 
|---|
|  |  |  | List<Map> twoLevelsList = new ArrayList<>(); | 
|---|
|  |  |  | Map<String, Object> oneLevelMap = new HashMap<>(); | 
|---|
|  |  |  | oneLevelMap.put("title", oneLevel.getName()); | 
|---|
|  |  |  | 
|---|
|  |  |  | oneLevelMap.put("children", twoLevelsList); | 
|---|
|  |  |  | List<Resource> twoLevels = resourceService.selectList(new EntityWrapper<Resource>().eq("resource_id", oneLevel.getId()).eq("level", 2).eq("status", 1).orderBy("sort")); | 
|---|
|  |  |  | // 二级 | 
|---|
|  |  |  | for (Resource twoLevel : twoLevels){ | 
|---|
|  |  |  | for (Resource twoLevel : twoLevels) { | 
|---|
|  |  |  | Map<String, Object> twoLevelMap = new HashMap<>(); | 
|---|
|  |  |  | twoLevelMap.put("title", twoLevel.getName()); | 
|---|
|  |  |  | twoLevelMap.put("id", twoLevel.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | twoLevelMap.put("children", threeLevelsList); | 
|---|
|  |  |  | // 三级 | 
|---|
|  |  |  | List<Resource> threeLevels = resourceService.selectList(new EntityWrapper<Resource>().eq("resource_id", twoLevel.getId()).eq("level", 3).eq("status", 1).orderBy("sort")); | 
|---|
|  |  |  | for (Resource threeLevel : threeLevels){ | 
|---|
|  |  |  | for (Resource threeLevel : threeLevels) { | 
|---|
|  |  |  | Map<String, Object> threeLevelMap = new HashMap<>(); | 
|---|
|  |  |  | threeLevelMap.put("title", threeLevel.getName()); | 
|---|
|  |  |  | threeLevelMap.put("id", threeLevel.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | List<Object> result = new ArrayList<>(); | 
|---|
|  |  |  | // 菜单 | 
|---|
|  |  |  | List<RoleResource> roleResources = roleResourceService.selectList(new EntityWrapper<RoleResource>().eq("role_id", roleId)); | 
|---|
|  |  |  | for (RoleResource roleResource : roleResources){ | 
|---|
|  |  |  | for (RoleResource roleResource : roleResources) { | 
|---|
|  |  |  | Resource resource = resourceService.selectById(roleResource.getResourceId()); | 
|---|
|  |  |  | if (!Cools.isEmpty(resource)){ | 
|---|
|  |  |  | if (resource.getLevel() == 3){ | 
|---|
|  |  |  | if (!Cools.isEmpty(resource)) { | 
|---|
|  |  |  | if (resource.getLevel() == 3) { | 
|---|
|  |  |  | result.add(resource.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 功能 | 
|---|
|  |  |  | List<RolePermission> rolePermissions = rolePermissionService.selectList(new EntityWrapper<RolePermission>().eq("role_id", roleId)); | 
|---|
|  |  |  | for (RolePermission rolePermission : rolePermissions){ | 
|---|
|  |  |  | for (RolePermission rolePermission : rolePermissions) { | 
|---|
|  |  |  | Permission permission = permissionService.selectById(rolePermission.getPermissionId()); | 
|---|
|  |  |  | if (!Cools.isEmpty(permission)){ | 
|---|
|  |  |  | if (!Cools.isEmpty(permission)) { | 
|---|
|  |  |  | result.add(permission.getAction()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequestMapping("/power/auth") | 
|---|
|  |  |  | @ManagerAuth(memo = "授权") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public R power(Long roleId, String powers){ | 
|---|
|  |  |  | public R power(Long roleId, String powers) { | 
|---|
|  |  |  | Role role = roleService.selectById(roleId); | 
|---|
|  |  |  | Long leaderId = role.getLeader(); | 
|---|
|  |  |  | roleResourceService.delete(new EntityWrapper<RoleResource>().eq("role_id", roleId)); | 
|---|
|  |  |  | rolePermissionService.delete(new EntityWrapper<RolePermission>().eq("role_id", roleId)); | 
|---|
|  |  |  | if (!Cools.isEmpty(powers)){ | 
|---|
|  |  |  | if (!Cools.isEmpty(powers)) { | 
|---|
|  |  |  | List<PowerDto> dtos = JSON.parseArray(powers, PowerDto.class); | 
|---|
|  |  |  | for (PowerDto dto : dtos) { | 
|---|
|  |  |  | Resource resource = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", dto.getTwo()).eq("level", 2)); | 
|---|
|  |  |  | 
|---|
|  |  |  | roleResourceService.insert(roleResource); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | Permission permission = permissionService.selectOne(new EntityWrapper<Permission>().eq("action", dto.getTwo())); | 
|---|
|  |  |  | if (!Cools.isEmpty(permission)){ | 
|---|
|  |  |  | if (!Cools.isEmpty(permission)) { | 
|---|
|  |  |  | RolePermission rolePermission = new RolePermission(); | 
|---|
|  |  |  | rolePermission.setRoleId(roleId); | 
|---|
|  |  |  | rolePermission.setPermissionId(permission.getId()); | 
|---|
|  |  |  | rolePermissionService.insert(rolePermission); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (String three : dto.getThree()){ | 
|---|
|  |  |  | for (String three : dto.getThree()) { | 
|---|
|  |  |  | Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", three).eq("level", 3)); | 
|---|
|  |  |  | if (!Cools.isEmpty(resource1)) { | 
|---|
|  |  |  | // 校验上级权限 | 
|---|