model = $model; $this->model1 = $model1; } public function productList(Request $request){ $params = [ 'mchId'=>env('XZTHIRD.PINWEI_MCHID'), 'datetime'=>date('Ymdhis', time()) ]; $params['sign'] = createApiSigncreatePwApiSign($params); sr_log('body'.json_encode($params)); // 话费充值产品列表 // $res = _curlrequest(env('xzthird.PINWEI_API_URL').'/api/huafei/product_list', $params, 'post'); $res = _curlrequest(env('xzthird.PINWEI_API_URL').'/api/dianfei/product_list', $params, 'post'); // $res = _curlrequest(env('xzthird.PINWEI_API_URL').'/api/dianfei/get_area', $params, 'post'); // // sr_log(sr_getcurtime(time()).'aaa'.$res); // {"code":200,"msg":"success","content":{"order_no":"DLB1649853909589099089998901OP","external_order_no":"12365847092204130845091649853909","total_amount":11970,"body":"\u8d2d\u4e70\u5546\u54c1","trans_type":"AL_JSAPP","JSAPPID":"2021002148663267","url":"alipays:\/\/platformapi\/startapp?appId=2021002148663267&page=pages\/open-pay\/open-pay&query=order_no%3DDLB1649853909589099089998901OP","sign":"FA06F884C143DA40E505950918D4AD45"}} $result = json_decode($res, true); foreach ($result['datas'] as $key=>$val){ // $is_dx = strpos($val['operator'], 'dx'); // $is_yd = strpos($val['operator'], 'yd'); // $is_lt = strpos($val['operator'], 'lt'); Db::name('third_xzgoods')->insert([ 'prodoct_id'=>$val['product_id'], 'type'=>2, 'cz_type'=>$val['cz_type'], 'state'=>1, 'create_time'=>sr_getcurtime(time()), 'update_time'=>sr_getcurtime(time()), 'details'=>$val['details'], 'sale_price'=>$val['sale_price'], 'base_price'=>$val['base_price'], 'spec'=>$val['spec'], 'pro_name'=>$val['pro_name'] ]); } return $res; } // 话费充值列表 public function xzHflist(Request $request){ $lists = Db::name('third_xzgoods')->where('type', 1)->where('state', 1)->where('cz_type', 1)->field('spec as sale_price,prodoct_id,s_type')->order('prodoct_id asc')->select()->toArray(); $yd_arr = []; $lt_arr = []; $dx_arr = []; $cur_xzmoney = Db::name('system_config')->where('name', 'xz_cur_money')->where('group', 'xzconfig')->value('value'); foreach ($lists as $key=>$val){ $xz_money = getXzPirceWithPrice($cur_xzmoney, $val['sale_price']); $val['coupon_num'] = $val['sale_price']/10; $val['xz_money'] = $xz_money; $val['sub_title']= str_replace('.00', '', $val['sale_price']).'元话费'; if ($val['s_type'] == 1){ array_push($yd_arr, $val); } if ($val['s_type'] == 2){ array_push($lt_arr, $val); } if ($val['s_type'] == 3){ array_push($dx_arr, $val); } } $result = [ [ 'title'=>'移动', 'tag'=>'yg', 'type'=>1, 'goods'=>$yd_arr ], [ 'title'=>'联通', 'tag'=>'lt', 'type'=>2, 'goods'=>$lt_arr ], [ 'title'=>'电信', 'tag'=>'dx', 'type'=>3, 'goods'=>$dx_arr ], ]; return api_succ_return(['msg'=>'成功', 'data'=>$result]); } // 星钻兑换话费 public function xzExchargeHf(Request $request){ // if ($request->uid != 7493487){ // return api_error_return('为了用户更好的体验。星钻话费兑换需要技术维护更新,具体开放时间另行通知!'); // } return api_error_return('正在维护中'); if (empty($request->post('sm_deviceid'))){ return api_error_return('参数错误'); } $post = $request->post(); if (empty($post['prodoct_id']) || empty($post['type']) || empty($post['mobile'] || empty($post['security_pass']))){ return api_error_return('参数错误'); } if (!sr_isphone($post['mobile'])){ return api_error_return('请检查手机号'); } Db::startTrans(); try { getActionBefore(4); getActionSecury($request->uid, $request->post('security_pass', '')); shumei_event('exchange', $request->uid, $request->post('sm_deviceid')); $this->model->hforderSubmit($request->uid, ['prodoct_id'=>$post['prodoct_id'], 'mobile'=>$post['mobile'], 'type'=>$post['type']]); Db::commit(); }catch (\Exception $e){ Db::rollback(); return api_error_return($e->getMessage()); } return api_succ_return('请求成功'); } // 话费兑换列表 public function xzExchargeRecord(Request $request){ $limit = $request->post('limit', 10); $page = $request->post('page', 1); $res = Db::name('thirdxz_hforder') ->alias('o') ->leftJoin('third_xzgoods g', 'g.prodoct_id = o.prodoct_id') ->where('uid', $request->uid) ->field('o.*') ->order('o.create_time desc') ->page($page, $limit) ->select()->toArray(); $status_key = [ 1=>'充值中', 2=>'充值成功(72小时到账)', 3=>'充值失败' ]; foreach ($res as $key=>$val){ $res[$key]['status_title'] = $status_key[$val['status']]; } return api_succ_return(['msg'=>'成功', 'data'=>$res]); } // 电费充值列表 public function xzDflist(Request $request){ $lists = Db::name('third_xzgoods') ->where('type', 2) ->where('state', 1)->where('cz_type', 1)->field('spec as sale_price,prodoct_id')->order('prodoct_id asc')->select()->toArray(); $result = []; $cur_xzmoney = Db::name('system_config')->where('name', 'xz_cur_money')->where('group', 'xzconfig')->value('value'); foreach ($lists as $key=>&$val){ $xz_money = getXzPirceWithPrice($cur_xzmoney, $val['sale_price']); $val['coupon_num'] = $val['sale_price']/10; $val['xz_money'] = $xz_money; $val['sub_title']= str_replace('.00', '', $val['sale_price']).'元电费'; array_push($result, $val); } return api_succ_return(['msg'=>'成功', 'data'=>$result]); } // 电费可充值列表 public function dianfei_area(Request $request){ $params = [ 'mchId'=>env('XZTHIRD.PINWEI_MCHID'), 'datetime'=>date('Ymdhis', time()) ]; $redis = new Redis(); // return api_succ_return('aa'); $has = false; $apikey = 'dianfeiarea'; if ($redis->has($apikey)){ $list = $redis->get($apikey); return api_succ_return(['msg'=>'成功', 'data'=>$list]); } $params['sign'] = createApiSigncreatePwApiSign($params); // sr_log('body'.json_encode($params)); // 话费充值产品列表 // $res = _curlrequest(env('xzthird.PINWEI_API_URL').'/api/huafei/product_list', $params, 'post'); $res = _curlrequest(env('xzthird.PINWEI_API_URL').'/api/dianfei/get_area', $params, 'post'); // sr_log($res); // $res = _curlrequest(env('xzthird.PINWEI_API_URL').'/api/dianfei/get_area', $params, 'post'); // {"code":200,"msg":"success","content":{"order_no":"DLB1649853909589099089998901OP","external_order_no":"12365847092204130845091649853909","total_amount":11970,"body":"\u8d2d\u4e70\u5546\u54c1","trans_type":"AL_JSAPP","JSAPPID":"2021002148663267","url":"alipays:\/\/platformapi\/startapp?appId=2021002148663267&page=pages\/open-pay\/open-pay&query=order_no%3DDLB1649853909589099089998901OP","sign":"FA06F884C143DA40E505950918D4AD45"}} $result = json_decode($res, true); $redis->set($apikey, $result['datas']); return api_succ_return(['msg'=>'成功', 'data'=>$result['datas']]); } // 电费充值提交 public function xzExchargeDf(Request $request){ return api_error_return('正在维护中'); if (empty($request->post('sm_deviceid'))){ return api_error_return('参数错误'); } $post = $request->post(); if (empty($post['prodoct_id']) || empty($post['account']) || empty($post['address'] || empty($post['security_pass']) || empty($post['mobile']))){ return api_error_return('参数错误'); } Db::startTrans(); try { getActionBefore(5); getActionSecury($request->uid, $request->post('security_pass', '')); shumei_event('exchange', $request->uid, $request->post('sm_deviceid')); $this->model1->dforderSubmit($request->uid, ['prodoct_id'=>$post['prodoct_id'], 'account'=>$post['account'], 'address'=>$post['address'], 'mobile'=>$post['mobile']]); Db::commit(); }catch (\Exception $e){ Db::rollback(); return api_error_return($e->getMessage()); } return api_succ_return('请求成功'); } // 电费充值订单列表 public function xzdfExchargeRecord(Request $request){ $limit = $request->post('limit', 10); $page = $request->post('page', 1); $res = Db::name('thirdxz_dforder') ->alias('o') ->leftJoin('third_xzgoods g', 'g.prodoct_id = o.prodoct_id') ->where('uid', $request->uid) ->field('o.*') ->page($page, $limit) ->order('o.create_time desc') ->select()->toArray(); $status_key = [ 1=>'充值中', 2=>'充值成功(72小时到账)', 3=>'充值失败' ]; foreach ($res as $key=>$val){ $res[$key]['status_title'] = $status_key[$val['status']]; } return api_succ_return(['msg'=>'成功', 'data'=>$res]); } }