ClearBombController.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Facade\TableName;
  4. use App\Http\helper\NumConfig;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\DB;
  7. use Illuminate\Support\Facades\Redis;
  8. class ClearBombController
  9. {
  10. /**
  11. * ClearBomb控制参数配置
  12. * @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View
  13. */
  14. public function operate()
  15. {
  16. // $redis = Redis::connection();
  17. $redis = Redis::connection('ServerGameRedis');
  18. $config=[];
  19. $descriptions=[];
  20. $kindID = 4021;
  21. $rooms = [
  22. 1 => '初级场',
  23. 2 => '中级场',
  24. 3 => '高级场',
  25. ];
  26. foreach (range(1, 3) as $v) {
  27. $config['ClearBomb_InitStock_'.$v] = $redis->get("ClearBomb_InitStock_".$v) / NumConfig::NUM_VALUE;
  28. $config['ClearBomb_SystemKillRate_'.$v] = $redis->get("ClearBomb_SystemKillRate_".$v) / NumConfig::NUM_VALUE;
  29. $config['ClearBomb_BaseStock_'.$v] = $redis->get("ClearBomb_BaseStock_".$v);
  30. $config['ClearBomb_MinMulti_'.$v] = $redis->get("ClearBomb_MinMulti_".$v).'%';
  31. $config['ClearBomb_KillStock_'.$v] = $redis->get("ClearBomb_KillStock_".$v) / NumConfig::NUM_VALUE;
  32. $descriptions =array_merge($descriptions, ['ClearBomb_InitStock_'.$v => $rooms[$v].'库存比较基线', 'ClearBomb_SystemKillRate_'.$v => $rooms[$v].'达到控杀区后的控杀率', 'ClearBomb_BaseStock_'.$v => $rooms[$v].'保底库存值', 'ClearBomb_KillStock_'.$v => $rooms[$v].'库存控杀线','ClearBomb_MinMulti_'.$v=>$rooms[$v].'随机上限倍数保底(最高500%,用户倍率可超越)']);
  33. $key = "ClearBomb_RandomRange_{$v}";
  34. $config[$key] = $redis->get($key) ;
  35. $descriptions[$key] = "{$rooms[$v]} 当局随机范围参数左侧(正数,eg:-5-5)";
  36. $key = "ClearBomb_RandomRange2_{$v}";
  37. $config[$key] = $redis->get($key) ;
  38. $descriptions[$key] = "{$rooms[$v]} 当局随机范围参数右侧(正数,eg:-5-5)";
  39. $key = "ClearBomb_ExplodeProtectRate_{$v}";
  40. $config[$key] = $redis->get($key) ;
  41. $descriptions[$key] = "{$rooms[$v]} 个控10-20爆炸保护概率25:3Z%-25%的概率判断为不爆炸,最多保护2";
  42. $key = "ClearBomb_ExplodeRateBonus_{$v}";
  43. $config[$key] = $redis->get($key) ;
  44. $descriptions[$key] = "{$rooms[$v]} 个控0-7区间,出雷概率为原基础提升30%-2Z";
  45. $key = "ClearBomb_RandMin_{$v}";
  46. $config[$key] = $redis->get($key) ;
  47. $descriptions[$key] = "{$rooms[$v]} 最低随机保底比例(0-90)";
  48. $key = "FreeWinMax_{$kindID}_{$v}";
  49. $config[$key] = $redis->get($key) / NumConfig::NUM_VALUE;
  50. $descriptions[$key] = "{$rooms[$v]} 充值控制线以下玩家最多赢多少";
  51. $key = "RechargeControl_{$kindID}_{$v}";
  52. $config[$key] = $redis->get($key) / NumConfig::NUM_VALUE;
  53. $descriptions[$key] = "{$rooms[$v]} 充值控制线";
  54. $key = "RechargeMaxPercent_{$kindID}_{$v}";
  55. $config[$key] = $redis->get($key).'%';
  56. $descriptions[$key] = "{$rooms[$v]} 控制线以上玩家 充值上限比例";
  57. }
  58. $data = compact('config', 'descriptions');
  59. return view('admin.clearBomb.operate', $data);
  60. }
  61. /**
  62. * 彩金池修改值
  63. * @param Request $request
  64. * @param $GameID
  65. * @return array|\Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View
  66. */
  67. public function config_update(Request $request, $key)
  68. {
  69. if ($request->isMethod('post')) {
  70. $Value = (int)$request->Value;
  71. $redis = Redis::connection('ServerGameRedis');
  72. // $redis = Redis::connection();
  73. if (strpos($key , 'RechargeMaxPercent_') !== false
  74. || strpos($key, 'jackpotRate_') !== false
  75. || strpos($key, 'ClearBomb_RandomRange_') !== false
  76. || strpos($key, 'ClearBomb_RandomRange2_') !== false
  77. || strpos($key, 'ClearBomb_ExplodeProtectRate_') !== false
  78. || strpos($key, 'ClearBomb_ExplodeRateBonus_') !== false
  79. ) {
  80. }else if (strstr($key,'ClearBomb_BaseStock_')||strstr($key,'ClearBomb_MinMulti_')||strstr($key,'ClearBomb_RandMin_')) {
  81. }else{
  82. $Value = $Value * NumConfig::NUM_VALUE;
  83. }
  84. if ($Value < 0) {
  85. $redis->decrBy($key, abs($Value));
  86. } else {
  87. $redis->incrBy($key, $Value);
  88. }
  89. return apiReturnSuc();
  90. } else {
  91. return view('admin.clearBomb.update', compact('key'));
  92. }
  93. }
  94. }