自动化立体仓库 - WMS系统
zhangc
2024-11-28 2c638a508edf713faeda60cae92ae92cc65eb511
Add children list to PdaResource and enhance AuthController
2个文件已修改
46 ■■■■■ 已修改文件
src/main/java/com/zy/common/web/AuthController.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/PdaResource.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/AuthController.java
@@ -508,5 +508,47 @@
        }
        return R.ok().add(results);
    }
    @RequestMapping("/menu/pdaAll/auth")
    @ManagerAuth
    public R menuPdaAll() {
        Long userId = getUserId();
        List<RolePdaResource> rolePdaResources;
        if (userId == 9527L) {
            rolePdaResources = rolePdaResourceService.selectList(new EntityWrapper<>());
        } else {
            Long roleId = getUser().getRoleId();
            rolePdaResources = rolePdaResourceService.selectList(new EntityWrapper<RolePdaResource>().eq("role_id", roleId));
        }
        if (Cools.isEmpty(rolePdaResources)) {
            return R.ok();
        }
        List<Long> collect = rolePdaResources.stream().map(RolePdaResource::getResourceId).distinct().collect(Collectors.toList());
        List<PdaResource> pdaResources = pdaResourceService.selectBatchIds(collect);
        List<PdaResource> results = list2Tree(pdaResources, 0L);
        return R.ok().add(results);
    }
    public List<PdaResource> list2Tree(List<PdaResource> list, Long pId) {
        List<PdaResource> tree = new ArrayList<>();
        Iterator<PdaResource> it = list.iterator();
        while (it.hasNext()) {
            PdaResource m = it.next();
            if (m.getResourceId() == pId || (pId == 0L && m.getResourceId() == null)) {
                tree.add(m);
                // 已添加的元素删除掉
                it.remove();
            }
        }
        // 寻找子元素
        for (PdaResource n : tree) {
            n.setChildren(list2Tree(list, n.getId()));
        }
        return tree;
    }
}
src/main/java/com/zy/system/entity/PdaResource.java
@@ -11,6 +11,7 @@
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;
import java.util.List;
@Data
@TableName("sys_pda_resource")
@@ -68,6 +69,9 @@
    @ApiModelProperty(value= "状态 1: 正常  0: 禁用  ")
    private Short status;
    @TableField(exist = false)
    private List<PdaResource> children;
    public PdaResource() {}
    public PdaResource(String code,String name,String title,Long resourceId,Short level,Integer sort,Short status) {