mirror of
https://gitee.com/xiaonuobase/snowy.git
synced 2026-03-22 10:47:16 +08:00
【更新】登录时如果新的用户登录没有菜单则清空顶部模块选中
This commit is contained in:
@@ -12,6 +12,10 @@
|
|||||||
*/
|
*/
|
||||||
package vip.xiaonuo.dev.api;
|
package vip.xiaonuo.dev.api;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典API
|
* 字典API
|
||||||
*
|
*
|
||||||
@@ -27,4 +31,12 @@ public interface DevDictApi {
|
|||||||
* @date 2025/6/6 13:04
|
* @date 2025/6/6 13:04
|
||||||
*/
|
*/
|
||||||
String getDictLabel(String typeCode, String value);
|
String getDictLabel(String typeCode, String value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据父类型获取字典列表
|
||||||
|
*
|
||||||
|
* @author xuyuxiang
|
||||||
|
* @date 2025/6/6 13:04
|
||||||
|
*/
|
||||||
|
List<JSONObject> getDictListByParentDictValue(String typeCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -269,7 +269,7 @@ public class AuthThirdServiceImpl extends ServiceImpl<AuthThirdMapper, AuthThird
|
|||||||
.clientSecret(devConfigApi.getValueByKey(SNOWY_THIRD_IAM_CLIENT_SECRET_KEY))
|
.clientSecret(devConfigApi.getValueByKey(SNOWY_THIRD_IAM_CLIENT_SECRET_KEY))
|
||||||
.redirectUri(devConfigApi.getValueByKey(SNOWY_THIRD_IAM_REDIRECT_URL_KEY))
|
.redirectUri(devConfigApi.getValueByKey(SNOWY_THIRD_IAM_REDIRECT_URL_KEY))
|
||||||
.ignoreCheckState(true)
|
.ignoreCheckState(true)
|
||||||
.scopes(CollectionUtil.newArrayList("profile", "account", "email", "phone"))
|
.scopes(CollectionUtil.newArrayList("profile", "account", "email", "phone", "org", "position"))
|
||||||
.build(), Map.of(
|
.build(), Map.of(
|
||||||
"authorizeUrl", devConfigApi.getValueByKey(SNOWY_THIRD_IAM_AUTHORIZE_URL_KEY),
|
"authorizeUrl", devConfigApi.getValueByKey(SNOWY_THIRD_IAM_AUTHORIZE_URL_KEY),
|
||||||
"accessTokenUrl", devConfigApi.getValueByKey(SNOWY_THIRD_IAM_ACCESS_TOKEN_URL_KEY),
|
"accessTokenUrl", devConfigApi.getValueByKey(SNOWY_THIRD_IAM_ACCESS_TOKEN_URL_KEY),
|
||||||
|
|||||||
@@ -36,7 +36,13 @@ public enum BizDataTypeEnum {
|
|||||||
/**
|
/**
|
||||||
* 人员
|
* 人员
|
||||||
*/
|
*/
|
||||||
USER("USER");
|
USER("USER"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户组
|
||||||
|
*/
|
||||||
|
GROUP("GROUP");
|
||||||
|
|
||||||
|
|
||||||
private final String value;
|
private final String value;
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import jakarta.annotation.Resource;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
||||||
|
import vip.xiaonuo.biz.core.enums.BizDataTypeEnum;
|
||||||
import vip.xiaonuo.biz.modular.group.entity.BizGroup;
|
import vip.xiaonuo.biz.modular.group.entity.BizGroup;
|
||||||
import vip.xiaonuo.biz.modular.group.mapper.BizGroupMapper;
|
import vip.xiaonuo.biz.modular.group.mapper.BizGroupMapper;
|
||||||
import vip.xiaonuo.biz.modular.group.param.*;
|
import vip.xiaonuo.biz.modular.group.param.*;
|
||||||
@@ -39,6 +40,7 @@ import vip.xiaonuo.biz.modular.user.enums.BizUserStatusEnum;
|
|||||||
import vip.xiaonuo.biz.modular.user.service.BizUserService;
|
import vip.xiaonuo.biz.modular.user.service.BizUserService;
|
||||||
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
||||||
import vip.xiaonuo.common.exception.CommonException;
|
import vip.xiaonuo.common.exception.CommonException;
|
||||||
|
import vip.xiaonuo.common.listener.CommonDataChangeEventCenter;
|
||||||
import vip.xiaonuo.common.page.CommonPageRequest;
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
||||||
import vip.xiaonuo.sys.api.SysGroupApi;
|
import vip.xiaonuo.sys.api.SysGroupApi;
|
||||||
|
|
||||||
@@ -85,6 +87,8 @@ public class BizGroupServiceImpl extends ServiceImpl<BizGroupMapper, BizGroup> i
|
|||||||
public void add(BizGroupAddParam bizGroupAddParam) {
|
public void add(BizGroupAddParam bizGroupAddParam) {
|
||||||
BizGroup bizGroup = BeanUtil.toBean(bizGroupAddParam, BizGroup.class);
|
BizGroup bizGroup = BeanUtil.toBean(bizGroupAddParam, BizGroup.class);
|
||||||
this.save(bizGroup);
|
this.save(bizGroup);
|
||||||
|
// 发布增加事件
|
||||||
|
CommonDataChangeEventCenter.doAddWithData(BizDataTypeEnum.GROUP.getValue(), JSONUtil.createArray().put(bizGroup));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@@ -93,13 +97,18 @@ public class BizGroupServiceImpl extends ServiceImpl<BizGroupMapper, BizGroup> i
|
|||||||
BizGroup bizGroup = this.queryEntity(bizGroupEditParam.getId());
|
BizGroup bizGroup = this.queryEntity(bizGroupEditParam.getId());
|
||||||
BeanUtil.copyProperties(bizGroupEditParam, bizGroup);
|
BeanUtil.copyProperties(bizGroupEditParam, bizGroup);
|
||||||
this.updateById(bizGroup);
|
this.updateById(bizGroup);
|
||||||
|
// 发布更新事件
|
||||||
|
CommonDataChangeEventCenter.doUpdateWithData(BizDataTypeEnum.GROUP.getValue(), JSONUtil.createArray().put(bizGroup));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public void delete(List<BizGroupIdParam> bizGroupIdParamList) {
|
public void delete(List<BizGroupIdParam> bizGroupIdParamList) {
|
||||||
|
List<String> groupIdList = CollStreamUtil.toList(bizGroupIdParamList, BizGroupIdParam::getId);
|
||||||
// 执行删除
|
// 执行删除
|
||||||
this.removeByIds(CollStreamUtil.toList(bizGroupIdParamList, BizGroupIdParam::getId));
|
this.removeByIds(groupIdList);
|
||||||
|
// 发布删除事件
|
||||||
|
CommonDataChangeEventCenter.doDeleteWithDataIdList(BizDataTypeEnum.GROUP.getValue(), groupIdList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -12,11 +12,14 @@
|
|||||||
*/
|
*/
|
||||||
package vip.xiaonuo.dev.modular.dict.provider;
|
package vip.xiaonuo.dev.modular.dict.provider;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import vip.xiaonuo.dev.api.DevDictApi;
|
import vip.xiaonuo.dev.api.DevDictApi;
|
||||||
import vip.xiaonuo.dev.modular.dict.service.DevDictService;
|
import vip.xiaonuo.dev.modular.dict.service.DevDictService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典API接口实现类
|
* 字典API接口实现类
|
||||||
*
|
*
|
||||||
@@ -38,4 +41,15 @@ public class DevDictApiProvider implements DevDictApi {
|
|||||||
public String getDictLabel(String typeCode, String value) {
|
public String getDictLabel(String typeCode, String value) {
|
||||||
return devDictService.getDictLabel(typeCode, value);
|
return devDictService.getDictLabel(typeCode, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据父类型获取字典列表
|
||||||
|
*
|
||||||
|
* @author yubaoshan
|
||||||
|
* @date 2025/6/6 13:04
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<JSONObject> getDictListByParentDictValue(String typeCode) {
|
||||||
|
return devDictService.getDictListByParentDictValue(typeCode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
package vip.xiaonuo.dev.modular.dict.service;
|
package vip.xiaonuo.dev.modular.dict.service;
|
||||||
|
|
||||||
import cn.hutool.core.lang.tree.Tree;
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import vip.xiaonuo.dev.modular.dict.entity.DevDict;
|
import vip.xiaonuo.dev.modular.dict.entity.DevDict;
|
||||||
@@ -99,4 +100,12 @@ public interface DevDictService extends IService<DevDict> {
|
|||||||
* @date 2025/6/6 13:04
|
* @date 2025/6/6 13:04
|
||||||
*/
|
*/
|
||||||
String getDictLabel(String typeCode, String value);
|
String getDictLabel(String typeCode, String value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据父类型获取字典列表
|
||||||
|
*
|
||||||
|
* @author yubaoshan
|
||||||
|
* @date 2025/6/6 13:04
|
||||||
|
*/
|
||||||
|
List<JSONObject> getDictListByParentDictValue(String typeCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import cn.hutool.core.lang.tree.parser.DefaultNodeParser;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
@@ -251,4 +252,11 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<JSONObject> getDictListByParentDictValue(String typeCode) {
|
||||||
|
DevDict parentDict = this.getOne(new LambdaQueryWrapper<DevDict>().eq(DevDict::getDictValue, typeCode));
|
||||||
|
return this.list(new LambdaQueryWrapper<DevDict>().eq(DevDict::getParentId, parentDict.getId())).stream()
|
||||||
|
.map(JSONUtil::parseObj).collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,12 @@ public enum SysDataTypeEnum {
|
|||||||
/**
|
/**
|
||||||
* 用户
|
* 用户
|
||||||
*/
|
*/
|
||||||
USER("USER");
|
USER("USER"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户组
|
||||||
|
*/
|
||||||
|
GROUP("GROUP");
|
||||||
|
|
||||||
private final String value;
|
private final String value;
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import cn.hutool.core.lang.tree.TreeNode;
|
|||||||
import cn.hutool.core.lang.tree.TreeUtil;
|
import cn.hutool.core.lang.tree.TreeUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -28,13 +29,16 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
||||||
import vip.xiaonuo.common.exception.CommonException;
|
import vip.xiaonuo.common.exception.CommonException;
|
||||||
|
import vip.xiaonuo.common.listener.CommonDataChangeEventCenter;
|
||||||
import vip.xiaonuo.common.page.CommonPageRequest;
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
||||||
|
import vip.xiaonuo.sys.core.enums.SysDataTypeEnum;
|
||||||
import vip.xiaonuo.sys.modular.group.entity.SysGroup;
|
import vip.xiaonuo.sys.modular.group.entity.SysGroup;
|
||||||
import vip.xiaonuo.sys.modular.group.mapper.SysGroupMapper;
|
import vip.xiaonuo.sys.modular.group.mapper.SysGroupMapper;
|
||||||
import vip.xiaonuo.sys.modular.group.param.*;
|
import vip.xiaonuo.sys.modular.group.param.*;
|
||||||
import vip.xiaonuo.sys.modular.group.service.SysGroupService;
|
import vip.xiaonuo.sys.modular.group.service.SysGroupService;
|
||||||
import vip.xiaonuo.sys.modular.org.entity.SysOrg;
|
import vip.xiaonuo.sys.modular.org.entity.SysOrg;
|
||||||
import vip.xiaonuo.sys.modular.org.service.SysOrgService;
|
import vip.xiaonuo.sys.modular.org.service.SysOrgService;
|
||||||
|
import vip.xiaonuo.sys.modular.position.param.SysPositionIdParam;
|
||||||
import vip.xiaonuo.sys.modular.relation.entity.SysRelation;
|
import vip.xiaonuo.sys.modular.relation.entity.SysRelation;
|
||||||
import vip.xiaonuo.sys.modular.relation.enums.SysRelationCategoryEnum;
|
import vip.xiaonuo.sys.modular.relation.enums.SysRelationCategoryEnum;
|
||||||
import vip.xiaonuo.sys.modular.relation.service.SysRelationService;
|
import vip.xiaonuo.sys.modular.relation.service.SysRelationService;
|
||||||
@@ -87,6 +91,8 @@ public class SysGroupServiceImpl extends ServiceImpl<SysGroupMapper, SysGroup> i
|
|||||||
public void add(SysGroupAddParam sysGroupAddParam) {
|
public void add(SysGroupAddParam sysGroupAddParam) {
|
||||||
SysGroup sysGroup = BeanUtil.toBean(sysGroupAddParam, SysGroup.class);
|
SysGroup sysGroup = BeanUtil.toBean(sysGroupAddParam, SysGroup.class);
|
||||||
this.save(sysGroup);
|
this.save(sysGroup);
|
||||||
|
// 发布增加事件
|
||||||
|
CommonDataChangeEventCenter.doAddWithData(SysDataTypeEnum.GROUP.getValue(), JSONUtil.createArray().put(sysGroup));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@@ -95,13 +101,18 @@ public class SysGroupServiceImpl extends ServiceImpl<SysGroupMapper, SysGroup> i
|
|||||||
SysGroup sysGroup = this.queryEntity(sysGroupEditParam.getId());
|
SysGroup sysGroup = this.queryEntity(sysGroupEditParam.getId());
|
||||||
BeanUtil.copyProperties(sysGroupEditParam, sysGroup);
|
BeanUtil.copyProperties(sysGroupEditParam, sysGroup);
|
||||||
this.updateById(sysGroup);
|
this.updateById(sysGroup);
|
||||||
|
// 发布更新事件
|
||||||
|
CommonDataChangeEventCenter.doUpdateWithData(SysDataTypeEnum.GROUP.getValue(), JSONUtil.createArray().put(sysGroup));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public void delete(List<SysGroupIdParam> sysGroupIdParamList) {
|
public void delete(List<SysGroupIdParam> sysGroupIdParamList) {
|
||||||
|
List<String> groupIdList = CollStreamUtil.toList(sysGroupIdParamList, SysGroupIdParam::getId);
|
||||||
// 执行删除
|
// 执行删除
|
||||||
this.removeByIds(CollStreamUtil.toList(sysGroupIdParamList, SysGroupIdParam::getId));
|
this.removeByIds(groupIdList);
|
||||||
|
// 发布删除事件
|
||||||
|
CommonDataChangeEventCenter.doDeleteWithDataIdList(SysDataTypeEnum.GROUP.getValue(), groupIdList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1469,6 +1469,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
if (ObjectUtil.isEmpty(sysUser)) {
|
if (ObjectUtil.isEmpty(sysUser)) {
|
||||||
throw new CommonException("用户不存在,id值为:{}", id);
|
throw new CommonException("用户不存在,id值为:{}", id);
|
||||||
}
|
}
|
||||||
|
transService.transOne(sysUser);
|
||||||
return sysUser;
|
return sysUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user