MemberBankAccount.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 山西牛酷信息科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com.cn
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace app\model\member;
  13. use app\model\BaseModel;
  14. use think\facade\Cache;
  15. /**
  16. * 会员提现账号
  17. */
  18. class MemberBankAccount extends BaseModel
  19. {
  20. /**
  21. * 添加会员提现账号
  22. * @param $data
  23. * @return array
  24. */
  25. public function addMemberBankAccount($data)
  26. {
  27. //微信账号只能添加一个
  28. $count = model('member_bank_account')->getCount([ [ 'withdraw_type', '=', 'wechatpay' ], [ 'member_id', '=', $data['member_id'] ] ]);
  29. if ($count) {
  30. return $this->error('', '只能添加一个微信账号');
  31. }
  32. if ($data['is_default'] == 1) {
  33. model('member_bank_account')->update([ 'is_default' => 0 ], [ 'member_id' => $data['member_id'] ]);
  34. }
  35. $data['create_time'] = time();
  36. $id = model('member_bank_account')->add($data);
  37. $count = model('member_bank_account')->getCount([ 'member_id' => $data['member_id'] ]);
  38. if ($count == 1)
  39. model('member_bank_account')->update([ 'is_default' => 1 ], [ 'member_id' => $data['member_id'], 'id' => $id ]);
  40. Cache::tag("member_bank_account_" . $data['member_id'])->clear();
  41. return $this->success($id);
  42. }
  43. /**
  44. * 修改会员提现账号
  45. * @param $data
  46. * @return array
  47. */
  48. public function editMemberBankAccount($data)
  49. {
  50. if ($data['is_default'] == 1) {
  51. model('member_bank_account')->update([ 'is_default' => 0 ], [ 'member_id' => $data['member_id'] ]);
  52. }
  53. $data['modify_time'] = time();
  54. $res = model('member_bank_account')->update($data, [ 'id' => $data['id'] ]);
  55. Cache::tag("member_bank_account_" . $data['member_id'])->clear();
  56. return $this->success($res);
  57. }
  58. /**
  59. * 删除会员提现账号
  60. * @param array $condition
  61. */
  62. public function deleteMemberBankAccount($condition)
  63. {
  64. $check_condition = array_column($condition, 2, 0);
  65. $res = model('member_bank_account')->delete($condition);
  66. Cache::tag("member_bank_account_" . $check_condition['member_id'])->clear();
  67. if ($res === false) {
  68. return $this->error('', 'RESULT_ERROR');
  69. }
  70. return $this->success($res);
  71. }
  72. /**
  73. * 设置默认会员提现账号
  74. * @param $id
  75. * @param $member_id
  76. * @return \multitype
  77. */
  78. public function modifyDefaultAccount($id, $member_id)
  79. {
  80. model('member_bank_account')->startTrans();
  81. try {
  82. model('member_bank_account')->update([ 'is_default' => 0 ], [ 'member_id' => $member_id ]);
  83. $res = model('member_bank_account')->update([ 'is_default' => 1 ], [ 'member_id' => $member_id, 'id' => $id ]);
  84. model('member_bank_account')->commit();
  85. Cache::tag("member_bank_account_" . $member_id)->clear();
  86. return $this->success($res);
  87. } catch (\Exception $e) {
  88. model('member_bank_account')->rollback();
  89. return $this->error('', $e->getMessage());
  90. }
  91. }
  92. /**
  93. * 获取会员提现账号信息
  94. * @param $condition
  95. * @param string $field
  96. * @return array
  97. */
  98. public function getMemberBankAccountInfo($condition, $field = '*')
  99. {
  100. $check_condition = array_column($condition, 2, 0);
  101. $data = json_encode([ $condition, $field ]);
  102. $cache = Cache::get("member_bank_account_getMemberBankAccountInfo_" . $data);
  103. if (!empty($cache)) {
  104. return $this->success($cache);
  105. }
  106. $res = model('member_bank_account')->getInfo($condition, $field);
  107. Cache::tag("member_bank_account_" . $check_condition['member_id'])->set("member_bank_account_getMemberBankAccountInfo_" . $data, $res);
  108. return $this->success($res);
  109. }
  110. /**
  111. * 获取会员提现账号分页列表
  112. * @param array $condition
  113. * @param int $page
  114. * @param int $page_size
  115. * @param string $order
  116. * @param string $field
  117. * @return array|\multitype
  118. */
  119. public function getMemberBankAccountPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = 'is_default desc,create_time desc', $field = '*')
  120. {
  121. $check_condition = array_column($condition, 2, 0);
  122. $data = json_encode([ $condition, $field, $order, $page, $page_size ]);
  123. $cache = Cache::get("member_bank_account_getMemberBankAccountPageList_" . $data);
  124. if (!empty($cache)) {
  125. return $this->success($cache);
  126. }
  127. $list = model('member_bank_account')->pageList($condition, $field, $order, $page, $page_size);
  128. Cache::tag("member_bank_account_" . $check_condition['member_id'])->set("member_bank_account_getMemberBankAccountPageList_" . $data, $list);
  129. return $this->success($list);
  130. }
  131. }