You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yanzong/app/store/controller/market/Active.php

153 lines
3.4 KiB

9 months ago
<?php
declare(strict_types=1);
namespace app\store\controller\market;
use think\response\Json;
use app\store\controller\Controller;
use app\store\model\ActiveMain as ActiveMainModal;
use app\store\model\ActiveCol as ActiveColModal;
use app\store\model\Goods as GoodsModal;
9 months ago
/**
* 活动管理
* Class Active
* @package app\store\controller\market
*/
class Active extends Controller
{
/**
* 列表记录
* @return Json
* @throws \think\db\exception\DbException
*/
public function list(): Json
{
$model = new ActiveMainModal;
$list = $model->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('请先删除活动栏目');
9 months ago
}
$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'));
}
/**
* 添加活动模块
* @return Json
*/
public function colAdd(): Json
{
// 新增记录
$model = new ActiveColModal;
if ($model->add($this->postForm())) {
return $this->renderSuccess('添加成功');
}
return $this->renderError($model->getError() ?: '添加失败');
}
/**
* 更新活动模块
* @param int $activeColId
* @return Json
*/
public function colEdit(int $activeColId): Json
{
$model = ActiveColModal::detail($activeColId);
// 更新记录
if ($model->edit($this->postForm())) {
return $this->renderSuccess('更新成功');
}
return $this->renderError($model->getError() ?: '更新失败');
}
/**
* 删除活动模块
* @param int $activeColId
* @return Json
*/
public function colDelete(int $activeColId): Json
{
$model = ActiveColModal::detail($activeColId);
if ($model->setDelete()) {
return $this->renderSuccess('删除成功');
}
return $this->renderError($model->getError() ?: '删除失败');
}
/**
* goodsList 获取商品列表
* @return Json
*/
public function goodsList(string $goodsIds): Json
{
$goodsIds = explode(',', $goodsIds);
$model = new GoodsModal;
$list = $model->getListByIds($goodsIds);
return $this->renderSuccess(compact('list'));
}
9 months ago
}