package com.huiju.estateagents.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huiju.estateagents.base.BaseController; import com.huiju.estateagents.base.ResponseBean; import com.huiju.estateagents.common.CommConstant; import com.huiju.estateagents.entity.TpNews; import com.huiju.estateagents.service.ITpNewsService; import io.swagger.annotations.Api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.time.LocalDateTime; /** *

* 资讯表 前端控制器 *

* * @author jobob * @since 2019-07-25 */ @RestController @RequestMapping("/api") @Api(value = "物业服务", tags = "物业服务") public class TpNewsController extends BaseController { private final Logger logger = LoggerFactory.getLogger(TpNewsController.class); @Autowired ITpNewsService iTpNewsService; /** * 列表 * @param pageNum * @param pageSize * @param newsName * @param client * @param request * @return */ @GetMapping("/{client}/property-news") public ResponseBean newsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum, @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize, @RequestParam(value = "newsName", required = false) String newsName, @RequestParam(value = "newsTypeId", required = false) String newsTypeId, @RequestParam(value ="startCreateDate",required = false) String startCreateDate, @RequestParam(value ="endCreateDate",required = false) String endCreateDate, @PathVariable String client, HttpServletRequest request) { Integer orgId = getOrgId(request); Integer status = null; if ("wx".equals(client)) { status = CommConstant.IS_PUBLISH; } IPage page = new Page<>(pageNum, pageSize); IPage result = iTpNewsService.getListBy(page, orgId, newsName, status,newsTypeId,startCreateDate,endCreateDate); return ResponseBean.success(result); } /** * 获取详情 * @param client * @param id * @param request * @return */ @GetMapping("/{client}/property-news/{id}") public ResponseBean getNewsByID(@PathVariable String client, @PathVariable Integer id, HttpServletRequest request) { Integer orgId = getOrgId(request); TpNews tpNews = iTpNewsService.getById(id); if (!orgId.equals(tpNews.getOrgId()) || CommConstant.STATUS_DELETE.equals(tpNews.getStatus())) { return ResponseBean.error("未找到对应内容", ResponseBean.ERROR_ILLEGAL_PARAMS); } return ResponseBean.success(tpNews); } @PostMapping("/admin/property-news") public ResponseBean save(@RequestBody TpNews news, HttpServletRequest request){ news.setOrgId(getOrgId(request)); news.setCreateDate(LocalDateTime.now()); if (news.getStatus() == null) { news.setStatus(CommConstant.NOT_PUBLISH); } if (!iTpNewsService.save(news)) { return ResponseBean.error("新增内容出错", ResponseBean.ERROR_UNAVAILABLE); } return ResponseBean.success(news); } @PutMapping(value="/admin/property-news/{id}") public ResponseBean taNewsUpdate(@PathVariable Integer id, @RequestBody TpNews tpNews, HttpServletRequest request){ Integer orgId = getOrgId(request); tpNews.setNewsId(id); if (tpNews.getOrgId() == null) { tpNews.setOrgId(orgId); } else if (!orgId.equals(tpNews.getOrgId())) { return ResponseBean.error("您无权修改当前内容", ResponseBean.ERROR_UNAVAILABLE); } if (!iTpNewsService.updateById(tpNews)) { return ResponseBean.error("更新内容出错", ResponseBean.ERROR_UNAVAILABLE); } return ResponseBean.success(tpNews); } @DeleteMapping("/admin/property-news/{id}") public ResponseBean taNewsUpdate(@PathVariable Integer id, HttpServletRequest request){ Integer orgId = getOrgId(request); TpNews tpNews = iTpNewsService.getById(id); if (!orgId.equals(tpNews.getOrgId())) { return ResponseBean.error("您无权删除当前内容", ResponseBean.ERROR_UNAVAILABLE); } tpNews.setStatus(CommConstant.STATUS_DELETE); if (!iTpNewsService.updateById(tpNews)) { return ResponseBean.error("删除内容出错", ResponseBean.ERROR_UNAVAILABLE); } return ResponseBean.success("删除成功"); } }