| | |
| | | import static java.util.Objects.isNull; |
| | | import static java.util.Objects.nonNull; |
| | | |
| | | import java.time.Instant; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | |
| | | |
| | | // 获取所有权限id |
| | | List<SysMenuDO> menuDOList = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda() |
| | | .eq(SysMenuDO::getCommunityId, 2l).orderByAsc(SysMenuDO::getOrderNum)); |
| | | .eq(SysMenuDO::getCommunityId, 2L).orderByAsc(SysMenuDO::getOrderNum)); |
| | | if (!menuDOList.isEmpty()) { |
| | | menuIds = menuDOList.stream().map(sysMenuDO -> sysMenuDO.getMenuId()).collect(Collectors.toList()); |
| | | for (int i = 0; i < menuIds.size(); i++) { |
| | | SysRoleMenuDO sysRoleMenuDO = sysRoleMenuDAO.selectOne(new QueryWrapper<SysRoleMenuDO>().lambda() |
| | | .eq(SysRoleMenuDO::getMenuId, menuIds.get(i)).eq(SysRoleMenuDO::getRoleId, roleId)); |
| | | if (sysRoleMenuDO == null) { |
| | | sysRoleMenuDO = new SysRoleMenuDO(); |
| | | sysRoleMenuDO.setMenuId(menuIds.get(i)); |
| | | sysRoleMenuDO.setRoleId(roleId); |
| | | sysRoleMenuDAO.insert(sysRoleMenuDO); |
| | | } |
| | | |
| | | List<SysRoleMenuDO> sysRoleMenuDOList = sysRoleMenuDAO.selectList(new QueryWrapper<SysRoleMenuDO>().lambda().eq(SysRoleMenuDO::getRoleId, roleId).in(SysRoleMenuDO::getMenuId, menuIds)); |
| | | if (!sysRoleMenuDOList.isEmpty()) { |
| | | menuIds = menuIds.stream().filter(menuId -> !sysRoleMenuDOList.stream() |
| | | .anyMatch(sysRoleMenuDO -> sysRoleMenuDO.getMenuId().equals(menuId))).collect(Collectors.toList()); |
| | | } |
| | | sysRoleMenuDAO.batchInsertWithRoleId(menuIds, roleId); |
| | | // for (int i = 0; i < menuIds.size(); i++) { |
| | | // SysRoleMenuDO sysRoleMenuDO = sysRoleMenuDAO.selectOne(new QueryWrapper<SysRoleMenuDO>().lambda() |
| | | // .eq(SysRoleMenuDO::getMenuId, menuIds.get(i)).eq(SysRoleMenuDO::getRoleId, roleId)); |
| | | // if (sysRoleMenuDO == null) { |
| | | // sysRoleMenuDO = new SysRoleMenuDO(); |
| | | // sysRoleMenuDO.setMenuId(menuIds.get(i)); |
| | | // sysRoleMenuDO.setRoleId(roleId); |
| | | // sysRoleMenuDAO.insert(sysRoleMenuDO); |
| | | // } |
| | | // } |
| | | } |
| | | return R.ok(); |
| | | } |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R addGridUser(EventGridMemberAddDTO eventGridMemberAddDTO) { |
| | | //todo 网格 |
| | | SysRoleDO gridMemberDefaultRole = roleDAO.selectOne( |
| | | new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, Constants.GRID_DEFAULT_ROLE_KEY)); |
| | | if (gridMemberDefaultRole == null) { |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R addConvenientMerchantUser(ConvenientMerchantDTO convenientMerchantDTO) { |
| | | // todo 便民 |
| | | log.error("catTimeStamp进入addConvenientMerchantUser" + convenientMerchantDTO.getAccount() + Instant.now().toEpochMilli()); |
| | | SysUserDO sysUserDO = new SysUserDO(); |
| | | Long communityId = 0L; |
| | | // 新增社区高级管理员角色 |
| | | SysRoleDO sysRoleDO = new SysRoleDO(); |
| | | sysRoleDO.setCommunityId(communityId); |
| | | sysRoleDO.setRoleName(convenientMerchantDTO.getName()); |
| | | sysRoleDO.setRoleKey(Constants.CONVENIENT_MERCHANT_ROLE_KEY + convenientMerchantDTO.getAccount()); |
| | | sysRoleDO.setRoleSort(0); |
| | | sysRoleDO.setCreateBy(convenientMerchantDTO.getCreatedBy()); |
| | | try { |
| | | int insert = roleDAO.insert(sysRoleDO); |
| | | if (insert != 1) { |
| | | return R.fail("网络错误"); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("新增角色报错【{}】", e.getMessage()); |
| | | if (e.getMessage().contains("unique_role_name_community_id")) { |
| | | return R.fail("商家名称已被占用"); |
| | | } else { |
| | | return R.fail("建立商家角色失败,商家名称可能已被占用!"); |
| | | } |
| | | SysUserDO sysUserDO; |
| | | sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount, convenientMerchantDTO.getAccount())); |
| | | if (nonNull(sysUserDO)) { |
| | | return R.fail("账户已经存在"); |
| | | } |
| | | log.error("catTimeStamp-SysRoleDO创建完成" + convenientMerchantDTO.getAccount() + Instant.now().toEpochMilli()); |
| | | // 新角色设置所有权限 |
| | | MenuRoleVO menuRoleVO = new MenuRoleVO(); |
| | | menuRoleVO.setIsAll(1); |
| | | menuRoleVO.setCommunityId(communityId); |
| | | menuRoleVO.setRoleId(sysRoleDO.getRoleId()); |
| | | this.putMenuRole(menuRoleVO); |
| | | |
| | | log.error("catTimeStamp-MenuRoleVO创建完成" + convenientMerchantDTO.getAccount() + Instant.now().toEpochMilli()); |
| | | |
| | | sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone, convenientMerchantDTO.getPhone())); |
| | | if (nonNull(sysUserDO)) { |
| | | return R.fail("手机号已经存在"); |
| | | } |
| | | // sys_user 表 |
| | | sysUserDO = new SysUserDO(); |
| | | String encode = new BCryptPasswordEncoder().encode(convenientMerchantDTO.getPassword()); |
| | | BeanUtils.copyProperties(convenientMerchantDTO, sysUserDO); |
| | | sysUserDO.setAccount(convenientMerchantDTO.getAccount()); |
| | |
| | | sysUserDO.setPassword(encode); |
| | | try { |
| | | userDao.insert(sysUserDO); |
| | | log.error("catTimeStamp-sysUserDO创建完成" + convenientMerchantDTO.getAccount() + Instant.now().toEpochMilli()); |
| | | return R.ok(sysUserDO.getUserId()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error("新增后台用户报错【{}】", e.getMessage()); |
| | | roleDAO.deleteByRoleKey(Constants.CONVENIENT_MERCHANT_ROLE_KEY + convenientMerchantDTO.getAccount()); |
| | | if (e.getMessage().contains("union_phone_type")) { |
| | | return R.fail("手机号已经存在"); |
| | | } else if (e.getMessage().contains("union_account_type")) { |
| | | return R.fail("账户已经存在"); |
| | | } |
| | | } |
| | | return R.fail("新增商户发生错误"); |
| | | } |
| | |
| | | if (isNull(sysUserDO)) { |
| | | return R.fail("用户不存在"); |
| | | } |
| | | String oldAccount = sysUserDO.getAccount(); |
| | | sysUserDO.setAccount(account); |
| | | int result = userDao.updateById(sysUserDO); |
| | | if (result > 0) { |
| | | SysRoleDO sysRoleDO = roleDAO.selectOne(new QueryWrapper<SysRoleDO>() |
| | | .lambda().eq(SysRoleDO::getRoleKey, Constants.CONVENIENT_MERCHANT_ROLE_KEY + oldAccount)); |
| | | if (nonNull(sysRoleDO)) { |
| | | sysRoleDO.setRoleKey(Constants.CONVENIENT_MERCHANT_ROLE_KEY + account); |
| | | roleDAO.updateById(sysRoleDO); |
| | | } |
| | | } |
| | | userDao.updateById(sysUserDO); |
| | | return R.ok(); |
| | | } |
| | | |