src/main/java/com/nathan/crm/service/ModuleService.java
(完整代码) 1KBpackage com.nathan.crm.service;
import com.nathan.base.BaseService;
import com.nathan.crm.dao.ModuleMapper;
import com.nathan.crm.dao.PermissionMapper;
import com.nathan.crm.model.TreeModel;
import com.nathan.crm.vo.Module;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
public class ModuleService extends BaseService<Module,Integer> {
@Resource
private ModuleMapper moduleMapper;
@Resource
private PermissionMapper permissionMapper;
/**
* 查询所有的模块以zTree的格式存储
* @return
*/
public List<TreeModel> queryAllModules(Integer roleId){
// 先查询所有的资源
List<TreeModel> treeModelList = moduleMapper.queryAllModules();
// 根据角色id查询其对应的所拥有的资源id
List<Integer> mIds = permissionMapper.queryRoleHasModuleIdByRoleId(roleId);
// 判断是否有对应的资源
if (mIds != null && mIds.size() > 0){
// 循环所有的资源,获得每个TreeModel,判断mIds中是否包含TreeModel中的moduleId
treeModelList.forEach(treeModel -> {
if (mIds.contains(treeModel.getId())){
treeModel.setChecked(true);
}
});
}
return treeModelList;
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。