You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

200 lines
7.3 KiB
Java

package com.bsd.cases.controller;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.service.CaseContentLikeService;
import com.bsd.cases.service.CaseContentService;
import com.bsd.cases.util.AjaxRequest;
import com.bsd.cases.util.AjaxResult;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
@CrossOrigin
@RestController
@RequestMapping("/case-content")
public class CaseContentController {
@Resource
private CaseContentService caseContentService;
@Resource
private CaseContentLikeService caseContentLikeService;
@RequestMapping("/get-content-list-by-category-id")
public AjaxResult getContentListByCategoryId(@RequestBody AjaxRequest ajaxRequest, HttpServletRequest request) {
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
if (null == data){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("data missing");
}else {
Integer pageNum = data.getInteger("pageNum");
Integer pageSize = data.getInteger("pageSize");
if (null==pageNum|| null == pageSize){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("分页参数不可为空");
}else {
Long categoryId = data.getLong("categoryId");
if (null == categoryId){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("分级id不可为空");
}else {
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setData(caseContentService.getContentListByCategoryId(categoryId,pageNum,pageSize));
}
}
}
return ajaxResult;
}
@RequestMapping("/get-content-detail-by-category-id")
public AjaxResult getContentDetailByContentId(@RequestBody AjaxRequest ajaxRequest, HttpServletRequest request) throws UnsupportedEncodingException {
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
if (null == data){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("data missing");
}else {
Long contentId = data.getLong("contentId");
if (null == contentId){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("文章id不可为空");
}else {
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setData(caseContentService.getContentDetailByContentId(contentId));
}
}
return ajaxResult;
}
/**
* 点赞/取消点赞文章
* @param ajaxRequest
* @param request
* @return
*/
@RequestMapping("/update-like")
public AjaxResult updateLike(@RequestBody AjaxRequest ajaxRequest, HttpServletRequest request) {
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
if (null == data){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("data missing");
}else {
Long contentId = data.getLong("contentId");
if (null == contentId){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("文章id不可为空");
}else {
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setData(caseContentLikeService.updateLike(contentId));
}
}
return ajaxResult;
}
/**
* 新增或者更新文章
* @param ajaxRequest
* @return
*/
@RequestMapping("/save-content")
public AjaxResult saveContent(@RequestBody AjaxRequest ajaxRequest) {
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
if (null == data){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("data missing");
}else {
ajaxResult = caseContentService.saveContent(data);
}
return ajaxResult;
}
/**
* 删除文章
* @param ajaxRequest
* @return
*/
@RequestMapping("/del-content")
public AjaxResult delContent(@RequestBody AjaxRequest ajaxRequest) {
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
if (null == data){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("data missing");
}else {
Long contentId = data.getLong("contentId");
if (null == contentId){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("文章id不可为空");
}else {
ajaxResult = caseContentService.delContent(contentId);
}
}
return ajaxResult;
}
/**
* 后台搜索文章
* @param jsonObject
* @return
*/
@RequestMapping("/search-bak-content")
public AjaxResult searchBakContent(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
String name = jsonObject.getString("name");
Long level1Id = jsonObject.getLong("level1Id");
Long level2Id = jsonObject.getLong("level2Id");
Long level3Id = jsonObject.getLong("level3Id");
Integer pageNum = jsonObject.getInteger("pageNum");
if (null == pageNum){
ajaxResult.setRetmsg("分页参数不可为空");
ajaxResult.setRetcode(AjaxResult.FAILED);
}else {
ajaxResult.setData(caseContentService.searchBakContentByParam(name,level1Id,level2Id,level3Id,pageNum));
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
}
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
/**
* 后台通过文章id获取文章
* @param jsonObject
* @return
*/
@RequestMapping("/get-bak-content-by-content-id")
public AjaxResult getCaseContentDetailBakVoByContentID(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
Long contentId = jsonObject.getLong("contentId");
if (null == contentId){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("文章id不可为空");
}else {
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setData(caseContentService.getCaseContentDetailBakVoByContentID(contentId));
}
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
}