资源管理
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
package com.adc.da.slrs.sarResource.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.sarResource.entity.TsResource;
|
||||
import com.adc.da.slrs.sarResource.service.ITsResourceService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "资源管理")
|
||||
@RequestMapping("/sarResource/ts-resource")
|
||||
public class TsResourceController extends BaseController<TsResource> {
|
||||
@Autowired
|
||||
private ITsResourceService tsResourceService;
|
||||
|
||||
@ApiOperation("查询所有资源")
|
||||
@GetMapping
|
||||
public ResponseMessage<List<TsResource>> getAll(){
|
||||
List<TsResource> tsResources=tsResourceService.getAll();
|
||||
return Result.success(tsResources);
|
||||
}
|
||||
|
||||
@ApiOperation("添加资源")
|
||||
@PostMapping("/add")
|
||||
public ResponseMessage<Object> addResource(@RequestBody TsResource tsResource){
|
||||
return tsResourceService.addResource(tsResource);
|
||||
}
|
||||
|
||||
@ApiOperation("编辑资源")
|
||||
@PutMapping
|
||||
public ResponseMessage<Object> updateResource(@Validated(TsResource.update.class) @RequestBody TsResource tsResource){
|
||||
return tsResourceService.updateResource(tsResource);
|
||||
}
|
||||
|
||||
@ApiOperation("删除资源")
|
||||
@DeleteMapping
|
||||
public ResponseMessage<Object> delResource(@RequestParam Integer resourceId){
|
||||
return tsResourceService.delResource(resourceId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.adc.da.slrs.sarResource.dao;
|
||||
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
public interface TsResourceDao extends BaseMapper<TsResource> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.adc.da.slrs.sarResource.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
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 javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="TsResource对象", description="")
|
||||
public class TsResource extends BaseEntity {
|
||||
public interface update{
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "路径")
|
||||
private String href;
|
||||
|
||||
@ApiModelProperty(value = "父节点ID")
|
||||
private String parentId;
|
||||
|
||||
@ApiModelProperty(value = "资源名称")
|
||||
private String name;
|
||||
|
||||
@TableId(type = IdType.UUID)
|
||||
@NotNull(message = "id不能为空",groups = {update.class})
|
||||
@ApiModelProperty(value = "ID")
|
||||
private String id;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("子节点")
|
||||
private List<TsResource> children;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.adc.da.slrs.sarResource.service;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
public interface ITsResourceService extends IService<TsResource> {
|
||||
|
||||
List<TsResource> getAll();
|
||||
|
||||
ResponseMessage<Object> addResource(TsResource tsResource);
|
||||
|
||||
ResponseMessage<Object> updateResource(TsResource tsResource);
|
||||
|
||||
ResponseMessage<Object> delResource(Integer resourceId);
|
||||
|
||||
/**
|
||||
* 通过Ids查询menu
|
||||
* @param resourceIds :菜单Ids
|
||||
* @return List<Menu>
|
||||
*/
|
||||
List<TsResource> getResourceByIds(List<String> resourceIds);
|
||||
}
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
package com.adc.da.slrs.sarResource.service.impl;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
|
||||
import com.adc.da.slrs.sarResource.dao.TsResourceDao;
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.adc.da.slrs.sarResource.service.ITsResourceService;
|
||||
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.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-30
|
||||
*/
|
||||
@Service
|
||||
public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource> implements ITsResourceService {
|
||||
@Autowired
|
||||
private TsResourceDao dao;
|
||||
/**
|
||||
* 查询所有菜单
|
||||
*/
|
||||
@Override
|
||||
public List<TsResource> getAll() {
|
||||
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
|
||||
TsResourceQueryWrapper.isNull("PARENT_ID");
|
||||
List<TsResource> TsResources=dao.selectList(TsResourceQueryWrapper);
|
||||
for(TsResource TsResource:TsResources){
|
||||
TsResource.setChildren(recursionGetChildren((TsResource)));
|
||||
}
|
||||
return TsResources;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加菜单
|
||||
* @param TsResource:菜单信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> addResource(TsResource TsResource) {
|
||||
if(TsResource.getParentId()!=null){
|
||||
TsResource parent=dao.selectById(TsResource.getParentId());
|
||||
if(parent==null){
|
||||
return Result.error("该父菜单不存在");
|
||||
}
|
||||
}
|
||||
dao.insert(TsResource);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑菜单
|
||||
* @param TsResource:菜单信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> updateResource(TsResource TsResource) {
|
||||
TsResource oldResource=dao.selectById(TsResource.getId());
|
||||
if(oldResource==null){
|
||||
return Result.error("该菜单不存在");
|
||||
}
|
||||
if(TsResource.getParentId()!=null){
|
||||
TsResource parent=dao.selectById(TsResource.getParentId());
|
||||
if(parent==null){
|
||||
return Result.error("父节点不存在");
|
||||
}
|
||||
}
|
||||
dao.updateById(TsResource);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param ResourceId:菜单ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> delResource(Integer ResourceId) {
|
||||
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
|
||||
TsResourceQueryWrapper.eq("parent_id",ResourceId);
|
||||
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
|
||||
if(children!=null&&children.size()>0){
|
||||
return Result.error("该菜单有子节点,无法删除");
|
||||
}
|
||||
dao.deleteById(ResourceId);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过Ids查询Resource
|
||||
* @param resourceIds :菜单Ids
|
||||
* @return List<Resource>
|
||||
*/
|
||||
@Override
|
||||
public List<TsResource> getResourceByIds(List<String> resourceIds) {
|
||||
if(resourceIds!=null&&resourceIds.size()>0){
|
||||
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
|
||||
TsResourceQueryWrapper.in("id",resourceIds);
|
||||
return dao.selectList(TsResourceQueryWrapper);
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归调用获取子节点
|
||||
* @param parent:父节点
|
||||
* @return List<TsResource>
|
||||
*/
|
||||
private List<TsResource> recursionGetChildren(TsResource parent){
|
||||
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
|
||||
TsResourceQueryWrapper.eq("PARENT_ID",parent.getId());
|
||||
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
|
||||
for(TsResource TsResource:children){
|
||||
TsResource.setChildren(recursionGetChildren((TsResource)));
|
||||
}
|
||||
return children;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user