最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

商品评价

IT圈 admin 18浏览 0评论

商品评价

1.直接上图

2.数据库设计

3.设计商品评价数量等级VO

/*** 用来展示商品的评价数量的VO*/
public class CommentLevelCountsVO {public Integer totalCounts;public Integer goodCounts;public Integer normalCounts;public Integer badCounts;省略get和set方法......}

4.编写Service
ItemService

	/***  根据商品id查询商品评价等级数量* @param itemId*/public CommentLevelCountsVO queryCommentCounts(String itemId);

5.编写Service实现类
ItemServiceImpl

	@Transactional(propagation = Propagation.SUPPORTS)@Overridepublic CommentLevelCountsVO queryCommentCounts(String itemId) {Integer goodCounts = getCommentCounts(itemId, CommentLevel.GOOD.type);Integer normalCounts = getCommentCounts(itemId, CommentLevel.NORMAL.type);Integer badCounts = getCommentCounts(itemId, CommentLevel.BAD.type);Integer totalCounts = goodCounts+normalCounts+badCounts;CommentLevelCountsVO commentLevelCountsVO = new CommentLevelCountsVO();commentLevelCountsVO.setTotalCounts(totalCounts);commentLevelCountsVO.setGoodCounts(goodCounts);commentLevelCountsVO.setGoodCounts(normalCounts);commentLevelCountsVO.setGoodCounts(badCounts);return commentLevelCountsVO;}@Transactional(propagation = Propagation.SUPPORTS)Integer  getCommentCounts(String itemId,Integer Level){ItemsComments condition = new ItemsComments();condition.setItemId(itemId);if (Level != null) {condition.setCommentLevel(Level);}return itemsCommentsMapper.selectCount(condition);}

6.编写Controller
ItemController
注意此时的参数不是路径参数了而是请求参数
路径参数和请求参数的区别

 @ApiOperation(value = "查询商品评价等级",notes = "查询商品评价等级",httpMethod = "GET")@GetMapping("/commentLevel")public JSONResult commentLevel(@ApiParam(name = "itemId",value ="商品Id",required = true)@RequestParam String itemId){if (StringUtils.isBlank(itemId)) {return JSONResult.errorMsg(null);}CommentLevelCountsVO countsVO = itemService.queryCommentCounts(itemId);return JSONResult.ok(countsVO);}

7.部分前端代码

		<div class="rate"><div v-if="countsVO.totalCounts == 0"><strong>100<span>%</span></strong></div><div v-if="countsVO.totalCounts > 0"><strong>{{Math.round(countsVO.goodCounts / countsVO.totalCounts * 100)}}<span>%</span></strong></div><br /><span>好评度</span></div><div class="comment-counts"><div class="counts-words" @click="renderCommentsByLevel('')">全部评价({{countsVO.totalCounts}})</div><div class="counts-words" @click="renderCommentsByLevel(1)" style="margin-left: 20px;">好评({{countsVO.goodCounts}})</div><div class="counts-words" @click="renderCommentsByLevel(2)" style="margin-left: 20px;">中评({{countsVO.normalCounts}})</div><div class="counts-words" @click="renderCommentsByLevel(3)" style="margin-left: 20px;">差评({{countsVO.badCounts}})</div></div>
// 渲染商品评价等级数量renderCommentLevelCounts(itemId) {var serverUrl = app.serverUrl;axios.defaults.withCredentials = true;axios.get(serverUrl + '/items/commentLevel?itemId=' + itemId, {}).then(res => {if (res.data.status == 200) {var countsVO = res.data.data;this.countsVO = countsVO;// console.log(countsVO);} else if (res.data.status == 500) {alert(res.data.msg);}});},

商品评价

1.直接上图

2.数据库设计

3.设计商品评价数量等级VO

/*** 用来展示商品的评价数量的VO*/
public class CommentLevelCountsVO {public Integer totalCounts;public Integer goodCounts;public Integer normalCounts;public Integer badCounts;省略get和set方法......}

4.编写Service
ItemService

	/***  根据商品id查询商品评价等级数量* @param itemId*/public CommentLevelCountsVO queryCommentCounts(String itemId);

5.编写Service实现类
ItemServiceImpl

	@Transactional(propagation = Propagation.SUPPORTS)@Overridepublic CommentLevelCountsVO queryCommentCounts(String itemId) {Integer goodCounts = getCommentCounts(itemId, CommentLevel.GOOD.type);Integer normalCounts = getCommentCounts(itemId, CommentLevel.NORMAL.type);Integer badCounts = getCommentCounts(itemId, CommentLevel.BAD.type);Integer totalCounts = goodCounts+normalCounts+badCounts;CommentLevelCountsVO commentLevelCountsVO = new CommentLevelCountsVO();commentLevelCountsVO.setTotalCounts(totalCounts);commentLevelCountsVO.setGoodCounts(goodCounts);commentLevelCountsVO.setGoodCounts(normalCounts);commentLevelCountsVO.setGoodCounts(badCounts);return commentLevelCountsVO;}@Transactional(propagation = Propagation.SUPPORTS)Integer  getCommentCounts(String itemId,Integer Level){ItemsComments condition = new ItemsComments();condition.setItemId(itemId);if (Level != null) {condition.setCommentLevel(Level);}return itemsCommentsMapper.selectCount(condition);}

6.编写Controller
ItemController
注意此时的参数不是路径参数了而是请求参数
路径参数和请求参数的区别

 @ApiOperation(value = "查询商品评价等级",notes = "查询商品评价等级",httpMethod = "GET")@GetMapping("/commentLevel")public JSONResult commentLevel(@ApiParam(name = "itemId",value ="商品Id",required = true)@RequestParam String itemId){if (StringUtils.isBlank(itemId)) {return JSONResult.errorMsg(null);}CommentLevelCountsVO countsVO = itemService.queryCommentCounts(itemId);return JSONResult.ok(countsVO);}

7.部分前端代码

		<div class="rate"><div v-if="countsVO.totalCounts == 0"><strong>100<span>%</span></strong></div><div v-if="countsVO.totalCounts > 0"><strong>{{Math.round(countsVO.goodCounts / countsVO.totalCounts * 100)}}<span>%</span></strong></div><br /><span>好评度</span></div><div class="comment-counts"><div class="counts-words" @click="renderCommentsByLevel('')">全部评价({{countsVO.totalCounts}})</div><div class="counts-words" @click="renderCommentsByLevel(1)" style="margin-left: 20px;">好评({{countsVO.goodCounts}})</div><div class="counts-words" @click="renderCommentsByLevel(2)" style="margin-left: 20px;">中评({{countsVO.normalCounts}})</div><div class="counts-words" @click="renderCommentsByLevel(3)" style="margin-left: 20px;">差评({{countsVO.badCounts}})</div></div>
// 渲染商品评价等级数量renderCommentLevelCounts(itemId) {var serverUrl = app.serverUrl;axios.defaults.withCredentials = true;axios.get(serverUrl + '/items/commentLevel?itemId=' + itemId, {}).then(res => {if (res.data.status == 200) {var countsVO = res.data.data;this.countsVO = countsVO;// console.log(countsVO);} else if (res.data.status == 500) {alert(res.data.msg);}});},
发布评论

评论列表 (0)

  1. 暂无评论