xxxrrrdddd 3 years ago
parent
commit
27c2b44af1

+ 39 - 14
application/api/controller/MobileController.php

@@ -6,6 +6,7 @@ use app\common\controller\UserApi;
 use app\common\library\MobileConstant;
 use app\common\model\Area;
 use app\common\model\Mobile;
+use think\Db;
 use think\db\Query;
 
 /**
@@ -152,6 +153,44 @@ class MobileController extends UserApi
         $this->success('',$mobile);
     }
     /**
+     * 下单
+     * @ApiMethod (POST)
+     * @ApiParams (name=mobile_id,description=手机号ID)
+     * @ApiParams (name=name,description=姓名)
+     * @ApiParams (name=phone,description=手机号)
+     * @ApiParams (name=sms_code,description=验证码)
+     * @ApiParams (name=id_no,description=身份号码)
+     * @ApiParams (name=county,description="城市ID,区县id")
+     * @ApiParams (name=address,description=详细地址)
+     * @ApiParams (name=remark,description=备注)
+     * @ApiParams (name=pay_type,description="1微信2支付宝3京东")
+     *
+     */
+    public function apply(){
+        $data=$this->_validate([
+            'mobile_id'=>'require',
+            'name'=>'require',
+            'phone'=>'require',
+            'id_no'=>'require',
+            'county'=>'require|integer',
+            'address'=>'require',
+            'pay_type'=>'require|in:1,2,3',
+        ]);
+        $mobile=Mobile::findOrFail($data['mobile_id']);
+
+        Db::startTrans();
+        $order=$data;
+        $order['admin_id']=$mobile['proxy_id'];
+        $order['no']=$mobile['no'];
+        $order['city']=implode(',',Area::getTreeId($data['county']));
+        $order['amount_original']=$mobile['amount_original'];
+        $order['amount_hd']=$mobile['amount'];
+        $order['amount_charge']=$mobile['amount_charge'];
+        $order['amount']=$mobile['amount'];
+        unset($order['county'],$order['status'],$order['sms_code']);
+        $mobile->orders()->save($order);
+    }
+    /**
      * 筛选配置
      *
      */
@@ -177,18 +216,4 @@ class MobileController extends UserApi
 
         $this->success('',$config);
     }
-    /**
-     * 下单
-     * @ApiParams (name=name,description=姓名)
-     * @ApiParams (name=phone,description=手机号)
-     * @ApiParams (name=sms_code,description=验证码)
-     * @ApiParams (name=id_no,description=身份号码)
-     * @ApiParams (name=county_id,description="城市ID,省市县数组[1,2,3]")
-     * @ApiParams (name=address,description=详细地址)
-     * @ApiParams (name=remark,description=备注)
-     *
-     */
-    public function apply(){
-
-    }
 }

+ 13 - 0
application/common/model/Area.php

@@ -117,4 +117,17 @@ class Area extends Model
     public static function getIdByName($name){
         return self::where('name|shortname',$name)->value('id');
     }
+
+    public static function getTreeId($id){
+        $county=self::where('id',$id)->area()->find();
+        if(!$county){
+            throw_user('区县不存在');
+        }
+        $cityId=$county['pid'];
+        $provinceId=self::where('id',$cityId)->value('pid');
+        if(!$provinceId){
+            throw_user('省不存在');
+        }
+        return [$provinceId,$cityId,$id];
+    }
 }

+ 1 - 0
application/common/model/MobileOrder.php

@@ -38,6 +38,7 @@ class MobileOrder extends Model
     {
         self::beforeInsert(function (self $mobileOrder){
             $mobileOrder['order_no']=order_no();
+            $mobileOrder['expire_time']=time()+86400;
         });
     }
 }

+ 16 - 7
application/index/controller/Payment.php

@@ -2,8 +2,8 @@
 
 namespace app\index\controller;
 
+use addons\epay\library\Service;
 use app\common\controller\Frontend;
-use think\Db;
 
 /**
  * 第三方登录控制器
@@ -11,11 +11,20 @@ use think\Db;
 class Payment extends Frontend
 {
     protected $noNeedLogin='*';
-    public function index($order_no){
-        Db::startTrans();
-        $payment=\app\common\model\Payment::where('order_no',$order_no)->lock(true)->find();
-        $res=$payment->payed();
-        Db::commit();
-        return $res;
+
+    /**
+     * 支付成功回调
+     */
+    public function notify($type,$order_no)
+    {
+        if (!Service::checkNotify($type)) {
+            echo '签名错误';
+            return;
+        }
+
+        //你可以在这里你的业务处理逻辑,比如处理你的订单状态、给会员加余额等等功能
+        //下面这句必须要执行,且在此之前不能有任何输出
+        echo "success";
+        return;
     }
 }

+ 112 - 92
public/api.html

@@ -206,10 +206,10 @@
                                                 <a href="#cda77cd21c524dd7bfe8dd88e9efb823" md5="cda77cd21c524dd7bfe8dd88e9efb823" data-id="12" class="list-group-item api-list">号码详情                            <span class="tag">
                                                             </span>
                         </a>
-                                                <a href="#e703e18e1619ec94ddcc4055a7a47965" md5="e703e18e1619ec94ddcc4055a7a47965" data-id="13" class="list-group-item api-list">筛选配置                            <span class="tag">
+                                                <a href="#9abc44a32a2cee9e5274673884ef78d4" md5="9abc44a32a2cee9e5274673884ef78d4" data-id="13" class="list-group-item api-list">下单                            <span class="tag">
                                                             </span>
                         </a>
-                                                <a href="#9abc44a32a2cee9e5274673884ef78d4" md5="9abc44a32a2cee9e5274673884ef78d4" data-id="14" class="list-group-item api-list">下单                            <span class="tag">
+                                                <a href="#e703e18e1619ec94ddcc4055a7a47965" md5="e703e18e1619ec94ddcc4055a7a47965" data-id="14" class="list-group-item api-list">筛选配置                            <span class="tag">
                                                             </span>
                         </a>
                                             </div>
@@ -2501,8 +2501,8 @@
                                 <div class="panel panel-default">
                     <div class="panel-heading" id="heading-13">
                         <h4 class="panel-title">
-                            <span class="label label-success">GET</span>
-                            <a data-toggle="collapse" data-parent="#accordion13" href="#collapseOne13"> 筛选配置 <span class="text-muted">/api/mobile_controller/config</span></a>
+                            <span class="label label-primary">POST</span>
+                            <a data-toggle="collapse" data-parent="#accordion13" href="#collapseOne13"> 下单 <span class="text-muted">/api/mobile_controller/apply</span></a>
                         </h4>
                     </div>
                     <div id="collapseOne13" class="panel-collapse collapse">
@@ -2520,7 +2520,7 @@
 
                                 <div class="tab-pane active" id="info13">
                                     <div class="well">
-                                        筛选配置                                    </div>
+                                        下单                                    </div>
                                     <div class="panel panel-default">
                                         <div class="panel-heading"><strong>权限</strong></div>
                                         <div class="panel-body">
@@ -2547,7 +2547,72 @@
                                     <div class="panel panel-default">
                                         <div class="panel-heading"><strong>参数</strong></div>
                                         <div class="panel-body">
-                                                                                        无
+                                                                                        <table class="table table-hover">
+                                                <thead>
+                                                    <tr>
+                                                        <th>名称</th>
+                                                        <th>类型</th>
+                                                        <th>必选</th>
+                                                        <th>描述</th>
+                                                    </tr>
+                                                </thead>
+                                                <tbody>
+                                                                                                        <tr>
+                                                        <td>mobile_id</td>
+                                                        <td>string</td>
+                                                        <td>是</td>
+                                                        <td>手机号ID</td>
+                                                    </tr>
+                                                                                                        <tr>
+                                                        <td>name</td>
+                                                        <td>string</td>
+                                                        <td>是</td>
+                                                        <td>姓名</td>
+                                                    </tr>
+                                                                                                        <tr>
+                                                        <td>phone</td>
+                                                        <td>string</td>
+                                                        <td>是</td>
+                                                        <td>手机号</td>
+                                                    </tr>
+                                                                                                        <tr>
+                                                        <td>sms_code</td>
+                                                        <td>string</td>
+                                                        <td>是</td>
+                                                        <td>验证码</td>
+                                                    </tr>
+                                                                                                        <tr>
+                                                        <td>id_no</td>
+                                                        <td>string</td>
+                                                        <td>是</td>
+                                                        <td>身份号码</td>
+                                                    </tr>
+                                                                                                        <tr>
+                                                        <td>county</td>
+                                                        <td>string</td>
+                                                        <td>是</td>
+                                                        <td>城市ID,区县id</td>
+                                                    </tr>
+                                                                                                        <tr>
+                                                        <td>address</td>
+                                                        <td>string</td>
+                                                        <td>是</td>
+                                                        <td>详细地址</td>
+                                                    </tr>
+                                                                                                        <tr>
+                                                        <td>remark</td>
+                                                        <td>string</td>
+                                                        <td>是</td>
+                                                        <td>备注</td>
+                                                    </tr>
+                                                                                                        <tr>
+                                                        <td>pay_type</td>
+                                                        <td>string</td>
+                                                        <td>是</td>
+                                                        <td>1微信2支付宝3京东</td>
+                                                    </tr>
+                                                                                                    </tbody>
+                                            </table>
                                                                                     </div>
                                     </div>
                                     <div class="panel panel-default">
@@ -2567,9 +2632,42 @@
                                                 </div>
                                                 </div>
                                                 <div class="panel-body">
-                                                    <form enctype="application/x-www-form-urlencoded" role="form" action="/api/mobile_controller/config" method="get" name="form13" id="form13">
+                                                    <form enctype="application/x-www-form-urlencoded" role="form" action="/api/mobile_controller/apply" method="POST" name="form13" id="form13">
                                                                                                                 <div class="form-group">
-                                                            无
+                                                            <label class="control-label" for="mobile_id">mobile_id</label>
+                                                            <input type="string" class="form-control input-sm" id="mobile_id" required placeholder="手机号ID" name="mobile_id">
+                                                        </div>
+                                                                                                                <div class="form-group">
+                                                            <label class="control-label" for="name">name</label>
+                                                            <input type="string" class="form-control input-sm" id="name" required placeholder="姓名" name="name">
+                                                        </div>
+                                                                                                                <div class="form-group">
+                                                            <label class="control-label" for="phone">phone</label>
+                                                            <input type="string" class="form-control input-sm" id="phone" required placeholder="手机号" name="phone">
+                                                        </div>
+                                                                                                                <div class="form-group">
+                                                            <label class="control-label" for="sms_code">sms_code</label>
+                                                            <input type="string" class="form-control input-sm" id="sms_code" required placeholder="验证码" name="sms_code">
+                                                        </div>
+                                                                                                                <div class="form-group">
+                                                            <label class="control-label" for="id_no">id_no</label>
+                                                            <input type="string" class="form-control input-sm" id="id_no" required placeholder="身份号码" name="id_no">
+                                                        </div>
+                                                                                                                <div class="form-group">
+                                                            <label class="control-label" for="county">county</label>
+                                                            <input type="string" class="form-control input-sm" id="county" required placeholder="城市ID,区县id" name="county">
+                                                        </div>
+                                                                                                                <div class="form-group">
+                                                            <label class="control-label" for="address">address</label>
+                                                            <input type="string" class="form-control input-sm" id="address" required placeholder="详细地址" name="address">
+                                                        </div>
+                                                                                                                <div class="form-group">
+                                                            <label class="control-label" for="remark">remark</label>
+                                                            <input type="string" class="form-control input-sm" id="remark" required placeholder="备注" name="remark">
+                                                        </div>
+                                                                                                                <div class="form-group">
+                                                            <label class="control-label" for="pay_type">pay_type</label>
+                                                            <input type="string" class="form-control input-sm" id="pay_type" required placeholder="1微信2支付宝3京东" name="pay_type">
                                                         </div>
                                                                                                                 <div class="form-group form-group-submit">
                                                             <button type="submit" class="btn btn-success send" rel="13">提交</button>
@@ -2615,7 +2713,7 @@
                     <div class="panel-heading" id="heading-14">
                         <h4 class="panel-title">
                             <span class="label label-success">GET</span>
-                            <a data-toggle="collapse" data-parent="#accordion14" href="#collapseOne14"> 下单 <span class="text-muted">/api/mobile_controller/apply</span></a>
+                            <a data-toggle="collapse" data-parent="#accordion14" href="#collapseOne14"> 筛选配置 <span class="text-muted">/api/mobile_controller/config</span></a>
                         </h4>
                     </div>
                     <div id="collapseOne14" class="panel-collapse collapse">
@@ -2633,7 +2731,7 @@
 
                                 <div class="tab-pane active" id="info14">
                                     <div class="well">
-                                        下单                                    </div>
+                                        筛选配置                                    </div>
                                     <div class="panel panel-default">
                                         <div class="panel-heading"><strong>权限</strong></div>
                                         <div class="panel-body">
@@ -2660,60 +2758,7 @@
                                     <div class="panel panel-default">
                                         <div class="panel-heading"><strong>参数</strong></div>
                                         <div class="panel-body">
-                                                                                        <table class="table table-hover">
-                                                <thead>
-                                                    <tr>
-                                                        <th>名称</th>
-                                                        <th>类型</th>
-                                                        <th>必选</th>
-                                                        <th>描述</th>
-                                                    </tr>
-                                                </thead>
-                                                <tbody>
-                                                                                                        <tr>
-                                                        <td>name</td>
-                                                        <td>string</td>
-                                                        <td>是</td>
-                                                        <td>姓名</td>
-                                                    </tr>
-                                                                                                        <tr>
-                                                        <td>phone</td>
-                                                        <td>string</td>
-                                                        <td>是</td>
-                                                        <td>手机号</td>
-                                                    </tr>
-                                                                                                        <tr>
-                                                        <td>sms_code</td>
-                                                        <td>string</td>
-                                                        <td>是</td>
-                                                        <td>验证码</td>
-                                                    </tr>
-                                                                                                        <tr>
-                                                        <td>id_no</td>
-                                                        <td>string</td>
-                                                        <td>是</td>
-                                                        <td>身份号码</td>
-                                                    </tr>
-                                                                                                        <tr>
-                                                        <td>county_id</td>
-                                                        <td>string</td>
-                                                        <td>是</td>
-                                                        <td>城市ID,省市县数组[1,2,3]</td>
-                                                    </tr>
-                                                                                                        <tr>
-                                                        <td>address</td>
-                                                        <td>string</td>
-                                                        <td>是</td>
-                                                        <td>详细地址</td>
-                                                    </tr>
-                                                                                                        <tr>
-                                                        <td>remark</td>
-                                                        <td>string</td>
-                                                        <td>是</td>
-                                                        <td>备注</td>
-                                                    </tr>
-                                                                                                    </tbody>
-                                            </table>
+                                                                                        无
                                                                                     </div>
                                     </div>
                                     <div class="panel panel-default">
@@ -2733,34 +2778,9 @@
                                                 </div>
                                                 </div>
                                                 <div class="panel-body">
-                                                    <form enctype="application/x-www-form-urlencoded" role="form" action="/api/mobile_controller/apply" method="get" name="form14" id="form14">
-                                                                                                                <div class="form-group">
-                                                            <label class="control-label" for="name">name</label>
-                                                            <input type="string" class="form-control input-sm" id="name" required placeholder="姓名" name="name">
-                                                        </div>
+                                                    <form enctype="application/x-www-form-urlencoded" role="form" action="/api/mobile_controller/config" method="get" name="form14" id="form14">
                                                                                                                 <div class="form-group">
-                                                            <label class="control-label" for="phone">phone</label>
-                                                            <input type="string" class="form-control input-sm" id="phone" required placeholder="手机号" name="phone">
-                                                        </div>
-                                                                                                                <div class="form-group">
-                                                            <label class="control-label" for="sms_code">sms_code</label>
-                                                            <input type="string" class="form-control input-sm" id="sms_code" required placeholder="验证码" name="sms_code">
-                                                        </div>
-                                                                                                                <div class="form-group">
-                                                            <label class="control-label" for="id_no">id_no</label>
-                                                            <input type="string" class="form-control input-sm" id="id_no" required placeholder="身份号码" name="id_no">
-                                                        </div>
-                                                                                                                <div class="form-group">
-                                                            <label class="control-label" for="county_id">county_id</label>
-                                                            <input type="string" class="form-control input-sm" id="county_id" required placeholder="城市ID,省市县数组[1,2,3]" name="county_id">
-                                                        </div>
-                                                                                                                <div class="form-group">
-                                                            <label class="control-label" for="address">address</label>
-                                                            <input type="string" class="form-control input-sm" id="address" required placeholder="详细地址" name="address">
-                                                        </div>
-                                                                                                                <div class="form-group">
-                                                            <label class="control-label" for="remark">remark</label>
-                                                            <input type="string" class="form-control input-sm" id="remark" required placeholder="备注" name="remark">
+                                                            无
                                                         </div>
                                                                                                                 <div class="form-group form-group-submit">
                                                             <button type="submit" class="btn btn-success send" rel="14">提交</button>
@@ -7852,7 +7872,7 @@
 
                 </div>
                 <div class="col-md-6" align="right">
-                    Generated on 2022-04-08 10:53:32 <a href="./" target="_blank">靓号</a>
+                    Generated on 2022-04-08 13:45:12 <a href="./" target="_blank">靓号</a>
                 </div>
             </div>