From b75162f3de4d7774382d027c972c8da5ecc04c04 Mon Sep 17 00:00:00 2001 From: ck <851316342@qq.com> Date: Sat, 17 Oct 2020 14:59:34 +0800 Subject: [PATCH] up --- .../controller/CaseContentController.java | 30 +++++++++ .../controller/CaseContentLikeController.java | 23 +++++++ .../cases/service/CaseContentLikeService.java | 4 ++ .../impl/CaseContentCommentsServiceImpl.java | 9 ++- .../impl/CaseContentLikeServiceImpl.java | 64 ++++++++++++++++++- .../impl/CaseContentScoreServiceImpl.java | 8 ++- .../service/impl/CaseContentServiceImpl.java | 63 ++++++++++++++++-- 7 files changed, 192 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/bsd/cases/controller/CaseContentLikeController.java diff --git a/src/main/java/com/bsd/cases/controller/CaseContentController.java b/src/main/java/com/bsd/cases/controller/CaseContentController.java index c6ad8e5..3f08cf0 100644 --- a/src/main/java/com/bsd/cases/controller/CaseContentController.java +++ b/src/main/java/com/bsd/cases/controller/CaseContentController.java @@ -1,6 +1,7 @@ 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; @@ -20,6 +21,9 @@ public class CaseContentController { @Resource private CaseContentService contentService; + @Resource + private CaseContentLikeService caseContentLikeService; + @RequestMapping("/get-content-list-by-category-id") public AjaxResult getContentListByCategoryId(@RequestBody AjaxRequest ajaxRequest, HttpServletRequest request) { AjaxResult ajaxResult = new AjaxResult(); @@ -66,4 +70,30 @@ public class CaseContentController { } return ajaxResult; } + + /** + * 点赞文章 + * @param ajaxRequest + * @param request + * @return + */ + @RequestMapping("/add-like") + public AjaxResult addLike(@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.addLike(contentId)); + } + } + return ajaxResult; + } } diff --git a/src/main/java/com/bsd/cases/controller/CaseContentLikeController.java b/src/main/java/com/bsd/cases/controller/CaseContentLikeController.java new file mode 100644 index 0000000..8e42c4f --- /dev/null +++ b/src/main/java/com/bsd/cases/controller/CaseContentLikeController.java @@ -0,0 +1,23 @@ +package com.bsd.cases.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bsd.cases.service.CaseContentLikeService; +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; + +@CrossOrigin +@RestController +@RequestMapping("/case-content-like") +public class CaseContentLikeController { + + @Resource + private CaseContentLikeService caseContentLikeService; + +} diff --git a/src/main/java/com/bsd/cases/service/CaseContentLikeService.java b/src/main/java/com/bsd/cases/service/CaseContentLikeService.java index fe54d2d..8592497 100644 --- a/src/main/java/com/bsd/cases/service/CaseContentLikeService.java +++ b/src/main/java/com/bsd/cases/service/CaseContentLikeService.java @@ -1,4 +1,8 @@ package com.bsd.cases.service; +import com.bsd.cases.util.AjaxResult; + public interface CaseContentLikeService extends BaseService { + + AjaxResult addLike(Long contentId); } diff --git a/src/main/java/com/bsd/cases/service/impl/CaseContentCommentsServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseContentCommentsServiceImpl.java index 9baf36b..df853b4 100644 --- a/src/main/java/com/bsd/cases/service/impl/CaseContentCommentsServiceImpl.java +++ b/src/main/java/com/bsd/cases/service/impl/CaseContentCommentsServiceImpl.java @@ -6,7 +6,9 @@ import com.bsd.cases.mapper.CaseContentCommentsMapper; import com.bsd.cases.mapper.CaseContentStaticalMapper; import com.bsd.cases.model.CaseContentComments; import com.bsd.cases.model.CaseContentStatical; +import com.bsd.cases.model.CaseUsers; import com.bsd.cases.service.CaseContentCommentsService; +import com.bsd.cases.service.CaseUsersService; import com.bsd.cases.util.AjaxResult; import com.bsd.cases.util.PageUtils; import com.bsd.cases.vo.CaseContentCommentsVo; @@ -27,7 +29,8 @@ public class CaseContentCommentsServiceImpl extends BaseServiceImpl implements CaseContentLikeService { +public class CaseContentLikeServiceImpl extends BaseServiceImpl + implements CaseContentLikeService { + + @Resource + private CaseContentLikeMapper caseContentLikeMapper; + @Resource + private CaseUsersService caseUsersService; + @Resource + private CaseContentMapper caseContentMapper; + @Resource + private CaseContentStaticalMapper caseContentStaticalMapper; + /** + * 新增点赞 + * @param contentId + * @return + */ + @Override + public AjaxResult addLike(Long contentId) { + AjaxResult ajaxResult = new AjaxResult(); + CaseUsers caseUsers = caseUsersService.currentUser(); + CaseContent findCaseContent = new CaseContent(); + findCaseContent.setState(Constants.STATE_VALID); + findCaseContent.setId(contentId); + CaseContent caseContent = caseContentMapper.selectOne(findCaseContent); + if (null == caseContent) { + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg("未找到该文章"); + }else { + CaseContentLike caseContentLike = new CaseContentLike(); + caseContentLike.setContentId(contentId); + caseContentLike.setCreateDateTime(new Date()); + caseContentLike.setUpdateDateTime(new Date()); + caseContentLike.setCreateBy(caseUsers.getId()); + caseContentLike.setUpdateBy(caseUsers.getId()); + caseContentLike.setState(Constants.STATE_VALID); + caseContentLikeMapper.insert(caseContentLike); + CaseContentLike findCaseContentLike = new CaseContentLike(); + findCaseContentLike.setContentId(contentId); + findCaseContentLike.setState(Constants.STATE_VALID); + Integer likeNum = caseContentLikeMapper.selectCount(findCaseContentLike); + CaseContentStatical findCaseContentStatical = new CaseContentStatical(); + findCaseContentStatical.setState(Constants.STATE_VALID); + findCaseContentStatical.setContentId(contentId); + CaseContentStatical caseContentStatical = caseContentStaticalMapper.selectOne(findCaseContentStatical); + caseContentStatical.setLikeNum(likeNum); + caseContentStatical.setUpdateDateTime(new Date()); + caseContentStaticalMapper.updateByPrimaryKeySelective(caseContentStatical); + ajaxResult.setRetmsg("已成功点赞"); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + } + return ajaxResult; + } } diff --git a/src/main/java/com/bsd/cases/service/impl/CaseContentScoreServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseContentScoreServiceImpl.java index a964bf0..7cdb12e 100644 --- a/src/main/java/com/bsd/cases/service/impl/CaseContentScoreServiceImpl.java +++ b/src/main/java/com/bsd/cases/service/impl/CaseContentScoreServiceImpl.java @@ -7,7 +7,9 @@ import com.bsd.cases.mapper.CaseContentStaticalMapper; import com.bsd.cases.model.CaseContent; import com.bsd.cases.model.CaseContentScore; import com.bsd.cases.model.CaseContentStatical; +import com.bsd.cases.model.CaseUsers; import com.bsd.cases.service.CaseContentScoreService; +import com.bsd.cases.service.CaseUsersService; import com.bsd.cases.util.AjaxResult; import org.apache.ibatis.annotations.Case; import org.springframework.stereotype.Service; @@ -27,6 +29,8 @@ public class CaseContentScoreServiceImpl extends BaseServiceImpl caseContentMaterialList = caseContentMaterialMapper.select(findCaseContentMaterial); caseContentDetailVo.setCaseContentMaterialList(caseContentMaterialList); - CaseContentStatical findCaseContentStatical = new CaseContentStatical(); - findCaseContentStatical.setContentId(contentId); - findCaseContentStatical.setState(Constants.STATE_VALID); - CaseContentStatical caseContentStatical = caseContentStaticalMapper.selectOne(findCaseContentStatical); + caseContentDetailVo.setScore(caseContentStatical.getScore()); caseContentDetailVo.setCommentsNum(caseContentStatical.getCommentsNum()); caseContentDetailVo.setLikeNum(caseContentStatical.getLikeNum()); - + //判断是否已点赞过 + CaseContentLike findCaseContentLike = new CaseContentLike(); + findCaseContentLike.setContentId(contentId); + findCaseContentLike.setState(Constants.STATE_VALID); + findCaseContentLike.setCreateBy(caseUsers.getId()); + CaseContentLike caseContentLike = caseContentLikeMapper.selectOne(findCaseContentLike); + if (null!=caseContentLike){ + caseContentDetailVo.setIsLike(true); + } + //判断是否已评分过 + CaseContentScore findCaseContentScore = new CaseContentScore(); + findCaseContentScore.setContentId(contentId); + findCaseContentScore.setState(Constants.STATE_VALID); + findCaseContentScore.setCreateBy(caseUsers.getId()); + CaseContentScore caseContentScore = caseContentScoreMapper.selectOne(findCaseContentScore); + if (null!=caseContentScore){ + caseContentDetailVo.setIsScore(true); + } return caseContentDetailVo; } }