ExpController.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Http\Controllers\Admin\Config\Setting;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Controller;
  5. use App\Models\Config;
  6. class ExpController extends Controller
  7. {
  8. private Config $configModel;
  9. public function __construct(Config $config)
  10. {
  11. $this->configModel = $config;
  12. }
  13. /**
  14. * 경험치
  15. * @method GET
  16. * @see /admin/config/setting/exp
  17. */
  18. public function index()
  19. {
  20. return view('admin.config.setting.exp', []);
  21. }
  22. /**
  23. * 경험치 저장
  24. * @method POST
  25. * @see /admin/config/setting/exp
  26. */
  27. public function store(Request $request)
  28. {
  29. $rules = [
  30. 'use_exp' => 'numeric|nullable',
  31. 'exp_register' => 'numeric|nullable',
  32. 'exp_login' => 'numeric|nullable',
  33. 'exp_recommended' => 'numeric|nullable',
  34. 'exp_recommender' => 'numeric|nullable',
  35. 'exp_attendance' => 'numeric|nullable',
  36. 'exp_poll' => 'numeric|nullable'
  37. ];
  38. $attributes = [
  39. 'use_exp' => '경험치 기능',
  40. 'exp_register' => '회원가입 시 경험치',
  41. 'exp_login' => '로그인 시 경험치',
  42. 'exp_recommended' => '회원가입 시 추천인에게 경험치',
  43. 'exp_recommender' => '추천인 존재 시 가입자에게 경험치',
  44. 'exp_attendance' => '출석 시 경험치',
  45. 'exp_poll' => '설문조사 시 경험치'
  46. ];
  47. $posts = $this->validate($request, $rules, [], $attributes);
  48. $this->configModel->save($posts, $attributes);
  49. $message = '경험치 정보가 저장되었습니다.';
  50. return redirect()->route('admin.config.setting.exp.index')->with('message', $message);
  51. }
  52. }