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.'); try { validate(VActivity::class)->check($item); } catch (ValidateException $e) { // 验证失败 输出错误信息 return $this->json(4001,$e->getError()); } try { $info->save($item); return $this->json(); } catch (ValidateException $e) { return $this->json(4001, $e->getError()); } } $this->data['item'] = $info; $this->data['class'] = ActivityTemplateTypeModel::findList([],[],1,0,null,["sort"=>"desc","id"=>"asc"])['list']; $this->data['lotteryMethod'] = ActivityModel::AllLotteryMethod(); $this->data['type'] = ActivityModel::AllType(); $this->data['redackType'] = ActivityModel::AllRedackType(); $winnerKey = array_keys($info['winner']); $this->data['maxKey'] = max($winnerKey)+1; 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.'); try { validate(VActivity::class)->check($item); } catch (ValidateException $e) { // 验证失败 输出错误信息 return $this->json(4001,$e->getError()); } try { $item['create_time'] = date('Y-m-d H:i:s'); ActivityTemplateModel::create($item); return $this->json(0, "success"); } catch (ValidateException $e) { return $this->json(4001, $e->getError()); } } $this->data['class'] = ActivityTemplateTypeModel::findList([],[],1,0,null,["sort"=>"desc","id"=>"asc"])['list']; $this->data['lotteryMethod'] = ActivityModel::AllLotteryMethod(); $this->data['type'] = ActivityModel::AllType(); $this->data['redackType'] = ActivityModel::AllRedackType(); 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->with(["adminType"]) ->withAttr("lottery_method", function ($value) { return ActivityModel::AllLotteryMethod()[$value] ?? ""; }) ->withAttr("lottery_method", function ($value) { return ActivityModel::AllLotteryMethod()[$value] ?? ""; }) ->order('id', 'desc'); }); return $this->json(0, '操作成功', $items); } return $this->view(); } }