Browse Source

完善订单接口

Jason 1 year ago
parent
commit
9cdaa9bfab
1 changed files with 27 additions and 26 deletions
  1. 27 26
      application/api/controller/Order.php

+ 27 - 26
application/api/controller/Order.php

@@ -59,9 +59,6 @@ class Order extends Api
             ->paginate($this->pageSize);
         foreach ($paginator as $k => $v) {
             $paginator[$k]['status_name'] = (new OrderModel())->getStatusNames($v['status']);
-            if($v['status'] == OrderModel::Default){
-                $paginator[$k]['status'] = OrderModel::Pending;
-            }
         }
         $res_data = $this->buildResp($paginator->total(), $paginator->currentPage(), $paginator->items());
         $res_data['bonus_sum'] = $user['bonus_sum'];
@@ -144,7 +141,7 @@ class Order extends Api
         $order_data = [
             'order_no'      => 'O' . $user['id'] . time(),
             'user_id'       => $user['id'],
-            //'title'         => $goods_info['title'],
+            'title'         => $goods_info['title'],
             'amount'        => $goods_info['price'],
             'bonus'         => $goods_info['price'] * $task_income,
             'user_type'     => $user['user_type'],
@@ -173,9 +170,10 @@ class Order extends Api
             Db::rollback();
             $this->error($e->getMessage());
         }
+
         unset($order_data['user_type']);
         unset($order_data['status']);
-        $order_data['amount'] = $freeze?(-$goods_info['price']):$goods_info['price'];
+
         $order_data['img_url']= $goods_info['img_url'];
         $this->success('', $order_data);
     }
@@ -214,37 +212,40 @@ class Order extends Api
             $this->success('');
         }
 
+        sleep(1);//防止并发重复提交
+
         // 启动事务
         Db::startTrans();
         try {
             // 更新订单
-            (new OrderModel)
+            $rs = (new OrderModel)
                 ->where('id', $order_info['id'])
                 ->update([
                     'status' => OrderModel::Success
                 ]);
+            if($rs){
+                if($order_info['status'] == OrderModel::Default){
+                    //卡单订单不扣款,不返款,直接发佣金
+                    //订单佣金
+                    (new MoneyLog())->change($user['id'], $order_info['bonus'], MoneyLog::OrderBonus, '', '卡单订单');
+                }else{
+                    //账变
+                    (new MoneyLog())->change($user['id'], $order_info['amount'], MoneyLog::PayBack, '', '');
+                    //订单佣金
+                    (new MoneyLog())->change($user['id'], $order_info['bonus'], MoneyLog::OrderBonus, '', '');
+                }
 
-            if($order_info['status'] == OrderModel::Default){
-               //卡单订单不扣款,不返款,直接发佣金
-                //订单佣金
-                (new MoneyLog())->change($user['id'], $order_info['bonus'], MoneyLog::OrderBonus, '', '卡单订单');
-            }else{
-                //账变
-                (new MoneyLog())->change($user['id'], $order_info['amount'], MoneyLog::PayBack, '', '');
-                //订单佣金
-                (new MoneyLog())->change($user['id'], $order_info['bonus'], MoneyLog::OrderBonus, '', '');
+                //累积佣金和任务次数
+                (new Users())
+                    ->where('id', $user['id'])
+                    ->update([
+                        'task_num'		=>	Db::raw('task_num + 1'),
+                        'bonus_sum'		=>  Db::raw('bonus_sum + ' .$order_info['bonus']),
+                        'task_last_time'=>  time()
+                    ]);
+                //向上级发放
             }
-
-           //累积佣金和任务次数
-            (new Users())
-                ->where('id', $user['id'])
-                ->update([
-                    'task_num'		=>	Db::raw('task_num + 1'),
-                    'bonus_sum'		=>  Db::raw('bonus_sum + ' .$order_info['bonus']),
-                    'task_last_time'=>  time()
-                ]);
-            //向上级发放
-
+            $this->error(__('失败'));
 
             // 提交事务
             Db::commit();