| | |
| | | import org.jeecg.modules.dnc.entity.ProductMix; |
| | | import org.jeecg.modules.dnc.mapper.PermissionStreamNewMapper; |
| | | import org.jeecg.modules.dnc.service.IPermissionStreamNewService; |
| | | import org.jeecg.modules.system.entity.SysUser; |
| | | import org.jeecg.modules.system.service.ISysUserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | @Service |
| | | public class PermissionStreamNewServiceImpl extends ServiceImpl<PermissionStreamNewMapper, PermissionStreamNew> implements IPermissionStreamNewService { |
| | | @Autowired |
| | | private ISysUserService sysUserService; |
| | | |
| | | /** |
| | | * 根据用户id获取结构树权限 |
| | |
| | | return total; |
| | | } |
| | | |
| | | /** |
| | | * 通过添加权限 |
| | | * @param permissionStream |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean addPermissionStreamNew(PermissionStreamNew permissionStream) { |
| | | // 验证参数有效性 |
| | | if (permissionStream == null) { |
| | | return false; |
| | | } |
| | | // 获取管理员用户 |
| | | SysUser adminUser = sysUserService.getUserByName("admin"); |
| | | if (adminUser == null) { |
| | | // 若管理员用户不存在,可根据实际情况处理,这里简单返回 false |
| | | return false; |
| | | } |
| | | try { |
| | | boolean isAdmin = Objects.equals(permissionStream.getUserId(), adminUser.getId()); |
| | | // 保存本身权限 |
| | | super.save(permissionStream); |
| | | if (!isAdmin) { |
| | | // 若不是管理员,复制一个新的 PermissionStreamNew 对象并设置为管理员 ID 后保存 |
| | | PermissionStreamNew adminPermissionStream = new PermissionStreamNew(); |
| | | adminPermissionStream.setUserId(adminUser.getId()); |
| | | adminPermissionStream.setBusinessId(permissionStream.getBusinessId()); |
| | | adminPermissionStream.setBusinessType(permissionStream.getBusinessType()); |
| | | super.save(adminPermissionStream); |
| | | } |
| | | return true; |
| | | } catch (Exception e) { |
| | | // 记录异常信息,方便后续排查问题 |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | } |