93 Коміти 3a23fe8274 ... d0f9487c3f

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

+ 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
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)下载