ProtectLevelController.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\DB;
  6. use App\Http\helper\NumConfig;
  7. use stdClass;
  8. class ProtectLevelController extends Controller
  9. {
  10. protected $table = 'QPAccountsDB.dbo.ProtectLevel';
  11. // 列表
  12. public function index()
  13. {
  14. $list = DB::connection('read')->table($this->table)
  15. ->orderBy('VIP')
  16. ->get();
  17. return view('admin.protect_level.index', compact('list'));
  18. }
  19. // 增加
  20. public function add(Request $request)
  21. {
  22. if ($request->isMethod('get')) {
  23. return view('admin.protect_level.add');
  24. }
  25. $data = $request->only([
  26. 'ID','Recharge','GrantNum','VIP','LevelUpBonus',
  27. 'MinRecharge','WithdrawLimit','DailyWithdraws',
  28. 'WithdrawFeeRate','SignAlpha','CustomServiceType',
  29. 'RechargeExtraSendRate','SuperballNum','BirthdayValue',
  30. ]);
  31. // 将 GrantNum 存储为原值 * NumConfig::NUM_VALUE
  32. if (isset($data['GrantNum'])) {
  33. $data['GrantNum'] = intval($data['GrantNum'] * NumConfig::NUM_VALUE);
  34. }
  35. // 简单验证(ID唯一性后面手动检查)
  36. $this->validate($request, [
  37. 'ID' => 'required|integer',
  38. 'Recharge' => 'required|numeric|min:0',
  39. 'GrantNum' => 'required|integer|min:0',
  40. 'VIP' => 'required|integer|min:0',
  41. 'LevelUpBonus' => 'required|integer|min:0',
  42. 'MinRecharge' => 'required|integer|min:0',
  43. 'WithdrawLimit' => 'required|integer|min:0',
  44. 'DailyWithdraws'=> 'required|integer|min:0|max:255',
  45. 'WithdrawFeeRate'=> 'required|numeric|min:0',
  46. 'SignAlpha' => 'required|integer|min:0',
  47. 'CustomServiceType' => 'required|integer|in:1,2',
  48. 'RechargeExtraSendRate' => 'required|numeric|min:0',
  49. 'SuperballNum' => 'required|integer|min:0',
  50. 'BirthdayValue' => 'required|integer|min:0',
  51. ]);
  52. // 唯一性检查
  53. if (DB::connection('read')->table($this->table)->where('ID', $data['ID'])->exists()) {
  54. return apiReturnFail('ID already exists');
  55. }
  56. DB::connection('write')->table($this->table)->insert($data);
  57. return apiReturnSuc();
  58. }
  59. // 修改
  60. public function edit(Request $request, $id)
  61. {
  62. if ($request->isMethod('get')) {
  63. $info = DB::connection('read')->table($this->table)
  64. ->where('ID', $id)
  65. ->first();
  66. return view('admin.protect_level.edit', compact('info'));
  67. }
  68. $post = $request->only([
  69. 'Recharge','GrantNum','VIP','LevelUpBonus',
  70. 'MinRecharge','WithdrawLimit','DailyWithdraws',
  71. 'WithdrawFeeRate','SignAlpha','CustomServiceType',
  72. 'RechargeExtraSendRate','SuperballNum','BirthdayValue',
  73. ]);
  74. // GrantNum 乘以系数保存
  75. if (isset($post['GrantNum'])) {
  76. $post['GrantNum'] = intval($post['GrantNum'] * NumConfig::NUM_VALUE);
  77. }
  78. // 字段校验
  79. $this->validate($request, [
  80. 'Recharge' => 'required|numeric|min:0',
  81. 'GrantNum' => 'required|integer|min:0',
  82. 'VIP' => 'required|integer|min:0',
  83. 'LevelUpBonus' => 'required|integer|min:0',
  84. 'MinRecharge' => 'required|integer|min:0',
  85. 'WithdrawLimit' => 'required|integer|min:0',
  86. 'DailyWithdraws'=> 'required|integer|min:0|max:255',
  87. 'WithdrawFeeRate'=> 'required|numeric|min:0',
  88. 'SignAlpha' => 'required|integer|min:0',
  89. 'CustomServiceType' => 'required|integer|in:1,2',
  90. 'RechargeExtraSendRate' => 'required|numeric|min:0',
  91. 'SuperballNum' => 'required|integer|min:0',
  92. 'BirthdayValue' => 'required|integer|min:0',
  93. ]);
  94. DB::connection('write')->table($this->table)
  95. ->where('ID', $id)
  96. ->update($post);
  97. return apiReturnSuc();
  98. }
  99. // 删除
  100. public function delete($id)
  101. {
  102. DB::connection('write')->table($this->table)
  103. ->where('ID', $id)
  104. ->delete();
  105. return apiReturnSuc();
  106. }
  107. }