BasePolicyController.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package com.ozs.web.controller.base;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.ozs.base.domain.BaseNotice;
  6. import com.ozs.base.domain.BaseNoticeType;
  7. import com.ozs.base.domain.BasePolicy;
  8. import com.ozs.base.service.BaseNoticeService;
  9. import com.ozs.base.service.BaseNoticeTypeService;
  10. import com.ozs.base.service.BasePolicyService;
  11. import com.ozs.base.vo.BaseNoticePageReqVo;
  12. import com.ozs.base.vo.BaseNoticeVo;
  13. import com.ozs.base.vo.BasePolicyPageReqVo;
  14. import com.ozs.common.annotation.Log;
  15. import com.ozs.common.constant.ModularConstans;
  16. import com.ozs.common.core.controller.BaseController;
  17. import com.ozs.common.core.domain.AjaxResult;
  18. import com.ozs.common.enums.BusinessType;
  19. import com.ozs.common.utils.file.FileUploadUtils;
  20. import com.ozs.common.utils.file.FileUtils;
  21. import com.ozs.common.utils.uuid.UUID;
  22. import com.ozs.common.vo.EsMessage;
  23. import io.swagger.annotations.Api;
  24. import io.swagger.annotations.ApiImplicitParam;
  25. import io.swagger.annotations.ApiOperation;
  26. import org.apache.commons.lang3.StringUtils;
  27. import org.springframework.beans.BeanUtils;
  28. import org.springframework.beans.factory.annotation.Autowired;
  29. import org.springframework.security.access.prepost.PreAuthorize;
  30. import org.springframework.util.ObjectUtils;
  31. import org.springframework.web.bind.annotation.*;
  32. import org.springframework.web.multipart.MultipartFile;
  33. import javax.validation.constraints.NotEmpty;
  34. import java.io.IOException;
  35. import java.net.UnknownHostException;
  36. import java.util.Date;
  37. import java.util.List;
  38. import java.util.stream.Collectors;
  39. @Api(tags = ModularConstans.policy)
  40. @RestController
  41. @RequestMapping("/base/policy")
  42. public class BasePolicyController extends BaseController {
  43. @Autowired
  44. private BasePolicyService basePolicyService;
  45. @ApiOperation(value = "分页查询政策法规")
  46. @PostMapping("/page")
  47. @PreAuthorize("@ss.hasPermi('base:policy:list')")
  48. @Log(title = ModularConstans.policy, businessType = BusinessType.QUERY)
  49. public AjaxResult page(@NotEmpty(message = "数据为空")
  50. @RequestBody BasePolicyPageReqVo vo) {
  51. LambdaQueryWrapper<BasePolicy> lw = new LambdaQueryWrapper<>();
  52. if(!StringUtils.isBlank(vo.getName())){
  53. List<EsMessage> maps = null;
  54. try {
  55. maps = FileUtils.eSearch(vo.getName());
  56. } catch (UnknownHostException e) {
  57. e.printStackTrace();
  58. }
  59. List<String> ids = maps.stream().map(EsMessage::getId).collect(Collectors.toList());
  60. // lw.like(BasePolicy::getName,vo.getName());
  61. lw.in(BasePolicy::getEsId,ids);
  62. }
  63. if(!ObjectUtils.isEmpty(vo.getStartTime())){
  64. lw.ge(BasePolicy::getReleaseTime,vo.getStartTime());
  65. }
  66. if(!ObjectUtils.isEmpty(vo.getStartTime())){
  67. lw.le(BasePolicy::getReleaseTime,vo.getEntTime());
  68. }
  69. IPage<BasePolicy> page = basePolicyService.page(new Page<>(vo.getPageNum(), vo.getPageSize()), lw);
  70. return success(page);
  71. }
  72. @ApiOperation("PDF上传")
  73. @ApiImplicitParam(name = "file", value = "文件", required = true, dataTypeClass = MultipartFile.class)
  74. @PostMapping("/pdfUpload")
  75. public AjaxResult pdfUpload(MultipartFile file) {
  76. try {
  77. // 上传到服务器,返回一个服务器硬盘地址
  78. String esId = UUID.randomUUID().toString();
  79. String upload = FileUploadUtils.uploadPdfToEs(file,esId );
  80. AjaxResult ajax = AjaxResult.success();
  81. ajax.put("url", upload);
  82. ajax.put("fileName", file.getName());
  83. ajax.put("esId", esId);
  84. ajax.put("originalFilename", file.getOriginalFilename());
  85. return ajax;
  86. } catch (IOException e) {
  87. e.printStackTrace();
  88. return AjaxResult.error(e.getMessage());
  89. }
  90. }
  91. @ApiOperation(value = "新增政策法规")
  92. @PostMapping("/insert")
  93. @PreAuthorize("@ss.hasPermi('base:policy:add')")
  94. @Log(title = ModularConstans.policy, businessType = BusinessType.INSERT)
  95. public AjaxResult insert(@NotEmpty(message = "数据为空")
  96. @RequestBody BasePolicy vo) {
  97. vo.setCreated(getUserId().toString());
  98. vo.setCreateTime(new Date());
  99. vo.setUpdated(vo.getCreated());
  100. vo.setUpdateTime(vo.getCreateTime());
  101. return toAjax(basePolicyService.save(vo));
  102. }
  103. @ApiOperation(value = "删除政策法规")
  104. @PostMapping("/remove")
  105. @PreAuthorize("@ss.hasPermi('base:policy:remove')")
  106. @Log(title = ModularConstans.policy, businessType = BusinessType.DELETE)
  107. public AjaxResult remove(@NotEmpty(message = "主键id不能为空")
  108. @RequestBody List<Long> ids) {
  109. return toAjax(basePolicyService.removeBatchByIds(ids));
  110. }
  111. @ApiOperation(value = "查看政策法规")
  112. @PostMapping("/getInfo")
  113. @PreAuthorize("@ss.hasPermi('base:policy:query')")
  114. @Log(title = ModularConstans.policy, businessType = BusinessType.QUERY)
  115. public AjaxResult getInfo(@NotEmpty(message = "主键id不能为空")
  116. @RequestParam(value = "id", required = true)
  117. Long id) {
  118. return success(basePolicyService.getById(id));
  119. }
  120. }