From abc7edc3c8ad59ff213c85413d0d6a10d7a0b6f7 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Wed, 17 Dec 2025 18:03:09 +0800
Subject: [PATCH] 1. 发布供需消耗连盟币,连盟币数量在后台独立设置 2. 小程序供需个人中心可自由切换身份 3. 增加私信系统 4. 增加评论系统,用户可在发布者详情页进行评论操作,评论获得的连盟币可在后台设置 5. 增加发布者的等级,以好评个数为条件进行升级,小程序端会显示该等级的图标,如没有等级则不会显示图标 6. 增加设置消耗连盟币可以解锁、查看发布的信息,费用可在后台设置 7. 小程序供需大厅界面优化,以及增加了推荐栏目,该栏目按发布的分类相似进行匹配,比如A用户发布了 互联网 分类的需求,则会优先推荐匹配互联网分类的供应需求给他。
---
admin/app/api/controller/plus/business/Business.php | 37 +++++++++++++++++++++++++++----------
1 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/admin/app/api/controller/plus/business/Business.php b/admin/app/api/controller/plus/business/Business.php
index 8b4c0ad..cc37f1a 100644
--- a/admin/app/api/controller/plus/business/Business.php
+++ b/admin/app/api/controller/plus/business/Business.php
@@ -22,14 +22,15 @@
$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 +125,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);
}
@@ -152,7 +169,7 @@
$model = new BusinessModel();
$data = $model->getDefault($user_id);
if(!$data){
- if($model->get(['user_id' => $user_id])){
+ if($model->where(['user_id' => $user_id])->count()){
$data = $model->order('create_time', 'desc')->where(['user_id' => $user_id])->find();
$model->editDefault($data['business_card_id']);
$data = $model->getDefault($user_id);
@@ -163,10 +180,8 @@
// 获取当前用户信息
$currentUser = $this->getUser();
$currentUserId = $currentUser ? $currentUser['user_id'] : 0;
-
// 使用封装的方法判断是否需要脱敏
$needDesensitization = $this->needDesensitizeCard($data, $currentUserId);
-
// 生成海报图
$posterType = $needDesensitization ? 'desensitization' : 'business';
$Qrcode = new Poster($data, $posterType);
@@ -262,7 +277,7 @@
public function delete()
{
$param = request()->param();
- if((new BusinessModel())->get(['business_card_id'=>$param['business_card_id'],'is_default'=>1])){
+ if((new BusinessModel())->where(['business_card_id'=>$param['business_card_id'],'is_default'=>1])->find()){
return $this->renderError('当前名片为默认名片,无法删除,可切换默认名片后进行删除');
}
$model = (new BusinessModel())->where('business_card_id', $param['business_card_id'])->find();
@@ -282,7 +297,9 @@
}
return $this->renderError('删除失败');
}
-
+ public function getIlk(){
+ return $this->renderSuccess('',[10=>'个人名片',20=>'企业名片']);
+ }
/**
* 获取访客列表
* @return array
--
Gitblit v1.9.2