This commit is contained in:
yuezhihang
2022-03-16 18:20:57 +08:00
parent b4fa928fe3
commit 23b81d878c
27 changed files with 791 additions and 12 deletions
@@ -0,0 +1,47 @@
package com.adc.da.slrs.sarMenuStandard.controller;
import com.adc.da.base.web.BaseController;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew;
import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardNewService;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard;
import com.adc.da.util.LoginUserUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
@RestController
@Api(tags = "福田标准法规--标准法规库-菜单标准体系")
@RequestMapping("/${restPath}/lawss/sarMenuStandardLimit")
public class SarMenuStandardNewController extends BaseController<SarMenuStandardNew> {
@Autowired
private ISarMenuStandardNewService iSarMenuStandardNewService;
@Autowired
private ITsUserService tsUserService;
@ApiOperation("查询有权限资源")
@GetMapping("/getListStandLimit")
public ResponseMessage<List<SarMenuStandard>> getListStandLimit(SarMenuStandardNew sarMenuStandardNew){
List<String> access = tsUserService.getResourceUserId(LoginUserUtil.getUserId());
List<SarMenuStandard> tsResources= iSarMenuStandardNewService.getListStandLimit(sarMenuStandardNew,access);
return Result.success(tsResources);
}
}
@@ -0,0 +1,16 @@
package com.adc.da.slrs.sarMenuStandard.dao;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
public interface SarMenuStandardNewDao extends BaseMapper<SarMenuStandardNew> {
}
@@ -0,0 +1,113 @@
package com.adc.da.slrs.sarMenuStandard.entity;
import com.adc.da.base.entity.BaseEntity;
import com.adc.da.sys.utils.treetool.annotation.TreeNodeId;
import com.adc.da.sys.utils.treetool.annotation.TreeNodeName;
import com.adc.da.sys.utils.treetool.annotation.TreeNodeParentId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarMenuStandard对象", description="")
public class SarMenuStandardNew extends BaseEntity {
public interface update{
}
private static final long serialVersionUID = 1L;
@TreeNodeId
@NotNull(message = "id不能为空",groups = {update.class})
@ApiModelProperty(value = "主键")
@TableId(value = "ID",type = IdType.UUID)
private String id;
@ApiModelProperty(value = "标准法规划分")
@TableField("SOR_DIVIDE")
private String sorDivide;
@TreeNodeName
@ApiModelProperty(value = "目录名称")
@TableField("MENU_NAME")
private String menuName;
@TreeNodeParentId
@ApiModelProperty(value = "父级ID")
@TableField("PARENT_ID")
private String parentId;
@ApiModelProperty(value = "父级ID集合")
@TableField("PARENT_IDS")
private String parentIds;
@ApiModelProperty(value = "排序序号")
@TableField("DISPLAY_SEQ")
private Integer displaySeq;
@ApiModelProperty(value = "路径")
@TableField("HREF")
private String href;
@ApiModelProperty(value = "是否有效")
@TableField("VALID_FLAG")
private Integer validFlag;
@ApiModelProperty(value = "创建时间")
@TableField("CREATION_TIME")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date creationTime;
@ApiModelProperty(value = "修改时间")
@TableField("MODIFY_TIME")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date modifyTime;
@ApiModelProperty(value = "备注")
@TableField("REMARKS")
private String remarks;
@ApiModelProperty(value = "数据字典ID")
@TableField("DIC_ID")
private String dicId;
@ApiModelProperty(value = "子菜单")
@TableField(exist = false)
private List<SarMenuStandardNew> children;
@TableField(exist=false)
private List<String> roleIds;
@TableField(exist=false)
private List<String> childMenuIds;
@TableField(exist=false)
private String parentIdsName;
@TableField(exist=false)
private String userId;
@ApiModelProperty(value = "树结构数据 区分 类型: 标准数据 tsr 技术系列 sarMs")
@TableField(exist = false)
private String treeType;
}
@@ -0,0 +1,23 @@
package com.adc.da.slrs.sarMenuStandard.service;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew;
import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
public interface ISarMenuStandardNewService extends IService<SarMenuStandardNew> {
List<SarMenuStandard> getListStandLimit(SarMenuStandardNew sarMenuStandardNew, List<String> access);
}
@@ -0,0 +1,91 @@
package com.adc.da.slrs.sarMenuStandard.service.impl;
import com.adc.da.slrs.sarMenuStandard.dao.SarMenuStandardNewDao;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew;
import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardNewService;
import com.adc.da.sys.sarMenuStandard.dao.SarMenuStandardDao;
import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
@Service
public class SarMenuStandardNewServiceNewImpl extends ServiceImpl<SarMenuStandardNewDao, SarMenuStandardNew> implements ISarMenuStandardNewService {
@Autowired
private SarMenuStandardDao dao;
/**
* 查询有权限菜单
* @param sarMenuStandardNew
*/
@Override
public List<SarMenuStandard> getListStandLimit(SarMenuStandardNew sarMenuStandardNew, List<String> access) {
List<SarMenuStandard> TsResources = new ArrayList<>();
QueryWrapper<SarMenuStandard> queryWrapper =new QueryWrapper<>();
if(sarMenuStandardNew.getSorDivide()!=null){
queryWrapper.eq("sor_divide", sarMenuStandardNew.getSorDivide());
}
if(sarMenuStandardNew.getDicId()!=null){
queryWrapper.eq("DIC_ID", sarMenuStandardNew.getDicId());
}
queryWrapper.in(null!=access,"ID",access);
queryWrapper.isNull("PARENT_ID");
queryWrapper.orderByAsc("DISPLAY_SEQ");
TsResources=dao.selectList(queryWrapper);
for(SarMenuStandard resource:TsResources){
resource.setTreeType("sarMs");
QueryWrapper<SarMenuStandard> TsResourceQueryWrapper=new QueryWrapper<>();
TsResourceQueryWrapper.like("PARENT_IDS",resource.getId());
TsResourceQueryWrapper.in(null!=access,"ID",access);
TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ");
List<SarMenuStandard> children=dao.selectList(TsResourceQueryWrapper);
resource.setChildren(recursionGetListChildrenStand((resource),(children)));
}
return TsResources;
}
/**
* 递归调用获取子节点
* @return List<TsResource>
*/
private List<SarMenuStandard> recursionGetListChildrenStand(SarMenuStandard resource, List<SarMenuStandard> children){
List<SarMenuStandard> tsResources = children.stream()
.filter(resource1 -> resource1.getParentId().equals(resource.getId()))
.collect(Collectors.toList());
if(!tsResources.isEmpty()){
tsResources = tsResources.stream().sorted(Comparator.comparing(resource1 -> resource1.getDisplaySeq())).collect(Collectors.toList());
tsResources.forEach(resource1 -> {
resource1.setTreeType("sarMs");
resource1.setChildren(recursionGetListChildrenStand((resource1),(children)));
});
}
return tsResources;
}
}