From a4b3ee325c7354579d495bc74a777e494e5ec38c Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 06 Feb 2026 18:18:44 +0800
Subject: [PATCH] 商品可以价格面议 选择走访时显示输入走访企业名 分会添加活动时要总会审核 分类添加人数限制,添加活动选择了填写人数限制的分类时活动名额下显示该分类人数限制为15 同一个企业30天内只能走访一次,在30天内走访同一个企业时提示该企业已被走访xx天后才可以从新走访

---
 admin/app/branch/model/activity/Activity.php |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/admin/app/branch/model/activity/Activity.php b/admin/app/branch/model/activity/Activity.php
index 67740e5..ceb55a9 100644
--- a/admin/app/branch/model/activity/Activity.php
+++ b/admin/app/branch/model/activity/Activity.php
@@ -24,14 +24,60 @@
     }
 
     /**
+     * 获取审核列表(审核所有活动)
+     */
+    public function getAuditList($params)
+    {
+        $model = $this->with(['image', 'category', 'branch'])
+            ->where('is_delete', '=', 0);
+
+        // 按审核状态筛选
+        if (isset($params['audit_status']) && $params['audit_status'] !== '') {
+            $model = $model->where('audit_status', '=', $params['audit_status']);
+        }
+
+        return $model->order(['sort' => 'desc', 'create_time' => 'desc'])
+            ->paginate($params);
+    }
+
+    /**
+     * 审核活动
+     */
+    public function audit($activity_id, $data)
+    {
+        $model = ActivityModel::detail($activity_id);
+        if (!$model) {
+            $this->error = '活动不存在';
+            return false;
+        }
+
+        $updateData = [
+            'audit_status' => $data['audit_status'],
+            'audit_time' => time(),
+            'audit_remark' => $data['audit_remark'] ?? ''
+        ];
+
+        return $model->save($updateData);
+    }
+
+    /**
      * 新增记录
      */
     public function add($data, $branch_id)
     {
         $model = new ActivityModel();
+        if ($data['is_visit'] == 1) {
+            $visitCheck = $this->checkVisitLimit($data['visit_supplier_id'], $data['visit_supplier_name']);
+            if ($visitCheck) {
+                $this->error = '该企业30天内已被走访,还需等待' . $visitCheck['remaining_days'] . '天才可以重新走访';
+                return false;
+            }
+        }
         $product = new ActivityProductPriceModel();
         $data['app_id'] = self::$app_id;
         $data['branch_id'] = $branch_id;
+        // 默认审核状态为待审核
+        $data['audit_status'] = 0;
         //报名时间
         $data['register_start_time'] = strtotime($data['reg_date'][0]);
         $data['register_end_time'] = strtotime($data['reg_date'][1]);
@@ -84,6 +130,15 @@
     {
         $model = new ActivityModel();
         $product = new ActivityProductPriceModel();
+        
+        // 检查走访企业30天限制(编辑时排除当前活动)
+        if (!empty($data['visit_supplier_id']) && $data['is_visit'] == 1) {
+            $visitCheck = $model->checkVisitLimit($data['visit_supplier_id'], $data['visit_supplier_name'], $data['activity_id']);
+            if ($visitCheck) {
+                $this->error = '该企业30天内已被走访,还需等待' . $visitCheck['remaining_days'] . '天才可以重新走访';
+                return false;
+            }
+        }
         //报名时间
         $data['register_start_time'] = strtotime($data['reg_date'][0]);
         $data['register_end_time'] = strtotime($data['reg_date'][1]);

--
Gitblit v1.9.2