TNoticeController.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.szwl.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.szwl.constant.ResponseCodesEnum;
  5. import com.szwl.model.bo.R;
  6. import com.szwl.model.bo.ResponseModel;
  7. import com.szwl.model.entity.TAdmin;
  8. import com.szwl.model.entity.TNotice;
  9. import com.szwl.service.TAdminService;
  10. import com.szwl.service.TNoticeService;
  11. import io.swagger.annotations.ApiOperation;
  12. import org.apache.commons.lang.StringUtils;
  13. import org.checkerframework.checker.units.qual.A;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.http.HttpStatus;
  16. import org.springframework.http.ResponseEntity;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.Date;
  19. import java.util.List;
  20. /**
  21. * <p>
  22. * 前端控制器
  23. * </p>
  24. *
  25. * @author wuhs
  26. * @since 2022-11-23
  27. */
  28. @RestController
  29. @RequestMapping("/tNotice")
  30. public class TNoticeController {
  31. @Autowired
  32. TAdminService tAdminService;
  33. @Autowired
  34. TNoticeService noticeService;
  35. @ApiOperation(value = "添加公告")
  36. @PostMapping("/addNotice")
  37. public ResponseModel<?> addNotice(@RequestBody TNotice notice) {
  38. if(StringUtils.isEmpty(notice.getNote())){
  39. return R.fail(ResponseCodesEnum.A0001,"内容为空");
  40. }
  41. TNotice tNotice = new TNotice();
  42. tNotice.setCreateDate(new Date());
  43. tNotice.setModifyDate(new Date());
  44. tNotice.setTitle(notice.getTitle());
  45. tNotice.setNote(notice.getNote());
  46. tNotice.setStatus("0");
  47. tNotice.setCompanyType(notice.getCompanyType());
  48. noticeService.save(tNotice);
  49. return R.ok(tNotice,"添加成功");
  50. }
  51. @ApiOperation(value = "获取公告")
  52. @GetMapping("/getNotice")
  53. public ResponseModel<?> getNotice(String adminId) {
  54. if(StringUtils.isEmpty(adminId)){
  55. return R.fail(ResponseCodesEnum.A0001,"数据有空");
  56. }
  57. TAdmin admin = tAdminService.getById(adminId);
  58. String companyType = admin.getCompanyType();
  59. if(StringUtils.isEmpty(companyType)) {
  60. companyType = "0";
  61. }
  62. LambdaQueryWrapper<TNotice> query = Wrappers.lambdaQuery();
  63. query.eq(TNotice::getStatus,"0");
  64. query.eq(TNotice::getCompanyType,companyType);
  65. query.orderByDesc(TNotice::getCreateDate);
  66. List<TNotice> notices = noticeService.list(query);
  67. if(notices.size() > 0){
  68. TNotice tNotice = notices.get(0);
  69. Long noticeId = admin.getNoticeId();
  70. long time = tNotice.getCreateDate().getTime();
  71. if (noticeId!=null) {
  72. if(noticeId > time) {
  73. return R.ok(null,"公告已读");
  74. }
  75. }
  76. return R.ok(tNotice,"获取成功");
  77. } else {
  78. return R.fail(ResponseCodesEnum.A0700,"没有公告");
  79. }
  80. }
  81. @GetMapping("/updateNotice")
  82. public ResponseModel<?> updateNotice(String adminId) {
  83. if(StringUtils.isEmpty(adminId)){
  84. return R.fail(ResponseCodesEnum.A0001,"数据有空");
  85. }
  86. TAdmin admin = tAdminService.getById(adminId);
  87. Long dateNow = System.currentTimeMillis();
  88. admin.setNoticeId(dateNow);
  89. tAdminService.updateById(admin);
  90. return R.ok(null,"公告已读");
  91. }
  92. }