diff --git a/snowy-plugin-api/snowy-plugin-dev-api/src/main/java/vip/xiaonuo/dev/api/DevDictApi.java b/snowy-plugin-api/snowy-plugin-dev-api/src/main/java/vip/xiaonuo/dev/api/DevDictApi.java index 07b8f3b8..61026d42 100644 --- a/snowy-plugin-api/snowy-plugin-dev-api/src/main/java/vip/xiaonuo/dev/api/DevDictApi.java +++ b/snowy-plugin-api/snowy-plugin-dev-api/src/main/java/vip/xiaonuo/dev/api/DevDictApi.java @@ -12,6 +12,10 @@ */ package vip.xiaonuo.dev.api; +import cn.hutool.json.JSONObject; + +import java.util.List; + /** * 字典API * @@ -27,4 +31,12 @@ public interface DevDictApi { * @date 2025/6/6 13:04 */ String getDictLabel(String typeCode, String value); + + /** + * 根据父类型获取字典列表 + * + * @author xuyuxiang + * @date 2025/6/6 13:04 + */ + List getDictListByParentDictValue(String typeCode); } diff --git a/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/third/service/impl/AuthThirdServiceImpl.java b/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/third/service/impl/AuthThirdServiceImpl.java index b86aa460..dcf76b29 100644 --- a/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/third/service/impl/AuthThirdServiceImpl.java +++ b/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/third/service/impl/AuthThirdServiceImpl.java @@ -269,7 +269,7 @@ public class AuthThirdServiceImpl extends ServiceImpl i public void add(BizGroupAddParam bizGroupAddParam) { BizGroup bizGroup = BeanUtil.toBean(bizGroupAddParam, BizGroup.class); this.save(bizGroup); + // 发布增加事件 + CommonDataChangeEventCenter.doAddWithData(BizDataTypeEnum.GROUP.getValue(), JSONUtil.createArray().put(bizGroup)); } @Transactional(rollbackFor = Exception.class) @@ -93,13 +97,18 @@ public class BizGroupServiceImpl extends ServiceImpl i BizGroup bizGroup = this.queryEntity(bizGroupEditParam.getId()); BeanUtil.copyProperties(bizGroupEditParam, bizGroup); this.updateById(bizGroup); + // 发布更新事件 + CommonDataChangeEventCenter.doUpdateWithData(BizDataTypeEnum.GROUP.getValue(), JSONUtil.createArray().put(bizGroup)); } @Transactional(rollbackFor = Exception.class) @Override public void delete(List bizGroupIdParamList) { + List groupIdList = CollStreamUtil.toList(bizGroupIdParamList, BizGroupIdParam::getId); // 执行删除 - this.removeByIds(CollStreamUtil.toList(bizGroupIdParamList, BizGroupIdParam::getId)); + this.removeByIds(groupIdList); + // 发布删除事件 + CommonDataChangeEventCenter.doDeleteWithDataIdList(BizDataTypeEnum.GROUP.getValue(), groupIdList); } @Override diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/provider/DevDictApiProvider.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/provider/DevDictApiProvider.java index 112f7fa3..17afbb60 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/provider/DevDictApiProvider.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/provider/DevDictApiProvider.java @@ -12,11 +12,14 @@ */ package vip.xiaonuo.dev.modular.dict.provider; +import cn.hutool.json.JSONObject; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import vip.xiaonuo.dev.api.DevDictApi; import vip.xiaonuo.dev.modular.dict.service.DevDictService; +import java.util.List; + /** * 字典API接口实现类 * @@ -38,4 +41,15 @@ public class DevDictApiProvider implements DevDictApi { public String getDictLabel(String typeCode, String value) { return devDictService.getDictLabel(typeCode, value); } + + /** + * 根据父类型获取字典列表 + * + * @author yubaoshan + * @date 2025/6/6 13:04 + */ + @Override + public List getDictListByParentDictValue(String typeCode) { + return devDictService.getDictListByParentDictValue(typeCode); + } } diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/DevDictService.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/DevDictService.java index ded44182..ed0be3fc 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/DevDictService.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/DevDictService.java @@ -13,6 +13,7 @@ package vip.xiaonuo.dev.modular.dict.service; 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.service.IService; import vip.xiaonuo.dev.modular.dict.entity.DevDict; @@ -99,4 +100,12 @@ public interface DevDictService extends IService { * @date 2025/6/6 13:04 */ String getDictLabel(String typeCode, String value); + + /** + * 根据父类型获取字典列表 + * + * @author yubaoshan + * @date 2025/6/6 13:04 + */ + List getDictListByParentDictValue(String typeCode); } diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java index 3e3de189..7403b6f8 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java @@ -22,6 +22,7 @@ import cn.hutool.core.lang.tree.parser.DefaultNodeParser; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -251,4 +252,11 @@ public class DevDictServiceImpl extends ServiceImpl impl } return null; } + + @Override + public List getDictListByParentDictValue(String typeCode) { + DevDict parentDict = this.getOne(new LambdaQueryWrapper().eq(DevDict::getDictValue, typeCode)); + return this.list(new LambdaQueryWrapper().eq(DevDict::getParentId, parentDict.getId())).stream() + .map(JSONUtil::parseObj).collect(Collectors.toList()); + } } diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/core/enums/SysDataTypeEnum.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/core/enums/SysDataTypeEnum.java index bf2742ef..4d450bbc 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/core/enums/SysDataTypeEnum.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/core/enums/SysDataTypeEnum.java @@ -46,7 +46,12 @@ public enum SysDataTypeEnum { /** * 用户 */ - USER("USER"); + USER("USER"), + + /** + * 用户组 + */ + GROUP("GROUP"); private final String value; diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/impl/SysGroupServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/impl/SysGroupServiceImpl.java index 68d7c459..8f3dbe3b 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/impl/SysGroupServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/impl/SysGroupServiceImpl.java @@ -19,6 +19,7 @@ import cn.hutool.core.lang.tree.TreeNode; import cn.hutool.core.lang.tree.TreeUtil; import cn.hutool.core.util.ObjectUtil; 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.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -28,13 +29,16 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import vip.xiaonuo.common.enums.CommonSortOrderEnum; import vip.xiaonuo.common.exception.CommonException; +import vip.xiaonuo.common.listener.CommonDataChangeEventCenter; 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.mapper.SysGroupMapper; import vip.xiaonuo.sys.modular.group.param.*; import vip.xiaonuo.sys.modular.group.service.SysGroupService; import vip.xiaonuo.sys.modular.org.entity.SysOrg; 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.enums.SysRelationCategoryEnum; import vip.xiaonuo.sys.modular.relation.service.SysRelationService; @@ -87,6 +91,8 @@ public class SysGroupServiceImpl extends ServiceImpl i public void add(SysGroupAddParam sysGroupAddParam) { SysGroup sysGroup = BeanUtil.toBean(sysGroupAddParam, SysGroup.class); this.save(sysGroup); + // 发布增加事件 + CommonDataChangeEventCenter.doAddWithData(SysDataTypeEnum.GROUP.getValue(), JSONUtil.createArray().put(sysGroup)); } @Transactional(rollbackFor = Exception.class) @@ -95,13 +101,18 @@ public class SysGroupServiceImpl extends ServiceImpl i SysGroup sysGroup = this.queryEntity(sysGroupEditParam.getId()); BeanUtil.copyProperties(sysGroupEditParam, sysGroup); this.updateById(sysGroup); + // 发布更新事件 + CommonDataChangeEventCenter.doUpdateWithData(SysDataTypeEnum.GROUP.getValue(), JSONUtil.createArray().put(sysGroup)); } @Transactional(rollbackFor = Exception.class) @Override public void delete(List sysGroupIdParamList) { + List groupIdList = CollStreamUtil.toList(sysGroupIdParamList, SysGroupIdParam::getId); // 执行删除 - this.removeByIds(CollStreamUtil.toList(sysGroupIdParamList, SysGroupIdParam::getId)); + this.removeByIds(groupIdList); + // 发布删除事件 + CommonDataChangeEventCenter.doDeleteWithDataIdList(SysDataTypeEnum.GROUP.getValue(), groupIdList); } @Override diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java index f89ea724..ab926a6a 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java @@ -1469,6 +1469,7 @@ public class SysUserServiceImpl extends ServiceImpl impl if (ObjectUtil.isEmpty(sysUser)) { throw new CommonException("用户不存在,id值为:{}", id); } + transService.transOne(sysUser); return sysUser; }