Przeglądaj źródła

[智价云] 推送更新

public 13 godzin temu
rodzic
commit
8769febd01

+ 9 - 9
app/Http/Controllers/Manager/Process/SubNotice.php

@@ -30,28 +30,28 @@ class SubNotice extends Controller
         $todayEnd = Carbon::today()->endOfDay()->getTimestamp(); // 今天结束时间 23:59:59
         //查询今日是否存在通知推送记录
         $sub_notice_count = $SubNoticeLogModel->query()->where([['insert_time', '>=', $todayStart], ['insert_time', '<=', $todayEnd]])->count();
-        if ($sub_notice_count > 0) return true;
+        if ($sub_notice_count > 0) return 1;
         //查询低价商品清洗清洗情况
         $action1 = $ExecuteLogModel->query()->where([['code', '=', 'LowPriceGoodsJobs'], ['status', '=', '0'], ['insert_time', '>=', $todayStart], ['insert_time', '<=', $todayEnd]])->count();
-        if ($action1 < 1) return true;
+        if ($action1 < 1) return 2;
         //查询违规产品清洗清洗情况
         $action2 = $ExecuteLogModel->query()->where([['code', '=', 'ViolationProductJobs'], ['status', '=', '0'], ['insert_time', '>=', $todayStart], ['insert_time', '<=', $todayEnd]])->count();
-        if ($action2 < 1) return true;
+        if ($action2 < 1) return 3;
         //查询违规门店清洗清洗情况
         $action3 = $ExecuteLogModel->query()->where([['code', '=', 'ViolationStoreJobs'], ['status', '=', '0'], ['insert_time', '>=', $todayStart], ['insert_time', '<=', $todayEnd]])->count();
-        if ($action3 < 1) return true;
+        if ($action3 < 1) return 4;
         // 查询数据
-        $result = $CompanyModel->query()->toarray();
+        $result = $CompanyModel->query()->get()->toArray();
         // 分配数据
-        if (!$result)  return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => []]);
+        if (!$result)  return 5;
         foreach ($result as $key => $item) {
             $message_data = ['company_id' => $item['id']];
-            SubNoticeJobs::dispatch($message_data);
-            // SubNoticeJobs::dispatchSync($message_data);
+            // SubNoticeJobs::dispatch($message_data);
+            SubNoticeJobs::dispatchSync($message_data);
         }
         // 增加通知推送记录
         $SubNoticeLogModel->query()->insert(['insert_time' => time()]);
         // 告知结果
-        return             json_send(['code' => 'success', 'msg' => '执行成功']);
+        return 6;
     }
 }

+ 27 - 23
app/Jobs/Manager/Process/SubNoticeJobs.php

@@ -59,17 +59,23 @@ class SubNoticeJobs implements ShouldQueue
                 foreach ($this->user_data as $key => $value) {
                     $mobile = $value['mobile'];
                     $email_to = $value['email'];
-                    $number1 = count($this->user_data[$key]['lowprice_product_logids']);
-                    $number2 = count($this->user_data[$key]['violation_product_logids']);
-                    $number3 = count($this->user_data[$key]['violation_store_logids']);
-                    Sms::sendContent($mobile, ['number1' => $number1, 'number2' => $number2, 'number3' => $number3], $sms_tpl_id);
-                    $email_title = '智价云违规数据通知提醒';
-                    $email_content = "智价云提醒、本次低价挂网商品共" . $number1 . "条、禁止挂网商品共" . $number2 . "条、禁止挂网店铺共" . $number3 . "条";
-                    $EmailVerifyCode->sendSmtpEmail($email_to, $email_title, $email_content);
+                    $number1 = isset($this->user_data[$key]['lowprice_product_logids']) ? count($this->user_data[$key]['lowprice_product_logids']) : 0;
+                    $number2 = isset($this->user_data[$key]['violation_product_logids']) ? count($this->user_data[$key]['violation_product_logids']) : 0;
+                    $number3 = isset($this->user_data[$key]['violation_store_logids']) ? count($this->user_data[$key]['violation_store_logids']) : 0;
+                    if (trim($mobile) != '') {
+                        Sms::sendContent($mobile, ['number1' => $number1, 'number2' => $number2, 'number3' => $number3], $sms_tpl_id);
+                    }
+                    if (trim($email_to) != '') {
+                        $email_title = '智价云违规数据通知提醒';
+                        $email_content = "智价云提醒、本次低价挂网商品共" . $number1 . "条、禁止挂网商品共" . $number2 . "条、禁止挂网店铺共" . $number3 . "条";
+                        $EmailVerifyCode->sendSmtpEmail($email_to, $email_title, $email_content);
+                    }
                 }
             }
         } catch (\Exception $e) {
             Log::info('job_error', '订阅短信通知推送队列失败', ['data' => $this->message_data, 'error' => $e->getMessage()]);
+            print_r($e->getMessage());
+            exit;
         }
     }
 
@@ -94,16 +100,16 @@ class SubNoticeJobs implements ShouldQueue
             ->join('personnel_employee', 'process_lowprice_product_member.employee_id', '=', 'personnel_employee.id')
             ->where('personnel_employee.open_notice', 0)
             ->where('personnel_employee.company_id', $company_id)
-            ->where([['personnel_employee.mobile', '!=', ''], ['personnel_employee.mobile', '!=', null]])
-            ->select(['process_lowprice_product_member.*', 'personnel_employee.mobile'])
+            ->select(['process_lowprice_product_member.*', 'personnel_employee.mobile', 'personnel_employee.email'])
             ->get()->toArray();
         if (empty($usert_list)) return true;
         //按用户统计待处理的商品数量
         foreach ($usert_list as $key => $value) {
             $user_id = $value['employee_id'];
-            if (!isset($user_data[$user_id])) {
+            if (!isset($this->user_data[$user_id])) {
                 $this->user_data[$user_id]['employee_id'] = $user_id;
                 $this->user_data[$user_id]['mobile'] = $value['mobile'];
+                $this->user_data[$user_id]['email'] = $value['email'];
                 $this->user_data[$user_id]['lowprice_product_logids'][] = $value['lowprice_product_logid'];
             } else {
                 $this->user_data[$user_id]['lowprice_product_logids'][] = $value['lowprice_product_logid'];
@@ -133,16 +139,16 @@ class SubNoticeJobs implements ShouldQueue
             ->join('personnel_employee', 'process_violation_product_member.employee_id', '=', 'personnel_employee.id')
             ->where('personnel_employee.open_notice', 0)
             ->where('personnel_employee.company_id', $company_id)
-            ->where([['personnel_employee.mobile', '!=', ''], ['personnel_employee.mobile', '!=', null]])
-            ->select(['process_violation_product_member.*', 'personnel_employee.mobile'])
+            ->select(['process_violation_product_member.*', 'personnel_employee.mobile', 'personnel_employee.email'])
             ->get()->toArray();
         if (empty($usert_list)) return true;
         //按用户统计待处理的商品数量
         foreach ($usert_list as $key => $value) {
             $user_id = $value['employee_id'];
-            if (!isset($user_data[$user_id])) {
+            if (!isset($this->user_data[$user_id])) {
                 $this->user_data[$user_id]['employee_id'] = $user_id;
                 $this->user_data[$user_id]['mobile'] = $value['mobile'];
+                $this->user_data[$user_id]['email'] = $value['email'];
                 $this->user_data[$user_id]['violation_product_logids'][] = $value['violation_product_logid'];
             } else {
                 $this->user_data[$user_id]['violation_product_logids'][] = $value['violation_product_logid'];
@@ -172,27 +178,25 @@ class SubNoticeJobs implements ShouldQueue
             ->join('personnel_employee', 'process_violation_store_member.employee_id', '=', 'personnel_employee.id')
             ->where('personnel_employee.open_notice', 0)
             ->where('personnel_employee.company_id', $company_id)
-            ->where([['personnel_employee.mobile', '!=', ''], ['personnel_employee.mobile', '!=', null]])
-            ->select(['process_violation_store_member.*', 'personnel_employee.mobile'])
+            ->select(['process_lowprice_product_member.*', 'personnel_employee.mobile', 'personnel_employee.email'])
             ->get()->toArray();
         if (empty($usert_list)) return true;
         //按用户统计待处理的商品数量
-        $user_data = [];
         foreach ($usert_list as $key => $value) {
             $user_id = $value['employee_id'];
-            if (!isset($user_data[$user_id])) {
-                $user_data[$user_id]['employee_id'] = $user_id;
-                $user_data[$user_id]['mobile'] = $value['mobile'];
-                $user_data[$user_id]['log_ids'][] = $value['violation_store_logid'];
+            if (!isset($this->user_data[$user_id])) {
+                $this->user_data[$user_id]['employee_id'] = $user_id;
+                $this->user_data[$user_id]['mobile'] = $value['mobile'];
+                $this->user_data[$user_id]['email'] = $value['email'];
+                $this->user_data[$user_id]['log_ids'][] = $value['violation_store_logid'];
             } else {
-                $user_data[$user_id]['log_ids'][] = $value['violation_store_logid'];
+                $this->user_data[$user_id]['log_ids'][] = $value['violation_store_logid'];
             }
         }
-
         //按用户统计待处理的商品数量
         foreach ($usert_list as $key => $value) {
             $user_id = $value['employee_id'];
-            if (!isset($user_data[$user_id])) {
+            if (!isset($this->user_data[$user_id])) {
                 $this->user_data[$user_id]['employee_id'] = $user_id;
                 $this->user_data[$user_id]['mobile'] = $value['mobile'];
                 $this->user_data[$user_id]['violation_store_logids'][] = $value['violation_store_logid'];