hrjy 2 éve
szülő
commit
d77df95238

+ 29 - 0
app/admin/model/diagnosis/DiagnosisOrder.php

@@ -278,4 +278,33 @@ class DiagnosisOrder extends BaseModel
             }
         }
     }
+
+
+    /**
+     * 自动确认
+     * @return void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public static function automatic_confirmation()
+    {
+        $order = DiagnosisOrder::where('status', 2)->where('after_sales', 0)->select();
+        if (count($order) > 0)
+        {
+            foreach ($order as $item)
+            {
+                $time = $item['up_time'] + (86400 * 7); // 上传时间的七天后
+                if (time() > $time){
+                    // 大于七天自动完成
+                    DiagnosisOrder::where('id', $item['id'])->update(['status' => 3]);
+                    $user = User::where('uid', $item['order_receiving'])->find();
+                    UserBill::income('完成订单佣金', $item['order_receiving'], 'now_money', 'brokerage', $item['commission'], '', $user['brokerage_price']+$item['commission'], '完成订单佣金');
+                    User::where('uid', $item['order_receiving'])->inc('brokerage_price', $item['commission'])->update();
+                }
+
+            }
+        }
+
+    }
 }

+ 4 - 3
app/api/controller/diagnosis/DiagnosisOrderController.php

@@ -409,10 +409,8 @@ class DiagnosisOrderController
         if ($order['status'] <> 1) return app('json')->fail('当前订单状态不对');
 
         $order['images'] = json_encode($data['images']);
-        if ($order['after_sales'] == 1){
-            $order['after_sales'] = 0;
-        }
         $order['status'] = 2;
+        $order['up_time'] = time();
         $res = $order->save();
 
         if ($res)  return app('json')->success('提交订单成功');
@@ -438,6 +436,9 @@ class DiagnosisOrderController
         if ($order['status'] <> 2) return app('json')->fail('当前订单状态不对');
 
         $order['status'] = 3;
+        if ($order['after_sales'] == 1){
+            $order['after_sales'] = 0;
+        }
         $res1 = $order->save();
         $user = User::where('uid', $order['order_receiving'])->find();
         $res2 = UserBill::income('完成订单佣金', $order['order_receiving'], 'now_money', 'brokerage', $order['commission'], '', $user['brokerage_price']+$order['commission'], '完成订单佣金');

+ 9 - 0
crmeb/subscribes/TaskSubscribe.php

@@ -2,6 +2,7 @@
 
 namespace crmeb\subscribes;
 
+use app\admin\model\diagnosis\DiagnosisOrder;
 use app\admin\model\system\SystemAttachment;
 use app\models\store\StoreBargainUser;
 use app\models\store\StoreOrder;
@@ -92,6 +93,14 @@ class TaskSubscribe
         } catch (\Exception $e) {
             Db::rollback();
         }
+
+        try {
+            Db::startTrans();
+            DiagnosisOrder::automatic_confirmation();//订单确认完成
+            Db::commit();
+        } catch (\Exception $e) {
+            Db::rollback();
+        }
     }
 
     /**