diff --git a/service/app/command/SpiderDy.php b/service/app/command/SpiderDy.php index d3d46e8c..5c7819b1 100644 --- a/service/app/command/SpiderDy.php +++ b/service/app/command/SpiderDy.php @@ -3,8 +3,10 @@ namespace app\command; use app\admin\controller\AdminController; +use app\common\Error; use app\model\Admins; use app\model\Blacks; +use app\model\FilterMobiles; use app\model\Finances; use app\model\Logs; use app\model\Orders; @@ -364,19 +366,23 @@ class SpiderDy extends Command if (empty($item)) { $order->is_zhibo = $this->zhibo($order->product_name, $order->os); - $oldMobile = orders::where("os", $order->os)->where("mobile", $order->mobile) - ->where("create_time", '>=', time() - 24 * 3600 * 3)->find(); - - if (!empty($oldMobile)) { - $admin_id = $oldMobile->admin_id; + if (FilterMobiles::isFilterMobile($order->mobile)) { + $admin_id = 0; } else { - $admin_id = $this->poolUser($order->orderStatus, $order->category_desc); + $oldMobile = orders::where("os", $order->os)->where("mobile", $order->mobile) + ->where("create_time", '>=', time() - 24 * 3600 * 3)->find(); + + if (!empty($oldMobile)) { + $admin_id = $oldMobile->admin_id; + } else { + $admin_id = $this->poolUser($order->orderStatus, $order->category_desc); + } + + if (empty($admin_id)) return null; } - if (empty($admin_id)) return null; $order->admin_id = $admin_id; $order->give_time = time(); - //判断是否需要发短信 if (($order->os == 1 && array_key_exists($order->order_status, [1 => 1, 3 => 3])) || ($order->os == 2 && array_key_exists($order->order_status, [2 => 2, 3 => 3, 4 => 4])) || diff --git a/service/app/command/SpiderMt.php b/service/app/command/SpiderMt.php index 7ad0ed42..bbb406cb 100644 --- a/service/app/command/SpiderMt.php +++ b/service/app/command/SpiderMt.php @@ -5,6 +5,7 @@ namespace app\command; use app\admin\controller\AdminController; use app\model\Admins; use app\model\Blacks; +use app\model\FilterMobiles; use app\model\Finances; use app\model\Logs; use app\model\Orders; @@ -387,16 +388,22 @@ class SpiderMt extends Command if (empty($item)) { //$order->is_zhibo = $this->zhibo($order->product_name, $order->os); - $oldMobile = orders::where("os", $order->os)->where("mobile", $order->mobile) - ->where("create_time", '>=', time() - 24 * 3600 * 3)->find(); - - if (!empty($oldMobile)) { - $admin_id = $oldMobile->admin_id; + // 刷单账号 + if (FilterMobiles::isFilterMobile($order->mobile)) { + $admin_id = 0; } else { - $admin_id = $this->poolUser($order->orderStatus, $order->category_desc); + $oldMobile = orders::where("os", $order->os)->where("mobile", $order->mobile) + ->where("create_time", '>=', time() - 24 * 3600 * 3)->find(); + + if (!empty($oldMobile)) { + $admin_id = $oldMobile->admin_id; + } else { + $admin_id = $this->poolUser($order->orderStatus, $order->category_desc); + } + + if (empty($admin_id)) return null; } - if (empty($admin_id)) return null; $order->admin_id = $admin_id; $order->give_time = time(); @@ -404,7 +411,9 @@ class SpiderMt extends Command if (($order->os == 1 && array_key_exists($order->order_status, [1 => 1, 3 => 3])) || ($order->os == 2 && array_key_exists($order->order_status, [2 => 2, 3 => 3, 4 => 4])) || ($order->os == 3 && $order->order_status == 1)) { - $this->sms($admin_id, $order); + if ($admin_id > 0) { + $this->sms($admin_id, $order); + } } //新获得一个用户的,提示管理员有新的订单 Redis::incrBy('CRM:USER:ONLINE:NEW:' . $admin_id, 1); diff --git a/service/app/model/FilterMobiles.php b/service/app/model/FilterMobiles.php new file mode 100644 index 00000000..0e8f5f07 --- /dev/null +++ b/service/app/model/FilterMobiles.php @@ -0,0 +1,36 @@ +column('id', 'mobile'); + + if (!empty($list)) { + $chunks = array_chunk($list, 50, true); + + foreach($chunks as $mobiles) { + Redis::hMSet($key, $mobiles); + } + + Redis::expire($key, 60*60*24); + } + } + + return Redis::hExists($key, $mobile); + } + +} \ No newline at end of file diff --git a/service/app/server/Orders.php b/service/app/server/Orders.php index d2e5f17b..3990d31b 100644 --- a/service/app/server/Orders.php +++ b/service/app/server/Orders.php @@ -4,6 +4,7 @@ namespace app\server; use app\common\Error; use app\model\Admins as AdminsModel; +use app\model\FilterMobiles; use app\model\Finances as FinancesModel; use app\model\Orders as OrdersModel; use support\Log; @@ -50,6 +51,10 @@ class Orders { $result[$order->sn] = Error::undefined('client mobile or admin mobile invalid'); continue; } + if (FilterMobiles::isFilterMobile($order->mobile)) { + $result[$order->sn] = Error::undefined('刷单账单'); + continue; + } $admin_mobile = $admin_mobile['mobile'] ?? ''; if (Blacks::CExists($order->mobile)) {