Quellcode durchsuchen

【Add】待处理订单通知以及微伴API增加打个标签方法

liuxiangxin vor 4 Monaten
Ursprung
Commit
4384f7c03b
2 geänderte Dateien mit 100 neuen und 0 gelöschten Zeilen
  1. 71 0
      app/Console/Commands/OrdersNotice.php
  2. 29 0
      app/Servers/WeiBan/OpenApi.php

+ 71 - 0
app/Console/Commands/OrdersNotice.php

@@ -0,0 +1,71 @@
+<?php
+
+namespace App\Console\Commands;
+
+use Illuminate\Console\Command;
+use App\Facades\Servers\Aliyun\Sms;
+use App\Models\OrdersProduct as Model;
+
+class OrdersNotice extends Command
+{
+    /**
+     * 任务名称
+     *
+     * @var string
+     */
+    protected $signature = 'orders_notice';
+
+    /**
+     * 任务描述
+     *
+     * @var string
+     */
+    protected $description = '订单处理通知';
+
+    /**
+     * Create a new command instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        parent::__construct();
+    }
+
+    /**
+     * Execute the console command.
+     *
+     * @return int
+     */
+    public function handle()
+    {
+		// 执行任务
+        $this->run_task();
+		return 0;
+    }
+
+    /**
+	 * 执行任务
+	 * 
+	 * */
+	public function run_task(){
+        // 实例化模型
+        $Model              = new Model();
+        // 获取三天后到期的优惠券->addDays(3)
+        $phoneList          = $Model->query()
+                            ->join('business','orders_product.business_id','=','business.id')
+                            ->join('admin','business.leader_uid','=','admin.uid')
+                            ->whereIn('orders_product.status',['1','2','3','8','9'])
+                            ->groupBy('admin.phone')
+                            ->limit(1000)
+                            ->pluck('admin.phone')
+                            ->toArray();
+        // 组合数据
+        $phoneList          = implode(',',$phoneList);
+        // 给这些手机号发送一条阿里云短信
+        $result             = Sms::sendSms($phoneList,'开邻智数','SMS_478160083');
+        // 返回结果
+        return              $result;
+	}
+
+}

+ 29 - 0
app/Servers/WeiBan/OpenApi.php

@@ -236,6 +236,35 @@ class OpenApi
         return                              true;
     }
 
+    /**
+     * 给客户添加企业标签
+     * 
+     */
+    public function addTag($staffId,$extUserid,$tagGroup,$tagName){
+        // 获取调用凭证
+        $accessToken                        = $this->getAccessToken();
+        // 如果没有返回
+        if( !$accessToken )                 return [];
+        // 组装接口
+        $url                                = $this->domain.'/open-api/tag/add?access_token='.$accessToken;
+        $param                              = ['staff_id'=>$staffId,'external_user_id'=>$extUserid,'tag_group'=>$tagGroup,'tag_name'=>$tagName]; 
+        // 调用接口
+        $result                             = Curl::to($url)->withData($param)->asJson(true)->post();
+        // 如果没有返回
+        if( !isset($result['errcode']) )    {
+            Log::error('weiban_openai/tag_add','接口未返回数据',$result);
+            return                          false;
+        }
+        // 如果是凭证错误,递归
+        if( $result['errcode'] == '10001' ) return $this->addTag($staffId,$extUserid,$tagGroup,$tagName);
+        // 如果调用结果失败
+        if( $result['errcode'] != 0 )    {
+            Log::error('weiban_openai/tag_add',$result['errcode'].'=>'.$result['errmsg']);
+            return                          false;
+        }
+        return                              true;
+    }
+
 }
 
 ?>