93 Revize 3a23fe8274 ... d0f9487c3f

Autor SHA1 Zpráva Datum
  zgg d0f9487c3f Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 před 3 měsíci
  zgg 1bb43a238a 增加商户号 před 3 měsíci
  zgg 1c01b3ac19 需求 před 4 měsíci
  zgg bfc03131d5 优化查询 před 4 měsíci
  zgg eae4622b74 修改 před 4 měsíci
  zgg 5bc1d0d7e0 优化查询 před 6 měsíci
  zgg 4bbe800685 bug před 7 měsíci
  hzd 2d129296d5 消毒预警 před 7 měsíci
  zgg 8b16a2acce 修改 před 8 měsíci
  zgg e4acf926b1 修改 před 8 měsíci
  zgg 758872e99c 导出去重 před 9 měsíci
  zgg 1bb5f431ab 导出增加字段 před 9 měsíci
  zgg 06682772e4 优化查询速度 před 9 měsíci
  zgg 28d78f5f59 取消app筛选部门 před 9 měsíci
  zgg 721c37d8a9 需求 před 9 měsíci
  zgg 565b89f238 修改 před 9 měsíci
  zgg 59ed3dfd58 bug před 9 měsíci
  hzd daa9653856 修改 před 10 měsíci
  hzd f4be79491c Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 před 10 měsíci
  hzd 99116723ab 日志 před 10 měsíci
  hzd 295e08984a bug před 10 měsíci
  zgg 9a432ce2de 接口过滤 před 10 měsíci
  hzd d347c59370 去掉科室编号的空格 před 10 měsíci
  hzd a6ae2c751f bug před 11 měsíci
  hzd 22b936bed2 优化 před 11 měsíci
  hzd b4f05650f2 反馈问题修改 před 11 měsíci
  zgg 86749c7e54 bug před 11 měsíci
  hzd 5f9f74e526 去掉忘记密码 před 1 rokem
  hzd 56c81ba73a bug před 1 rokem
  hzd ebd02756d5 全部订单添加科室搜索 před 1 rokem
  hzd f45315cbd5 bug před 1 rokem
  hzd 66dc01b13e 添加工单到任务表 před 1 rokem
  hzd 3fd2e40d91 Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 před 1 rokem
  hzd 854eb577e0 陪护服务费及签名 před 1 rokem
  hzd 86bda1f106 bug před 1 rokem
  hzd 07abc0c57c 配置陪护公众号 před 1 rokem
  zgg f4d1092da1 修改字段名 před 1 rokem
  zgg a301edc995 吉利1.0药品运送功能迁移 před 1 rokem
  zgg 2b8e502f5d bug před 1 rokem
  zgg 4edd3b1d99 修改 před 1 rokem
  hzd a6f5aa3ce6 修改 před 1 rokem
  zgg 2c378e5d2a 新巡更大屏,需求 před 1 rokem
  zgg 1a8f2ffc4b Bug před 1 rokem
  zgg 5cbd83d91c 重量单位修改 před 1 rokem
  zgg b5edcb5aa4 医废月统计导出Bug před 1 rokem
  zgg a6289d31b7 修改 před 1 rokem
  zgg b16d058169 巡更大屏2 před 1 rokem
  zgg eee28a4f61 ios下载跳转 před 1 rokem
  zgg dd26731372 医废科室月统计 před 1 rokem
  hzd 40bb9742f7 修改上传目录 před 1 rokem
  zgg 831ff490b5 大屏Bug2 před 1 rokem
  zgg 795721b124 大屏Bug před 1 rokem
  zgg 450d506959 医废大屏优化 před 1 rokem
  zgg 4662b6cdd6 Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 před 1 rokem
  zgg c4d9956704 医废大屏 před 1 rokem
  zgg dcdb757da9 订单、工单导出问题 před 1 rokem
  zgg 645ebfb7e6 增加运送报表 před 1 rokem
  ss 4891bf8908 Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 před 1 rokem
  ss 8046fa9993 11 před 1 rokem
  ss 21904e67b5 1 před 1 rokem
  ss bb42f4c7d7 大屏医废 před 1 rokem
  hzd 39b02737a2 盘库完成bug před 1 rokem
  ss 8e72a69b26 11 před 1 rokem
  ss e4209311a6 1 před 1 rokem
  ss a3c1ac119c 1 před 1 rokem
  ss 2b0e053343 11 před 1 rokem
  ss 8d4e22c937 11 před 1 rokem
  ss f5e0bbc761 11 před 1 rokem
  ss fbf18d3ce8 11 před 1 rokem
  ss 7f30b3b2b5 1 před 1 rokem
  ss 216c75aa06 11 před 1 rokem
  ss 08f7429d55 11 před 1 rokem
  ss c03ce7441e 1 před 1 rokem
  hzd 1887c37f7e 修改医废类型bug před 1 rokem
  ss 8af370a941 11 před 1 rokem
  ss 5b18496cc2 1 před 1 rokem
  hzd 9dceac4b2d 修改 před 1 rokem
  hzd 4bdb19c747 订单修改 před 1 rokem
  hzd 9faccf9996 修改 před 1 rokem
  hzd ff59a14312 需求修改 před 1 rokem
  hzd e0e507cab3 bug před 1 rokem
  hzd 53c9d5c3a6 需求优化 před 1 rokem
  hzd 40329e2852 需求修改 před 1 rokem
  hzd 9d34c0f2d0 修改 před 1 rokem
  hzd aeca21dd6c Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 před 1 rokem
  hzd 44c1c0806d xg před 1 rokem
  hzd 6f0820d9b3 优化 před 1 rokem
  ss df307a2351 1 před 1 rokem
  ss 6f85991dad 1 před 1 rokem
  ss f3cc29ddee 11 před 1 rokem
  ss b3b95ca725 11 před 1 rokem
  ss 0cd1469bc7 1 před 1 rokem
  ss 33d2a96cf2 初始化 před 1 rokem

+ 1 - 1
application/admin/controller/GOrders.php

@@ -76,7 +76,7 @@ class GOrders extends Auth
      */
     public function refund($id = 0){
         if(request()->isPost()){
-            $res = model('GOrders')->refundOrder($this->userId);
+            $res = model('GOrders')->refundOrder($this->userId,$this->orgId);
             if($res){
                 $this->success('操作成功',url('index'));
             }else{

+ 1 - 1
application/admin/controller/PhOrders.php

@@ -275,7 +275,7 @@ class PhOrders extends Auth
      */
     public function refund($id = 0){
         if(request()->isPost()){
-            $res = model('PhOrderPay')->refundOrder($this->userId);
+            $res = model('PhOrderPay')->refundOrder($this->userId,$this->orgId);
             if($res){
                 $this->success('操作成功',url('index'));
             }else{

+ 29 - 0
application/api/controller/h5/Notify.php

@@ -36,6 +36,35 @@ class Notify extends Controller
 
         $response->send();
     }
+
+
+    //萍乡市人民医院
+    public function phOrderPx(){
+        $config = config('app.wx_config_px');
+        $app = Factory::payment($config);
+        $response = $app->handlePaidNotify(function ($message, $fail) {
+            if ($message['return_code'] === 'SUCCESS' && $message['result_code'] === 'SUCCESS') { // return_code 表示通信状态,不代表支付状态
+                // 用户是否支付成功
+                $tradeNo = $message['out_trade_no'];
+                // 使用通知里的 "微信支付订单号" 或者 "商户订单号" 去自己的数据库找到订单
+                $order = Db::name('ph_order_pay')->where('sn',$tradeNo)->find();
+                if (!$order || $order['status'] != 0) { // 如果订单不存在 或者 订单已经支付过了
+                    return true; // 告诉微信,我已经处理完了,订单没找到,别再通知我了
+                }
+                $ret = model('PhOrderPay')->paySuccess($order['id'],2);
+                if(!$ret){
+                    trace('订单修改失败');
+                    $fail('订单修改失败');
+                }
+            } else {
+                return $fail('通信失败,请稍后再通知我');
+            }
+
+            return true; // 返回处理完成
+        });
+
+        $response->send();
+    }
     public function xshopOrder(){
         $config = config('app.wx_config');
         $app = Factory::payment($config);

+ 8 - 3
application/api/controller/h5/PhOrders.php

@@ -55,8 +55,13 @@ class PhOrders extends Base
         if(!$info){
             HelpHander::error('订单不存在');
         }
-        $config = config('app.wx_config');
-        $notify = config("app.app_host").'/api/h5/notify/phorder';
+        if ($this->orgId == 100){
+            $config = config('app.wx_config_px');
+            $notify = config("app.app_host").'/api/h5/notify/phOrderPx';
+        }else{
+            $config = config('app.wx_config');
+            $notify = config("app.app_host").'/api/h5/notify/phorder';
+        }
         try{
             $openid = Db::name('wxuser')->where('id',$this->userId)->where('type',1)->value('openid');
             $app = Factory::payment($config);
@@ -82,7 +87,7 @@ class PhOrders extends Base
             trace($ret);
         }catch (\Exception $e){
             trace($e->getMessage());
-            HelpHander::error('获取参数失败');
+            HelpHander::error($e->getMessage());
         }
 
         HelpHander::success($ret,'成功');

+ 1 - 1
application/api/controller/v1/PhOrders.php

@@ -131,7 +131,7 @@ class PhOrders extends Base
      * 退款
      */
     public function refund(){
-        $res = model('PhOrderPay')->refundOrder($this->userId);
+        $res = model('PhOrderPay')->refundOrder($this->userId,$this->orgId);
         if($res){
             HelpHander::success([],'操作成功');
         }else{

+ 2 - 2
application/common/model/PhOrderPay.php

@@ -157,7 +157,7 @@ class PhOrderPay extends Base
         return true;
     }
 
-    public function refundOrder($userId){
+    public function refundOrder($userId,$orgId){
         $data = [
             'type' => input('type/d',1),
             'money' => input('money/f',0),
@@ -226,7 +226,7 @@ class PhOrderPay extends Base
             }
 
             if($data['type'] == 2){ // 线上,微信退款
-                $config = config('app.wx_config');
+                $config = $orgId == 100 ? config('app.wx_config_px') : config('app.wx_config');
                 $app = \EasyWeChat\Factory::payment($config);
                 $ret = $app->refund->byOutTradeNumber($pay['sn'], $data['sn'], $pay['money']*100, $data['money']*100);
                 if($ret['return_code'] != 'SUCCESS' || $ret['result_code'] != 'SUCCESS'){

+ 22 - 0
config/app.php

@@ -266,6 +266,28 @@ return [
         ],
     ],
 
+    // 萍乡市人民医院
+    'wx_config_px' => [
+        'app_id' => 'wx439b9d9527727911',
+        'secret' => '3a667f19a68cae15bd4276c7edad6346',
+
+        'mch_id' => '1718480120', // 商户号
+        'key' => '29452e7ad4db9fb53ddc1a8ab66ecb2a',   // API 密钥  操作密码:667421
+
+        // 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
+        'cert_path' => env('root_path').'public/certs2/apiclient_cert.pem',
+        'key_path' => env('root_path').'public/certs2/apiclient_key.pem',
+
+        // 下面为可选项
+        // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名
+        'response_type' => 'array',
+
+        'log' => [
+            'level' => 'error',
+            'file' => env('runtime_path').'/log/wechat.log',
+        ],
+    ],
+
     'weather_key'=>'125cc579816bceb875b413794c2b13d4',//获取聚合天气接口的key
 
     //-----登录限流配置--------

binární
public/certs2/apiclient_cert.p12


+ 25 - 0
public/certs2/apiclient_cert.pem

@@ -0,0 +1,25 @@
+-----BEGIN CERTIFICATE-----
+MIIENzCCAx+gAwIBAgIUZL1/6mRQrogm5/mWKfOmCktpFk8wDQYJKoZIhvcNAQEL
+BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
+FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
+Q0EwHhcNMjUwNjA2MDEwMjU2WhcNMzAwNjA1MDEwMjU2WjCBkDETMBEGA1UEAwwK
+MTcxODQ4MDEyMDEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTwwOgYDVQQL
+DDPmuZbljZflkInnq4vniankuJrnrqHnkIbmnInpmZDlhazlj7jokI3kuaHliIbl
+hazlj7gxCzAJBgNVBAYTAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAN89lF3rhplNdSpdFRV6CYmVqN+E10iRd1M7
+IZDCwFzqIsHmrzu2gZeCniQCFWFd/HViLIKHomrc+SZ50XOY1ZyZxOYwt3tMQTZ6
+iYE6+eQ5SNHMYWJnrP3xU8pN/fvE/e4wYF1/8AuMfScLemdkYliXuemdldGPtNgZ
+xBsiwKiO6wuE/6g8gMj5NNFMRLzdbcvICcL8QZjzW0ht9tTc57ghVhwq8sSDYd4r
+5QEFMXlHCDDbplGZJm4VNAWYXNzsZJes35SMV4hReFDc4+yDiMb39ZYz/c3cMp9V
+oY6uMSgKg3wTvn35Vhxenpd+8kAIPWwMGNKIorz/pyGT/ncpOskCAwEAAaOBuTCB
+tjAJBgNVHRMEAjAAMAsGA1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGH
+hoGEaHR0cDovL2V2Y2EuaXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0x
+QkQ0MjIwRTUwREJDMDRCMDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0
+NzFCNjU0MjJFMTJCMjdBOUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3
+DQEBCwUAA4IBAQBz0IXpmQgOKrSz/gbGQEBHyYXvXzccGyt225JeaNFS+ulNBmcc
+F+7uQNQXLpjXe/hLcWhH1vSp6hB8cFE6vpEpZmn0AuZHGkLj3u1UB1X6ohIm9+fg
+0KghWBC46Ju7CQM5W0bp7EACDBr2r5KvV6vjE9rnv0zrnT17j3LFZfwbBZU398ic
+RL6aV9eHc3AmET2uMWR9zmC1nZnIujrPfyTMNR2J50QSv1cDz6CTRnBHhrdha77i
+csZBFM4bkZYQNXUUFE52/L+EfylZIF19mMQxv+SIw4ykiC/kGbquOss73xbSfPq7
+2MJv2r/x6cwunYq6O30vm94XQhWXQTX6hL/r
+-----END CERTIFICATE-----

+ 28 - 0
public/certs2/apiclient_key.pem

@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDfPZRd64aZTXUq
+XRUVegmJlajfhNdIkXdTOyGQwsBc6iLB5q87toGXgp4kAhVhXfx1YiyCh6Jq3Pkm
+edFzmNWcmcTmMLd7TEE2eomBOvnkOUjRzGFiZ6z98VPKTf37xP3uMGBdf/ALjH0n
+C3pnZGJYl7npnZXRj7TYGcQbIsCojusLhP+oPIDI+TTRTES83W3LyAnC/EGY81tI
+bfbU3Oe4IVYcKvLEg2HeK+UBBTF5Rwgw26ZRmSZuFTQFmFzc7GSXrN+UjFeIUXhQ
+3OPsg4jG9/WWM/3N3DKfVaGOrjEoCoN8E759+VYcXp6XfvJACD1sDBjSiKK8/6ch
+k/53KTrJAgMBAAECggEAdG6EpFuD7w70De1QYswsj0KsOi/prKKZ7qIHhp3cgFlp
+WWI8gNNWUbRBUJx5lDfVxU830bh2IHAxzjx43maW+r9Eb553A+qolIZikzE0RjEO
+ZsXHAPD7y9KDFh+JWTfMDN/UUs+4Xf2fBK863xP/Kx+vSkXzbsIZ2x/NJS4B96bg
+0jiuDjx77LyzsAqRvk/F09ZsfSS7mPlMrPedh8psnjLo6p2SE0GHGL3g4jEWp4/B
+JsRKuOmQtLH3D7Ebc9cpLmwJ0Khsqmhmcgn4KFuc4btmLd8bVh+rO+uRTWpND1Uq
+amASV2o+5f8C9W2mzKS/XdxKibk2FSepDYuY1fqklQKBgQD/ClrhA6hEIIcZhvzW
+vYM7uEB7KruBt+nIm+uRFuE0DlYq9yF4H9DPCJrBupCkv5tBCBNRlkla3CINYDuX
+aA/ctIKpUURMQCP7akBGb9/7hwSUmWxxFdfWlwSdIUczBjm9NXMV7uJevOKd8ObE
+7EkXK7wunL5P2MYDmMxm9wnSwwKBgQDgFJicXtUYXK1FUtED7IrPJl0kK+4W4yKe
+31D0isrjsGNRVHUH/L118fAAzOKf6Jraj5DQmYRI5ezNOTCPOaErJcKfUiV4TQuf
+DMKpG7IrZ2N144H0j0Bc7y7dApEl1FO5OZ1Vz5Pni7fhuws29sZgcqjQEGOyMXOk
+zGmvYVwLgwKBgGNABF3Mro7Umb61aW+oEIoNCgrkdlPk3nXTN7kezkUTzzSpN70n
+pHrtPkxl7iQu7JxCKEJ32dQiFp5d9NLXDFU3aiG6HnoN+/K7RogiwWeBA6dQjYL0
+nSpFWuZLLQoOQin/wummLTHxD7+nICdCTK9XtcPt+6HXGjgMHn9zY79BAoGBALNq
+ik8Z91GMUwggqU6VBQeb1hPyQK5+que+Mtm6j30DbGJgV1xP13sqflqFsicLXYIG
+VZNQeATOZG5ljiX/pLYhg9WBNpM+TUHKO8qfbGcoXxCzWwhv8r72m/VF6uX5Phge
+s4VTsT9CNbc9xlr5+BiddeEyXkD9K3UWXsCYGdT1AoGBAPgGVgRLU6a4h37LVez3
+1hDPTYelBLXUrFsS9i6m3hddgpfqR01/kOG+d8Vn41YiPYF+TAlsgqU3shZYq1F6
+7AA6ZD8XoWk5tL93+vqTB2X3TDH8gCnQM+Zr2tLXxe4NRfg0hdIEN66Pse6bMWoA
+A7NuFCIzrVekOIGSU/vGqUuC
+-----END PRIVATE KEY-----

+ 18 - 0
public/certs2/璇佷功浣跨敤璇存槑.txt

@@ -0,0 +1,18 @@
+欢迎使用微信支付!
+附件中的三份文件(证书pkcs12格式、证书pem格式、证书密钥pem格式),为接口中强制要求时需携带的证书文件。
+证书属于敏感信息,请妥善保管不要泄露和被他人复制。
+不同开发语言下的证书格式不同,以下为说明指引:
+    证书pkcs12格式(apiclient_cert.p12)
+        包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
+        部分安全性要求较高的API需要使用该证书来确认您的调用身份
+        windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户号(如:1900006031)
+    证书pem格式(apiclient_cert.pem)
+        从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制
+        部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
+        您也可以使用openssl命令来自己导出:openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
+    证书密钥pem格式(apiclient_key.pem)
+        从apiclient_cert.p12中导出密钥部分的文件,为pem格式
+        部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
+        您也可以使用openssl命令来自己导出:openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
+备注说明:  
+        由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书,  2018年3月6日后, 不再提供CA证书文件(rootca.pem)下载