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.

236 lines
8.5 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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);
}
}