【调度系统】广东民航医疗快线调度系统源代码
wzp
2024-12-05 8a09f655eace34e9c90bbfc711eedb7a69e4e068
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
<?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);
                $ShopOrdID = $attach["ShopOrdID"];
                if(!empty($attach["ShopUserID"])){
                    $ShopUserID = urlencode($attach["ShopUserID"]);
                }else{
                    $ShopUserID=urlencode("实体店-白马星汇良仓");
                }
                
                
                $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);
                //刷新支付信息
                $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"];
                    $pay_type_name = $payments_old[0]["pay_type_name"];
                    $pay_type_code_cn = str_replace($ShopOrdID,"",$pay_type_name);
                    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";
                    }
                    $payment = floatval($payments_old[0]["payment"]);
 
                    $pay_code = $payments_old[0]["pay_transactionID"];
                    $paytime = $payments_old[0]["paytime"];
                    $paytime = strtotime($paytime)*1000;
                    $payments = array(
                        array(
                            "pay_type_code"=>$pay_type_code,
                            "payment"=>"$payment",
                            "pay_code"=>$pay_code,
                            "paytime"=>$paytime,
                            "account"=>$openid,
                        ),
                    );
 
                    $buyer = array(
                        "platform_code"=>$ShopOrdID,
                        "vip_code"=>$orderinfo["ShopUserID"],
                        "receiver_address"=>$orderinfo["strAdd"],
                    );
 
 
 
                    $data = array(
                        "data"=>array(
                            "goodsDetail"=>$goodsDetail,
                            "payments"=>$payments,
                            "buyer"=>$buyer,
                        ),
                    );
 
                    $gy_url = "http://vadmin.v.com.cn/CashierSystem.php?actionType=2&CC_UAid=".$_COOKIE["cc_UAid"];
                    // 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);
                    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);
                        // 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;
                            return $result;
                        }
                    } 
                }
    
    exit();
}
?>