【调度系统】广东民航医疗快线调度系统源代码
wzp
2024-12-06 0df39a8c5a45c6ff25411eace15d40a606f9769c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
<?php
ini_set('date.timezone','Asia/Shanghai');
error_reporting(E_ERROR);
require_once "../lib/WxPay.Api.php";
require_once 'log.php';
 
//初始化日志
$logHandler= new CLogFileHandler("./logs/".date('Y-m-d').'.log');
$log = Log::Init($logHandler, 15);
 
function printf_info($data)
{
    foreach($data as $key=>$value){
        // echo "<font color='#f00;'>$key</font> : $value <br/>";
    }
}
 
 
if(isset($_REQUEST["transaction_id"]) && $_REQUEST["transaction_id"] != ""){
    $transaction_id = $_REQUEST["transaction_id"];
    $input = new WxPayOrderQuery();
    $input->SetTransaction_id($transaction_id);
    //printf_info(WxPayApi::orderQuery($input));
    $result=WxPayApi::orderQuery($input);
    if(array_key_exists("return_code", $result)
        && array_key_exists("result_code", $result)
        && $result["return_code"] == "SUCCESS"
        && $result["result_code"] == "SUCCESS")
    {    
        $transaction_id = $result["transaction_id"];
        $mch_id = $result["mch_id"];
        $out_trade_no = $result["out_trade_no"];
        $time = time();
        setrawcookie ("PayDoneTime", $time, time() + 600,"/");
        $key='apivcomcn20170421';
        $method = "Order_detail";
        $ShopOrdID = explode("-", $out_trade_no)[0];
        $arr = array("method"=>$method,"ShopOrdID"=>$ShopOrdID);
        ksort($arr);
        $i=0;
        $stringA='';
        foreach($arr as $k=>$v){
            $stringA=$stringA.$k.$v;
        }
        $stringSignTemp=$stringA.$key;
        $stringSignTemp=str_replace(" ", "%20", $stringSignTemp);
 
        $sign=MD5($stringSignTemp);
        $content = 'method='.$method.'&ShopOrdID='.$ShopOrdID;
        $content .= '&Sign='.$sign;
        $order_url='http://api.v.com.cn/order/?'.$content;
        $order_url=str_replace(" ", "%20", $order_url);
        // var_dump($url);exit;
        $orderinfo=file_get_contents($order_url);
        $orderinfo=json_decode($orderinfo,true);
        if(!empty($orderinfo["ProgressE"]) && $orderinfo["ProgressE"] != "0"){
            $status = $orderinfo["ProgressE"];
        }elseif($orderinfo["ProgressD"] === "0" || $orderinfo["ProgressD"] === "2"){
            if($orderinfo["ProgressM"] === "1"){
                $status = "已支付";
            }elseif($orderinfo["ProgressM"] === "0"){
                $status = "未支付";
            }elseif($orderinfo["ProgressM"] === "4"){
                $status = "已取消";
            }
        }elseif($orderinfo["ProgressD"] === "4"){
            $status = "已取消";
        }elseif($orderinfo["ProgressD"] === "3"){
            $status = "已下发";
        }
        if($status == "未支付"){
            $method = "Order_PayNotify";
            $total_fee = number_format($result["total_fee"]/100,2,'.','');
            $ShopOrdID = $out_trade_no;
            $PayMono = urlencode("支付宝");
            $arr = array("method"=>$method,"transaction_id"=>$transaction_id,"mch_id"=>$mch_id,"out_trade_no"=>$out_trade_no,"total_fee"=>$total_fee,"ShopOrdID"=>$ShopOrdID,"PayMono"=>$PayMono);
            ksort($arr);
            $i=0;
            $stringA='';
            foreach($arr as $k=>$v){
                $stringA=$stringA.$k.$v;
            }
            $stringSignTemp=$stringA.$key;
            $stringSignTemp=str_replace(" ", "%20", $stringSignTemp);
 
            $sign=MD5($stringSignTemp);
            $content = 'method='.$method.'&transaction_id='.$transaction_id.'&mch_id='.$mch_id.'&out_trade_no='.$out_trade_no.'&total_fee='.$total_fee.'&ShopOrdID='.$ShopOrdID.'&PayMono='.$PayMono;
            $content .= '&Sign='.$sign;
            $order_url='http://api.v.com.cn/order/?'.$content;
            $order_url=str_replace(" ", "%20", $order_url);
            $orderinfo=file_get_contents($order_url);
            $orderinfo=json_decode($orderinfo,true);
        }
        echo "<script>alert('已查询!')</script>";
        var_dump($result);exit;
    }
    
    // echo 1;
    exit();
}
 
if(isset($_REQUEST["out_trade_no"]) && $_REQUEST["out_trade_no"] != ""){
    $out_trade_no = $_REQUEST["out_trade_no"];
    $input = new WxPayOrderQuery();
    $input->SetOut_trade_no($out_trade_no);
    // printf_info(WxPayApi::orderQuery($input));
    $result=WxPayApi::orderQuery($input);
    
    $key='apivcomcn20170421';
    $attach = json_decode($result["attach"],true);
    if(isset($attach["ShopOrdID"])){
        $ShopOrdID = $attach["ShopOrdID"];
    }else{
        $ShopOrdID = $attach;
    }
    
    
    // var_dump($ShopOrdID);exit;
    /* $method = "Order_AddressEdit";
    $NewShopUserID = $ShopUserID;
    $arr = array("method"=>$method,"ShopOrdID"=>$ShopOrdID,"ShopUserID"=>$ShopUserID,"NewShopUserID"=>$NewShopUserID);
    if(isset($attach["strName"])){
        $strName = $attach["strName"];
        $arr["strName"] = urlencode($strName);
    }
    if(!empty($attach["strPhone"])){
        $strPhone = $attach["strPhone"];
        $arr["strPhone"] = $strPhone;
    }
    ksort($arr);
    $i=0;
    $stringA='';
    foreach($arr as $k=>$v){
        $stringA=$stringA.$k.$v;
    }
    
    $stringSignTemp=$stringA.$key;
    $stringSignTemp=str_replace(" ", "%20", $stringSignTemp);
    
    $sign=MD5($stringSignTemp);
    $content = "";
    $content = 'method='.$method.'&ShopOrdID='.$ShopOrdID.'&ShopUserID='.$ShopUserID."&NewShopUserID=".$NewShopUserID;
    if(isset($attach["strName"])){
        $content .= '&strName='.urlencode($strName);
    }
    if(!empty($attach["strPhone"])){
        $content .= '&strPhone='.$strPhone;
    }
    
    $content .= '&Sign='.$sign;
    $order_url='http://api.v.com.cn/order/?'.$content;
    $order_url=str_replace(" ", "%20", $order_url);
    // var_dump($url);exit;
    $orderinfo_change=file_get_contents($order_url);
    $orderinfo_change=json_decode($orderinfo_change,true); */
    // var_dump($orderinfo_change);exit;
    //刷新支付信息
    $method = "Order_PayNotify";
    $transaction_id = $result["transaction_id"];
    $mch_id = $result["mch_id"];
    $openid = $result["openid"];
    $out_trade_no = $result["out_trade_no"];
    $total_fee = number_format($result["total_fee"]/100,2,'.','');
    
    $PayMono = urlencode("微信支付");
    $arr = array("method"=>$method,"transaction_id"=>$transaction_id,"mch_id"=>$mch_id,"out_trade_no"=>$out_trade_no,"total_fee"=>$total_fee,"ShopOrdID"=>$ShopOrdID,"PayMono"=>$PayMono,"openid"=>$openid);
    ksort($arr);
    $i=0;
    $stringA='';
    
    foreach($arr as $k=>$v){
        $stringA=$stringA.$k.$v;
    }
    $stringSignTemp=$stringA.$key;
    $stringSignTemp=str_replace(" ", "%20", $stringSignTemp);
 
    $sign=MD5($stringSignTemp);
    $content = 'method='.$method.'&transaction_id='.$transaction_id.'&mch_id='.$mch_id.'&out_trade_no='.$out_trade_no.'&total_fee='.$total_fee.'&ShopOrdID='.$ShopOrdID.'&PayMono='.$PayMono."&openid=".$openid;
    $content .= '&Sign='.$sign;
    $order_url='http://api.v.com.cn/order/?'.$content;
    $order_url=str_replace(" ", "%20", $order_url);
    $orderinfo=file_get_contents($order_url);
    $orderinfo=json_decode($orderinfo,true);
    if($sfxf == "2"){
        $succCode = 1;
        return $result;
    }else{
    
    
        $method = "Order_detail";
        $arr = array("method"=>$method,"ShopOrdID"=>$ShopOrdID);
        ksort($arr);
        $i=0;
        $stringA='';
        foreach($arr as $k=>$v){
            $stringA=$stringA.$k.$v;
        }
        $stringSignTemp=$stringA.$key;
        $stringSignTemp=str_replace(" ", "%20", $stringSignTemp);
        $sign=MD5($stringSignTemp);
        $content = 'method='.$method.'&ShopOrdID='.$ShopOrdID;
        $content .= '&Sign='.$sign;
        $order_url='http://api.v.com.cn/order/?'.$content;
        $order_url=str_replace(" ", "%20", $order_url);
        // var_dump($url);exit;
        $orderinfo=file_get_contents($order_url);
        $orderinfo=json_decode($orderinfo,true);
 
        $details = $orderinfo["details"];
 
        foreach($details as $v_d){
            $price = floatval($v_d["ItmCost"]);
            $goodsDetail[] = array(
                "item_code"=>$v_d["strItmID"],
                "price"=>"$price",
                "qty"=>$v_d["intQty"],
            );
        }
        $payments_old = $orderinfo["payments"];
        if(!empty($payments_old)){
            foreach($payments_old as $kp=>$vp){
                $pay_type_name = $vp["pay_type_name"];
                $pay_type_code_cn = str_replace($ShopOrdID,"",$pay_type_name);
                $pay_type_code_cn = str_replace("二维码支付","",$pay_type_code_cn);
                if($pay_type_code_cn == "支付宝"){
                    $pay_type_code = "zhifubao";
                }elseif($pay_type_code_cn == "微信支付"){
                    $pay_type_code = "weixin";
                }elseif($pay_type_code_cn == "现金支付"){
                    $pay_type_code = "cash";
                }elseif($pay_type_code_cn == "刷卡支付"){
                    $pay_type_code = "yinlian";
                }elseif($pay_type_code_cn == "用户余额"){
                    $pay_type_code = "yuen";
                }elseif($pay_type_code_cn == "线下跨境"){
                    $pay_type_code = "giftcard";
                }
                $payment = floatval($vp["payment"]);
 
                $pay_code = $vp["pay_transactionID"];
                $paytime = $vp["paytime"];
                $paytime = strtotime($paytime)*1000;
                $payments[] = array(
                        "pay_type_code"=>$pay_type_code,
                        "payment"=>"$payment",
                        "pay_code"=>$pay_code,
                        "paytime"=>$paytime,
                        "account"=>$openid,
                );
            }
        }else{
            $payments = [];
        }
        $buyer = array(
            "platform_code"=>$ShopOrdID,
            "vip_code"=>$orderinfo["ShopUserID"],
            "receiver_address"=>$orderinfo["strAdd"],
        );
 
 
 
        $data = array(
            "data"=>array(
                "goodsDetail"=>$goodsDetail,
                "payments"=>$payments,
                "buyer"=>$buyer,
            ),
        );
        // var_dump($data);
        $gy_url = "http://vadmin.v.com.cn/CashierSystem.php?actionType=2&CC_UAid=83525";
        // var_dump($gy_url);
        $ch = curl_init();//初始化curl
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        curl_setopt($ch, CURLOPT_URL, $gy_url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,FALSE);
        curl_setopt($ch, CURLOPT_HEADER, FALSE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($data));
        $data_save = curl_exec($ch);
        $data_save = json_decode($data_save,true);
        // var_dump($data_save);
        if($data_save["success"]){
            $ERP_code = $data_save["code"];
            $method = "Order_StateEdit";
 
            $ShopOrdState = "3";
 
            $arr = array("method"=>$method,"ShopOrdState"=>$ShopOrdState,"ShopOrdID"=>$ShopOrdID,"ERP_code"=>$ERP_code);
 
            ksort($arr);
            $i=0;
            $stringA='';
            foreach($arr as $k=>$v){
                $stringA=$stringA.$k.$v;
            }
            $stringSignTemp=$stringA.$key;
            $stringSignTemp=str_replace(" ", "%20", $stringSignTemp);
            $sign=MD5($stringSignTemp);
            $content = 'method='.$method.'&ShopOrdID='.$ShopOrdID."&ShopOrdState=".$ShopOrdState."&ERP_code=".$ERP_code;
            $content .= '&Sign='.$sign;
            $order_url='http://api.v.com.cn/order/?'.$content;
            $order_url=str_replace(" ", "%20", $order_url);
            // var_dump($url);exit;
            $orderinfo=file_get_contents($order_url);
            $orderinfo=json_decode($orderinfo,true);
            echo 1;
            var_dump($orderinfo);exit;
            if($orderinfo["result"] == "1"){
                $pdo = new PDO('mysql:host=120.24.62.151;dbname=wxordidsave', 'yyjj', 'zsh56ynyj!2w',array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"));
                $sql = "UPDATE `order` SET `order_send` = '2' WHERE `order_long` = '$out_trade_no'";
 
                $pdo->exec($sql);
                $succCode = 1;
            }
        } elseif($data_save["errorDesc"] == "该订单已创建"){
            $gy_url2 = "http://vadmin.v.com.cn/CashierSystem.php?actionType=28&ShopOrdID=".$ShopOrdID;
            $ch = curl_init();//初始化curl
            curl_setopt($ch, CURLOPT_TIMEOUT, 30);
            curl_setopt($ch, CURLOPT_URL, $gy_url2);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,FALSE);
            curl_setopt($ch, CURLOPT_HEADER, FALSE);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            $data_save = curl_exec($ch);
            
            if($data_save){
                $ERP_code = $data_save;
                $method = "Order_StateEdit";
 
                $ShopOrdState = "3";
 
                $arr = array("method"=>$method,"ShopOrdState"=>$ShopOrdState,"ShopOrdID"=>$ShopOrdID,"ERP_code"=>$ERP_code);
 
                ksort($arr);
                $i=0;
                $stringA='';
                foreach($arr as $k=>$v){
                    $stringA=$stringA.$k.$v;
                }
                $stringSignTemp=$stringA.$key;
                $stringSignTemp=str_replace(" ", "%20", $stringSignTemp);
                $sign=MD5($stringSignTemp);
                $content = 'method='.$method.'&ShopOrdID='.$ShopOrdID."&ShopOrdState=".$ShopOrdState."&ERP_code=".$ERP_code;
                $content .= '&Sign='.$sign;
                $order_url='http://api.v.com.cn/order/?'.$content;
                $order_url=str_replace(" ", "%20", $order_url);
                // var_dump($order_url);exit;
                $orderinfo=file_get_contents($order_url);
                // var_dump($orderinfo);exit;
                $orderinfo=json_decode($orderinfo,true);
                echo 2;
                var_dump($orderinfo);exit;
                if($orderinfo["result"] == "1"){
                    $pdo = new PDO('mysql:host=120.24.62.151;dbname=wxordidsave', 'yyjj', 'zsh56ynyj!2w',array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"));
                    $sql = "UPDATE `order` SET `order_send` = '2' WHERE `order_long` = '$out_trade_no'";
 
                    $pdo->exec($sql);
                    $succCode = 1;
                }
            }
        }
    }
    
    exit();
}
?>