diff --git a/src/main/java/com/bsd/cases/controller/CaseCategoryController.java b/src/main/java/com/bsd/cases/controller/CaseCategoryController.java index 4537ec7..eade2d7 100644 --- a/src/main/java/com/bsd/cases/controller/CaseCategoryController.java +++ b/src/main/java/com/bsd/cases/controller/CaseCategoryController.java @@ -55,4 +55,31 @@ public class CaseCategoryController { } return ajaxResult; } + + @RequestMapping("/search") + public AjaxResult search(@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 { + String name = data.getString("name"); + if (StringUtils.isEmpty(name)){ + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg("搜索参数不可为空"); + }else { + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setData(caseCategoryService.search(name,pageNum,pageSize)); + } + } + } + return ajaxResult; + } } diff --git a/src/main/java/com/bsd/cases/controller/CaseContentAttachmentController.java b/src/main/java/com/bsd/cases/controller/CaseContentAttachmentController.java new file mode 100644 index 0000000..e28db2a --- /dev/null +++ b/src/main/java/com/bsd/cases/controller/CaseContentAttachmentController.java @@ -0,0 +1,49 @@ +package com.bsd.cases.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bsd.cases.service.CaseContentAttachmentService; +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-attachment") +public class CaseContentAttachmentController { + + @Resource + private CaseContentAttachmentService caseContentAttachmentService; + + @RequestMapping("/get-attachment-by-content-id") + public AjaxResult getCaseContentAttachment(@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 contentId = data.getLong("contentId"); + if (null == contentId){ + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg("文章id不可为空"); + }else { + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setData(caseContentAttachmentService.getCaseContentAttachment(contentId)); + } + } + } + return ajaxResult; + } +} diff --git a/src/main/java/com/bsd/cases/controller/CaseContentCommentsController.java b/src/main/java/com/bsd/cases/controller/CaseContentCommentsController.java new file mode 100644 index 0000000..4b3eec3 --- /dev/null +++ b/src/main/java/com/bsd/cases/controller/CaseContentCommentsController.java @@ -0,0 +1,44 @@ +package com.bsd.cases.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bsd.cases.service.CaseContentCommentsService; +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-comments") +public class CaseContentCommentsController { + + @Resource + private CaseContentCommentsService caseContentCommentsService; + + @RequestMapping("/get-comments-by-content-id") + public AjaxResult getCaseContentCommentsByContentId(@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 contentId = data.getLong("contentId"); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setData(caseContentCommentsService.getCaseContentCommentsByContentId(contentId,pageNum,pageSize)); + } + } + return ajaxResult; + } +} diff --git a/src/main/java/com/bsd/cases/controller/CaseContentController.java b/src/main/java/com/bsd/cases/controller/CaseContentController.java index acadb1e..c6ad8e5 100644 --- a/src/main/java/com/bsd/cases/controller/CaseContentController.java +++ b/src/main/java/com/bsd/cases/controller/CaseContentController.java @@ -46,4 +46,24 @@ public class CaseContentController { } 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(contentService.getContentDetailByContentId(contentId)); + } + } + return ajaxResult; + } } diff --git a/src/main/java/com/bsd/cases/controller/CaseContentScoreController.java b/src/main/java/com/bsd/cases/controller/CaseContentScoreController.java new file mode 100644 index 0000000..a6a5c06 --- /dev/null +++ b/src/main/java/com/bsd/cases/controller/CaseContentScoreController.java @@ -0,0 +1,47 @@ +package com.bsd.cases.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bsd.cases.service.CaseContentScoreService; +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-score") +public class CaseContentScoreController { + + @Resource + private CaseContentScoreService caseContentScoreService; + + @RequestMapping("/add-score") + public AjaxResult addScore(@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"); + Double score = data.getDouble("score"); + if (null==contentId){ + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg("文章id不可为空"); + return ajaxResult; + } + if (null == score){ + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg("评分不可为空"); + return ajaxResult; + } + ajaxResult = caseContentScoreService.addScore(contentId,score); + } + return ajaxResult; + } +} diff --git a/src/main/java/com/bsd/cases/mapper/CaseContentScoreMapper.java b/src/main/java/com/bsd/cases/mapper/CaseContentScoreMapper.java new file mode 100644 index 0000000..3721523 --- /dev/null +++ b/src/main/java/com/bsd/cases/mapper/CaseContentScoreMapper.java @@ -0,0 +1,11 @@ +package com.bsd.cases.mapper; + +import com.bsd.cases.model.CaseContentScore; +import com.bsd.cases.util.CommonMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Repository +public interface CaseContentScoreMapper extends CommonMapper { + Double getAverageScore(@Param("contentId")Long contentId); +} diff --git a/src/main/java/com/bsd/cases/model/CaseContentComments.java b/src/main/java/com/bsd/cases/model/CaseContentComments.java index 6b4d961..d49080d 100644 --- a/src/main/java/com/bsd/cases/model/CaseContentComments.java +++ b/src/main/java/com/bsd/cases/model/CaseContentComments.java @@ -13,4 +13,6 @@ public class CaseContentComments extends BaseEntity { private String comments; + private String userName; + } diff --git a/src/main/java/com/bsd/cases/model/CaseContentScore.java b/src/main/java/com/bsd/cases/model/CaseContentScore.java new file mode 100644 index 0000000..a679b67 --- /dev/null +++ b/src/main/java/com/bsd/cases/model/CaseContentScore.java @@ -0,0 +1,16 @@ +package com.bsd.cases.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("case_content_score") +public class CaseContentScore extends BaseEntity{ + + private Long contentId; + + private Double score; + +} diff --git a/src/main/java/com/bsd/cases/model/CaseStore.java b/src/main/java/com/bsd/cases/model/CaseStore.java new file mode 100644 index 0000000..02b4f6b --- /dev/null +++ b/src/main/java/com/bsd/cases/model/CaseStore.java @@ -0,0 +1,22 @@ +package com.bsd.cases.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("case_store") +public class CaseStore extends BaseEntity{ + + private Long companyId; + + private String companyCode; + + private String companyName; + + private String storeId; + + private String storeName; + +} diff --git a/src/main/java/com/bsd/cases/model/CaseUsers.java b/src/main/java/com/bsd/cases/model/CaseUsers.java new file mode 100644 index 0000000..1048269 --- /dev/null +++ b/src/main/java/com/bsd/cases/model/CaseUsers.java @@ -0,0 +1,37 @@ +package com.bsd.cases.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("case_users") +public class CaseUsers extends BaseEntity{ + + private String userName; + + private String userNo; + + private String openId; + + private String mobile; + + private String userImage; + + private String password; + + private Long companyId; + + private String companyCode; + + private String companyName; + + private Long storeId; + + private String storeCode; + + private String storeName; + + private Integer role; +} diff --git a/src/main/java/com/bsd/cases/model/case_company.java b/src/main/java/com/bsd/cases/model/case_company.java new file mode 100644 index 0000000..fa10e9b --- /dev/null +++ b/src/main/java/com/bsd/cases/model/case_company.java @@ -0,0 +1,17 @@ +package com.bsd.cases.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("case_company") +public class case_company extends BaseEntity{ + + private Integer areaId; + + private String companyId; + + private String companyName; +} diff --git a/src/main/java/com/bsd/cases/service/CaseCategoryService.java b/src/main/java/com/bsd/cases/service/CaseCategoryService.java index 030bd04..3ce400d 100644 --- a/src/main/java/com/bsd/cases/service/CaseCategoryService.java +++ b/src/main/java/com/bsd/cases/service/CaseCategoryService.java @@ -8,9 +8,27 @@ import java.util.List; public interface CaseCategoryService extends BaseService { + /** + * 获取首页分级以及默认三级 + * @return + */ JSONObject getAllCaseCategory(); + /** + * 根据父级获取下级分级 + * @param parentId + * @param pageNum + * @param pageSize + * @return + */ JSONObject getCaseCategoryByParentId(Long parentId,Integer pageNum,Integer pageSize); + /** + * 首页搜索 + * @param name + * @param pageNum + * @param pageSize + * @return + */ JSONObject search(String name,Integer pageNum,Integer pageSize); } diff --git a/src/main/java/com/bsd/cases/service/CaseContentAttachmentService.java b/src/main/java/com/bsd/cases/service/CaseContentAttachmentService.java index 3ddf9bf..e7425ed 100644 --- a/src/main/java/com/bsd/cases/service/CaseContentAttachmentService.java +++ b/src/main/java/com/bsd/cases/service/CaseContentAttachmentService.java @@ -1,4 +1,7 @@ package com.bsd.cases.service; +import java.util.List; + public interface CaseContentAttachmentService extends BaseService { + List getCaseContentAttachment(Long contentId); } diff --git a/src/main/java/com/bsd/cases/service/CaseContentCommentsService.java b/src/main/java/com/bsd/cases/service/CaseContentCommentsService.java index d5dad7b..aca92d6 100644 --- a/src/main/java/com/bsd/cases/service/CaseContentCommentsService.java +++ b/src/main/java/com/bsd/cases/service/CaseContentCommentsService.java @@ -1,4 +1,13 @@ package com.bsd.cases.service; +import com.alibaba.fastjson.JSONObject; +import com.bsd.cases.util.AjaxResult; + +import java.util.List; + public interface CaseContentCommentsService extends BaseService { + + JSONObject getCaseContentCommentsByContentId(Long contentId, Integer pageNum, Integer pageSize); + + AjaxResult addComments(Long contentId,String comments); } diff --git a/src/main/java/com/bsd/cases/service/CaseContentScoreService.java b/src/main/java/com/bsd/cases/service/CaseContentScoreService.java new file mode 100644 index 0000000..79e8b63 --- /dev/null +++ b/src/main/java/com/bsd/cases/service/CaseContentScoreService.java @@ -0,0 +1,8 @@ +package com.bsd.cases.service; + +import com.bsd.cases.util.AjaxResult; + +public interface CaseContentScoreService extends BaseService { + + AjaxResult addScore(Long contentId, Double score); +} diff --git a/src/main/java/com/bsd/cases/service/CaseContentService.java b/src/main/java/com/bsd/cases/service/CaseContentService.java index dc766de..23db41b 100644 --- a/src/main/java/com/bsd/cases/service/CaseContentService.java +++ b/src/main/java/com/bsd/cases/service/CaseContentService.java @@ -1,10 +1,13 @@ package com.bsd.cases.service; import com.alibaba.fastjson.JSONObject; +import com.bsd.cases.vo.CaseContentDetailVo; import com.bsd.cases.vo.CaseContentVo; import java.util.List; public interface CaseContentService extends BaseService { JSONObject getContentListByCategoryId(Long categoryId, Integer pageNum, Integer pageSize); + + CaseContentDetailVo getContentDetailByContentId(Long contentId); } diff --git a/src/main/java/com/bsd/cases/service/impl/CaseCategoryServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseCategoryServiceImpl.java index d228bb1..f9c59ed 100644 --- a/src/main/java/com/bsd/cases/service/impl/CaseCategoryServiceImpl.java +++ b/src/main/java/com/bsd/cases/service/impl/CaseCategoryServiceImpl.java @@ -46,6 +46,13 @@ public class CaseCategoryServiceImpl extends BaseServiceImpl implements CaseContentAttachmentService { + + @Resource + private CaseContentAttachmentMapper caseContentAttachmentMapper; + + @Override + public List getCaseContentAttachment(Long contentId) { + CaseContentAttachment findCaseContentAttachment = new CaseContentAttachment(); + findCaseContentAttachment.setContentId(contentId); + findCaseContentAttachment.setState(Constants.STATE_VALID); + List caseContentAttachmentList = caseContentAttachmentMapper.select(findCaseContentAttachment); + return caseContentAttachmentList; + } } 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 ab78f81..9baf36b 100644 --- a/src/main/java/com/bsd/cases/service/impl/CaseContentCommentsServiceImpl.java +++ b/src/main/java/com/bsd/cases/service/impl/CaseContentCommentsServiceImpl.java @@ -1,13 +1,80 @@ package com.bsd.cases.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.bsd.cases.constants.Constants; 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.service.CaseContentCommentsService; +import com.bsd.cases.util.AjaxResult; +import com.bsd.cases.util.PageUtils; +import com.bsd.cases.vo.CaseContentCommentsVo; +import com.sun.org.apache.bcel.internal.generic.NEW; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.yaml.snakeyaml.scanner.Constant; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; @Service("caseContentCommentsService") @Transactional public class CaseContentCommentsServiceImpl extends BaseServiceImpl implements CaseContentCommentsService { + @Resource + private CaseContentCommentsMapper caseContentCommentsMapper; + @Resource + private CaseContentStaticalMapper caseContentStaticalMapper; + + + /** + * 通过文章id查询文章评论 + * @param contentId + * @param pageNum + * @param pageSize + * @return + */ + @Override + public JSONObject getCaseContentCommentsByContentId(Long contentId, Integer pageNum, Integer pageSize) { + CaseContentComments findCaseContentComments = new CaseContentComments(); + findCaseContentComments.setState(Constants.STATE_VALID); + findCaseContentComments.setContentId(contentId); + List caseContentCommentsList = caseContentCommentsMapper.select(findCaseContentComments); + JSONObject jsonObject = PageUtils.page(caseContentCommentsList,pageNum,pageSize); + return jsonObject; + } + + /** + * 评论 + * @param contentId + * @return + */ + @Override + public AjaxResult addComments(Long contentId,String comments) { + CaseContentComments caseContentComments = new CaseContentComments(); + caseContentComments.setContentId(contentId); + caseContentComments.setState(Constants.STATE_VALID); + caseContentComments.setComments(comments); + caseContentComments.setCreateDateTime(new Date()); + caseContentComments.setUpdateDateTime(new Date()); + //插人的信息 + caseContentCommentsMapper.insert(caseContentComments); + //更新统计 + CaseContentStatical findCaseContentStatical = new CaseContentStatical(); + findCaseContentStatical.setState(Constants.STATE_VALID); + findCaseContentStatical.setContentId(contentId); + CaseContentStatical caseContentStatical = caseContentStaticalMapper.selectOne(findCaseContentStatical); + + CaseContentComments findCaseContentComments = new CaseContentComments(); + findCaseContentComments.setState(Constants.STATE_VALID); + findCaseContentComments.setContentId(contentId); + Integer num = caseContentCommentsMapper.selectCount(findCaseContentComments); + caseContentStatical.setCommentsNum(num); + caseContentStatical.setUpdateDateTime(new Date()); + caseContentStaticalMapper.updateByPrimaryKeySelective(caseContentStatical); + + return null; + } } diff --git a/src/main/java/com/bsd/cases/service/impl/CaseContentScoreServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseContentScoreServiceImpl.java new file mode 100644 index 0000000..a964bf0 --- /dev/null +++ b/src/main/java/com/bsd/cases/service/impl/CaseContentScoreServiceImpl.java @@ -0,0 +1,73 @@ +package com.bsd.cases.service.impl; + +import com.bsd.cases.constants.Constants; +import com.bsd.cases.mapper.CaseContentMapper; +import com.bsd.cases.mapper.CaseContentScoreMapper; +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.service.CaseContentScoreService; +import com.bsd.cases.util.AjaxResult; +import org.apache.ibatis.annotations.Case; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; + +@Service("caseContentScoreService") +@Transactional +public class CaseContentScoreServiceImpl extends BaseServiceImpl + implements CaseContentScoreService { + + @Resource + private CaseContentScoreMapper caseContentScoreMapper; + @Resource + private CaseContentMapper caseContentMapper; + @Resource + private CaseContentStaticalMapper caseContentStaticalMapper; + + /** + * 评分 + * @param contentId + * @param score + */ + @Override + public AjaxResult addScore(Long contentId, Double score) { + AjaxResult ajaxResult = new AjaxResult(); + 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 { + if (score>5||score<0){ + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg("评分不可大于5或小于0"); + }else { + CaseContentScore caseContentScore = new CaseContentScore(); + caseContentScore.setScore(score); + caseContentScore.setContentId(contentId); + caseContentScore.setCreateDateTime(new Date()); + caseContentScore.setUpdateDateTime(new Date()); + //set 人 + caseContentScore.setState(Constants.STATE_VALID); + caseContentScoreMapper.insert(caseContentScore); + Double averageScore = caseContentScoreMapper.getAverageScore(contentId); + CaseContentStatical findCaseContentStatical = new CaseContentStatical(); + findCaseContentStatical.setState(Constants.STATE_VALID); + findCaseContentStatical.setContentId(contentId); + CaseContentStatical caseContentStatical = caseContentStaticalMapper.selectOne(findCaseContentStatical); + caseContentStatical.setScore(averageScore); + 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/CaseContentServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseContentServiceImpl.java index 6921fe2..9418541 100644 --- a/src/main/java/com/bsd/cases/service/impl/CaseContentServiceImpl.java +++ b/src/main/java/com/bsd/cases/service/impl/CaseContentServiceImpl.java @@ -3,12 +3,11 @@ package com.bsd.cases.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.bsd.cases.constants.Constants; -import com.bsd.cases.mapper.CaseContentMapper; -import com.bsd.cases.mapper.CaseContentStaticalMapper; -import com.bsd.cases.model.CaseContent; -import com.bsd.cases.model.CaseContentStatical; +import com.bsd.cases.mapper.*; +import com.bsd.cases.model.*; import com.bsd.cases.service.CaseContentService; import com.bsd.cases.util.PageUtils; +import com.bsd.cases.vo.CaseContentDetailVo; import com.bsd.cases.vo.CaseContentVo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,7 +23,20 @@ public class CaseContentServiceImpl 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()); + + return caseContentDetailVo; + } } diff --git a/src/main/java/com/bsd/cases/vo/CaseContentCommentsVo.java b/src/main/java/com/bsd/cases/vo/CaseContentCommentsVo.java new file mode 100644 index 0000000..3611bb6 --- /dev/null +++ b/src/main/java/com/bsd/cases/vo/CaseContentCommentsVo.java @@ -0,0 +1,10 @@ +package com.bsd.cases.vo; + +import com.bsd.cases.model.CaseContentComments; +import lombok.Data; + +@Data +public class CaseContentCommentsVo extends CaseContentComments { + + private String userName; +} diff --git a/src/main/java/com/bsd/cases/vo/CaseContentDetailVo.java b/src/main/java/com/bsd/cases/vo/CaseContentDetailVo.java new file mode 100644 index 0000000..bf6bd17 --- /dev/null +++ b/src/main/java/com/bsd/cases/vo/CaseContentDetailVo.java @@ -0,0 +1,37 @@ +package com.bsd.cases.vo; + +import com.bsd.cases.model.CaseContentAttachment; +import com.bsd.cases.model.CaseContentMaterial; +import lombok.Data; + +import java.util.List; + +@Data +public class CaseContentDetailVo { + + private Long id; + + private String contentTitle; + + private Double score; + //二级 + private Long categoryId; + //二级 + private String categoryName; + + private String url; + + private String content; + + private List caseContentMaterialList; + +// private List caseContentAttachmentList; + + private Boolean isLike = false; + + private Boolean isScore = false; + + private Integer commentsNum; + + private Integer likeNum; +} diff --git a/src/main/resources/mapper/CaseContentScoreMapper.xml b/src/main/resources/mapper/CaseContentScoreMapper.xml new file mode 100644 index 0000000..f337d96 --- /dev/null +++ b/src/main/resources/mapper/CaseContentScoreMapper.xml @@ -0,0 +1,7 @@ + + + + +