From c560f1a14ae1fc468d90e50e6a32d805295875da Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 01 九月 2025 15:35:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/RoleServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/RoleServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/RoleServiceImpl.java
new file mode 100644
index 0000000..08db44e
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/RoleServiceImpl.java
@@ -0,0 +1,93 @@
+package com.dsh.guns.modular.system.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.course.mapper.RelationMapper;
+import com.dsh.course.mapper.RoleMapper;
+import com.dsh.course.model.node.ZTreeNode;
+import com.dsh.guns.config.UserExt;
+import com.dsh.guns.modular.system.controller.util.Convert;
+import com.dsh.guns.modular.system.model.TStore;
+import com.dsh.guns.modular.system.service.IStoreService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.dsh.guns.modular.system.model.Relation;
+import com.dsh.guns.modular.system.model.Role;
+import com.dsh.guns.modular.system.service.IRoleService;
+
+@Service
+public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IRoleService {
+
+ @Resource
+ private RoleMapper roleMapper;
+
+ @Resource
+ private RelationMapper relationMapper;
+
+ @Override
+ @Transactional(readOnly = false)
+ public void setAuthority(Integer roleId, String ids) {
+
+ // 删除该角色所有的权限 Delete all permissions for this role.
+ this.roleMapper.deleteRolesById(roleId);
+
+ // 添加新的权限 add new permissions
+ for (Long id : Convert.toLongArray(true, Convert.toStrArray(",", ids))) {
+ Relation relation = new Relation();
+ relation.setRoleid(roleId);
+ relation.setMenuid(id);
+ this.relationMapper.insert(relation);
+ }
+ }
+
+ @Override
+ @Transactional(readOnly = false)
+ public void delRoleById(Integer roleId) {
+ //删除角色 delete role
+ this.roleMapper.deleteById(roleId);
+
+ // 删除该角色所有的权限 Delete all permissions for this role.
+ this.roleMapper.deleteRolesById(roleId);
+ }
+
+ @Override
+ public List<Map<String, Object>> selectRoles(String condition) {
+ Integer objectType = UserExt.getUser().getObjectType();
+ Integer objectId = UserExt.getUser().getObjectId();
+ return this.baseMapper.selectRoles(condition,objectType,objectId);
+ }
+
+ @Override
+ public int deleteRolesById(Integer roleId) {
+ return this.baseMapper.deleteRolesById(roleId);
+ }
+ @Resource
+ private IStoreService storeService;
+ @Override
+ public List<ZTreeNode> roleTreeList(Integer type,Integer id) {
+ List<Integer> storeIds = new ArrayList<>();
+ if (type==2){
+ // 查询运营商下的门店ids
+ List<Integer> collect = storeService.lambdaQuery().eq(TStore::getOperatorId, id).list()
+ .stream().map(TStore::getId).collect(Collectors.toList());
+ if (collect.isEmpty()){
+ storeIds.add(-1);
+ }
+ storeIds.addAll(collect);
+ }
+ return this.baseMapper.roleTreeList(type,id,storeIds);
+ }
+
+ @Override
+ public List<ZTreeNode> roleTreeListByRoleId(String[] roleId,Integer type,Integer id) {
+ return this.baseMapper.roleTreeListByRoleId(roleId,type,id);
+ }
+
+}
--
Gitblit v1.7.1