From 2b728186c745b598e8ccb9dcc37360eed49375f6 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 30 Oct 2025 18:58:21 +0800
Subject: [PATCH] 完成名片列表功能 完成名片筛选功能 完成查看名片详情 完成购买名片查看联系方式

---
 admin/app/api/controller/plus/business/Business.php |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/admin/app/api/controller/plus/business/Business.php b/admin/app/api/controller/plus/business/Business.php
index 8b4c0ad..e60799f 100644
--- a/admin/app/api/controller/plus/business/Business.php
+++ b/admin/app/api/controller/plus/business/Business.php
@@ -17,19 +17,25 @@
     {
         $model = new BusinessModel();
         $params=$this->request->param();
+        $user = $this->getUser();
+        $currentUserId = $user ? $user['user_id'] : 0;
+        if(!empty($params['user_id'])&&$params['user_id']=='undefined'){
+           $params['user_id']=$currentUserId;
+        }
         $list=$model->getList($params);
         $user = $this->getUser();
         $currentUserId = $user ? $user['user_id'] : 0;
         $orderModel = new OrderModel();
         
-        foreach ($list as $key => $value) {
+        foreach ($list as $key => &$value) {
             // 标记是否已购买
             $hasPurchased = $orderModel->checkCardPurchase($currentUserId, $value['business_card_id']);
             $list[$key]['has_purchased'] = $hasPurchased;
             $needDesensitization = $this->needDesensitizeCard($value, $currentUserId);
             $posterType = $needDesensitization ? 'desensitization' : 'business';
             $Qrcode = new Poster($value, $posterType);
-            $data['mp'] = $Qrcode->getImage();
+            $value['mp'] = $Qrcode->getImage();
+            $value['posterType'] = $posterType;
             // 使用封装的方法判断是否需要脱敏
             if ($needDesensitization) {
                 $list[$key] = $this->desensitizeBusinessData($value);
@@ -124,16 +130,32 @@
     /**
      * 名片详情
      * @param $business_card_id
-     * @return array
+     * @return array|\think\response\Json
      * @throws \app\common\exception\BaseException
      * @throws \think\exception\DbException
      */
     public function detail($business_card_id)
     {
-        $data = (new BusinessModel())->where(['business_card_id'=>$business_card_id])->with(['image', 'logoImage'])->find();
+        $data = (new BusinessModel())::detail($business_card_id);
         if ($data) {
-            $Qrcode = new Poster($data);
+            // 获取当前用户信息
+            $currentUser = $this->getUser();
+            $currentUserId = $currentUser ? $currentUser['user_id'] : 0;
+
+            // 使用封装的方法判断是否需要脱敏
+            $needDesensitization = $this->needDesensitizeCard($data, $currentUserId);
+
+            // 生成海报图
+            $posterType = $needDesensitization ? 'desensitization' : 'business';
+            $Qrcode = new Poster($data, $posterType);
             $data['mp'] = $Qrcode->getImage();
+            $imageInfo = getimagesize($data['mp']);
+            $data['posterType'] = $posterType;
+
+            // 如果需要脱敏,对返回数据也进行脱敏处理
+            if ($needDesensitization) {
+                $data = $this->desensitizeBusinessData($data);
+            }
         }
         return $this->renderSuccess('',$data);
     }
@@ -282,7 +304,9 @@
         }
         return $this->renderError('删除失败');
     }
-    
+    public function getIlk(){
+        return $this->renderSuccess('',[10=>'个人名片',20=>'企业名片']);
+    }
     /**
      * 获取访客列表
      * @return array

--
Gitblit v1.9.2