uid()); if(intval(input('amount',0))>0) { $arr = ['code'=>$code,'amount'=>input('amount')]; $c_code = uniqid("c_"); cache($c_code,$arr,600); return app('json')->successful($c_code); } else { return app('json')->successful($code); } } /** * 获取付款码 * @param Request $request * @return mixed */ public function payment_code(Request $request) { $code = uniqid("qr_",true); cache($code,$request->uid(),60); return app('json')->successful(['code'=>$code]); } /** * 检测是否有效 * @param Request $request * @return mixed */ public function code_state(Request $request) { $code = input('code',''); if(cache($code)) { return app('json')->successful('effective'); } else { if(Received::be(['code'=>$code])) { return app('json')->successful('use'); } else { return app('json')->successful('overdue'); } } } /** * 创建订单 * @param Request $request * @return mixed */ public function payment_create(Request $request) { list( $code,$type, $amount) = UtilService::postMore( [ ['code', ''], ['type',0], ['amount', 0], ], $request, true ); if (is_numeric($code)) { $collect_uid = User::where('merchant_no', $code)->value('uid'); $pay_type = 0; $pay_uid = $request->uid(); } elseif (!is_numeric($code)) { if(strpos($code,"c_")===false) { $pay_uid = cache($code); if (intval($pay_uid) == 0) { return app('json')->fail('付款码已过期'); } $collect_uid = $request->uid(); $pay_type = 1; } else { //商家收款设置金额 $collect = cache($code); $collect_uid = User::where('merchant_no', $collect['code'])->value('uid'); $pay_type = 0; $pay_uid = $request->uid(); $amount = $collect['amount']; cache($code,null); } } else { return app('json')->fail('参数错误'); } if($amount==0) return app('json')->fail('金额不能为0'); if(intval($collect_uid)==0 || intval($pay_uid)==0) { return app('json')->fail('二维码有误,重新获取'); } if(intval($collect_uid)==intval($pay_uid)) { return app('json')->fail('自己不能付自己'); } $rs = Received::Create_Payment($pay_type, $code, $pay_uid, $collect_uid, $amount,$type); if (!$rs) return app('json')->fail(Received::getErrorInfo('')); return app('json')->successful('处理成功'); } /** * 我的订单 * @param Request $request */ public function lst(Request $request) { $where = UtilService::postMore( [ ['way','pay'], ['pay_type',-1], ['uid',$request->uid()], ['page',1], ['limit',20], ['is_tip',-1], ],$request ); return app('json')->successful(Received::lst($where)); } /** * 获取收款信息 * @param Request $request * @return mixed */ public function collection_lst(Request $request) { $where = UtilService::postMore( [ ['way','collect'], ['pay_type',-1], ['uid',$request->uid()], ['is_tip',0], ['page',1], ['limit',20], ],$request ); return app('json')->successful(Received::lst($where)); } public function collection_set_tip(Request $request) { if(!Received::be(['collect_uid'=>$request->uid(),'id'=>input('id',0)])) { return app('json')->fail('参数错误'); } Received::where('id',input('id',0))->update(['is_tip'=>1]); return app('json')->successful('处理成功'); } public function test() { $data = json_decode('{"pay_type":1,"code":"qr_601e27df155161.70945051","pay_uid":"3239","collect_uid":3239,"amount":"100"}',true); $rs = Received::Create_Payment($data['pay_type'], $data['code'],$data['pay_uid'],$data['collect_uid'],$data['amount']); dump($rs); echo Received::getErrorInfo(); } }