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