CashShopController.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <?php
  2. namespace App\Http\Controllers\Cash;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Models\Login\AccountInfo;
  6. use App\Models\User\CashShopAll;
  7. use App\Models\Web\HistoryShopBuyedItem;
  8. class CashShopController extends Controller
  9. {
  10. public function inquiryBalance(Request $request)
  11. {
  12. if(isset($request['userId'])){
  13. $userID = $request['userId'];
  14. $realBalance = 0;
  15. $bonusBalance = 0;
  16. $cashAccount = AccountInfo::where('Username', $userID)->first();
  17. if($cashAccount){
  18. $realBalance = $cashAccount->Real_Balance != null ? $cashAccount->Real_Balance : 0;
  19. $bonusBalance = $cashAccount->Bonus_Balance != null ? $cashAccount->Bonus_Balance : 0;
  20. return response()->json([
  21. 'result' => 'success',
  22. 'realCash' => intval($realBalance),
  23. 'bonusCash' => intval($bonusBalance)
  24. ],400);
  25. }
  26. }
  27. return response()->json([
  28. 'service_code' => '',
  29. 'Result' => -97
  30. ],400);
  31. }
  32. public function nexonCash(Request $request)
  33. {
  34. if(isset($request['userId'])){
  35. $userID = $request['userId'];
  36. $realBalance = 0;
  37. $bonusBalance = 0;
  38. $cashAccount = AccountInfo::where('Username', $userID)->first();
  39. if($cashAccount){
  40. $realBalance = $cashAccount->Real_Balance != null ? $cashAccount->Real_Balance : 0;
  41. $bonusBalance = $cashAccount->Bonus_Balance != null ? $cashAccount->Bonus_Balance : 0;
  42. return response()->json([
  43. 'result' => 'success',
  44. 'realCash' => intval($realBalance),
  45. 'bonusCash' => intval($bonusBalance)
  46. ],400);
  47. }
  48. }
  49. return response()->json([
  50. 'service_code' => '',
  51. 'Result' => -97
  52. ],400);
  53. }
  54. public function purchaseItem(Request $request)
  55. {
  56. $makeCodeNo = 0;
  57. $userNo = 0;
  58. $userId = '';
  59. $itemId = '';
  60. $itemCnt = 0;
  61. $itemUnitPrice = 0;
  62. $gameServerNo = 0;
  63. $statProperty1 = '';
  64. $statProperty2 = '';
  65. $statProperty3 = '';
  66. $location = '';
  67. $clientIp = '';
  68. $channelingUserId = '';
  69. $charId = 0;
  70. $data = explode('&', $_SERVER['QUERY_STRING']);
  71. foreach ($data as $param) {
  72. list($name, $value) = explode('=', $param, 2);
  73. if ($name == 'makeCodeNo') {
  74. $makeCodeNo = $value;
  75. }
  76. if ($name == 'userNo') {
  77. $userNo = $value;
  78. }
  79. if ($name == 'userId') {
  80. $userId = $value;
  81. }
  82. if ($name == 'itemInfos[0].itemId') {
  83. $itemId = $value;
  84. }
  85. if ($name == 'itemInfos[0].itemCnt') {
  86. $itemCnt = $value;
  87. }
  88. if ($name == 'itemInfos[0].itemUnitPrice') {
  89. $itemUnitPrice = $value;
  90. }
  91. if ($name == 'gameServerNo') {
  92. $gameServerNo = $value;
  93. }
  94. if ($name == 'statProperty1') {
  95. $statProperty1 = $value;
  96. }
  97. if ($name == 'statProperty2') {
  98. $statProperty2 = $value;
  99. }
  100. if ($name == 'statProperty3') {
  101. $statProperty3 = $value;
  102. }
  103. if ($name == 'location') {
  104. $location = $value;
  105. }
  106. if ($name == 'ClientIp') {
  107. $clientIp = $value;
  108. }
  109. if ($name == 'ChannelingUserId') {
  110. $channelingUserId = $value;
  111. }
  112. if ($name == 'charId') {
  113. $charId = $value;
  114. }
  115. }
  116. $datajson = null;
  117. $userId = str_replace('@KLONER', '', $userId);
  118. $Account = AccountInfo::where('Username', $userId)->first();
  119. $chekProdInfo = CashShopAll::GetProduct($itemId);
  120. if ($chekProdInfo != null) {
  121. $linkItemID = $chekProdInfo[0]->LinkItemID;
  122. $itemPrase = $chekProdInfo[0]->Price;
  123. $itemCount = $chekProdInfo[0]->Count;
  124. if ($itemCnt == $itemCount) {
  125. $realBalance = $Account->Real_Balance != null ? $Account->Real_Balance : 0;
  126. $bonusBalance = $Account->Bonus_Balance != null ? $Account->Bonus_Balance : 0;
  127. $totalBalance = $realBalance + $bonusBalance;
  128. if ($totalBalance >= $itemPrase) {
  129. $totalBalance = $totalBalance - $itemPrase;
  130. AccountInfo::UpdateBalance($Account->Username, $totalBalance);
  131. HistoryShopBuyedItem::SaveHistory($Account->AccountDBID, $linkItemID, $itemCount, $itemPrase);
  132. $datajson = '{
  133. "statProperty2": null,
  134. "statProperty1": "' . $statProperty1 . '",
  135. "statProperty3": "success",
  136. "realCash": ' . $realBalance . ',
  137. "bonusCash": 0,
  138. "chargedCashAmt": ' . $itemPrase . ',
  139. "itemInfos": [
  140. {
  141. "itemCnt": ' . $itemCount . ',
  142. "itemId": "' . $linkItemID . '",
  143. "itemUnitPrice": ' . $itemPrase . '
  144. }
  145. ]
  146. }';
  147. die($datajson);
  148. }else{
  149. $datajson = [
  150. 'statProperty2' => '1009996'
  151. ];
  152. }
  153. }else{
  154. $datajson = [
  155. 'statProperty2' => '1001002'
  156. ];
  157. }
  158. }else{
  159. $datajson = [
  160. 'statProperty2' => '1001002'
  161. ];
  162. }
  163. return response()->json($datajson, 200);
  164. }
  165. // Получение RecId и LinkItemID предметов из таблицы CashShopAll
  166. public function getItemsDetails(Request $request)
  167. {
  168. // возвращает RecId и LinkItemID предметов из таблицы CashShopAll
  169. $itemDetails = CashShopAll::all(['RecId', 'LinkItemID']);
  170. return response()->json($itemDetails, 200);
  171. }
  172. }