| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304 |
- <?php
- namespace app\api\controller\v1;
- use app\api\services\RequestUtilService;
- use app\api\services\UserServices;
- use app\common\model\ThirdxzDforderModel;
- use app\common\model\ThirdxzHforderModel;
- use app\common\model\YgOrderModel;
- use app\Request;
- use think\cache\driver\Redis;
- use think\Exception;
- use think\facade\Db;
- //星钻兑换
- class ThirdXz
- {
- protected $model = null;
- protected $model1 = null;
- public function __construct( ThirdxzHforderModel $model, ThirdxzDforderModel $model1)
- {
- $this->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]);
- }
- }
|