From 73b874c72ad55eb9eef21c36160ac0de58f0189e Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 10:30:43 +0800
Subject: [PATCH] 优化名片

---
 admin/app/api/model/plus/business/Business.php |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/admin/app/api/model/plus/business/Business.php b/admin/app/api/model/plus/business/Business.php
index 2926385..a8ced24 100644
--- a/admin/app/api/model/plus/business/Business.php
+++ b/admin/app/api/model/plus/business/Business.php
@@ -1,7 +1,86 @@
 <?php
 namespace app\api\model\plus\business;
 use app\common\model\plus\business\Business as CommonBusiness;
+use app\common\model\plus\user\User;
+use app\api\model\plus\business\Saving as SavingModel;
 class Business extends CommonBusiness
 {
+    /**
+     * 设置默认名片
+     * @param $business_card_id
+     * @return false|int
+     * @throws \think\exception\DbException
+     */
+    public function editDefault($business_card_id='')
+    {
+        $model=$this->where(['business_card_id'=>$business_card_id])->find();
+        //(new User())->where(['user_id'=>$model['user_id']])->update(['business_card_id' => $business_card_id]);
+        $this->where(['user_id' => $model['user_id']])->update(['is_default' => 0]);
+        return $model->save(['is_default' => 1]);
+    }
+
+    /**
+     * 获取默认名片
+     * @param $user_id
+     * @return array|bool|\PDOStatement|string|\think\Model|null
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function getDefault($user_id){
+        return $this->order('create_time', 'desc')->where(['user_id' => $user_id, 'is_default' => 1])->with(['image', 'logoImage'])->find();
+    }
+
+    /**
+     * 获取名片数量
+     * @param $user_id
+     * @return int|string
+     * @throws \think\Exception
+     */
+    public function getQuantity($user_id)
+    {
+        return $this->where('user_id', $user_id)->count();
+    }
     
+    /**
+     * 记录浏览
+     */
+    public function recordBrowse($business_id, $user_id)
+    {
+        $savingModel = new SavingModel();
+        $data = [
+            'user_id' => $user_id,
+            'business_id' => $business_id,
+            'affiliation_id' => $this->where('business_id', $business_id)->value('user_id'),
+            'type' => 10
+        ];
+        return $savingModel->add($data);
+    }
+    
+    /**
+     * 获取名片统计
+     */
+    public function getStatistics($user_id)
+    {
+        $savingModel = new SavingModel();
+        return [
+            'cards_count' => $this->where(['user_id' => $user_id])->count(),
+            'browse_stats' => $savingModel->getBrowseStats($user_id)
+        ];
+    }
+    
+    /**
+     * 获取名片列表(含统计信息)
+     */
+    public function getListWithStats($user_id)
+    {
+        $cards = $this->with(['template'])->where(['user_id' => $user_id])->select();
+        $savingModel = new SavingModel();
+        
+        foreach ($cards as &$card) {
+            $card['browse_count'] = $savingModel->where(['business_id' => $card['business_id'], 'type' => 10])->count();
+        }
+        
+        return $cards;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.2