From 2d35f7f531c4fd71d9db75d380341aeeb6503fd0 Mon Sep 17 00:00:00 2001
From: qinzexin <“731344816@qq.com”>
Date: Fri, 4 Jul 2025 17:58:16 +0800
Subject: [PATCH] =?UTF-8?q?5.1=EF=BC=8C=E8=B6=85=E6=97=B6=E6=9C=AA?=
=?UTF-8?q?=E5=AE=A1=E6=A0=B8=E6=B4=BB=E5=8A=A8=E8=87=AA=E5=8A=A8=E5=AE=A1?=
=?UTF-8?q?=E6=A0=B8=E5=A4=B1=E8=B4=A5=20=20=20=20=20=20=20=205.2=EF=BC=8C?=
=?UTF-8?q?=E6=8F=90=E4=BE=9B=E4=B8=BB=E5=8A=A8=E8=A7=A6=E5=8F=91=E6=A3=80?=
=?UTF-8?q?=E6=B5=8B=E6=B4=BB=E5=8A=A8=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E6=B4=BB=E5=8A=A8=E5=80=92=E8=AE=A1=E6=97=B6=E5=BB=B6?=
=?UTF-8?q?=E8=BF=9F=E6=9B=B4=E6=96=B0=E7=9A=84=E9=97=AE=E9=A2=98=20=20=20?=
=?UTF-8?q?=20=E6=B4=BB=E5=8A=A8=E5=AF=8C=E6=96=87=E6=9C=AC=E7=BB=9F?=
=?UTF-8?q?=E4=B8=80=E6=88=90=E5=A4=9A=E8=A1=8C=E6=96=87=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/school/activity/Activity.php | 6 ++-
.../view/school/activity/activity/add.html | 2 +-
.../view/school/activity/activity/copy.html | 2 +-
.../view/school/activity/activity/edit.html | 2 +-
.../common/model/school/activity/Activity.php | 38 ++++++++++++++++---
.../controller/school/activity/Activity.php | 23 +++++++++--
.../view/school/activity/activity/add.html | 2 +-
.../view/school/activity/activity/copy.html | 2 +-
.../view/school/activity/activity/edit.html | 2 +-
9 files changed, 62 insertions(+), 17 deletions(-)
diff --git a/application/admin/controller/school/activity/Activity.php b/application/admin/controller/school/activity/Activity.php
index 7b40a70..0cdfa2d 100644
--- a/application/admin/controller/school/activity/Activity.php
+++ b/application/admin/controller/school/activity/Activity.php
@@ -348,7 +348,11 @@ class Activity extends Backend
Db::startTrans();
try {
foreach ($list as $item) {
- $count += $item->delete();
+
+ //当前申请状态
+ $res = (new \app\common\model\school\activity\Activity())->activity_delete($item->id,'admin',$this->auth->id,true);
+
+ $count += 1;
}
Db::commit();
} catch (PDOException|Exception $e) {
diff --git a/application/admin/view/school/activity/activity/add.html b/application/admin/view/school/activity/activity/add.html
index 87606be..e9bf17a 100644
--- a/application/admin/view/school/activity/activity/add.html
+++ b/application/admin/view/school/activity/activity/add.html
@@ -220,7 +220,7 @@
diff --git a/application/admin/view/school/activity/activity/edit.html b/application/admin/view/school/activity/activity/edit.html
index 4ac7ba3..e58b6b9 100644
--- a/application/admin/view/school/activity/activity/edit.html
+++ b/application/admin/view/school/activity/activity/edit.html
@@ -223,7 +223,7 @@
diff --git a/application/common/model/school/activity/Activity.php b/application/common/model/school/activity/Activity.php
index 70428ab..d15ecc4 100644
--- a/application/common/model/school/activity/Activity.php
+++ b/application/common/model/school/activity/Activity.php
@@ -407,6 +407,8 @@ class Activity extends BaseModel
//转化时间戳
$sign_start_time = $params["sign_start_time"] && !is_numeric($params["sign_start_time"]) ? strtotime($params["sign_start_time"]) : $params["sign_start_time"];
$sign_end_time = $params["sign_end_time"] && !is_numeric($params["sign_end_time"]) ? strtotime($params["sign_end_time"]) : $params["sign_end_time"];
+
+// var_dump($sign_start_time);
//结束时间不能小于开始时间
if($sign_end_time<=$sign_start_time){
throw new \Exception("报名结束时间不能小于开始时间");
@@ -548,13 +550,20 @@ class Activity extends BaseModel
$images = is_array($params["images"]) ? $params["images"] : explode(",",$params["images"]);
+ foreach ($images as $key => &$image){
+
+ if(!$image){
+ unset($images[$key]);
+ }
+
+ }
+// var_dump($images);
//轮播图至少3张
if(count($images) < 3 || count($images) > 5){
- throw new \Exception("轮播图至少3张,最多5张");
- }
- foreach ($images as $image){
- if(!$image) throw new \Exception("轮播图不能为空");
+ throw new \Exception("轮播图至少3张,最多5张,当前上传张数为".count($images));
}
+ //重新合并成一个字符串
+ $params["images"] = implode(",",$images);
//发活动是否需要实名认证
if(config("site.activity_realname_switch")){
@@ -737,10 +746,13 @@ class Activity extends BaseModel
//非允许提交的字段去掉
$params = array_intersect_key($params, array_flip($allowField));
+ //原活动不是未开始,不让编辑
+ if($row["status"] != '1' ) throw new \Exception("{$params["title"]}活动已过未开始状态,不允许修改!");
//报名时间需晚于当前时间
$now_time = time();
if($now_time > $sign_start_time){
+// var_dump($sign_start_time);
throw new \Exception("报名时间必须是未来时间!");
}
//如果存在订单则不允许修改,如果已进入报名阶段,也不允许修改
@@ -1343,8 +1355,18 @@ class Activity extends BaseModel
}
//如果审核状态是审核中,并且时间已经到了3=待开始,4=进行中,则活动自动取消
if(($row["status"]=='3' || $row["status"]=='4') && $row["audit_status"]=='0'){
- //直接取消
- $row = $this->cancel($id,"2",false,'admin',0);
+ //直接改为审核失败
+ $row["auth_time"] = time();
+ $row["reason"] = "超期系统自动审核失败,请重发该活动";
+ $row["auth_status"] = 2;
+ $row->save();
+ //审核不通过
+ //审核通过
+ //调用事件
+ $data = ['activity' => $row,"user_id"=>$row["user_id"],"oper_type"=>"admin","oper_id"=>0];
+ \think\Hook::listen('new_activity_auth_fail_after', $data);
+
+
}
@@ -1516,6 +1538,7 @@ class Activity extends BaseModel
+
// //是否采用模型验证
// if ($this->modelValidate) {
// $name = str_replace("\\model\\", "\\validate\\", get_class($this));
@@ -2154,6 +2177,9 @@ public static function getHaveActivityDelete($id){
$activity = self::getHaveActivityDelete($id);
if(!$activity)throw new \Exception("可删除活动不存在!");
+ if($oper_type=='user' && $activity["user_id"] != $oper_id) throw new \Exception("您无权删除该活动");
+
+
//判断逻辑
if($trans){
diff --git a/application/manystore/controller/school/activity/Activity.php b/application/manystore/controller/school/activity/Activity.php
index 2f8daab..96ebfd1 100644
--- a/application/manystore/controller/school/activity/Activity.php
+++ b/application/manystore/controller/school/activity/Activity.php
@@ -310,6 +310,7 @@ class Activity extends ManystoreBase
//允许提交的字段
$allowField = [
+ "feel",
"title",
"cate_ids",
"image",
@@ -322,25 +323,39 @@ class Activity extends ManystoreBase
"stock",
"content",
"refund_id",
+ "start_time",
+ "end_time",
+ "sign_start_time",
+ "sign_end_time",
"show",
"platform",
- ];
+ "status",
+ "sign_time",
+ "time", ];
//非允许提交的字段去掉
$params = array_intersect_key($params, array_flip($allowField));
-// var_dump($params);die;
//'user_id'=>SHOP_USER_ID
$params["user_id"] = SHOP_USER_ID;
// $params["auth_status"] = $row["auth_status"];
// $params["reason"] = $row["reason"];
$this->update_check($params,$row);
- unset($params["auth_status"]);
-
+// unset($params["auth_status"]);
+ //强制触发审核
+ $params["auth_status"] = 0;
+ $params["reason"] = "";
$result = $row->allowField(true)->save($params);
$this->update_classes($row["id"],$params);
$row = $this->model->get($row[ "id" ]);
+
+
+ //调用审核事件触发
+ $data = ['activity' => $row,"user_id"=>SHOP_USER_ID,"oper_type"=>"user","oper_id"=>SHOP_USER_ID];
+ \think\Hook::listen('new_activity_auth_need_after', $data);
+
+
// if($auth_success == "1"){
// //审核通过
// //调用事件
diff --git a/application/manystore/view/school/activity/activity/add.html b/application/manystore/view/school/activity/activity/add.html
index bcdc477..9290c3c 100644
--- a/application/manystore/view/school/activity/activity/add.html
+++ b/application/manystore/view/school/activity/activity/add.html
@@ -220,7 +220,7 @@
diff --git a/application/manystore/view/school/activity/activity/copy.html b/application/manystore/view/school/activity/activity/copy.html
index d7678b8..3500695 100644
--- a/application/manystore/view/school/activity/activity/copy.html
+++ b/application/manystore/view/school/activity/activity/copy.html
@@ -223,7 +223,7 @@