Withdraw.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. namespace app\admin\controller\service\money;
  3. use app\api\model\service\Shop;
  4. use app\api\model\service\Skill;
  5. use app\api\model\service\UserInfo;
  6. use app\common\controller\Backend;
  7. use think\Db;
  8. use think\Exception;
  9. /**
  10. * 提现
  11. *
  12. * @icon fa fa-circle-o
  13. */
  14. class Withdraw extends Backend
  15. {
  16. /**
  17. * Withdraw模型对象
  18. * @var \app\admin\model\service\money\Withdraw
  19. */
  20. protected $model = null;
  21. public function _initialize()
  22. {
  23. parent::_initialize();
  24. $this->model = new \app\admin\model\service\money\Withdraw;
  25. $this->view->assign("typeList", $this->model->getTypeList());
  26. $this->view->assign("withdrawtypeList", $this->model->getWithdrawtypeList());
  27. $this->view->assign("stateList", $this->model->getStateList());
  28. }
  29. public function index()
  30. {
  31. //设置过滤方法
  32. $this->request->filter(['strip_tags', 'trim']);
  33. if (false === $this->request->isAjax()) {
  34. return $this->view->fetch();
  35. }
  36. //如果发送的来源是 Selectpage,则转发到 Selectpage
  37. if ($this->request->request('keyField')) {
  38. return $this->selectpage();
  39. }
  40. [$where, $sort, $order, $offset, $limit] = $this->buildparams();
  41. $list = $this->model
  42. ->where($where)
  43. ->where('type','<>',1)
  44. ->order($sort, $order)
  45. ->paginate($limit);
  46. foreach ($list as &$value)
  47. {
  48. $value->info = in_array($value->type,[0,1,3])?\app\admin\model\service\skill\Skill::where('user_id',$value->user_id)->field('id,name,mobile')->find():\app\admin\model\service\shop\Shop::where('user_id',$value->user_id)->field('id,name,leader_mobile as mobile')->find();
  49. }
  50. $result = ['total' => $list->total(), 'rows' => $list->items()];
  51. return json($result);
  52. }
  53. public function refuse($ids = null)
  54. {
  55. $row = $this->model->get($ids);
  56. if (!$row) {
  57. $this->error(__('No Results were found'));
  58. }
  59. $row->state != 0 && $this->error('请勿重复审核');
  60. if($this->request->isPost()){
  61. $params = $this->request->post('row/a');
  62. Db::startTrans();
  63. try{
  64. switch ($row->type)
  65. {
  66. case 0:
  67. UserInfo::money($row->num,$row->user_id,'提现拒绝余额退回');
  68. break;
  69. case 2:
  70. UserInfo::shopUserMoney($row->num,$row->user_id,'提现拒绝余额退回');
  71. break;
  72. case 3:
  73. Skill::money($row->num,$row->user_id,'提现拒绝保证金退回');
  74. $skill = \app\api\model\service\Skill::where('user_id', $row->user_id)->field('user_id,id,ensure_price')->find();
  75. \app\api\model\service\SkillEnsurePay::updateSkillEnsure($skill['user_id'],$skill['ensure_price']);
  76. break;
  77. case 4:
  78. Shop::money($row->num,$row->user_id,'提现拒绝保证金退回');
  79. $shop = \app\api\model\service\Shop::where('user_id', $row->user_id)->field('user_id,id,ensure_price')->find();
  80. \app\api\model\service\ShopEnsurePay::updateShopEnsure($shop['user_id'],$shop['ensure_price']);
  81. break;
  82. }
  83. $row->allowField(true)->save(['state'=>-1,'note'=>$params['note'],'updatetime'=>time()]);
  84. Db::commit();
  85. } catch (Exception $e) {
  86. Db::rollback();
  87. $this->error('提现拒绝失败',$e->getMessage());
  88. }
  89. $this->success('提现已拒绝');
  90. }
  91. $this->view->assign("id", $ids);
  92. return $this->view->fetch();
  93. }
  94. public function agree($ids = null)
  95. {
  96. $row = $this->model->get($ids);
  97. if (!$row) {
  98. $this->error(__('No Results were found'));
  99. }
  100. $row->state != 0 && $this->error('请勿重复审核');
  101. Db::startTrans();
  102. try{
  103. $row->allowField(true)->save(['state'=>1,'updatetime'=>time()]);
  104. Db::commit();
  105. } catch (Exception $e) {
  106. Db::rollback();
  107. $this->error('提现通过失败',$e->getMessage());
  108. }
  109. $this->success('提现已通过');
  110. }
  111. public function payment($ids = null)
  112. {
  113. $row = $this->model->get($ids);
  114. if (!$row) {
  115. $this->error(__('No Results were found'));
  116. }
  117. $row->state == 2 && $this->error('请勿重复打款');
  118. if($this->request->isPost()){
  119. $params = $this->request->post('row/a');
  120. Db::startTrans();
  121. try{
  122. $row->allowField(true)->save(['state'=>2,'updatetime'=>time(),'images'=>$params['images']]);
  123. Db::commit();
  124. } catch (Exception $e) {
  125. Db::rollback();
  126. $this->error('转账异常',$e->getMessage());
  127. }
  128. $this->success('已转账');
  129. }
  130. $this->view->assign("id", $ids);
  131. return $this->view->fetch();
  132. }
  133. }