From 55963b92e90a45ae394ecf1a59aa100b4bb4e159 Mon Sep 17 00:00:00 2001
From: 李忠强 <1354905998@qq.com>
Date: Mon, 17 Jan 2022 11:47:49 +0800
Subject: [PATCH] 更新

---
 application/api/controller/Order.php | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 65 insertions(+), 21 deletions(-)

diff --git a/application/api/controller/Order.php b/application/api/controller/Order.php
index 4afd951..91ad83b 100644
--- a/application/api/controller/Order.php
+++ b/application/api/controller/Order.php
@@ -5,6 +5,7 @@ namespace app\api\controller;
 
 
 use addons\epay\library\Service;
+use app\api\model\GoodsComment;
 use app\api\model\GoodsSpec;
 use app\api\model\SpecValue;
 use app\api\model\Third;
@@ -537,40 +538,83 @@ class Order extends Api
     }
 
     /**
-     * @ApiTitle    (评价订单)
+     * @ApiTitle    (评价订单详情页)
      * @ApiMethod   (POST)
      * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
      * @ApiParams   (name="id", type="integer", required=true, description="订单ID")
-     * @ApiParams   (name="score", type="integer", required=true, description="评价分数")
-     * @ApiParams   (name="comment", type="string", required=true, description="评价内容")
-     * @ApiParams   (name="images", type="string", required=true, description="评价图片逗号隔开")
      * @ApiReturn   ({
     'code':'1',
     'msg':'返回成功'
+    'data':
+        order_id:订单id
+        goods_name:商品名称
+        goods_id:商品id
+        goods_attr:规格描述
+        image_text:商品图片
     })
      */
-    public function commentOrder()
+    public function commentOrderDetail()
     {
         $order_id = $this->request->post('id');
-        $score = $this->request->post('score');
-        $comment = $this->request->post('comment');
-        $images = $this->request->post('images');
         if (!is_numeric($order_id)) $this->error('订单id参数不合法');
-        if (!is_numeric($score) || $score>5 || $score<1) $this->error('评价分数不合法');
-        if (!$comment) $this->error('请填写评价内容');
-        if (!$comment) $this->error('请填写评价内容');
-        if ($images){
-            $arr = explode(',',$images);
-            if (count($arr) > 3) $this->error('请上传最多3张评价图片');
+
+        $model = new \app\api\model\OrderGoods();
+        $list = $model
+            ->where('order_id',$order_id)
+            ->field('order_id,goods_name,goods_id,goods_attr,image')
+            ->select();
+
+        $this->success('商品列表',$list);
+    }
+
+    /**
+     * @ApiTitle    (评价订单)
+     * @ApiMethod   (POST)
+     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
+     * @ApiParams   (name="data_json", type="string", required=true, description="评价数据 json对象")
+     * @ApiParams   (name="order_id", type="integer", required=false, description="订单ID 不传")
+     * @ApiParams   (name="score", type="integer", required=false, description="评价分数 不传")
+     * @ApiParams   (name="comment", type="string", required=false, description="评价内容 不传")
+     * @ApiParams   (name="goods_id", type="string", required=false, description="商品id 不传")
+     * @ApiParams   (name="images", type="string", required=false, description="评价图片逗号隔开 不传")
+     * @ApiReturn   ({
+    'code':'1',
+    'msg':'返回成功'
+    })
+     */
+    public function commentOrder()
+    {
+        $data = $this->request->post('data_json');
+        if (!$data) $this->error('data_json参数缺失');
+
+        $data = json_decode($data,true);
+        $params = [];
+        $orderids = [];
+        foreach ($data as $key => $value){
+            if (!is_numeric($value['order_id'])) $this->error('订单id参数不合法');
+            if (!is_numeric($value['goods_id'])) $this->error('商品id参数不合法');
+            if (!is_numeric($value['score']) || $value['score']>5 || $value['score']<1) $this->error('评价分数不合法');
+            if (!$value['comment']) $this->error('请填写评价内容');
+            if ($value['images']){
+                $arr = explode(',',$value['images']);
+                if (count($arr) > 3) $this->error('请上传最多3张评价图片');
+            }
+            $params[] = [
+                'user_id' => $this->auth->id,
+                'order_id' => $value['order_id'],
+                'goods_id' => $value['goods_id'],
+                'comment' => $value['comment'],
+                'images' => $value['images'],
+                'score' => $value['score'],
+            ];
+            $orderids[] = $value['order_id'];
         }
 
-        $model = new \app\api\model\Order();
-        $model->where('id',$order_id)->isUpdate()->save(['order_status'=>'30']);
-//        $data = [
-//            'user_id' => $this->auth->id,
-//            'goods_id' => $
-//        ]
-        $this->success('取消成功');
+        $ordermodel = new \app\api\model\Order();
+        $ordermodel->whereIn('id',$orderids)->isUpdate()->save(['order_status'=>'30']);
+        $commentmodel = new GoodsComment();
+        $commentmodel->isUpdate(false)->saveAll($params);
+        $this->success('评价成功');
     }
 
 }
\ No newline at end of file
--
libgit2 0.24.0