UserExtract.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: lianghuan
  5. * Date: 2018-03-03
  6. * Time: 16:37
  7. */
  8. namespace app\admin\controller\finance;
  9. use app\admin\controller\AuthController;
  10. use crmeb\services\FormBuilder as Form;
  11. use app\admin\model\user\UserExtract as UserExtractModel;
  12. use crmeb\services\JsonService;
  13. use crmeb\services\UtilService as Util;
  14. use think\facade\Route as Url;
  15. /**
  16. * 用户提现管理
  17. * Class UserExtract
  18. * @package app\admin\controller\finance
  19. */
  20. class UserExtract extends AuthController
  21. {
  22. public function index(){
  23. $where = Util::getMore([
  24. ['status',''],
  25. ['nickname',''],
  26. ['extract_type',''],
  27. ['nireid',''],
  28. ['date',''],
  29. ],$this->request);
  30. $limitTimeList = [
  31. 'today'=>implode(' - ',[date('Y/m/d'),date('Y/m/d',strtotime('+1 day'))]),
  32. 'week'=>implode(' - ',[
  33. date('Y/m/d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)),
  34. date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600))
  35. ]),
  36. 'month'=>implode(' - ',[date('Y/m').'/01',date('Y/m').'/'.date('t')]),
  37. 'quarter'=>implode(' - ',[
  38. date('Y').'/'.(ceil((date('n'))/3)*3-3+1).'/01',
  39. date('Y').'/'.(ceil((date('n'))/3)*3).'/'.date('t',mktime(0,0,0,(ceil((date('n'))/3)*3),1,date('Y')))
  40. ]),
  41. 'year'=>implode(' - ',[
  42. date('Y').'/01/01',date('Y/m/d',strtotime(date('Y').'/01/01 + 1year -1 day'))
  43. ])
  44. ];
  45. $this->assign('where',$where);
  46. $this->assign('limitTimeList',$limitTimeList);
  47. $this->assign(UserExtractModel::extractStatistics());
  48. $this->assign(UserExtractModel::systemPage($where));
  49. return $this->fetch();
  50. }
  51. public function edit($id){
  52. if(!$id) return $this->failed('数据不存在');
  53. $UserExtract = UserExtractModel::get($id);
  54. if(!$UserExtract) return JsonService::fail('数据不存在!');
  55. $f = array();
  56. $f[] = Form::input('real_name','姓名',$UserExtract['real_name']);
  57. $f[] = Form::number('extract_price','提现金额',$UserExtract['extract_price'])->precision(2);
  58. if($UserExtract['extract_type']=='alipay'){
  59. $f[] = Form::input('alipay_code','支付宝账号',$UserExtract['alipay_code']);
  60. }else if($UserExtract['extract_type']=='weixin'){
  61. $f[] = Form::input('wechat','微信号',$UserExtract['wechat']);
  62. }else{
  63. $f[] = Form::input('bank_code','银行卡号',$UserExtract['bank_code']);
  64. $f[] = Form::input('bank_address','开户行',$UserExtract['bank_address']);
  65. }
  66. $f[] = Form::input('mark','备注',$UserExtract['mark'])->type('textarea');
  67. $form = Form::make_post_form('编辑',$f,Url::buildUrl('update',array('id'=>$id)));
  68. $this->assign(compact('form'));
  69. return $this->fetch('public/form-builder');
  70. }
  71. public function update($id)
  72. {
  73. $UserExtract = UserExtractModel::get($id);
  74. if(!$UserExtract) return JsonService::fail('数据不存在!');
  75. if($UserExtract['extract_type']=='alipay'){
  76. $data = Util::postMore([
  77. 'real_name',
  78. 'mark',
  79. 'extract_price',
  80. 'alipay_code',
  81. ]);
  82. if(!$data['real_name']) return JsonService::fail('请输入姓名');
  83. if($data['extract_price']<=-1) return JsonService::fail('请输入提现金额');
  84. if(!$data['alipay_code']) return JsonService::fail('请输入支付宝账号');
  85. }else if($UserExtract['extract_type']=='weixin'){
  86. $data = Util::postMore([
  87. 'real_name',
  88. 'mark',
  89. 'extract_price',
  90. 'wechat',
  91. ]);
  92. // if(!$data['real_name']) return JsonService::fail('请输入姓名');
  93. if($data['extract_price']<=-1) return JsonService::fail('请输入提现金额');
  94. if(!$data['wechat']) return JsonService::fail('请输入微信账号');
  95. }else{
  96. $data = Util::postMore([
  97. 'real_name',
  98. 'extract_price',
  99. 'mark',
  100. 'bank_code',
  101. 'bank_address',
  102. ]);
  103. if(!$data['real_name']) return JsonService::fail('请输入姓名');
  104. if($data['extract_price']<=-1) return JsonService::fail('请输入提现金额');
  105. if(!$data['bank_code']) return JsonService::fail('请输入银行卡号');
  106. if(!$data['bank_address']) return JsonService::fail('请输入开户行');
  107. }
  108. if(!UserExtractModel::edit($data,$id))
  109. return JsonService::fail(UserExtractModel::getErrorInfo('修改失败'));
  110. else
  111. return JsonService::successful('修改成功!');
  112. }
  113. public function fail($id)
  114. {
  115. if(!UserExtractModel::be(['id'=>$id,'status'=>0])) return JsonService::fail('操作记录不存在或状态错误!');
  116. $fail_msg =request()->post();
  117. $extract=UserExtractModel::get($id);
  118. if(!$extract) return JsonService::fail('操作记录不存在!');
  119. if($extract->status==1) return JsonService::fail('已经提现,错误操作');
  120. if($extract->status==-1) return JsonService::fail('您的提现申请已被拒绝,请勿重复操作!');
  121. $res = UserExtractModel::changeFail($id,$fail_msg['message']);
  122. if($res){
  123. return JsonService::successful('操作成功!');
  124. }else{
  125. return JsonService::fail('操作失败!');
  126. }
  127. }
  128. public function succ($id)
  129. {
  130. if(!UserExtractModel::be(['id'=>$id,'status'=>0]))
  131. return JsonService::fail('操作记录不存在或状态错误!');
  132. UserExtractModel::beginTrans();
  133. $extract=UserExtractModel::get($id);
  134. if(!$extract) return JsonService::fail('操作记录不存!');
  135. if($extract->status == 1) return JsonService::fail('您已提现,请勿重复提现!');
  136. if($extract->status == -1) return JsonService::fail('您的提现申请已被拒绝!');
  137. $res = UserExtractModel::changeSuccess($id);
  138. if($res){
  139. UserExtractModel::commitTrans();
  140. return JsonService::successful('操作成功!');
  141. }else{
  142. UserExtractModel::rollbackTrans();
  143. return JsonService::fail('操作失败!');
  144. }
  145. }
  146. }