where("id",979)->find(); $divide_second_user_msg = Db::name("user")->where("id",$user['divide_second_user_id'])->find(); $regional_state = 0; if($divide_second_user_msg != null){ $regional_state = $divide_second_user_msg['regional_state']; } $performance_person = 0; $performance = 0; if($regional_state == 1){ $performance = $user['regional_percent']; $performance_person = round(100 * $performance / 100, 8); // Order::where('id', $order['id']) // ->inc('distribution_money',$performance_person)->update(); // $shopDistribution_msg = UserShopDistribution::where('shop_id', $value['shop_id']) // ->find(); $r1= User::where('id', $user['divide_second_user_id']) ->inc('earnings', $performance_person)->update(); var_dump($r1); $earnings_buy = AccountLog::where('user_id', $user['divide_second_user_id'])->order("create_time desc")->limit(1)->value('left_amount'); $sn = createSn('account_log', 'log_sn', '', 4); $r2= AccountLog::create([ 'log_sn' => $sn, 'user_id' => $user['divide_second_user_id'], 'source_type' => AccountLog::billions_inc_earnings, 'source_id' => 1, 'source_sn' => 1, 'change_amount' => $performance_person, 'left_amount' => $earnings_buy + $performance_person, 'change_type' => 1, 'remark' => '百亿返补销售人员佣金增加' ]); var_dump($r2); $r3=DistributionOrderGoods::create([ 'sn' => $sn, 'user_id' => $user['divide_second_user_id'], 'ratio' => $performance, 'order_id' => 1, 'order_goods_id' => 1, 'goods_num' => 1, 'money' => $performance_person, 'status' => 2, 'create_time' => time(), 'shop_id' => 1, 'settlement_time' => time() ]); var_dump($r3); } } private $APP_ID = '11000000000000026359'; private $url = 'https://gw.open.icbc.com.cn/api/mybank/enterprise/pay/payent/V1'; private $PRI_KEY = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC9Soh5U2wx4YQJUaXn80cuHzmZl8p+07yUwl5jawuS88zy6lyPav32ZrsTfQQZv4uqfYCA4oT+BIQE6Segd5yd90FcGHH/vYb9b7JLZxslUGiuXuD6u9ULPt3Upgy9IROq8ghyhBFas3rfNl48Hh0L5WKADYb3Ywi/CqbSKUe4hVJ22GbrGz1eMwZxMD2yveHsmFrsNTYTiy3u+kASk479iYkVxOoobwMMv+1BsnmrAqs5uJt+LVcR2qmLJE0Gyog+CvRI2MORIcYvu8yzwkJu2gsZTVr6yl3WyKv5Mh+79dloimP6YHJWvlmpu77BUsBSofCttPAkEsWG57Rfrft3AgMBAAECggEASpxePrRLKT4itSmho1OY8u0L3yadgnAjHN+gJL/EyB+g4P7PjRg3EjBb/MqCG0QM4R6m0CZ5FUbiYq0kGXQMH5eeA5b/GDa0RqEIPgBeCs8u88wiEbKHvu8AsRjiXIn1HqRYAAtea8ni3KipbDjSaiX4NVEfqdM3V1Xze1MaGfiFgs2artnUw3ZgiUeEIJxpuqwplXsUeZBKm88XNo7mfBfBvP3VFq9HF4O6Lo01SfCn+DWQfEpiRoS7xHfPhxnkggNdr4OMzUg7DV1xTJpX5FeeakuVO4CkyRBrjIR1W6Eq7HeAsoNoPK1OdoBN4zP77H0zW7RT0D8EImfkJKgpwQKBgQDZHH+zD6gvrlReN8DBt0wUksaQ3vAIlXrBIpshPDMvFpqBMQ2SIuMWx9CGiTX4iMAtdQR7cHG2lDwnyv6wjE4lejAZ0E3eHiQJsvA41pbZzenbiilLTv92Ea2PgR8V/qXxIyafedD3Xec7BilmOm+h33ZIo4v8MFjy83FT3H9vswKBgQDfMluU5K49rdtJpRlpCFywqPac7KOpcVT2T6UYmPO1fxek+3lnhB2qFMiJWBYI30mHRglERFRWWoHdEir2eUhXY5u/kN6ncVsMHCVqslJKmBBEeHJRFl41IbwByBHAPqKIcXI5lLyQdNxmgnG3tZDBDTQPz2pdbjARMb9o3wbDLQKBgQDX7bwjvoKrSVqnihOvljmYjJHoK5HXN7OqulxHJbRSNMzdiIfSu9fXJEuEQprm4Dsh+qvGiQLPb4aUnRPJSwG9zFRimAWZz6hP7SN1pBbL8DuSGUsQlzUDnHldrDHakjVAKpGTMnheTYpX7bzm619zQuhFPkNPQlZ06yHfIgGseQKBgQCXi4enNwYflvY3sMPqDuVwhai8r+gH2o2HmFhOtTt0VlDlkmHCKXBC1U28A3UinQk9sg4ErihdYaKfSgClzX+S5m0PyvuC0XKybEHzihRZ1ZnmA6oK6JcamEchJoj28RBGeFDIS/ckVlR3vcYcqEka6y4YNgrQWUqFwjNmr1fWGQKBgQDGFD2O3/2MH068DMTskQWWoJWV1Isvst+oXBgERKkh5A/BYAAaw9kb+tKke/czulajRizv+nhstPQ2d/701QmdLCK6rK05SEChctaq7Cxk2QRRWHznYPqmJHPkuUXqg5LaOa81UDlGKDK1ylljppZOONlLtm00k6s5fLOe1SRfJg=="; private $APIGW_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvUqIeVNsMeGECVGl5/NHLh85mZfKftO8lMJeY2sLkvPM8upcj2r99ma7E30EGb+Lqn2AgOKE/gSEBOknoHecnfdBXBhx/72G/W+yS2cbJVBorl7g+rvVCz7d1KYMvSETqvIIcoQRWrN63zZePB4dC+VigA2G92MIvwqm0ilHuIVSdthm6xs9XjMGcTA9sr3h7Jha7DU2E4st7vpAEpOO/YmJFcTqKG8DDL/tQbJ5qwKrObibfi1XEdqpiyRNBsqIPgr0SNjDkSHGL7vMs8JCbtoLGU1a+spd1sir+TIfu/XZaIpj+mByVr5Zqbu+wVLAUqHwrbTwJBLFhue0X637dwIDAQAB"; private $signType = "RSA2"; private $apiClient; public function __construct(\think\App $app){ parent::__construct($app); $this->apiClient = new \DefaultIcbcClient( $this->APP_ID, $this->PRI_KEY, $this->signType, 'UTF-8', '', $this->APIGW_PUBLIC_KEY, '', '', '', '' ); } public function payTest($user_id="979",$money="1",$decive_info="111"){ $merchant = 70; //商户获取金额比例 $our = 5; //服务费 $other = 3; // 其他分销推广人员费用 $user_billions = 22; // 其他+服务费 $user_msg = UserAuth::where("user_id",$user_id)->find(); $msg_id = $this->getMsgId(); // var_dump($msg_id); $out = "dlh".time().$user_id; $out1 = "dlh".time().$user_id."1"; $out2 = "dlh".time().$user_id."2"; $out3 = "dlh".time().$user_id."3"; $out4 = "dlh".time().$user_id."4"; $ip = ''; if (isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP'] != 'unknown') { // 判断是否有HTTP_CLIENT_IP这个请求头,存在优先使用 $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != 'unknown') { // 判断是否有HTTP_X_FORWARDED_FOR这个请求头,存在优先使用 $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] != 'unknown') { // 获取REMOTE_ADDR这个服务器变量 $ip = $_SERVER['REMOTE_ADDR']; } $orig_date_time = date("Y-m-d\TH:i:s"); $mer_url = "https://dlh.hainings.com/index/index/localReturn"; $shop_appid = "wx586d77b9edb0636d"; $request = [ 'serviceUrl' => 'https://gw.open.icbc.com.cn/api/cardbusiness/aggregatepay/b2c/online/consumepurchase/V2', 'method' => 'POST', 'isNeedEncrypt'=>false, 'biz_content' => array( "mer_id"=>"120448160200", "ser_id"=>"120400005722", "out_trade_no"=>$out, "pay_mode"=>"9", "access_type"=>"9", "mer_prtcl_no"=>"1204481602000201", "orig_date_time"=>$orig_date_time, "decive_info"=>$decive_info, "body"=>"东龙汇", "fee_type"=>"001", "spbill_create_ip"=>$ip, "total_fee"=>strval($money*100), "mer_url"=>$mer_url, "notify_type"=>"HS", "shop_appid"=>$shop_appid, "icbc_appid"=>$this->APP_ID, "open_id"=>$user_msg['openid'], "expire_time"=>"300", "is_suborder"=>"1", "order_num"=>"4", "order_submit_act_input"=>array( array( "rec_num"=>"1", "sub_order_id"=>$out1, "oper_flag"=>"0", "busi_type"=>"1", "ori_mer_id"=>"120448160200", "seq_no"=>$out, "mer_acct"=>"1911025009202050845", "ori_trx_date"=>date("Y-m-d"), "sub_mer_id"=>"120448160198", "sub_mer_prtcl_no"=>"1204481601980201", "classify_amt"=>strval($money*$merchant) ), array( "rec_num"=>"2", "sub_order_id"=>$out2, "oper_flag"=>"0", "busi_type"=>"1", "ori_mer_id"=>"120448160200", "seq_no"=>$out, "mer_acct"=>"1204068809100138961", "ori_trx_date"=>date("Y-m-d"), "sub_mer_id"=>"120448160201", "sub_mer_prtcl_no"=>"1204481602010201", "classify_amt"=>strval($money*$our) ), array( "rec_num"=>"3", "sub_order_id"=>$out3, "oper_flag"=>"0", "busi_type"=>"1", "ori_mer_id"=>"120448160200", "seq_no"=>$out, "mer_acct"=>"1204064019200152507", "ori_trx_date"=>date("Y-m-d"), "sub_mer_id"=>"120448160202", "sub_mer_prtcl_no"=>"1204481602020201", "classify_amt"=>strval($money*$other) ), array( "rec_num"=>"4", "sub_order_id"=>$out4, "oper_flag"=>"0", "busi_type"=>"1", "ori_mer_id"=>"120448160200", "seq_no"=>$out, "mer_acct"=>"1204064419000115357", "ori_trx_date"=>date("Y-m-d"), "sub_mer_id"=>"120448160203", "sub_mer_prtcl_no"=>"1204481602030201", "classify_amt"=>strval($money*$user_billions) ) ) ), 'extraParams'=>[] ]; // $res = $this->apiClient->execute($request,$msg_id,""); // print_r("
");
        // var_dump($request);
        $data['mer_id'] = "120448160200";
        $data['ser_id'] = "120400005722";
        $data['out_trade_no'] = $out;
        $data['pay_mode'] = "9";
        $data['access_type'] = "9";
        $data['mer_prtcl_no'] = "1204481602000201";
        $data['orig_date_time'] = $orig_date_time;
        $data['spbill_create_ip'] = $ip;
        $data['decive_info'] = $decive_info;
        $data['total_fee'] = $money;
        $data['fee_type'] = "001";
        $data['mer_url'] = $mer_url;
        $data['notify_type'] = "HS";
        $data['shop_appid'] = $shop_appid;
        $data['icbc_appid'] = $this->APP_ID;
        $data['user_id'] = $user_id;
        $data['open_id'] = $user_msg['openid'];
        $data['dtime'] = date("Y-m-d H:i:s");
        $rest = Db::name("abutment_log")->save($data);

        $data1['rec_num'] = "1";
        $data1['seq_no'] = $out;
        $data1['sub_order_id'] = $out1;
        $data1['oper_flag'] = "0";
        $data1['busi_type'] = "1";
        $data1['sub_mer_id'] = "120448160198";
        $data1['sub_mer_prtcl_no'] = "1204481601980201";
        $data1['classify_amt'] = $money*$merchant;
        $data1['user_id'] = $user_id;
        $data1['open_id'] = $user_msg['openid'];
        $data1['dtime'] = date("Y-m-d H:i:s");
        $rest = Db::name("abutment_log")->save($data1);

        $data2['rec_num'] = "2";
        $data2['seq_no'] = $out;
        $data2['sub_order_id'] = $out2;
        $data2['oper_flag'] = "0";
        $data2['busi_type'] = "1";
        $data2['sub_mer_id'] = "120448160201";
        $data2['sub_mer_prtcl_no'] = "1204481602010201";
        $data2['classify_amt'] = $money*$our;
        $data2['user_id'] = $user_id;
        $data2['open_id'] = $user_msg['openid'];
        $data2['dtime'] = date("Y-m-d H:i:s");
        $rest = Db::name("abutment_log")->save($data2);

        $data3['rec_num'] = "3";
        $data3['seq_no'] = $out;
        $data3['sub_order_id'] = $out3;
        $data3['oper_flag'] = "0";
        $data3['busi_type'] = "1";
        $data3['sub_mer_id'] = "120448160202";
        $data3['sub_mer_prtcl_no'] = "1204481602020201";
        $data3['classify_amt'] = $money*$other;
        $data3['user_id'] = $user_id;
        $data3['open_id'] = $user_msg['openid'];
        $data3['dtime'] = date("Y-m-d H:i:s");
        $rest = Db::name("abutment_log")->save($data3);
        $data4['rec_num'] = "4";
        $data4['seq_no'] = $out;
        $data4['sub_order_id'] = $out4;
        $data4['oper_flag'] = "0";
        $data4['busi_type'] = "1";
        $data4['sub_mer_id'] = "120448160203";
        $data4['sub_mer_prtcl_no'] = "1204481602030201";
        $data4['classify_amt'] = $money*$user_billions;
        $data4['user_id'] = $user_id;
        $data4['open_id'] = $user_msg['openid'];
        $data4['dtime'] = date("Y-m-d H:i:s");
        $rest = Db::name("abutment_log")->save($data4);
        // print_r("
");
        // var_dump($request);die;
        $res = $this->apiClient->execute($request,$msg_id,"");
        $result = json_decode($res,true);
        //   print_r("
");
        // var_dump($result);
        $r = json_decode($result['wx_data_package'],true);
        $r['nonceStr'] = $r['noncestr'];
        $r['timeStamp'] = $r['timestamp'];
        $r['paySign'] = $r['sign'];
        return JsonServer::success('查询成功',$r);

    }
    public function payTestCheck(){
        $user_id = 1;
        $msg_id = $this->getMsgId();
        //   $out = "dlh".time().$user_id;
        $request = [
            'serviceUrl' => 'https://gw.open.icbc.com.cn/api/cardbusiness/aggregatepay/b2c/online/orderqry/V2',
            'method' => 'POST',
            'isNeedEncrypt'=>false,
            'biz_content' => array(
                "mer_id"=>"120448160200",
                "deal_flag"=>'0',
                "out_trade_no"=>"dlh1730358966979",
                // "order_id"=>"120448160200000562407290003182",
                "mer_prtcl_no"=>"1204481602000201",
                "icbc_appid"=>$this->APP_ID
            ),
            'extraParams'=>[]
        ];
        print_r("
");
        var_dump($request);
        $res = $this->apiClient->execute($request,$msg_id,"");
        var_dump($res);
        $result = json_decode($res,true);
        $result = json_decode($res,true);
        //   print_r("
");
        var_dump($result);
        $r = json_decode($result['order_submit_act_output'],true);

        var_dump($r);
    }

    // 拆分子订单
    public function chaifen(){
        $user_id = 979;
        $out1 = "dlh".$user_id."1".time().rand(100,1);
        $out2 = "dlh".$user_id."2".time().rand(100,1);
        $out3 = "dlh".$user_id."3".time().rand(100,1);
        $merchant = 60; //商户获取金额比例
        $our = 5; //服务费
        $other = 35; // 其他分销推广人员费用
        $all_other = 40; // 其他+服务费
        $msg_id = $this->getMsgId();
        $money = 0.4;
        //   $out = "dlh".time().$user_id;
        $request = [
            'serviceUrl' => 'https://gw.open.icbc.com.cn/api/cardbusiness/aggregatepay/b2c/online/sersuborder/V1',
            'method' => 'POST',
            'isNeedEncrypt'=>false,
            'biz_content' => array(
                "mer_id"=>"120400005722",
                // "out_trade_no"=>"dlh1722218442979",
                "mer_prtcl_no"=>"1204481602000201",
                "icbc_appid"=>$this->APP_ID,
                "order_num"=>"3",
                "order_submit_act_input"=>array(
                    array(
                        "rec_num"=>"1",
                        "sub_order_id"=>$out1,
                        "oper_flag"=>"0",
                        "busi_type"=>"2",
                        "ori_mer_id"=>"120448160200",
                        "seq_no"=>"120448160200000562407290003182",
                        // "seq_no"=>$out,
                        "mer_acct"=>"1911025009202050845",
                        "ori_trx_date"=>date("Y-m-d"),
                        "sub_mer_id"=>"120448160198",
                        "sub_mer_prtcl_no"=>"1204481601980201",
                        "classify_amt"=>strval(1)
                    ),
                    array(
                        "rec_num"=>"2",
                        "sub_order_id"=>$out2,
                        "oper_flag"=>"0",
                        "busi_type"=>"2",
                        "ori_mer_id"=>"120448160200",
                        "seq_no"=>"120448160200000562407290003182",
                        // "seq_no"=>$out,
                        "mer_acct"=>"1204068809100138961",
                        "ori_trx_date"=>date("Y-m-d"),
                        "sub_mer_id"=>"120448160201",
                        "sub_mer_prtcl_no"=>"1204481602010201",
                        "classify_amt"=>strval(1)
                    ),
                    array(
                        "rec_num"=>"3",
                        "sub_order_id"=>$out3,
                        "oper_flag"=>"0",
                        "busi_type"=>"2",
                        "ori_mer_id"=>"120448160200",
                        "seq_no"=>"120448160200000562407290003182",
                        // "seq_no"=>$out,
                        "mer_acct"=>"1204064019200152507",
                        "ori_trx_date"=>date("Y-m-d"),
                        "sub_mer_id"=>"120448160202",
                        "sub_mer_prtcl_no"=>"1204481602020201",
                        "classify_amt"=>strval(3)
                    )
                )
            ),
            'extraParams'=>[]
        ];
        print_r("
");
        var_dump($request);
        $res = $this->apiClient->execute($request,$msg_id,"");
        var_dump($res);
        //   $result = json_decode($res,true);
        $result = json_decode($res,true);
        //   print_r("
");
        var_dump($result);
    }
    // 退款
    public function tuikuan(){
        $user_id = 979;
        $out1 = "dlh".time().$user_id."1";
        $out2 = "dlh".time().$user_id."2";
        $out3 = "dlh".time().$user_id."3";
        $merchant = 60; //商户获取金额比例
        $our = 5; //服务费
        $other = 35; // 其他分销推广人员费用
        $all_other = 40; // 其他+服务费
        $msg_id = $this->getMsgId();
        $money = 1;
        //   $out = "dlh".time().$user_id;
        $request = [
            'serviceUrl' => 'https://gw.open.icbc.com.cn/api/cardbusiness/aggregatepay/b2c/online/merrefund/V1',
            'method' => 'POST',
            'isNeedEncrypt'=>false,
            'biz_content' => array(
                "mer_id"=>"120448160200",
                "outtrx_serial_no"=>$out1,
                // "out_trade_no"=>"dlh1722239710979",
                "order_id"=>"120448160200000562407290003182",
                "ret_total_amt"=>100,
                "trnsc_ccy"=>"001",
                "mer_prtcl_no"=>"1204481602000201",
                "icbc_appid"=>$this->APP_ID,
            ),
            'extraParams'=>[]
        ];
        print_r("
");
        var_dump($request);
        $res = $this->apiClient->execute($request,$msg_id,"");
        var_dump($res);
        //   $result = json_decode($res,true);
        $result = json_decode($res,true);
        //   print_r("
");
        var_dump($result);
    }
    //解冻
    public function jiedong(){
        $msg_id = $this->getMsgId();
        //   $out = "dlh".time().$user_id;
        $request = [
            'serviceUrl' => 'https://gw.open.icbc.com.cn/api/mybank/mer/merin/thaw/V1',
            'method' => 'POST',
            'isNeedEncrypt'=>false,
            'biz_content' => array(
                "icbcOrderSubNo"=>"7",
                "icbcOrderNo"=>"120448160200000552410310006232",
                "outAgreeNo"=>"1204481602030201"
                // "outAgreeNo"=>"dlh17304530429791"
                // "outAgreeNo"=>"1204481602020201"
            ),
            'extraParams'=>[]
        ];
        print_r("
");
        var_dump($request);
        $res = $this->apiClient->execute($request,$msg_id,"");
        var_dump($res);
        //   $result = json_decode($res,true);
        $result = json_decode($res,true);
        //   print_r("
");
        var_dump($result);
    }
    //解冻查询
    public function jiedongCheck(){
        $msg_id = $this->getMsgId();
        //   $out = "dlh".time().$user_id;
        $request = [
            'serviceUrl' => 'https://gw.open.icbc.com.cn/api/mybank/mer/merin/freezedtlquery/V1',
            'method' => 'POST',
            'isNeedEncrypt'=>false,
            'biz_content' => array(
                "queryType"=>"1",
                "pageNum"=>"1",
                "pageSize"=>"10",
                "initFlag"=>"1",
                "outAgreeNo"=>"1204481602000201",
                "icbcOrderNo"=>"120448160200000512410280005175",
                "icbcOrderSubNo"=>"11",
                "startDate"=>"",
                "endDate"=>""
            ),
            'extraParams'=>[]
        ];
        print_r("
");
        var_dump($request);
        $res = $this->apiClient->execute($request,$msg_id,"");
        var_dump($res);
        //   $result = json_decode($res,true);
        $result = json_decode($res,true);
        //   print_r("
");
        var_dump($result);
    }

    public function code()
    {
        // Log::write('测试:'. 111);
        $code = $this->request->post('code');
        $lid = $this->request->post('lid',0);
        $local_user = Db::name("local_store")->where("lstore_id",$lid)->where("is_delete",0)->find();
        if($local_user == null){
            return JsonServer::error("无效店铺");
        }
        $local_user_msg = Db::name("user")
            ->where("id",$local_user['user_id'])
            ->where("del",0)
            ->where("disable",0)
            ->find();
        if($local_user_msg == null){
            return JsonServer::error("无效账号");
        }
        $invite_code = $local_user_msg['distribution_code'];
        // $invite_code = $this->request->post('invite_code',0);
        //   trace('invite_code', $invite_code.'-'.$code);
        if(isset($invite_code)){
            if($invite_code !== 0){
                $open=new Getopenid();
                $info=$open->getAcc($code);
                $divide_state = 0;
                $regional_state = 0;
                if(isset($info['openid'])) {
                    $openid = $info['openid'];
                    $user_msg = UserAuth::where("openid",$openid)->find();
                    $firend_msg = User::where("distribution_code",$invite_code)->find();
                    if($user_msg==null){
                        $divide_second_user_id = 0;
                        $divide_role_user_id = 0;
                        $firend_id = 0;
                        $is_d = Db::name("distribution")->where('user_id', $firend_msg['id'] )->where('is_distribution', 1 )->find();
                        if($is_d != null){
                            $firend_id = $firend_msg['id'];
                            if($firend_msg['divide_role_user_id']!==0){
                                $divide_role_user_id = $firend_msg['divide_role_user_id'];
                                $divide_state = 1;
                            }
                            // else{
                            //      if($firend_msg['first_leader'] !=0){
                            //         $divide_role_user_id = $firend_msg['first_leader'];
                            //     }else{
                            //          $divide_role_user_id = $firend_id;
                            //     }
                            // }
                            if($firend_msg['regional_state'] === 1){
                                $divide_second_user_id = $firend_msg['id'];
                                $regional_state = 1;
                            }elseif($firend_msg['divide_second_user_id']!==0){
                                $divide_second_user_id = $firend_msg['divide_second_user_id'];
                                $regional_state = 1;
                            }
                        }
                        $data = [
                            'sn'                => create_user_sn(),
                            'create_time'       => time(),
                            "first_leader"      => $firend_id,
                            'distribution_code' => generate_invite_code(),//分销邀请码
                            'is_distribution'   => DistributionLogic::isDistributionMember(),
                            'client'            => 1,
                            'is_new_user'       => 1,
                            'user_ad_cret'      => 1,
                            'divide_role_user_id' => $divide_role_user_id,
                            'divide_second_user_id'=>$divide_second_user_id,
                            'divide_state' => $divide_state,
                            'regional_state'=>$regional_state
                        ];
                        $user = User::create($data);
                        $user_id = $user->id;
                        $UserAuth = UserAuth::create([
                            "user_id"=>$user_id,
                            "openid"=>$openid,
                            "create_time"=>time(),
                            "client"=>1
                        ]);
                        if($is_d != null){
                            $firend_id = $firend_msg['id'];
                            $dat['f_user_id'] = $firend_id;
                            $dat['user_id'] = $user_id;
                            $dat['ditme'] = date("Y-m-d H:i:s");
                            Db::name("user_firster")->save($dat);
                        }
                        //生成会员分销扩展表
                        DistributionLogic::createUserDistribution($user_id);

                        // 生成分销基础信息表
                        \app\common\logic\DistributionLogic::add($user_id);
                        $dt['user_id'] = $user_id;
                        return JsonServer::success('绑定上级成功',$dt);

                    }
                    $dt['user_id'] = $user_msg['user_id'];
                    return JsonServer::success('绑定上级成功',$dt);
                }
            }
        }
        return JsonServer::success('绑定上级成功',[]);
    }

    public function getMsgId(){
        return substr(md5("donglonghui".time().mt_rand(1,1000000)),8,13);
    }
    public function abutmentContent(){
        $data=[
            "app_id"=> $this->app_id,
            "timestamp"=>date("Y-m-dH:i:s"),
            "notify_url"=>"https://dlh.hainings.com/index/index/localReturn"
        ];
        ksort($data);
        print("
");
        var_dump($data);
        $data['msg_id'] = $this->getId("donglonghui",$data);
        $data1 = http_build_query($data);
        $url = "https://gw.open.icbc.com.cn/api/mybank/enterprise/pay/payent/V1";
        $res = $this->curl_post($url,$data1);
//        var_dump($res);
        $data['sign'] = $res['sign'];
//        var_dump($data);

        $d=[
            "channelFlag"=>2,
            "empowerPhone"=>"18868040087",
            "applyType"=>"00100",
            "crftType1"=>"101",
            "crftNo1"=>"914310236828465718"
        ];
        $u = "https://gw.open.icbc.com.cn/api/mybank/cardbusiness/shop/MerRegistrationAdd/V1";
        $d1= http_build_query($d);
        $rest = $this->curl_post($u,$d1);
        var_dump($rest);
    }

    public function changeGoods(){
        $result = Db::name("goods")->where("shop_id",17)->select();
        foreach($result as $key=>$value){
            $r = Db::name("goods_item")->where("goods_id",$value['id'])->select();
            foreach($r as $k=>$v){
                $price = round($v['chengben_price']*1.7,2);
                if($price < $v['price']){
                    Db::name("goods_item")->where("id",$v['id'])->update(["price"=>$price]);
                }
                if($price < $value['min_price']){
                    Db::name("goods")->where("id",$value['id'])->update(["min_price"=>$price]);
                }
            }
        }
    }
    function getId($app_secret, $req_param=[])
    {
        // 排序所有请求参数
        ksort($req_param);
        $src_value = "";
        // 按照key1value1key2value2...keynvaluen拼接
        foreach ($req_param as $key => $value) {
            $src_value .= ($key . $value);
        }
        //计算md5
        return md5($app_secret . $src_value . $app_secret);
    }

    private function curl_post($url,$postdata){
        $curl = curl_init(); // 启动一个CURL会话
        curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检测
        curl_setopt($curl, CURLOPT_HTTPHEADER, array(
            'Expect:'
        )); // 解决数据包大不能提交
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
        curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); // Post提交的数据包
        curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循
        curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
        curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
        $tmpInfo = curl_exec($curl); // 执行操作
        if (curl_errno($curl)) {
            echo 'Errno' . curl_error($curl);
        }
        curl_close($curl); // 关键CURL会话
        $tmpInfo=json_decode($tmpInfo,true);
        return $tmpInfo;
    }

}