From 17c0cbe716cec1b5a24f88f2d932572dcec9a40f Mon Sep 17 00:00:00 2001 From: 15090180611 <215509543@qq.com> Date: Tue, 8 Apr 2025 18:44:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=8F=96=E6=B6=88=EF=BC=8C?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=88=97=E8=A1=A8=E8=AF=A6=E6=83=85=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E6=B4=BB=E5=8A=A8=E9=80=80=E6=AC=BE=E6=94=BF?= =?UTF-8?q?=E7=AD=96=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/school/activity/Activity.php | 32 +++ .../school/activity/order/OrderLog.php | 72 ++++++ .../admin/lang/zh-cn/school/activity/cate.php | 1 + .../zh-cn/school/activity/order/order_log.php | 31 +++ .../lang/zh-cn/school/activity/refund.php | 17 +- .../model/school/activity/order/OrderLog.php | 59 +++++ .../school/activity/order/OrderLog.php | 27 +++ .../view/school/activity/activity/add.html | 2 +- .../view/school/activity/activity/edit.html | 2 +- .../admin/view/school/activity/cate/add.html | 18 ++ .../admin/view/school/activity/cate/edit.html | 18 ++ .../school/activity/order/order_log/add.html | 45 ++++ .../school/activity/order/order_log/edit.html | 45 ++++ .../activity/order/order_log/index.html | 46 ++++ .../activity/order/order_log/recyclebin.html | 25 ++ .../view/school/activity/refund/add.html | 14 +- .../view/school/activity/refund/edit.html | 14 +- application/api/controller/Crontab.php | 10 +- application/api/controller/Index.php | 1 + .../api/controller/school/NewActivity.php | 30 ++- application/common/hooks.php | 3 + .../common/listener/activity/ActivityHook.php | 143 ++++++++++++ .../common/model/school/activity/Activity.php | 213 ++++++++++++++++-- .../common/model/school/activity/Cate.php | 9 +- .../model/school/activity/order/OrderLog.php | 123 ++++++++++ .../js/backend/school/activity/activity.js | 42 +++- .../assets/js/backend/school/activity/cate.js | 2 + .../school/activity/order/order_log.js | 120 ++++++++++ .../js/backend/school/activity/refund.js | 1 - 29 files changed, 1118 insertions(+), 47 deletions(-) create mode 100644 application/admin/controller/school/activity/order/OrderLog.php create mode 100644 application/admin/lang/zh-cn/school/activity/order/order_log.php create mode 100644 application/admin/model/school/activity/order/OrderLog.php create mode 100644 application/admin/validate/school/activity/order/OrderLog.php create mode 100644 application/admin/view/school/activity/order/order_log/add.html create mode 100644 application/admin/view/school/activity/order/order_log/edit.html create mode 100644 application/admin/view/school/activity/order/order_log/index.html create mode 100644 application/admin/view/school/activity/order/order_log/recyclebin.html create mode 100644 application/common/model/school/activity/order/OrderLog.php create mode 100644 public/assets/js/backend/school/activity/order/order_log.js diff --git a/application/admin/controller/school/activity/Activity.php b/application/admin/controller/school/activity/Activity.php index 6fcbeff..fe96682 100644 --- a/application/admin/controller/school/activity/Activity.php +++ b/application/admin/controller/school/activity/Activity.php @@ -308,4 +308,36 @@ class Activity extends Backend $this->error(__('No rows were deleted')); } + + + + /** + * 活动取消 + * @return string + * @throws \think\Exception + * @throws \think\db\exception\BindParamException + * @throws \think\exception\DbException + * @throws \think\exception\PDOException + */ + public function cancel($ids = ''){ + $param = $this->request->param(); + if($this->request->isPost()){ + try{ + if(isset($param['ids']))$ids = $param['ids']; + //设置模拟资格 + $model = (new \app\common\model\school\activity\Activity); + $model->cancel($ids,"2",false,'admin',$this->auth->id,true); + + }catch (\Exception $e){ + $this->error($e->getMessage()); + } + $this->success('取消成功!'); + } + $row = $this->model->get($ids); + $this->view->assign('vo', $row); + return $this->view->fetch(); + } + + + } diff --git a/application/admin/controller/school/activity/order/OrderLog.php b/application/admin/controller/school/activity/order/OrderLog.php new file mode 100644 index 0000000..f42fa65 --- /dev/null +++ b/application/admin/controller/school/activity/order/OrderLog.php @@ -0,0 +1,72 @@ +model = new \app\admin\model\school\activity\order\OrderLog; + $this->view->assign("statusList", $this->model->getStatusList()); + } + + + + /** + * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 + * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 + * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 + */ + + + /** + * 查看 + */ + public function index() + { + //当前是否为关联查询 + $this->relationSearch = true; + //设置过滤方法 + $this->request->filter(['strip_tags', 'trim']); + if ($this->request->isAjax()) { + //如果发送的来源是Selectpage,则转发到Selectpage + if ($this->request->request('keyField')) { + return $this->selectpage(); + } + list($where, $sort, $order, $offset, $limit) = $this->buildparams(); + + $list = $this->model + ->with(['order','user']) + ->where($where) + ->order($sort, $order) + ->paginate($limit); + + foreach ($list as $row) { + + $row->getRelation('order')->visible(['order_no']); + $row->getRelation('user')->visible(['nickname','avatar']); + } + + $result = array("total" => $list->total(), "rows" => $list->items()); + + return json($result); + } + return $this->view->fetch(); + } + +} diff --git a/application/admin/lang/zh-cn/school/activity/cate.php b/application/admin/lang/zh-cn/school/activity/cate.php index 9705b31..8e49316 100644 --- a/application/admin/lang/zh-cn/school/activity/cate.php +++ b/application/admin/lang/zh-cn/school/activity/cate.php @@ -2,6 +2,7 @@ return [ 'Name' => '分类名', + "Image" => '分类icon', 'Status' => '状态', 'Status 1' => '上架', 'Set status to 1'=> '设为上架', diff --git a/application/admin/lang/zh-cn/school/activity/order/order_log.php b/application/admin/lang/zh-cn/school/activity/order/order_log.php new file mode 100644 index 0000000..3c80489 --- /dev/null +++ b/application/admin/lang/zh-cn/school/activity/order/order_log.php @@ -0,0 +1,31 @@ + '活动订单id', + 'Status' => '订单状态', + 'Status -3' => '已取消', + 'Set status to -3' => '设为已取消', + 'Status 0' => '待支付', + 'Set status to 0' => '设为待支付', + 'Status 2' => '已报名', + 'Set status to 2' => '设为已报名', + 'Status 3' => '核销中', + 'Set status to 3' => '设为核销中', + 'Status 4' => '售后中', + 'Set status to 4' => '设为售后中', + 'Status 5' => '退款结算中', + 'Set status to 5' => '设为退款结算中', + 'Status 6' => '已退款', + 'Set status to 6' => '设为已退款', + 'Status 9' => '已完成', + 'Set status to 9' => '设为已完成', + 'Log_text' => '记录内容', + 'Oper_type' => '记录人类型', + 'Oper_id' => '记录人id', + 'Createtime' => '创建时间', + 'Updatetime' => '修改时间', + 'Deletetime' => '删除时间', + 'Order.order_no' => '订单号', + 'User.nickname' => '昵称', + 'User.avatar' => '头像' +]; diff --git a/application/admin/lang/zh-cn/school/activity/refund.php b/application/admin/lang/zh-cn/school/activity/refund.php index 5d9e7b3..97a61fd 100644 --- a/application/admin/lang/zh-cn/school/activity/refund.php +++ b/application/admin/lang/zh-cn/school/activity/refund.php @@ -1,13 +1,12 @@ '策略标题', - 'Desc' => '策略说明', - 'Refund_hour' => '退款小时', - 'Refund_scale' => '退款比例', - 'Weigh' => '权重', - 'Createtime' => '创建时间', - 'Updatetime' => '修改时间', - 'Deletetime' => '删除时间', - + 'Title' => '策略标题', + 'Desc' => '策略说明', + 'Refund_hour' => '退款小时', + 'Refund_scale_json' => '退款比例', + 'Weigh' => '权重', + 'Createtime' => '创建时间', + 'Updatetime' => '修改时间', + 'Deletetime' => '删除时间' ]; diff --git a/application/admin/model/school/activity/order/OrderLog.php b/application/admin/model/school/activity/order/OrderLog.php new file mode 100644 index 0000000..2b2be4d --- /dev/null +++ b/application/admin/model/school/activity/order/OrderLog.php @@ -0,0 +1,59 @@ + __('Status -3'), '0' => __('Status 0'), '2' => __('Status 2'), '3' => __('Status 3'), '4' => __('Status 4'), '5' => __('Status 5'), '6' => __('Status 6'), '9' => __('Status 9')]; + } + + + public function getStatusTextAttr($value, $data) + { + $value = $value ? $value : (isset($data['status']) ? $data['status'] : ''); + $list = $this->getStatusList(); + return isset($list[$value]) ? $list[$value] : ''; + } + + + + + public function order() + { + return $this->belongsTo(Order::class, 'activity_order_id', 'id', [], 'LEFT')->setEagerlyType(0); + } + + + public function user() + { + return $this->belongsTo('app\common\model\User', 'oper_id', 'id', [], 'LEFT')->setEagerlyType(0); + } +} diff --git a/application/admin/validate/school/activity/order/OrderLog.php b/application/admin/validate/school/activity/order/OrderLog.php new file mode 100644 index 0000000..e79fc45 --- /dev/null +++ b/application/admin/validate/school/activity/order/OrderLog.php @@ -0,0 +1,27 @@ + [], + 'edit' => [], + ]; + +} diff --git a/application/admin/view/school/activity/activity/add.html b/application/admin/view/school/activity/activity/add.html index 1b56b41..5471656 100644 --- a/application/admin/view/school/activity/activity/add.html +++ b/application/admin/view/school/activity/activity/add.html @@ -49,7 +49,7 @@