| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 | 
							- <?php
 
- /**
 
-  * @copyright   Copyright (c) 2017 https://www.sapixx.com All rights reserved.
 
-  * @license     Licensed (http://www.apache.org/licenses/LICENSE-2.0).
 
-  * @author      pillar<ltmn@qq.com>
 
-  * 用户中心
 
-  */
 
- namespace app\green\controller\api\v1;
 
- use app\green\controller\api\Base;
 
- use app\green\model\GreenBankCash;
 
- use app\green\model\GreenConfig;
 
- use app\green\model\GreenUser;
 
- use app\common\facade\Inform;
 
- use app\common\model\SystemMemberSms;
 
- class User extends Base{
 
-     /**
 
-      * 提现申请
 
-      **/
 
-     public function cash(){
 
-         if (request()->isPost()) {
 
-             $data = [
 
-                 'money'        => $this->request->param('money/f', ''),
 
-                 'safepassword' => $this->request->param('safepassword/s', ''),
 
-                 'sign'         => $this->request->param('sign/s', ''),
 
-             ];
 
-             $rel = $this->apiSign($data);
 
-             if($rel['code'] != 200){
 
-                 return enjson(500,'签名验证失败');
 
-             }
 
-             $data['user_id']           = $this->user->id;
 
-             $data['member_miniapp_id'] = $this->miniapp_id;
 
-             $validate = $this->validate($data, 'Bank.getcash');
 
-             if (true !== $validate) {
 
-                 return enjson(403,$validate);
 
-             }
 
-             if($data['money'] < 0){
 
-                 return enjson(403,'申请不能小于 0 元');
 
-             }
 
-             //判断安全密码是否正确
 
-             if(!password_verify(md5($data['safepassword']),$this->user->safe_password)) {
 
-                 return enjson(403,'安全密码不正确');
 
-             }
 
-             //判断是否关联的公众号账户和输入提现信息
 
-             $setting = GreenConfig::where(['member_miniapp_id' => $this->miniapp_id])->find();
 
-             if($setting->is_wechat_touser == 0){
 
-                 $bankInfo = model('SystemUserBank')->where(['user_id' => $this->user->id])->find();
 
-                 if(empty($bankInfo)){
 
-                     return enjson(302,'请先完善您的个人信息',['url'=>'/pages/helper/bindbank']);
 
-                 }       
 
-             }
 
-             //判断提现周期
 
-             $bankCash = GreenBankCash::where(['user_id' => $this->user->id])->field('state,update_time')->order('id desc')->find();
 
-             if(!empty($bankCash)){
 
-                 if($bankCash->state == 0){
 
-                     return enjson(403,'上次申请还未到账,禁止连续提现');
 
-                 }
 
-             }
 
-             //减少
 
-             $info = GreenUser::cash($this->miniapp_id,$this->user->id,$data['money']);
 
-             if(!$info){
 
-                 return enjson(403,"金额不足");
 
-             }
 
-             //增加申请记录
 
-             $cash['member_miniapp_id'] = $data['member_miniapp_id'];
 
-             $cash['user_id']           = $data['user_id'];
 
-             $cash['money']             = $data['money'];
 
-             $cash['realmoney']         = 0;
 
-             $cash['state']             = 0;
 
-             $cash['update_time']       = time();
 
-             $rel = GreenBankCash::insert($cash);
 
-             if($rel){
 
-                 //后台通知
 
-                 SystemMemberSms::sms($this->miniapp_id,'您有一条提现待审核',url('green/bank/cash'));
 
-                 //申请者微信通知
 
-                 Inform::sms($this->user->id,$this->miniapp_id,['title' =>'业务进展通知','type' => '提现申请','content' =>'您的提现申请正在审核中']);
 
-                 //后台管理员微信通知
 
-                 Inform::sms(\app\common\event\User::isFounder($this->miniapp_id)->user_id,$this->miniapp_id,['title' =>'业务进展通知', 'type' => '提现申请', 'content' =>'您有一条新的提现申请待审核']);
 
-                 return enjson(200,"申请已提交,请等待审核.");
 
-             }
 
-             return enjson(403,"金额不足");
 
-         }
 
-     }
 
-     /**
 
-      * 提现记录
 
-      */
 
-     public function log(){
 
-         $param['date'] = $this->request->param('date/s', '');
 
-         $param['page'] = $this->request->param('page/d', 1);
 
-         $param['sign'] = $this->request->param('sign');
 
-         $rel = $this->apiSign($param);
 
-         if($rel['code'] != 200){
 
-             return enjson(500,'签名验证失败');
 
-         }
 
-         $condition[] = ['user_id','=',$this->user->id];
 
-         if($param['date']){
 
-             list($start, $end) = self::month( $param['date']);
 
-             $condition[] = ['update_time','>=',$start];
 
-             $condition[] = ['update_time','<=',$end];
 
-         }
 
-         $info   = GreenBankCash::where(['member_miniapp_id' => $this->miniapp_id])->where($condition)->order('id desc')->paginate(10)->toArray();
 
-         if(empty($info['data'])){
 
-             return enjson(204,'empty');
 
-         }else{
 
-             return enjson(200,'success', $info);
 
-         }
 
-     }
 
-     protected static function month($str){
 
-         $day   = explode("-",$str);
 
-         $begin = mktime(0, 0, 0, $day[1], 1, $day[0]);
 
-         $end   = mktime(23, 59, 59, $day[1], date('t', $begin), $day[0]);
 
-         return [$begin, $end];
 
-     }
 
- }
 
 
  |