diff --git a/app/agent/controller/Userinfo.php b/app/agent/controller/Userinfo.php index d75c004..bc782d4 100644 --- a/app/agent/controller/Userinfo.php +++ b/app/agent/controller/Userinfo.php @@ -7,6 +7,8 @@ use app\agent\model\AgentUser; use app\agent\model\ProductUserPrice; use app\agent\model\AgentPrice as AgentPriceModel; use app\agent\model\User as UserModel; +use app\agent\model\AgentScore as AgentScoreModel; +use app\agent\model\CashOut as CashOutModel; class Userinfo extends Controller { @@ -58,6 +60,46 @@ class Userinfo extends Controller } } + + + //提现 + public function cashOut() + { + $post = json_decode(file_get_contents("php://input"), true); + $data = []; + $data['userid'] = $this->userinfo['OperaterID']; + $data['username'] = $this->userinfo['LoginName']; + $data['money'] = $post['cash_out_money']; + $data['apply_reason'] = $post['reason']; + $data['alipay_account'] = $post['alipay_account']; + $data['real_name'] = $post['real_name']; + $data['is_agent'] = 1; + $agent_user_model = new AgentUser; + $agent_info = $agent_user_model->getOne(['id'=>$data['userid']]); + $user_rest = $agent_info['account']; + $rest = $user_rest - $post['cash_out_money']; + if ($rest < 0){ + echo json_encode(['Code'=>-10000,]); + die; + } else { + $agent_user_model->where(['id'=>$data['userid']])->update(['account'=>$rest]); + $cash = new CashOutModel; + $status = $cash->add($data); + $score_model = new AgentScoreModel; + $score['agent_id'] = $data['userid']; + $score['order_id'] = 0; + $score['score_type'] = 4; + $score['score_value'] = $data['money']; + $score['agent_name'] = $this->userinfo['LoginName']; + $score['op_user'] = $this->userinfo['LoginName']; + $score['rest_amount1'] = $agent_info['account']; + $score['rest_amount2'] = $rest; + $score['remark'] = '提现扣除'; + $score_model->add($score); + } + echo json_encode(['Code'=>10000,]); + } + //验证是否是该代理的用户 public function verify() { diff --git a/app/agent/model/CashOut.php b/app/agent/model/CashOut.php new file mode 100644 index 0000000..3b00433 --- /dev/null +++ b/app/agent/model/CashOut.php @@ -0,0 +1,11 @@ +getListPage([], '*', 'id desc', "$page,50"); + $list = $cash->getListPage($where, '*', 'id desc', "$page,50"); //提现状态 $status = ['待处理', '同意', '拒绝']; foreach ($list as &$v) { @@ -103,26 +107,45 @@ class CashOutAdmin extends Controller result([],'',30000); } } else if ($data['status'] == '2') { - $user_model = new UserModel; - $user_rest = $user_model->getOne(['id' => $data['userid']], 'RestAmount')['RestAmount']; - $rest = $user_rest + $cash_data['money']; - $user_model->where(['id' => $data['userid']])->update(['RestAmount' => $rest]); - $score = new ScoreModel; - $score_data = [ - 'UserId' => $data['userid'], - 'ScoreType' => 9, - 'ScoreTypeName' => '提现被拒退还', - 'ScoreValue' => $cash_data['money'], - 'UserName' => $cash_data['username'], - 'OperateUserName' => $user['LoginName'], - 'RestAmount1' => $user_rest, - 'RestAmount2' => $rest, - 'CreateTime' => date('Y-m-d H:i:s', time()), - 'UpdateTime' => date('Y-m-d H:i:s', time()), - 'TenantId' => 0, - 'DeleteTag' => 0, - ]; - $score->add($score_data); + if ($cash_data['is_agent'] != 1){ + $user_model = new UserModel; + $user_rest = $user_model->getOne(['id' => $data['userid']], 'RestAmount')['RestAmount']; + $rest = $user_rest + $cash_data['money']; + $user_model->where(['id' => $data['userid']])->update(['RestAmount' => $rest]); + $score = new ScoreModel; + $score_data = [ + 'UserId' => $data['userid'], + 'ScoreType' => 9, + 'ScoreTypeName' => '提现被拒退还', + 'ScoreValue' => $cash_data['money'], + 'UserName' => $cash_data['username'], + 'OperateUserName' => $user['LoginName'], + 'RestAmount1' => $user_rest, + 'RestAmount2' => $rest, + 'CreateTime' => date('Y-m-d H:i:s', time()), + 'UpdateTime' => date('Y-m-d H:i:s', time()), + 'TenantId' => 0, + 'DeleteTag' => 0, + ]; + $score->add($score_data); + } else { + $agent_user_model = new AgentUser; + $agent_info = $agent_user_model->getOne(['id'=>$cash_data['userid']]); + $user_rest = $agent_info['account']; + $rest = $user_rest + $cash_data['money']; + $agent_user_model->where(['id'=>$cash_data['userid']])->update(['account' => $rest]); + $score_model = new AgentScoreModel; + $score['agent_id'] = $cash_data['userid']; + $score['order_id'] = 0; + $score['score_type'] = 3; + $score['score_value'] = $cash_data['money']; + $score['agent_name'] = $agent_info['realname']; + $score['op_user'] = $this->userinfo['LoginName']; + $score['rest_amount1'] = $agent_info['account']; + $score['rest_amount2'] = $rest; + $score['remark'] = '提现被拒退还'; + $score_model->add($score); + } } $data['op_user'] = $user['LoginName']; $status = ['0', '1', '2']; @@ -158,6 +181,9 @@ class CashOutAdmin extends Controller if ($data['status'] != null) { $where['status'] = $data['status']; } + if ($data['is_agent'] != null){ + $where ['is_agent'] = $data['is_agent']; + } } $cash = new CashMoedl; $list = $cash->search($where, '*', 'id desc', '10000', $where_str);