order('weigh desc,id asc')->select(); $data['jewelconfig'] = $list; $wallet = model('wallet')->getWallet($this->auth->id); $data['wallet'] = $wallet; $this->success('success',$data); } //充值金币 创建订单 public function jewel_recharge(){ $rc_id = input('rc_id',0); $pay_type = input('pay_type','wechat'); $platform = 'app'; $freemoney = input('freemoney',0); $cityname = input('cityname','','trim'); $uid = $this->auth->id; if(!$rc_id && !$freemoney){ $this->error('请选择或填写充值金额'); } if($this->auth->is_auth != 2){ $this->error('请先完成实名认证'); } //赋值money if($rc_id){ $recharge_config = Db::name('payjewel_config')->where('id',$rc_id)->find(); $money = $recharge_config['money'] ?: 0; $jewel = $recharge_config['jewel'] ?: 0; } //自由输入覆盖 if(!empty($freemoney)){ $rc_id = 0; $money = floatval($freemoney); $bili = config('rmb_to_jewel') ?: 10000; $jewel = bcmul($money,$bili,0); } // if($money<=0) { $this->error('支付金额必须大于0'); } if($money > 10000){ $this->error('支付金额太大'); } //创建订单 $data = []; $data['user_id'] = $uid; $data['out_trade_no'] = createUniqueNo('P',$uid); // 数据库订单号加密 $data['order_amount'] = $money; $data['createtime'] = time(); $data['pay_type'] = $pay_type; $data['platform'] = $platform; $data['order_status'] = 0; $data['table_name'] = 'jewel_recharge'; $data['table_id'] = 0; $data['args'] = json_encode(['jewel'=>$jewel,'cityname'=>$cityname]); $orderid = Db::name('pay_order')->insertGetId($data); // $openid = $this->auth->mini_openid; //下单 $params = [ 'type' => $pay_type, 'orderid' => $data['out_trade_no'], 'title' => '支付订单', 'amount' => $data['order_amount'], 'method' => $platform, // 'openid' => $openid, 'notifyurl' => config('pay_notify_url').'/api/notifynew/recharge_notify_base/paytype/'.$pay_type, 'returnurl' => '', ]; $res = Service::submitOrder($params); if($pay_type == 'wechat'){ $this->success('success',json_decode($res,true)); }else{ $this->success('success',$res); } } //海钻兑换金币 配置 public function moneytojewel_config(){ $list = Db::name('moneytojewel_config')->order('weigh asc,id asc')->select(); $data['jewelconfig'] = $list; $wallet = model('wallet')->getWallet($this->auth->id); $data['wallet'] = $wallet; $data['money_to_jewel'] = config('money_ex_jewel'); $data['remark'] = config('site.money_to_jewel_rule'); $this->success('success',$data); } //海钻兑换金币 兑换 public function moneytojewel_exchange(){ $rc_id = input('rc_id',0); $freemoney = input('freemoney',0); if(!$rc_id && !$freemoney){ $this->error('请选择或填写兑换金额'); } $uid = $this->auth->id; //赋值money if($rc_id){ $recharge_config = Db::name('moneytojewel_config')->where('id',$rc_id)->find(); $money = $recharge_config['money'] ?: 0; $jewel = $recharge_config['jewel'] ?: 0; } //自由输入覆盖 if(!empty($freemoney)){ $rc_id = 0; $money = floatval($freemoney); $bili = config('money_ex_jewel'); $jewel = bcmul($money,$bili,0); } // if($money<=0) { $this->error('兑换金额必须大于0'); } //扣除money $rs_wallet = model('Wallet')->lockChangeAccountRemain($uid,$money,'-',0,'海钻兑换金币',114,'money'); if($rs_wallet['status']===false) { Db::rollback(); $this->error($rs_wallet['msg']); } //增加jewel $rs_wallet = model('Wallet')->lockChangeAccountRemain($uid,$jewel,'+',0,'海钻兑换金币',14,'jewel'); if($rs_wallet['status']===false) { Db::rollback(); $this->error($rs_wallet['msg']); } Db::commit(); $this->success(); } ///////////没用到///////// //vip用的 public function vip_config(){ $list = Db::name('payvip_config')->order('weigh asc,id asc')->select(); $data['vipconfig'] = $list; $data['vip_endtime'] = model('wallet')->getWallet($this->auth->id,'vip_endtime'); $data['is_vip'] = $data['vip_endtime'] > time() ? 1 : 0; $data['avatar'] = localpath_to_netpath($this->auth->avatar); $this->success('success',$data); } //vip用的,创建订单 public function vip_recharge(){ $rc_id = input('rc_id',0); $pay_type = input('pay_type','wechat'); $platform = 'app'; $uid = $this->auth->id; if(!$rc_id){ $this->error('请选择会员套餐'); } if($this->auth->is_auth != 2){ $this->error('请先完成实名认证'); } //赋值money $recharge_config = Db::name('payvip_config')->where('id',$rc_id)->find(); $money = $recharge_config['money']; if($money<=0) { $this->error('支付金额必须大于0'); } if($money > 10000){ $this->error('支付金额太大'); } //创建订单 $data = []; $data['user_id'] = $uid; $data['out_trade_no'] = createUniqueNo('P',$uid); // 数据库订单号加密 $data['order_amount'] = $money; $data['createtime'] = time(); $data['pay_type'] = $pay_type; $data['platform'] = $platform; $data['order_status'] = 0; $data['table_name'] = 'vip_recharge'; $data['table_id'] = 0; $data['args'] = json_encode(['days'=>$recharge_config['days']]); $orderid = Db::name('pay_order')->insertGetId($data); // $openid = $this->auth->mini_openid; //下单 $params = [ 'type' => $pay_type, 'orderid' => $data['out_trade_no'], 'title' => '支付订单', 'amount' => $data['order_amount'], 'method' => $platform, // 'openid' => $openid, 'notifyurl' => config('pay_notify_url').'/api/notify/vip_notify_base/paytype/'.$pay_type, 'returnurl' => '', ]; $res = Service::submitOrder($params); if($pay_type == 'wechat'){ $this->success('success',json_decode($res,true)); }else{ $this->success('success',$res); } } }