HomeNoticeController.java 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.ozs.web.controller.home;
  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.common.annotation.Log;
  6. import com.ozs.common.constant.ModularConstans;
  7. import com.ozs.common.core.controller.BaseController;
  8. import com.ozs.common.core.domain.AjaxResult;
  9. import com.ozs.common.enums.BusinessType;
  10. import com.ozs.common.utils.StringUtils;
  11. import com.ozs.home.domain.HomeNotice;
  12. import com.ozs.home.domain.vo.HomeNoticeVo;
  13. import com.ozs.home.service.HomeNoticeService;
  14. import com.ozs.plan.doman.PlanYears;
  15. import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
  16. import com.ozs.plan.service.PlanYearsService;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.security.access.prepost.PreAuthorize;
  20. import org.springframework.util.ObjectUtils;
  21. import org.springframework.web.bind.annotation.PostMapping;
  22. import org.springframework.web.bind.annotation.RequestBody;
  23. import org.springframework.web.bind.annotation.RequestMapping;
  24. import org.springframework.web.bind.annotation.RestController;
  25. import javax.annotation.Resource;
  26. import java.text.ParseException;
  27. import java.text.SimpleDateFormat;
  28. import java.util.Date;
  29. import java.util.List;
  30. import java.util.Map;
  31. /**
  32. * 首页公告控制层
  33. *
  34. * @author buzhanyi
  35. */
  36. @RestController
  37. @RequestMapping("/home/homeNotice")
  38. public class HomeNoticeController extends BaseController {
  39. @Resource
  40. private HomeNoticeService homeNoticeService;
  41. @Autowired
  42. private PlanYearsService planYearsService;
  43. @ApiOperation(value = "查询首页公告")
  44. @PostMapping("/selectHomeNotice")
  45. // @PreAuthorize("@ss.hasPermi('home:homeNotice:selecthomeNotice')")
  46. @Log(title = ModularConstans.notice, businessType = BusinessType.QUERY)
  47. public AjaxResult selectHomeNotice(@RequestBody HomeNoticeVo homeNoticeVo) {
  48. LambdaQueryWrapper<HomeNotice> lw = new LambdaQueryWrapper<HomeNotice>();
  49. if (!StringUtils.isBlank(homeNoticeVo.getNoticeName())) {
  50. lw.like(HomeNotice::getNoticeName, "%" + homeNoticeVo.getNoticeName() + "%");
  51. }
  52. if (!StringUtils.isBlank(homeNoticeVo.getAnnouncementClassification())) {
  53. lw.eq(HomeNotice::getAnnouncementClassification, homeNoticeVo.getAnnouncementClassification());
  54. }
  55. if (!StringUtils.isBlank(homeNoticeVo.getHomepageClassification())) {
  56. lw.eq(HomeNotice::getHomepageClassification, homeNoticeVo.getHomepageClassification());
  57. }
  58. if (!ObjectUtils.isEmpty(homeNoticeVo.getNoticeTime())) {
  59. lw.ge(HomeNotice::getNoticeTime, homeNoticeVo.getNoticeTime());
  60. }
  61. if (!ObjectUtils.isEmpty(homeNoticeVo.getNoticeTime())) {
  62. lw.le(HomeNotice::getNoticeTime, homeNoticeVo.getNoticeTime());
  63. }
  64. IPage<HomeNotice> page = homeNoticeService.page(new Page<HomeNotice>(homeNoticeVo.getPageNum(), homeNoticeVo.getPageSize()), lw);
  65. return success(page);
  66. }
  67. @ApiOperation(value = "搜索项目列表")
  68. @PostMapping("/listPlanYears")
  69. public AjaxResult listPlanYears(@RequestBody PlanYearsStandardVo yearsStandardVo) {
  70. if (StringUtils.isNull(yearsStandardVo.getProjectName())) {
  71. return error("查询项目名称不能为空!");
  72. }
  73. LambdaQueryWrapper<PlanYears> lw = new LambdaQueryWrapper<PlanYears>();
  74. if (!StringUtils.isBlank(yearsStandardVo.getProjectName())) {
  75. lw.like(PlanYears::getProjectName, "%" + yearsStandardVo.getProjectName() + "%");
  76. }
  77. List<PlanYears> list = planYearsService.list(lw);
  78. return AjaxResult.success(list);
  79. }
  80. @ApiOperation(value = "搜索项目--选择项目查看详情")
  81. @PostMapping("/projectDetails")
  82. public AjaxResult projectDetails(@RequestBody PlanYearsStandardVo yearsStandardVo) {
  83. if (StringUtils.isNull(yearsStandardVo.getPlanYearId())) {
  84. return error("查询年度ID不能为空!");
  85. }
  86. return planYearsService.projectDetails(yearsStandardVo);
  87. }
  88. /**
  89. * 查询不同类型的公告
  90. */
  91. @PreAuthorize("@ss.hasPermi('home:homeNotice:getNoticesByType')")
  92. @Log(title = "查询公告", businessType = BusinessType.QUERY)
  93. @PostMapping("getNoticesByType")
  94. @ApiOperation("查询不同类型的公告")
  95. public AjaxResult getNoticesByType(@RequestBody HomeNoticeVo homeNoticeVo) {
  96. LambdaQueryWrapper<HomeNotice> lw = new LambdaQueryWrapper<>();
  97. if (!ObjectUtils.isEmpty(homeNoticeVo.getNoticeName())) {
  98. lw.like(HomeNotice::getNoticeName, homeNoticeVo.getNoticeName());
  99. }
  100. if (!ObjectUtils.isEmpty(homeNoticeVo.getAnnouncementClassification())) {
  101. lw.eq(HomeNotice::getAnnouncementClassification, homeNoticeVo.getAnnouncementClassification());
  102. }
  103. if (!ObjectUtils.isEmpty(homeNoticeVo.getBeginTime())) {
  104. lw.ge(HomeNotice::getNoticeTime, homeNoticeVo.getBeginTime());
  105. }
  106. if (!ObjectUtils.isEmpty(homeNoticeVo.getEndTime())) {
  107. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  108. SimpleDateFormat dateFormatT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
  109. Date parse = null;
  110. try {
  111. parse = dateFormatT.parse((dateFormat.format(homeNoticeVo.getEndTime()) + " 23:59:59:999"));
  112. } catch (ParseException e) {
  113. e.printStackTrace();
  114. }
  115. lw.le(HomeNotice::getNoticeTime, parse);
  116. }
  117. List<HomeNotice> noticeList = homeNoticeService.list(lw);
  118. return AjaxResult.success(noticeList);
  119. }
  120. }