logic = new SignInRewardLogic(); } /** * 列表页面 * * @param Request $request * @return \Illuminate\View\View */ public function listView(Request $request) { $list = $this->logic->getList(10); return view('admin.sign_in_reward.list', [ 'list' => $list, ]); } /** * 添加页面 * * @return \Illuminate\View\View */ public function addView() { return view('admin.sign_in_reward.add'); } /** * 处理添加请求 * * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function add(Request $request) { $data = $request->only(['DayNumber', 'RewardScore']); // 验证输入 $validator = Validator::make($data, [ 'DayNumber' => ['required', 'integer', 'min:1'], 'RewardScore' => ['required', 'integer', 'min:0'], ], [ 'DayNumber.required' => '签到天数不能为空', 'DayNumber.integer' => '签到天数必须是整数', 'DayNumber.min' => '签到天数必须大于 0', 'RewardScore.required' => '奖励积分不能为空', 'RewardScore.integer' => '奖励积分必须是整数', 'RewardScore.min' => '奖励积分不能为负数', ]); if ($validator->fails()) { return $this->json(400, $validator->errors()->first()); } // 使用 Logic 处理业务逻辑 if (!$this->logic->create($data)) { return $this->json(400, $this->logic->getError()); } return $this->json(200, '添加成功'); } /** * 更新页面 * * @param int $dayNumber * @return \Illuminate\View\View */ public function updateView($dayNumber) { $config = SignInRewardConfig::findOrFail($dayNumber); return view('admin.sign_in_reward.update', [ 'config' => $config, ]); } /** * 处理更新请求 * * @param Request $request * @param int $dayNumber * @return \Illuminate\Http\JsonResponse */ public function update(Request $request, $dayNumber) { $data = $request->only(['RewardScore']); // 验证输入 $validator = Validator::make($data, [ 'RewardScore' => ['required', 'integer', 'min:0'], ], [ 'RewardScore.required' => '奖励积分不能为空', 'RewardScore.integer' => '奖励积分必须是整数', 'RewardScore.min' => '奖励积分不能为负数', ]); if ($validator->fails()) { return $this->json(400, $validator->errors()->first()); } // 使用 Logic 处理业务逻辑 if (!$this->logic->update($dayNumber, $data)) { return $this->json(400, $this->logic->getError()); } return $this->json(200, '修改成功'); } /** * 删除操作 * * @param int $dayNumber * @return \Illuminate\Http\JsonResponse */ public function delete($dayNumber) { if (!$this->logic->delete($dayNumber)) { return $this->json(400, $this->logic->getError()); } return $this->json(200, '删除成功'); } }