package com.ishop.merchant.platform; import com.iplatform.base.Constants; import com.ishop.merchant.BaseController; import com.ishop.merchant.pojo.ArticleParam; import com.ishop.merchant.util.VoUtils; import com.ishop.model.po.EbArticle; import com.ishop.model.request.ArticleRequest; import com.ishop.model.vo.ArticleVo; import com.walker.db.page.GenericPager; import com.walker.db.page.ListPageContext; import com.walker.infrastructure.utils.NumberGenerator; import com.walker.infrastructure.utils.StringUtils; import com.walker.web.ResponseValue; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("/platform/article") public class ArticleController extends BaseController { @RequestMapping(value = "/delete", method = RequestMethod.POST) public ResponseValue delete(Long id){ if(id == null || id <= 0){ return ResponseValue.error(Constants.ERROR_ARGUMENT); } this.getArticleService().execDeleteArticle(id); return ResponseValue.success(); } @RequestMapping(value = "/info", method = RequestMethod.GET) public ResponseValue info(Long id){ return this.acquireArticleDetailVo(id); } @RequestMapping(value = "/switch", method = RequestMethod.POST) public ResponseValue articleSwitch(Long id){ if(id == null || id <= 0){ return ResponseValue.error(Constants.ERROR_ARGUMENT); } EbArticle article = this.getArticleService().get(new EbArticle(id)); article.setStatus(article.getStatus().intValue() == 1? 0:1); this.getArticleService().update(article); return ResponseValue.success(); } @RequestMapping(value = "/update", method = RequestMethod.POST) public ResponseValue update(@RequestBody ArticleRequest request){ if(request == null){ return ResponseValue.error(Constants.ERROR_ARGUMENT); } if(request.getId() == null || request.getId() <= 0){ return ResponseValue.error("文章id错误"); } if(StringUtils.isEmpty(request.getTitle()) || StringUtils.isEmpty(request.getContent())){ return ResponseValue.error("内容不能为空"); } EbArticle exist = this.getArticleService().get(new EbArticle(request.getId())); if(exist == null){ return ResponseValue.error("数据不存在"); } if(StringUtils.isNotEmpty(request.getCover())){ request.setCover(this.clearCdnPrefix(request.getCover())); } request.setContent(this.clearCdnPrefix(request.getContent())); EbArticle article = VoUtils.acquireEbArticle(request, this.getCdnUrl()); article.setCreateTime(exist.getCreateTime()); this.getArticleService().update(article); return ResponseValue.success(); } @RequestMapping(value = "/save", method = RequestMethod.POST) public ResponseValue save(@RequestBody ArticleRequest request){ if(request == null){ return ResponseValue.error(Constants.ERROR_ARGUMENT); } if(StringUtils.isEmpty(request.getTitle()) || StringUtils.isEmpty(request.getContent())){ return ResponseValue.error("内容不能为空"); } if(StringUtils.isNotEmpty(request.getCover())){ request.setCover(this.clearCdnPrefix(request.getCover())); } request.setContent(this.clearCdnPrefix(request.getContent())); request.setId(NumberGenerator.getLongSequenceNumber()); EbArticle article = VoUtils.acquireEbArticle(request, this.getCdnUrl()); this.getArticleService().insert(article); return ResponseValue.success(); } @RequestMapping(value = "/list", method = RequestMethod.GET) public ResponseValue list(ArticleParam param){ Long cid = null; String title = null; String author = null; if(param != null){ cid = param.getCid(); title = param.getTitle(); author = param.getAuthor(); } GenericPager pager = this.getArticleService().queryPageAdminList(cid, title, author); List list = pager.getDatas(); if(StringUtils.isEmptyList(list)){ return ResponseValue.success(pager); } String cdnUrl = this.getCdnUrl(); List data = new ArrayList<>(list.size()); for(EbArticle e : list){ data.add(VoUtils.acquireArticleVo(e, cdnUrl, false)); } return ResponseValue.success(ListPageContext.createGenericPager(data, pager.getPageIndex(), pager.getPageSize(), (int)pager.getTotalRows())); } }