ソースを参照

Wesmiler 三勾多商户商城提交

wesmiler 3 年 前
コミット
451f290da6
2 ファイル変更31 行追加3 行削除
  1. 3 3
      app/api/controller/Controller.php
  2. 28 0
      app/api/model/user/User.php

+ 3 - 3
app/api/controller/Controller.php

@@ -83,15 +83,15 @@ class Controller extends JjjController
         // 商家收款二维码
         $sid = $this->request->param('sid');
         if(isset($user['supplierUser']) && $user['supplierUser'] && $sid){
-            $app = AppWx::getApp();
-            $qrcode = $app->app_code->getQrCode('/pages/user/my_shop/supplier_qrcode?sid='.$sid);
-            $user['supplierUser']['qrcode'] = $qrcode;
+            $user['supplierUser']['qrcode'] = UserModel::getQrcode($sid);
 //            $user['supplierUser']['qrcode'] = getPreview('/image/agent/qrcode.jpg');
             $user['supplierUser']['pay_bg'] = getPreview('/image/agent/pay.png');
         }
         return $user;
     }
 
+
+
     /**
      * 获取当前用户信息
      */

+ 28 - 0
app/api/model/user/User.php

@@ -243,4 +243,32 @@ class User extends UserModel
         }
         return $menus_arr;
     }
+
+    /**
+     * 获取收款码
+     * @param $sid 门店用户ID
+     * @return false|string|string[]|null
+     * @throws BaseException
+     */
+    public static function getQrcode($sid){
+        $fileName = '/uploads/qrcode/'.$sid.'_'.md5($sid).'.jpg';
+        $cache = Cache::tag('cache')->get('caches:qrcode:'.$sid);
+        if($cache && file_exists(app()->getRootPath().'public'.$fileName)){
+            return getPreview($fileName);
+        }
+
+        $app = AppWx::getApp();
+        $data = $app->app_code->getQrCode('/pages/user/my_shop/supplier_qrcode?sid='.$sid);
+        if(empty($data)){
+            return false;
+        }
+
+        file_put_contents(app()->getRootPath().'public'.$fileName, $data);
+        if(file_exists(app()->getRootPath().'public'.$fileName)){
+            Cache::tag('cache')->set('caches:qrcode:'.$sid, $fileName, rand(300, 600));
+            return getPreview($fileName);
+        }
+
+        return false;
+    }
 }