| | |
| | | package com.ruoyi.other.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.ruoyi.account.api.feignClient.AppUserClient; |
| | | import com.ruoyi.account.api.model.AppUser; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.web.page.TableDataInfo; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.other.api.domain.Goods; |
| | | import com.ruoyi.other.api.domain.GoodsEvaluate; |
| | | import com.ruoyi.other.service.GoodsEvaluateService; |
| | | import com.ruoyi.other.service.GoodsService; |
| | | import com.ruoyi.other.vo.GoodsEvaluateVO; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | |
| | | private GoodsEvaluateService goodsEvaluateService; |
| | | @Resource |
| | | private AppUserClient appUserClient; |
| | | @Resource |
| | | private GoodsService goodsService; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | @GetMapping("/goodsList") |
| | | @ApiOperation(value = "获取商品评价", tags = {"小程序-获取商品评价"}) |
| | |
| | | AppUser appUserById = appUserClient.getAppUserById(goodsEvaluate.getAppUserId()); |
| | | goodsEvaluate.setUserName(appUserById.getName()); |
| | | goodsEvaluate.setAvatar(appUserById.getAvatar()); |
| | | goodsEvaluate.setIdStr(String.valueOf(goodsEvaluate.getId())); |
| | | } |
| | | return R.ok(list); |
| | | } |
| | |
| | | * 发布商品评价 |
| | | */ |
| | | @PostMapping("/addGoodsEvaluate") |
| | | @ApiOperation(value = "发布商品评价", tags = {"小程序-发布商品评价"}) |
| | | public R<Void> addGoodsEvaluate(GoodsEvaluate goodsEvaluate){ |
| | | goodsEvaluateService.save(goodsEvaluate); |
| | | @ApiOperation(value = "发布商品评价", tags = {"小程序-个人中心-我的订单"}) |
| | | public R<Void> addGoodsEvaluate(@RequestBody GoodsEvaluateVO goodsEvaluateVO){ |
| | | goodsEvaluateService.addGoodsEvaluate(goodsEvaluateVO); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 评论详情 |
| | | */ |
| | | @GetMapping("/detail/{id}") |
| | | @GetMapping("/detail/{orderId}") |
| | | @ApiOperation(value = "评论详情", tags = {"小程序-评论详情"}) |
| | | public R<GoodsEvaluate> detail(@PathVariable("id") Long id){ |
| | | public R<List<GoodsEvaluate>> detail(@PathVariable("orderId") Long orderId){ |
| | | LoginUser loginUserApplet = tokenService.getLoginUserApplet(); |
| | | List<GoodsEvaluate> list = goodsEvaluateService.list(new LambdaQueryWrapper<GoodsEvaluate>() |
| | | .eq(GoodsEvaluate::getStatus, 2) |
| | | .eq(GoodsEvaluate::getAppUserId,loginUserApplet.getUserid()) |
| | | .eq(GoodsEvaluate::getOrderId, orderId)); |
| | | for (GoodsEvaluate goodsEvaluate : list) { |
| | | Goods goods = goodsService.getById(goodsEvaluate.getGoodsId()); |
| | | goodsEvaluate.setGoodsName(goods.getName()); |
| | | goodsEvaluate.setGoodsImg(goods.getHomePagePicture()); |
| | | } |
| | | return R.ok(list); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除评论 |
| | | */ |
| | | @DeleteMapping("/delete/{id}") |
| | | @ApiOperation(value = "删除评论", tags = {"管理后台-商品管理-评价管理"}) |
| | | public R<Void> delete(@PathVariable("id") Long id){ |
| | | goodsEvaluateService.removeById(id); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 评论列表 |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperation(value = "评论列表", tags = {"管理后台-商品管理-评价管理"}) |
| | | public R<List<GoodsEvaluate>> list(GoodsEvaluate goodsEvaluate){ |
| | | List<GoodsEvaluate> list = goodsEvaluateService.lambdaQuery() |
| | | .like(StringUtils.isNotEmpty(goodsEvaluate.getGoodsName()),GoodsEvaluate::getGoodsName, goodsEvaluate.getComment()) |
| | | .like(StringUtils.isNotEmpty(goodsEvaluate.getUserName()),GoodsEvaluate::getUserName, goodsEvaluate.getUserName()) |
| | | .like(StringUtils.isNotEmpty(goodsEvaluate.getPhone()),GoodsEvaluate::getPhone, goodsEvaluate.getPhone()) |
| | | .eq(goodsEvaluate.getStatus()!=null,GoodsEvaluate::getStatus, goodsEvaluate.getStatus()) |
| | | .orderByDesc(GoodsEvaluate::getCreateTime) |
| | | .list(); |
| | | |
| | | list.forEach(this::buildDetail); |
| | | |
| | | return R.ok(list); |
| | | } |
| | | |
| | | private void buildDetail(GoodsEvaluate item) { |
| | | AppUser appUser = appUserClient.getAppUserById(item.getAppUserId()); |
| | | if (appUser == null){ |
| | | throw new RuntimeException("获取用户信息失败"); |
| | | } |
| | | Goods goods = goodsService.getById(item.getGoodsId()); |
| | | item.setGoodsName(goods.getName()); |
| | | item.setPhone(appUser.getPhone()); |
| | | item.setUserName(appUser.getName()); |
| | | } |
| | | |
| | | /** |
| | | * 评论详情 |
| | | */ |
| | | @GetMapping("/{id}") |
| | | @ApiOperation(value = "评论详情", tags = {"管理后台-商品管理-评价管理"}) |
| | | public R<GoodsEvaluate> getDetail(@PathVariable("id") Long id){ |
| | | GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); |
| | | buildDetail(goodsEvaluate); |
| | | return R.ok(goodsEvaluate); |
| | | } |
| | | |
| | | /** |
| | | * 评论上/下架 |
| | | */ |
| | | @PutMapping("/changeStatus") |
| | | @ApiOperation(value = "上/下架", tags = {"管理后台-商品管理-评价管理"}) |
| | | public R<Void> changeStatus(@RequestBody GoodsEvaluate goodsEvaluate){ |
| | | goodsEvaluateService.update(new LambdaUpdateWrapper<GoodsEvaluate>() |
| | | .eq(GoodsEvaluate::getId, goodsEvaluate.getId()) |
| | | .set(GoodsEvaluate::getStatus, goodsEvaluate.getStatus())); |
| | | return R.ok(); |
| | | } |
| | | |
| | | } |
| | | |