Zory 2 дней назад
Родитель
Сommit
59bb11b41c
3 измененных файлов с 34 добавлено и 30 удалено
  1. 24 30
      app/controller/api/Solution.php
  2. 5 0
      app/model/saas/SaasOrder.php
  3. 5 0
      app/queue/redis/slow/SyncOrder.php

+ 24 - 30
app/controller/api/Solution.php

@@ -17,6 +17,7 @@ use app\model\saas\SaasOrder;
 use app\model\saas\SaasOrderItem;
 use app\model\saas\SaasOrderItem;
 use app\model\saas\SaasOrderVerify;
 use app\model\saas\SaasOrderVerify;
 use app\model\saas\SaasStar;
 use app\model\saas\SaasStar;
+use app\model\saas\SaasStore;
 use LinFly\Annotation\Attributes\Route\Controller;
 use LinFly\Annotation\Attributes\Route\Controller;
 use LinFly\Annotation\Attributes\Route\GetMapping;
 use LinFly\Annotation\Attributes\Route\GetMapping;
 use LinFly\Annotation\Attributes\Route\RequestMapping;
 use LinFly\Annotation\Attributes\Route\RequestMapping;
@@ -173,12 +174,12 @@ class Solution extends Base
     public function setTest(Request $request): Response
     public function setTest(Request $request): Response
     {
     {
         try {
         try {
-            $param = $this->_valid([
-                "order.require" => trans("empty.require")
-            ],$request->method());
-            if (!is_array($param)) return error($param);
-            Redis::send("sync-order-info",['order' => $param['order']],30);
-            return success("ok");
+//            $param = $this->_valid([
+//                "order.require" => trans("empty.require")
+//            ],$request->method());
+//            if (!is_array($param)) return error($param);
+//            Redis::send("sync-order-info",['order' => $param['order']],30);
+//            return success("ok");
 //            $order = (new SaasOrder)->where("order_sn",$param['order'])->findOrEmpty();
 //            $order = (new SaasOrder)->where("order_sn",$param['order'])->findOrEmpty();
 //            if ($order->isEmpty()) return error("数据不存在");
 //            if ($order->isEmpty()) return error("数据不存在");
 //            [$state,$resp] = (new LifeWeb)->token()->getOrderData($param['order']);
 //            [$state,$resp] = (new LifeWeb)->token()->getOrderData($param['order']);
@@ -191,30 +192,23 @@ class Solution extends Base
 //            $data = (new Relation)->config($this->getDyConfig())->token()->createOrderFirst(['1865253598118939']);
 //            $data = (new Relation)->config($this->getDyConfig())->token()->createOrderFirst(['1865253598118939']);
 //            $data = (new SaasOrderVerify)->where("status",0)->with(['orders'])->select();
 //            $data = (new SaasOrderVerify)->where("status",0)->with(['orders'])->select();
 //            $data = (new SaasOrder)->where('status',2)->whereNull("douyin_uid")->select();
 //            $data = (new SaasOrder)->where('status',2)->whereNull("douyin_uid")->select();
-//            $data = (new SaasOrder)->where('status','in',[1,2,3,6])->select();
-//            if ($data->isEmpty()) return error("err");
-//            $upData = [];
-//            foreach ($data as $key=>$item) {
-//                // 查询订单详情
-//                [$state,$resp] = (new LifeWeb)->token()->getOrderData($item['order_sn']);
-//                if (!$state) {
-//                    echo getDateFull()."==={$item['order_sn']}===订单获取失败\n";
-//                } else {
-//                    echo getDateFull()."==={$item['order_sn']}===执行更新\n";
-//                    print_r($resp);
-//                    $upData[$key] = [
-//                        "douyin_uid"    => $resp['douyin_uid'],
-//                        "star_fee"      => $resp['star_fee'],
-//                        "life_fee"      => $resp['life_fee'],
-//                        "id"            => $item['id']
-//                    ];
-//                }
-//                Timer::sleep(1.5);
-//            }
-//            if (!empty($upData)) {
-//                (new SaasOrder)->saveAll(array_values($upData));
-//            }
-//            return success("ok",$upData);
+            $data = (new SaasOrder)->where('status','in',[1,2,3,6])->select();
+            if ($data->isEmpty()) return error("err");
+            $upData = [];
+            foreach ($data as $key=>$item) {
+
+                $storeRate = (new SaasStore)->where("poi_id",$item["poi_id"])->value("life_rate");
+                if (empty($storeRate)) $storeRate = 7.6;
+                $systemFee = ($storeRate - 6) / 100 * $item['price'];
+                $upData[$key] = [
+                    "sys_fee"    => ceil($systemFee),
+                    "id"            => $item['id']
+                ];
+            }
+            if (!empty($upData)) {
+                (new SaasOrder)->saveAll(array_values($upData));
+            }
+            return success("ok",$upData);
 //            $param = $this->_valid([
 //            $param = $this->_valid([
 //                "order.require" => trans("empty.require")
 //                "order.require" => trans("empty.require")
 //            ],$request->method());
 //            ],$request->method());

+ 5 - 0
app/model/saas/SaasOrder.php

@@ -57,6 +57,11 @@ class SaasOrder extends Model
         return (new SceneData)->getScene($value);
         return (new SceneData)->getScene($value);
     }
     }
 
 
+    public function getLifeFeeAttr($value,$data): string
+    {
+        return $data['sys_fee']+$value;
+    }
+
     public function product(): HasOne
     public function product(): HasOne
     {
     {
         return $this->hasOne(SaasGoods::class,"product_id","product_id");
         return $this->hasOne(SaasGoods::class,"product_id","product_id");

+ 5 - 0
app/queue/redis/slow/SyncOrder.php

@@ -4,6 +4,7 @@ namespace app\queue\redis\slow;
 
 
 use app\extra\tools\LifeWeb;
 use app\extra\tools\LifeWeb;
 use app\model\saas\SaasOrder;
 use app\model\saas\SaasOrder;
+use app\model\saas\SaasStore;
 use Webman\RedisQueue\Consumer;
 use Webman\RedisQueue\Consumer;
 
 
 class SyncOrder implements Consumer
 class SyncOrder implements Consumer
@@ -30,6 +31,9 @@ class SyncOrder implements Consumer
             echo getDateFull()."==开始获取订单达人信息\n";
             echo getDateFull()."==开始获取订单达人信息\n";
             $order = (new SaasOrder)->where("order_sn",$data['order'])->findOrEmpty();
             $order = (new SaasOrder)->where("order_sn",$data['order'])->findOrEmpty();
             if ($order->isEmpty()) return true;
             if ($order->isEmpty()) return true;
+            $storeRate = (new SaasStore)->where("poi_id",$order["poi_id"])->value("life_rate");
+            if (empty($storeRate)) $storeRate = 7.6;
+            $systemFee = ($storeRate - 6) / 100 * $order['price'];
             [$state,$resp] = (new LifeWeb)->token()->getOrderData($order['order_sn']);
             [$state,$resp] = (new LifeWeb)->token()->getOrderData($order['order_sn']);
             if (!$state) {
             if (!$state) {
                 echo getDateFull()."=={$order['order_sn']}==获取数据失败了==\n";
                 echo getDateFull()."=={$order['order_sn']}==获取数据失败了==\n";
@@ -38,6 +42,7 @@ class SyncOrder implements Consumer
             echo getDateFull()."=={$order['order_sn']}==更新订单数据成功\n";
             echo getDateFull()."=={$order['order_sn']}==更新订单数据成功\n";
             $order->douyin_uid = $resp['douyin_uid'];
             $order->douyin_uid = $resp['douyin_uid'];
             $order->life_fee = $resp['life_fee'];
             $order->life_fee = $resp['life_fee'];
+            $order->sys_fee = ceil($systemFee);
             $order->star_fee = $resp['star_fee'];
             $order->star_fee = $resp['star_fee'];
             $order->save();
             $order->save();
         } catch (\Throwable $throwable) {
         } catch (\Throwable $throwable) {