TpNewsController.java 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. package com.huiju.estateagents.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.huiju.estateagents.base.BaseController;
  5. import com.huiju.estateagents.base.ResponseBean;
  6. import com.huiju.estateagents.common.CommConstant;
  7. import com.huiju.estateagents.entity.TpNews;
  8. import com.huiju.estateagents.service.ITpNewsService;
  9. import io.swagger.annotations.Api;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.servlet.http.HttpServletRequest;
  15. import java.time.LocalDateTime;
  16. /**
  17. * <p>
  18. * 资讯表 前端控制器
  19. * </p>
  20. *
  21. * @author jobob
  22. * @since 2019-07-25
  23. */
  24. @RestController
  25. @RequestMapping("/api")
  26. @Api(value = "物业服务", tags = "物业服务")
  27. public class TpNewsController extends BaseController {
  28. private final Logger logger = LoggerFactory.getLogger(TpNewsController.class);
  29. @Autowired
  30. ITpNewsService iTpNewsService;
  31. /**
  32. * 列表
  33. * @param pageNum
  34. * @param pageSize
  35. * @param newsName
  36. * @param client
  37. * @param request
  38. * @return
  39. */
  40. @GetMapping("/{client}/property-news")
  41. public ResponseBean newsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
  42. @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
  43. @RequestParam(value = "newsName", required = false) String newsName,
  44. @RequestParam(value = "newsTypeId", required = false) String newsTypeId,
  45. @RequestParam(value ="startCreateDate",required = false) String startCreateDate,
  46. @RequestParam(value ="endCreateDate",required = false) String endCreateDate,
  47. @PathVariable String client,
  48. HttpServletRequest request) {
  49. Integer orgId = getOrgId(request);
  50. Integer status = null;
  51. if ("wx".equals(client)) {
  52. status = CommConstant.IS_PUBLISH;
  53. }
  54. IPage<TpNews> page = new Page<>(pageNum, pageSize);
  55. IPage<TpNews> result = iTpNewsService.getListBy(page, orgId, newsName, status,newsTypeId,startCreateDate,endCreateDate);
  56. return ResponseBean.success(result);
  57. }
  58. /**
  59. * 获取详情
  60. * @param client
  61. * @param id
  62. * @param request
  63. * @return
  64. */
  65. @GetMapping("/{client}/property-news/{id}")
  66. public ResponseBean getNewsByID(@PathVariable String client,
  67. @PathVariable Integer id,
  68. HttpServletRequest request) {
  69. Integer orgId = getOrgId(request);
  70. TpNews tpNews = iTpNewsService.getById(id);
  71. if (!orgId.equals(tpNews.getOrgId()) || CommConstant.STATUS_DELETE.equals(tpNews.getStatus())) {
  72. return ResponseBean.error("未找到对应内容", ResponseBean.ERROR_ILLEGAL_PARAMS);
  73. }
  74. return ResponseBean.success(tpNews);
  75. }
  76. @PostMapping("/admin/property-news")
  77. public ResponseBean save(@RequestBody TpNews news, HttpServletRequest request){
  78. news.setOrgId(getOrgId(request));
  79. news.setCreateDate(LocalDateTime.now());
  80. if (news.getStatus() == null) {
  81. news.setStatus(CommConstant.NOT_PUBLISH);
  82. }
  83. if (!iTpNewsService.save(news)) {
  84. return ResponseBean.error("新增内容出错", ResponseBean.ERROR_UNAVAILABLE);
  85. }
  86. return ResponseBean.success(news);
  87. }
  88. @PutMapping(value="/admin/property-news/{id}")
  89. public ResponseBean taNewsUpdate(@PathVariable Integer id,
  90. @RequestBody TpNews tpNews,
  91. HttpServletRequest request){
  92. Integer orgId = getOrgId(request);
  93. tpNews.setNewsId(id);
  94. if (tpNews.getOrgId() == null) {
  95. tpNews.setOrgId(orgId);
  96. } else if (!orgId.equals(tpNews.getOrgId())) {
  97. return ResponseBean.error("您无权修改当前内容", ResponseBean.ERROR_UNAVAILABLE);
  98. }
  99. if (!iTpNewsService.updateById(tpNews)) {
  100. return ResponseBean.error("更新内容出错", ResponseBean.ERROR_UNAVAILABLE);
  101. }
  102. return ResponseBean.success(tpNews);
  103. }
  104. @DeleteMapping("/admin/property-news/{id}")
  105. public ResponseBean taNewsUpdate(@PathVariable Integer id,
  106. HttpServletRequest request){
  107. Integer orgId = getOrgId(request);
  108. TpNews tpNews = iTpNewsService.getById(id);
  109. if (!orgId.equals(tpNews.getOrgId())) {
  110. return ResponseBean.error("您无权删除当前内容", ResponseBean.ERROR_UNAVAILABLE);
  111. }
  112. tpNews.setStatus(CommConstant.STATUS_DELETE);
  113. if (!iTpNewsService.updateById(tpNews)) {
  114. return ResponseBean.error("删除内容出错", ResponseBean.ERROR_UNAVAILABLE);
  115. }
  116. return ResponseBean.success("删除成功");
  117. }
  118. }