MemberBankController.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace App\Http\Controllers\Api\stock;
  3. use App\Http\Controllers\Api\driverApp;
  4. use App\Http\Validator\BankValidator;
  5. use App\Services\Api\MemberBankService;
  6. use App\Services\RedisService;
  7. /**
  8. * 用户收款银行卡
  9. * Class MemberBankController
  10. * @package App\Http\Controllers\Api
  11. */
  12. class MemberBankController extends driverApp
  13. {
  14. /**
  15. *
  16. * @return array|mixed
  17. */
  18. public function index()
  19. {
  20. $params = request()->all();
  21. $pageSize = isset($params['pageSize'])? $params['pageSize'] : 18;
  22. $params['user_id'] = $this->driverId;
  23. $params['user_type'] = 2;
  24. $datas = MemberBankService::make()->getDataList($params, $pageSize);
  25. return message(1010, true, $datas);
  26. }
  27. /**
  28. * 支持的银行
  29. * @return array
  30. */
  31. public function list()
  32. {
  33. $cacheKey = "caches:members:banksNames";
  34. $datas = RedisService::get($cacheKey);
  35. if(empty($datas)){
  36. $datas = config('payment.banks');
  37. if($datas){
  38. foreach($datas as &$item){
  39. $item['code'] = 'bank-'.$item['id'];
  40. $item['icon'] = get_image_url('/images/icons/banks/icon-'.$item['code'].'.png');
  41. }
  42. unset($item);
  43. RedisService::set($cacheKey, $datas, 7 * 86400);
  44. }
  45. }
  46. return message(1010, true, $datas);
  47. }
  48. /**
  49. * @return array
  50. */
  51. public function save(BankValidator $validator)
  52. {
  53. $params = $validator->check(request()->all(), 'save');
  54. if(!is_array($params)){
  55. return message($params, false);
  56. }
  57. $params['user_type'] = 2;
  58. if(MemberBankService::make()->saveData($this->driverId, $params)){
  59. return message(MemberBankService::make()->getError(), true);
  60. }else{
  61. return message(MemberBankService::make()->getError(), false);
  62. }
  63. }
  64. /**
  65. * 选项
  66. * @return array
  67. */
  68. public function options()
  69. {
  70. $params['user_type'] = 2;
  71. $datas = MemberBankService::make()->options($this->driverId);
  72. return message(1010, true, $datas);
  73. }
  74. /**
  75. * 删除
  76. * @return array
  77. */
  78. public function delete()
  79. {
  80. if(MemberBankService::make()->delete()){
  81. RedisService::clear("caches:members:banks:{$this->userId}");
  82. return message(MemberBankService::make()->getError(), true);
  83. }else{
  84. return message(MemberBankService::make()->getError(), false);
  85. }
  86. }
  87. }