From ec6d43aa07ee0e8faf34498057ebcfbb446aa015 Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期二, 16 七月 2024 09:21:51 +0800 Subject: [PATCH] feat: 代码重构 --- ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java | 70 +++++++++++++++++++++-------------- 1 files changed, 42 insertions(+), 28 deletions(-) diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java index 36ceb27..097a2f3 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java @@ -1,25 +1,26 @@ package com.ruoyi.user.controller; import cn.hutool.core.util.RandomUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.exception.GlobalException; import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.order.api.entity.EvaluateOrderInfoVO; +import com.ruoyi.order.api.entity.OrderEvaluateSubmitRequest; +import com.ruoyi.order.api.entity.OrderEvaluateVO; +import com.ruoyi.order.api.feignClient.EvaluateClient; import com.ruoyi.system.api.model.LoginUserInfo; -import com.ruoyi.user.entity.Evaluate; -import com.ruoyi.user.entity.Order; +import com.ruoyi.user.entity.RecoveryServe; import com.ruoyi.user.request.OrderEvaluateRequest; -import com.ruoyi.user.service.EvaluateService; -import com.ruoyi.user.service.OrderService; -import com.ruoyi.user.vo.OrderEvaluateVO; +import com.ruoyi.user.service.RecoveryServeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.math.BigDecimal; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -35,20 +36,44 @@ public class EvaluateController { @Resource - private EvaluateService evaluateService; - @Resource private TokenService tokenService; @Resource - private OrderService orderService; + private EvaluateClient evaluateClient; + @Resource + private RecoveryServeService recoveryServeService; @GetMapping("/orderEvaluate") @ApiOperation(value = "订单评价列表", tags = {"用户端-个人中心"}) - public R<List<OrderEvaluateVO>> orderEvaluate() { + public R<Page<OrderEvaluateVO>> orderEvaluate(@RequestParam("state") Integer state, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } - return R.ok(evaluateService.orderEvaluate(loginUser.getUserid())); + Page<OrderEvaluateVO> list = evaluateClient.evaluateListByUser(loginUser.getUserid(), state, pageNum, pageSize).getData(); + if (null != list) { + // 数据封装,减少循环io + List<Integer> ids = list.getRecords().stream().map(OrderEvaluateVO::getServeId).collect(Collectors.toList()); + if (!ids.isEmpty()) { + List<RecoveryServe> serveList = recoveryServeService.lambdaQuery() + .in(RecoveryServe::getId, ids) + .eq(RecoveryServe::getIsDelete, 0).list(); + Map<Integer, RecoveryServe> map = serveList.stream().collect(Collectors. + toMap(RecoveryServe::getId, data -> data)); + for (OrderEvaluateVO data : list.getRecords()) { + Integer serveId = data.getServeId(); + RecoveryServe recoveryServe = map.get(serveId); + if (null != recoveryServe) { + EvaluateOrderInfoVO orderInfo = data.getOrderInfo(); + orderInfo.setServeName(recoveryServe.getServeName()); + orderInfo.setServeDescribe(recoveryServe.getServeDescribe()); + orderInfo.setCover(recoveryServe.getCover()); + } + } + } + } + return R.ok(list); } @GetMapping("/conductEvaluation") @@ -60,27 +85,16 @@ @PostMapping("/submitEvaluation") @ApiOperation(value = "提交评价", tags = {"用户端-个人中心"}) public R<String> submitEvaluation(@RequestBody @Validated OrderEvaluateRequest orderEvaluate) { - Integer orderId = orderEvaluate.getOrderId(); + Long orderId = orderEvaluate.getOrderId(); String content = orderEvaluate.getContent(); - BigDecimal starRating = orderEvaluate.getStarRating(); + Double starRating = orderEvaluate.getStarRating(); String serveNo = orderEvaluate.getServeNo(); LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } - // 订单详情 - Order order = orderService.lambdaQuery().eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one(); - if (null == order) { - throw new GlobalException("订单异常!"); - } - Evaluate evaluate = new Evaluate(); - evaluate.setUserId(loginUser.getUserid()); - evaluate.setOrderId(orderId); - evaluate.setContent(content); - evaluate.setWorkerId(order.getServerId()); - evaluate.setStarRating(starRating); - evaluate.setServeNo(serveNo); - boolean save = evaluateService.save(evaluate); + boolean save = evaluateClient.evaluateSave(new OrderEvaluateSubmitRequest(orderId, content, starRating, + serveNo, loginUser.getUserid())).getData(); return save ? R.ok() : R.fail(); } -- Gitblit v1.7.1