lyh
2025-03-19 ed839069a1df066d9559263129e999de7e9c2ccc
lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamNewServiceImpl.java
@@ -10,13 +10,19 @@
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获取结构树权限
@@ -240,4 +246,41 @@
        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;
        }
    }
}