|
|
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.service.OssService;
|
|
|
import com.bsd.cases.util.AjaxRequest;
|
|
|
import com.bsd.cases.util.AjaxResult;
|
|
|
import com.bsd.cases.util.LogUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
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 org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@CrossOrigin
|
|
|
@RestController
|
|
|
@RequestMapping("/case-content")
|
|
|
public class CaseContentController {
|
|
|
|
|
|
@Resource
|
|
|
private CaseContentService caseContentService;
|
|
|
|
|
|
@Resource
|
|
|
private CaseContentLikeService caseContentLikeService;
|
|
|
@Value("${oss.filedir}")
|
|
|
private String filedir;
|
|
|
private Logger logger = LogUtils.getBussinessLogger();
|
|
|
@Resource
|
|
|
private OssService ossService;
|
|
|
|
|
|
@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) {
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @CK
|
|
|
* files就是文件流,filedir是oss路径
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "/upload-content-url", produces = "text/html;charset=UTF-8")
|
|
|
public String uploadContentUrl(MultipartFile file) {
|
|
|
Map<String, Object> value = new HashMap<>();
|
|
|
try {
|
|
|
if(file!=null){
|
|
|
//保存文件
|
|
|
String url = ossService.uploadCategoryUrl(file,filedir);
|
|
|
logger.debug("图片路径{}",url);
|
|
|
value.put("code", 2000);
|
|
|
value.put("msg", "图片上传成功");
|
|
|
value.put("url",url);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
value.put("code", 2001);
|
|
|
value.put("msg", "图片上传失败");
|
|
|
}
|
|
|
return JSONObject.toJSONString(value);
|
|
|
}
|
|
|
}
|