186 lines
4.7 KiB
PHP
186 lines
4.7 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace app\controller\manager;
|
||
|
|
||
|
use app\model\ActivityTemplate as ActivityTemplateModel;
|
||
|
|
||
|
use app\model\ArchivesModelField;
|
||
|
use app\model\System;
|
||
|
use Exception;
|
||
|
use think\db\exception\DataNotFoundException;
|
||
|
use think\db\exception\DbException;
|
||
|
use think\db\exception\ModelNotFoundException;
|
||
|
use think\exception\ValidateException;
|
||
|
use think\facade\Config as CConfig;
|
||
|
use think\response\Json;
|
||
|
use think\response\View;
|
||
|
|
||
|
/**
|
||
|
* 抽奖模板分类
|
||
|
*
|
||
|
* Class ActivityTemplateType
|
||
|
* @package app\controller\manager
|
||
|
*/
|
||
|
class ActivityTemplate extends Base
|
||
|
{
|
||
|
|
||
|
protected function initialize()
|
||
|
{
|
||
|
parent::initialize();
|
||
|
CConfig::load('extra/upload', 'system_upload');
|
||
|
if(empty(config('system_upload'))){
|
||
|
$this->data['uploadConfig'] = System::findById(1);
|
||
|
}else{
|
||
|
$this->data['uploadConfig'] = config('system_upload');
|
||
|
}
|
||
|
}
|
||
|
/**
|
||
|
* 删除
|
||
|
*
|
||
|
* @return Json
|
||
|
*/
|
||
|
public function del(): Json
|
||
|
{
|
||
|
if ($this->request->isPost()) {
|
||
|
$ids = input('post.ids/a', []);
|
||
|
if (empty($ids)) {
|
||
|
$ids[] = input('post.id/d');
|
||
|
}
|
||
|
ActivityTemplateModel::deleteByIds($ids);
|
||
|
return $this->json();
|
||
|
}
|
||
|
return $this->json(4001, '非法请求!');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 编辑
|
||
|
*
|
||
|
* @return Json|View
|
||
|
* @throws DataNotFoundException
|
||
|
* @throws DbException
|
||
|
* @throws ModelNotFoundException
|
||
|
* @throws Exception
|
||
|
*/
|
||
|
public function edit()
|
||
|
{
|
||
|
$id = input('id/d', 0);
|
||
|
|
||
|
if (!$info = ActivityTemplateModel::findById($id)) {
|
||
|
return $this->json(4001, '记录不存在');
|
||
|
}
|
||
|
|
||
|
if ($this->request->isPost()) {
|
||
|
$item = input('post.');
|
||
|
$validate = $this->validateByApi($item, [
|
||
|
'name' => 'require',
|
||
|
]);
|
||
|
|
||
|
if ($validate !== true) {
|
||
|
return $validate;
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
$info->save($item);
|
||
|
return $this->json();
|
||
|
} catch (ValidateException $e) {
|
||
|
return $this->json(4001, $e->getError());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$this->data['item'] = $info;
|
||
|
|
||
|
return $this->view();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 单个字段编辑
|
||
|
*
|
||
|
* @return Json
|
||
|
* @throws DataNotFoundException
|
||
|
* @throws DbException
|
||
|
* @throws ModelNotFoundException
|
||
|
* @throws Exception
|
||
|
*/
|
||
|
public function modify(): Json
|
||
|
{
|
||
|
if ($this->request->isPost()) {
|
||
|
$item = input('post.');
|
||
|
$validate = $this->validateByApi($item, [
|
||
|
'field' => 'require',
|
||
|
'value' => 'require',
|
||
|
]);
|
||
|
|
||
|
if ($validate !== true) {
|
||
|
return $validate;
|
||
|
}
|
||
|
|
||
|
if (!$info = ActivityTemplateModel::findById($item['id'])) {
|
||
|
return $this->json(4001, '记录不存在');
|
||
|
}
|
||
|
|
||
|
$update = [$item['field'] => $item['value']];
|
||
|
|
||
|
try {
|
||
|
$info->save($update);
|
||
|
return $this->json();
|
||
|
} catch (ValidateException $e) {
|
||
|
return $this->json(4001, $e->getError());
|
||
|
}
|
||
|
}
|
||
|
return $this->json(4000, '非法请求');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 添加
|
||
|
*
|
||
|
* @return Json|View
|
||
|
* @throws Exception
|
||
|
*/
|
||
|
public function add()
|
||
|
{
|
||
|
if ($this->request->isPost()) {
|
||
|
$item = input('post.');
|
||
|
|
||
|
$validate = $this->validateByApi($item, [
|
||
|
'name' => 'require',
|
||
|
]);
|
||
|
|
||
|
if ($validate !== true) {
|
||
|
return $validate;
|
||
|
}
|
||
|
$tag = ActivityTemplateModel::findOne(["name"=>$item["name"]]);
|
||
|
if(!empty($tag)){
|
||
|
return $this->json(0, "success", ["id" => $tag["id"]]);
|
||
|
}
|
||
|
try {
|
||
|
$item['create_time'] = date('Y-m-d H:i:s');
|
||
|
$id = ActivityTemplateModel::insertGetId($item);
|
||
|
return $this->json(0, "success", ["id" => $id]);
|
||
|
} catch (ValidateException $e) {
|
||
|
return $this->json(4001, $e->getError());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $this->view();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 列表
|
||
|
*
|
||
|
* @return View|Json
|
||
|
* @throws Exception
|
||
|
*/
|
||
|
public function index()
|
||
|
{
|
||
|
if ($this->request->isPost()) {
|
||
|
$page = input('page/d', 1);
|
||
|
$limit = input('size/d', 20);
|
||
|
$items = ActivityTemplateModel::findList([], [], $page, $limit, function ($q) {
|
||
|
return $q->order('id', 'desc');
|
||
|
});
|
||
|
|
||
|
return $this->json(0, '操作成功', $items);
|
||
|
}
|
||
|
return $this->view();
|
||
|
}
|
||
|
}
|