From 0993c86bcef3bc33643efbf6efa3ef380af09da9 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 25 八月 2025 10:39:40 +0800
Subject: [PATCH] PC跳转小程序支付

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsEvaluateServiceImpl.java |   44 +++++++++++++++++++++++++++-----------------
 1 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsEvaluateServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsEvaluateServiceImpl.java
index 57fb9fe..26c56e6 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsEvaluateServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsEvaluateServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.other.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.StringUtils;
@@ -41,32 +42,41 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void addGoodsEvaluate(GoodsEvaluateVO goodsEvaluateVO) {
-        List<GoodsEvaluate> evaluates = goodsEvaluateVO.getEvaluates();
-        for (GoodsEvaluate goodsEvaluate : evaluates) {
-            goodsEvaluate.setStatus(2);
-            if (StringUtils.isNotEmpty(goodsEvaluate.getIdStr())){
-                goodsEvaluate.setId(Long.valueOf(goodsEvaluate.getIdStr()));
-                updateById(goodsEvaluate);
-            }else {
-                LoginUser loginUserApplet = tokenService.getLoginUserApplet();
-                goodsEvaluate.setAppUserId(loginUserApplet.getUserid());
-                goodsEvaluate.setCreateTime(LocalDateTime.now());
-                save(goodsEvaluate);
+    public R addGoodsEvaluate(GoodsEvaluate goodsEvaluate) {
+
+        if (goodsEvaluate.getId() == null) {
+            //新增
+            GoodsEvaluate evaluate = this.getOne(new LambdaQueryWrapper<GoodsEvaluate>()
+                    .eq(GoodsEvaluate::getStatus, 2)
+                    .eq(GoodsEvaluate::getDelFlag, 0)
+                    .eq(GoodsEvaluate::getOrderId, goodsEvaluate.getId()));
+            if (evaluate != null) {
+                return R.fail("已评价过");
             }
-        }
-        if (CollectionUtil.isNotEmpty(evaluates)){
-            Long orderId = goodsEvaluateVO.getEvaluates().get(0).getOrderId();
+            goodsEvaluate.setStatus(2);
+            LoginUser loginUserApplet = tokenService.getLoginUserApplet();
+            goodsEvaluate.setAppUserId(loginUserApplet.getUserid());
+            goodsEvaluate.setCreateTime(LocalDateTime.now());
+            save(goodsEvaluate);
+            Long orderId = goodsEvaluate.getOrderId();
             Order data = orderClient.getOrderById(orderId).getData();
             Order order = new Order();
             order.setId(data.getId());
             order.setOldOrderStatus(data.getOrderStatus());
             order.setOrderStatus(8);
             R<Void> r = remoteOrderGoodsClient.updateOrderStatus(order);
-            if (R.isError(r)){
+            if (R.isError(r)) {
                 throw new RuntimeException("修改订单状态失败");
             }
+        } else {
+            GoodsEvaluate byId = getById(goodsEvaluate.getId());
+            //修改
+            if (byId.getStatus()!=2){
+                return R.fail("修改失败,评论已被下架");
+            }
+            goodsEvaluate.setUpdateTime(LocalDateTime.now());
+            updateById(goodsEvaluate);
         }
-
+        return R.ok();
     }
 }

--
Gitblit v1.7.1