UserExtract.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\admin\controller\finance;
  12. use app\admin\controller\AuthController;
  13. use service\FormBuilder as Form;
  14. use app\admin\model\user\UserExtract as UserExtractModel;
  15. use service\JsonService;
  16. use think\Request;
  17. use think\Url;
  18. /**
  19. * 用户提现管理
  20. * Class UserExtract
  21. */
  22. class UserExtract extends AuthController
  23. {
  24. /**用户提现
  25. * @return mixed
  26. */
  27. public function index()
  28. {
  29. return $this->fetch();
  30. }
  31. /**
  32. * 用户提现记录
  33. */
  34. public function get_user_extract()
  35. {
  36. $where = parent::getMore([
  37. ['start_time', ''],
  38. ['end_time', ''],
  39. ['status', ''],
  40. ['extract_type', ''],
  41. ['nireid', ''],
  42. ['page', 1],
  43. ['limit', 20],
  44. ], $this->request);
  45. return JsonService::successlayui(UserExtractModel::get_user_extract_list($where));
  46. }
  47. /**讲师提现
  48. * @return mixed
  49. */
  50. public function merIndex()
  51. {
  52. return $this->fetch();
  53. }
  54. public function get_mer_user_extract()
  55. {
  56. $where = parent::getMore([
  57. ['start_time', ''],
  58. ['end_time', ''],
  59. ['mer_id', 1],
  60. ['status', ''],
  61. ['extract_type', ''],
  62. ['nireid', ''],
  63. ['page', 1],
  64. ['limit', 20],
  65. ], $this->request);
  66. return JsonService::successlayui(UserExtractModel::get_mer_user_extract_list($where));
  67. }
  68. public function edit($id)
  69. {
  70. if (!$id) return $this->failed('数据不存在');
  71. $UserExtract = UserExtractModel::get($id);
  72. if (!$UserExtract) return JsonService::fail('数据不存在!');
  73. $f = array();
  74. if ($UserExtract['extract_type'] == 'alipay') {
  75. $f[] = Form::input('real_name', '姓名', $UserExtract['real_name']);
  76. $f[] = Form::input('alipay_code', '支付宝账号', $UserExtract['alipay_code']);
  77. } else if ($UserExtract['extract_type'] == 'bank') {
  78. $f[] = Form::input('real_name', '姓名', $UserExtract['real_name']);
  79. $f[] = Form::input('bank_code', '银行卡号', $UserExtract['bank_code']);
  80. $f[] = Form::input('bank_address', '开户行', $UserExtract['bank_address']);
  81. } else if ($UserExtract['extract_type'] == 'weixin') {
  82. $f[] = Form::input('real_name', '姓名', $UserExtract['real_name']);
  83. $f[] = Form::input('wechat', '微信号', $UserExtract['wechat']);
  84. }
  85. $f[] = Form::number('extract_price', '提现金额', $UserExtract['extract_price'])->precision(2);
  86. $f[] = Form::input('mark', '备注', $UserExtract['mark'])->type('textarea');
  87. $form = Form::make_post_form('编辑', $f, Url::build('update', array('id' => $id)), 2);
  88. $this->assign(compact('form'));
  89. return $this->fetch('public/form-builder');
  90. }
  91. public function update(Request $request, $id)
  92. {
  93. $UserExtract = UserExtractModel::get($id);
  94. if (!$UserExtract) return JsonService::fail('数据不存在!');
  95. if ($UserExtract['extract_type'] == 'alipay') {
  96. $data = parent::postMore([
  97. 'real_name',
  98. 'mark',
  99. 'extract_price',
  100. 'alipay_code',
  101. ], $request);
  102. if (!$data['real_name']) return JsonService::fail('请输入姓名');
  103. if ($data['extract_price'] <= -1) return JsonService::fail('请输入提现金额');
  104. if (!$data['alipay_code']) return JsonService::fail('请输入支付宝账号');
  105. } else if ($UserExtract['extract_type'] == 'weixin') {
  106. $data = parent::postMore([
  107. 'real_name',
  108. 'mark',
  109. 'extract_price',
  110. 'wechat',
  111. ], $request);
  112. if (!$data['real_name']) return JsonService::fail('请输入姓名');
  113. if ($data['extract_price'] <= -1) return JsonService::fail('请输入提现金额');
  114. if (!$data['wechat']) return JsonService::fail('请输入wechat');
  115. } else if ($UserExtract['extract_type'] == 'bank') {
  116. $data = parent::postMore([
  117. 'real_name',
  118. 'extract_price',
  119. 'mark',
  120. 'bank_code',
  121. 'bank_address',
  122. ], $request);
  123. if (!$data['real_name']) return JsonService::fail('请输入姓名');
  124. if ($data['extract_price'] <= -1) return JsonService::fail('请输入提现金额');
  125. if (!$data['bank_code']) return JsonService::fail('请输入银行卡号');
  126. if (!$data['bank_address']) return JsonService::fail('请输入开户行');
  127. } else if ($UserExtract['extract_type'] == 'yue') {
  128. $data = parent::postMore([
  129. 'extract_price',
  130. 'mark',
  131. ], $request);
  132. if ($data['extract_price'] <= -1) return JsonService::fail('请输入提现金额');
  133. }
  134. if (!UserExtractModel::edit($data, $id))
  135. return JsonService::fail(UserExtractModel::getErrorInfo('修改失败'));
  136. else
  137. return JsonService::successful('修改成功!');
  138. }
  139. /**提现回退
  140. * @param Request $request
  141. * @param $id
  142. * @throws \think\exception\DbException
  143. */
  144. public function fail($id)
  145. {
  146. $fail_msg = parent::postMore([
  147. ['message', ''],
  148. ]);
  149. if (!UserExtractModel::be(['id' => $id, 'status' => 0])) return JsonService::fail('操作记录不存在或状态错误!');
  150. $extract = UserExtractModel::get($id);
  151. if (!$extract) return JsonService::fail('操作记录不存!');
  152. if ($extract->status == 1) return JsonService::fail('已经提现,错误操作');
  153. if ($extract->status == -1) return JsonService::fail('您的提现申请已被拒绝,请勿重复操作!');
  154. UserExtractModel::beginTrans();
  155. $res = UserExtractModel::changeFail($id, $fail_msg['message'], $extract);
  156. if ($res) {
  157. UserExtractModel::commitTrans();
  158. return JsonService::successful('操作成功!');
  159. } else {
  160. UserExtractModel::rollbackTrans();
  161. return JsonService::fail('操作失败!');
  162. }
  163. }
  164. /**提现通过
  165. * @param $id
  166. * @throws \think\exception\DbException
  167. */
  168. public function succ($id)
  169. {
  170. if (!UserExtractModel::be(['id' => $id, 'status' => 0])) return JsonService::fail('操作记录不存在或状态错误!');
  171. $extract = UserExtractModel::get($id);
  172. if (!$extract) return JsonService::fail('操作记录不存!');
  173. if ($extract->status == 1) return JsonService::fail('您已提现,请勿重复提现!');
  174. if ($extract->status == -1) return JsonService::fail('您的提现申请已被拒绝!');
  175. UserExtractModel::beginTrans();
  176. $res = UserExtractModel::changeSuccess($id, $extract);
  177. if ($res) {
  178. UserExtractModel::commitTrans();
  179. return JsonService::successful('操作成功!');
  180. } else {
  181. UserExtractModel::rollbackTrans();
  182. return JsonService::fail('操作失败!');
  183. }
  184. }
  185. /**提现回退
  186. * @param Request $request
  187. * @param $id
  188. * @throws \think\exception\DbException
  189. */
  190. public function merFail($id)
  191. {
  192. $fail_msg = parent::postMore([
  193. ['message', ''],
  194. ]);
  195. if (!UserExtractModel::be(['id' => $id, 'status' => 0])) return JsonService::fail('操作记录不存在或状态错误!');
  196. $extract = UserExtractModel::get($id);
  197. if (!$extract) return JsonService::fail('操作记录不存!');
  198. if ($extract->status == 1) return JsonService::fail('已经提现,错误操作');
  199. if ($extract->status == -1) return JsonService::fail('您的提现申请已被拒绝,请勿重复操作!');
  200. UserExtractModel::beginTrans();
  201. $res = UserExtractModel::changeMerFail($id, $fail_msg['message'], $extract);
  202. if ($res) {
  203. UserExtractModel::commitTrans();
  204. return JsonService::successful('操作成功!');
  205. } else {
  206. UserExtractModel::rollbackTrans();
  207. return JsonService::fail('操作失败!');
  208. }
  209. }
  210. /**提现通过
  211. * @param $id
  212. * @throws \think\exception\DbException
  213. */
  214. public function merSucc($id)
  215. {
  216. if (!UserExtractModel::be(['id' => $id, 'status' => 0])) return JsonService::fail('操作记录不存在或状态错误!');
  217. $extract = UserExtractModel::get($id);
  218. if (!$extract) return JsonService::fail('操作记录不存!');
  219. if ($extract->status == 1) return JsonService::fail('您已提现,请勿重复提现!');
  220. if ($extract->status == -1) return JsonService::fail('您的提现申请已被拒绝!');
  221. UserExtractModel::beginTrans();
  222. $res = UserExtractModel::changeMerSuccess($id, $extract);
  223. if ($res) {
  224. UserExtractModel::commitTrans();
  225. return JsonService::successful('操作成功!');
  226. } else {
  227. UserExtractModel::rollbackTrans();
  228. return JsonService::fail('操作失败!');
  229. }
  230. }
  231. /**提现备注
  232. * @param $id
  233. * @throws \think\exception\DbException
  234. */
  235. public function remarks($id)
  236. {
  237. $fail_msg = parent::postMore([
  238. ['message', ''],
  239. ]);
  240. $extract = UserExtractModel::get($id);
  241. if (!$extract) return JsonService::fail('操作记录不存!');
  242. $res = UserExtractModel::where('id', $id)->update(['mark' => $fail_msg['message']]);
  243. if ($res) {
  244. return JsonService::successful('操作成功!');
  245. } else {
  246. return JsonService::fail('操作失败!');
  247. }
  248. }
  249. }