From 387e1ecf3a20495d1c3246b1e9dca3f8a5cfa07f Mon Sep 17 00:00:00 2001 From: Wayne <943146732@qq.com> Date: Tue, 27 Feb 2024 09:16:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/store/controller/market/Active.php | 95 +++++++++++++++++++++++ app/store/model/ActiveCol.php | 76 ++++++++++++++++++ app/store/model/ActiveMain.php | 102 +++++++++++++++++++++++++ 3 files changed, 273 insertions(+) create mode 100644 app/store/controller/market/Active.php create mode 100644 app/store/model/ActiveCol.php create mode 100644 app/store/model/ActiveMain.php diff --git a/app/store/controller/market/Active.php b/app/store/controller/market/Active.php new file mode 100644 index 00000000..271e6757 --- /dev/null +++ b/app/store/controller/market/Active.php @@ -0,0 +1,95 @@ +getList($this->request->param()); + return $this->renderSuccess(compact('list')); + } + + /** + * 添加活动 + * @return Json + */ + public function add(): Json + { + // 新增记录 + $model = new ActiveMainModal; + + if ($model->add($this->postForm())) { + return $this->renderSuccess('添加成功'); + } + return $this->renderError($model->getError() ?: '添加失败'); + } + + /** + * 更新活动 + * @param int $activeId + * @return Json + */ + public function edit(int $activeId): Json + { + // 协议详情 + $model = ActiveMainModal::detail($activeId); + // 更新记录 + if ($model->edit($this->postForm())) { + return $this->renderSuccess('更新成功'); + } + return $this->renderError($model->getError() ?: '更新失败'); + } + + /** + * 删除活动 + * @param int $activeId + * @return Json + */ + public function delete(int $activeId): Json + { + // 先看是否在副表中有数据 + $model = new ActiveColModal; + $list = $model->getList($activeId); + if (count($list) > 0) { + return $this->renderError('请先删除活动模块'); + } + + $model = ActiveMainModal::detail($activeId); + if ($model->setDelete()) { + return $this->renderSuccess('删除成功'); + } + return $this->renderError($model->getError() ?: '删除失败'); + } + + + /** + * 根据活动 id 获取活动的模块列表 + * @param init $activeId + */ + public function colList(int $activeId): Json + { + $model = new ActiveColModal; + $list = $model->getList($activeId); + return $this->renderSuccess(compact('list')); + } + +} diff --git a/app/store/model/ActiveCol.php b/app/store/model/ActiveCol.php new file mode 100644 index 00000000..72951f63 --- /dev/null +++ b/app/store/model/ActiveCol.php @@ -0,0 +1,76 @@ + +// +---------------------------------------------------------------------- +declare(strict_types=1); + +namespace app\store\model; + +use app\common\model\ActiveCol as ActiveColModal; + +/** + * 模型类:帮助中心 + * Class Help + * @package app\store\model + */ +class ActiveCol extends ActiveColModal +{ + /** + * 获取列表记录 + * @return \think\Paginator + * @throws \think\db\exception\DbException + */ + public function getList($activeId): \think\Paginator + { + return $this->where( + ['active_id' => $activeId] + )->paginate(); + } + + /** + * 详情 + * @param mixed $activeColId + * @param array $with + * @return static|array|null + */ + public static function detail($activeColId, array $with = []) + { + return self::get($activeColId, $with); + } + + /** + * 新增记录 + * @param array $data + * @return bool|false + */ + public function add(array $data): bool + { + $data['store_id'] = self::$storeId; + return $this->save($data); + } + + /** + * 更新记录 + * @param array $data + * @return bool + */ + public function edit(array $data): bool + { + return $this->save($data) !== false; + } + + /** + * 删除记录 + * @return bool + */ + public function setDelete(): bool + { + return $this->delete(); + } +} diff --git a/app/store/model/ActiveMain.php b/app/store/model/ActiveMain.php new file mode 100644 index 00000000..b8a6b7c4 --- /dev/null +++ b/app/store/model/ActiveMain.php @@ -0,0 +1,102 @@ + +// +---------------------------------------------------------------------- +declare (strict_types=1); + +namespace app\store\model; + +use app\common\model\ActiveMain as ActiveMainModal; +use app\common\model\UploadFile; + +use think\model\relation\HasOne; + +/** + * 模型类:帮助中心 + * Class Help + * @package app\store\model + */ +class ActiveMain extends ActiveMainModal +{ + /** + * 关联图片 + * @return HasOne + */ + public function index_icon_image(): HasOne + { + return $this->hasOne('UploadFile', 'file_id', 'index_icon') + ->bind(['image_url' => 'preview_url']); + } + + /** + * 获取列表记录 + * @return \think\Paginator + * @throws \think\db\exception\DbException + */ + public function getList(): \think\Paginator + { + $data = $this->paginate(); + + // foreach ($data as &$item) { + // // $item['index_icon'] = getUrl($item['index_icon']); + // // $index_icon = UploadFile::where('file_id', $item['index_icon'])->field('file_id,file_path,file_type,storage,domain')->find(); + // // $item['index_icon_url'] = getUrl($index_icon['file_path'], $index_icon['domain']); + // // $item['index_icon_image'] = $index_icon; + // } + + /* $transfer_image_ids = UploadFile::whereIn('file_id', explode(",", $item['transfer_image_id']))->field('file_id,file_path,file_type,storage,domain')->select(); + foreach ($transfer_image_ids as &$transfer_image_id) { + $transfer_image_id['file_path'] = getUrl($transfer_image_id['file_path'], $transfer_image_id['domain']); + } */ + + return $data; + } + + /** + * 详情 + * @param mixed $activeId + * @param array $with + * @return static|array|null + */ + public static function detail($activeId, array $with = []) + { + return self::get($activeId, $with); + } + + /** + * 新增记录 + * @param array $data + * @return bool|false + */ + public function add(array $data): bool + { + $data['store_id'] = self::$storeId; + return $this->save($data); + } + + /** + * 更新记录 + * @param array $data + * @return bool + */ + public function edit(array $data): bool + { + return $this->save($data) !== false; + } + + /** + * 删除记录 + * @return bool + */ + public function setDelete(): bool + { + return $this->delete(); + } + +}