DataLevelController.java 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package com.dragoninfo.dcuc.authweb.restcontroller.sub;
  2. import com.dragoninfo.dcuc.app.dto.sub.DataLevelDTO;
  3. import com.dragoninfo.dcuc.app.facade.sub.IDataLevelFacade;
  4. import com.dragoninfo.dcuc.authweb.restcontroller.sub.vo.data.DataLevelVo;
  5. import com.dragoninfo.dcuc.authweb.util.VersionUtils;
  6. import com.dragoninfo.duceap.core.response.Result;
  7. import com.dragonsoft.duceap.core.search.Searchable;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiImplicitParam;
  10. import io.swagger.annotations.ApiOperation;
  11. import org.springframework.beans.BeanUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.util.List;
  16. import java.util.stream.Collectors;
  17. /**
  18. * @author mazq
  19. * @date 2021/5/25
  20. */
  21. @Api(tags = {"主客体授权-数据分级表码接口"})
  22. @RestController
  23. @RequestMapping(value = "/datalevelsvr/"+ VersionUtils.VERSION_UID)
  24. public class DataLevelController {
  25. @Autowired
  26. private IDataLevelFacade dataLevelFacade;
  27. @ApiOperation(value = "数据分级分页列表")
  28. @ApiImplicitParam(name = "Searchable", value = "Searchable 数据分级分页查询对象,查询条件 levelName like ")
  29. @PostMapping(value = "search")
  30. public Result dataLevelPageList(Searchable searchable) {
  31. Page<DataLevelDTO> page = dataLevelFacade.pageSearch(searchable.toSearchDTO());
  32. List<DataLevelDTO> content = page.getContent();
  33. List<DataLevelVo> vos = content.stream().map(item -> {
  34. DataLevelVo vo = new DataLevelVo();
  35. BeanUtils.copyProperties(item, vo);
  36. return vo;
  37. }).collect(Collectors.toList());
  38. return Result.success(page.getTotalElements(), vos);
  39. }
  40. @ApiOperation(value = "添加或修改数据分级")
  41. @ApiImplicitParam(name = "DataLevelVo", value = "数据分级Vo")
  42. @PostMapping(value = "dataLevel/save")
  43. public Result dataLevelAdd(@RequestBody DataLevelVo vo){
  44. DataLevelDTO dto = new DataLevelDTO();
  45. BeanUtils.copyProperties(vo,dto);
  46. DataLevelDTO dataLevelDTO = dataLevelFacade.saveOrUpdate(dto);
  47. return Result.success(dataLevelDTO.getId());
  48. }
  49. @ApiOperation(value = "数据分级详情")
  50. @ApiImplicitParam(name = "id", value = "数据分级id")
  51. @GetMapping(value = "detail/{id}")
  52. public Result<DataLevelVo> detail(@PathVariable("id") String id){
  53. DataLevelDTO dataLevel = dataLevelFacade.detail(id);
  54. DataLevelVo vo = new DataLevelVo();
  55. BeanUtils.copyProperties(dataLevel, vo);
  56. return Result.success(vo);
  57. }
  58. @ApiOperation(value = "根据code查询数据安全等级详情")
  59. @ApiImplicitParam(name = "levelCode", value = "levelCode: 数据安全等级代码")
  60. @GetMapping(value = "detailByCode/{levelCode}")
  61. public Result<DataLevelVo> detailByCode(@PathVariable("levelCode") String levelCode){
  62. DataLevelDTO dto = dataLevelFacade.detailByCode(levelCode);
  63. DataLevelVo vo = new DataLevelVo();
  64. BeanUtils.copyProperties(dto, vo);
  65. return Result.success(vo);
  66. }
  67. @ApiOperation(value = "数据分级删除")
  68. @ApiImplicitParam(name = "id", value = "数据分级id")
  69. @DeleteMapping(value = "deleteById/{id}")
  70. public Result deleteById(@PathVariable("id") String id){
  71. Boolean b = dataLevelFacade.deleteById(id);
  72. if (b) {
  73. return Result.success();
  74. } else {
  75. return Result.fail();
  76. }
  77. }
  78. }