MemberBankController.php 2.5 KB

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