Kirin 2 years ago
parent
commit
4745c32d8c

+ 57 - 0
addons/epay/controller/Api.php

@@ -7,6 +7,8 @@ use addons\epay\library\Service;
 
 use addons\epay\library\Wechat;
 use addons\third\model\Third;
+use app\api\model\Delivery;
+use app\api\model\DeliveryTrade;
 use app\common\library\Auth;
 use think\addons\Controller;
 use think\Response;
@@ -555,4 +557,59 @@ class Api extends Controller
         }
     }
 
+
+
+    /**
+     * 支付成功回调
+     */
+    public function notifyxde()
+    {
+        /*  $type = $this->request->param('type');
+          if (!Service::checkNotify($type)) {
+              echo '签名错误';
+              return;
+          }
+
+          */
+        $xml = simplexml_load_string(file_get_contents("php://input"), 'SimpleXMLElement', LIBXML_NOCDATA);
+        foreach ($xml as $k => $v) {
+            $data[(string) $k] = (string) $v;
+        }
+        //  print_r($order_id);
+        $trade = DeliveryTrade::where('out_trade_no', $data['out_trade_no'])->where('status', 'unpay')->find();
+
+        if ($trade) {
+            if ($data['return_code'] == 'SUCCESS') {
+                // 更发货交易订单状态
+                $trade->save([
+                    'pay_method' => 'alipay',
+                    'pay_rmb' => $data['total_amount'],
+                    'alipay_trade_no' => $data['trade_no'],
+                    'pay_time' => time(),
+                    'status' => 'paid'
+                ]);
+                // 变更发货订单状态
+                $deliveryOrder = Delivery::where('delivery_trade_id', $trade->id)->select();
+                $prizeIds = [];
+                foreach ($deliveryOrder as $order) {
+                    $order->save(['status' => 'undelivered']);
+                    $prizeIds[] = $order->prize_id;
+                }
+                // 变更奖品状态
+                Prizerecord::whereIn('id', $prizeIds)->update(['status' => 'delivery', 'delivery_time' => time()]);
+            } else {
+                echo 'fail';
+            }
+        } else {
+            echo 'fail';
+        }
+        return;
+    }
+
+
+    public function deliverypaysuccess()
+    {
+        $this->success("恭喜你!支付成功!", '/h5/#/');
+    }
+
 }

+ 2 - 1
application/admin/controller/setting/Setting.php

@@ -75,7 +75,7 @@ class Setting extends Backend
                         $row->validateFailException(true)->validate($validate);
                     }
                   
-                    $result = $row->allowField('logo_image,one_rmb_to_coin_num,hot_box_banner,cheap_box_banner,recovery_discount,service_number,service_qrcode,retail_1,retail_2,retail_3,kou,url,openurl,registerurl')->save($params);
+                    $result = $row->allowField('logo_image,one_rmb_to_coin_num,hot_box_banner,cheap_box_banner,recovery_discount,service_number,service_qrcode,retail_1,retail_2,retail_3,kou,url,openurl,registerurl,check_switch')->save($params);
                     Db::commit();
                 } catch (ValidateException $e) {
                     Db::rollback();
@@ -96,6 +96,7 @@ class Setting extends Backend
             $this->error(__('Parameter %s can not be empty', ''));
         }
         $this->view->assign("row", $row);
+        $this->view->assign("statusList", [1 => __('开启'), 0 => __('关闭')]);
         return $this->view->fetch();
     }
 

+ 8 - 1
application/admin/view/setting/setting/index.html

@@ -127,7 +127,14 @@
                                 <input id="c-openurl"  class="form-control" name="row[registerurl]" type="text" value="{$row.registerurl|htmlentities}">
                             </div>
                         </div>
-                        
+                        <div class="form-group">
+                            <label class="control-label col-xs-12 col-sm-2">{:__('审核开关')}:</label>
+                            <div class="col-xs-12 col-sm-8">
+
+                                {:Form::radios('row[check_switch]',$statusList,$row['check_switch'])}
+
+                            </div>
+                        </div>
                         
                         <hr/>
                         <div class="form-group layer-footer">

+ 2 - 14
application/api/controller/Wechat.php

@@ -123,26 +123,14 @@ class Wechat extends Frontend
             'orderid' => $order->out_trade_no,
             'type' => "",
             'title' => '',
-            'notifyurl' => $this->request->domain() . '/api/alipay/notifyx/orderfrom/delivery',
-            'returnurl' => $this->request->domain() . '/api/alipay/deliverypaysuccess',
+            'notifyurl' => $this->request->domain() . '/addons/epay/api/notifyxde',
+            'returnurl' => $this->request->domain() . '/addons/epay/api/returnx2222222',
             'method' => "miniapp",
             'body' => '快递费用',
             'openid' => \app\common\model\User::where('id', $order['user_id'])->value('openid'),
         ];
 
 
-//        $data = [
-//            'amount'    => $order['rmb_amount'],
-//            'orderid'   => $order['out_trade_no'],
-//            'type'      => '',
-//            'title'     => '',
-//            'notifyurl' => $this->request->domain() . '/addons/epay/api/notifyx2',
-//            'returnurl' => $this->request->domain() .'/addons/epay/api/returnx2222222',
-//            'method'    => 'miniapp',
-//            'body' => '充值',
-//            'openid'    => \app\common\model\User::where('id', $order['user_id'])->value('openid'),
-//        ];
-
 
         $res = Service::submitOrder($params);
         $data = [