xxxrrrdddd 3 years ago
parent
commit
2674f0a31d
3 changed files with 195 additions and 11 deletions
  1. 56 2
      application/api/controller/MobileController.php
  2. 10 0
      application/common/model/Mobile.php
  3. 129 9
      public/api.html

+ 56 - 2
application/api/controller/MobileController.php

@@ -5,6 +5,7 @@ namespace app\api\controller;
 use app\common\controller\UserApi;
 use app\common\model\Area;
 use app\common\model\Mobile;
+use think\db\Query;
 
 /**
  * 靓号管理
@@ -27,11 +28,35 @@ class MobileController extends UserApi
      * @ApiParams (name="price_max",description="价格最高数字")
      * @ApiParams (name="exclude_num",description="排除数字")
      * @ApiParams (name="num_max",description="数字较多,传数字")
-     * @ApiParams (name="rule_position",description="规律位置")
+     * @ApiParams (name="rule_position",description="规律位置,middle中间,tail尾部")
      * @ApiParams (name="rule_name",description="规律名,设计图字母变小写传过来")
      * @ApiParams (name="limit",description="limit")
      * @ApiParams (name="page",description="page")
      * @ApiReturnParams (name=id,description=id)
+     * @ApiReturnParams (name=logo,description=缩略图)
+     * @ApiReturnParams (name=name,description=号码名称)
+     * @ApiReturnParams (name=no,description=手机号)
+     * @ApiReturnParams (name=type,description=1靓号2流量卡)
+     * @ApiReturnParams (name=network,description=运营商)
+     * @ApiReturnParams (name=city,description=城市)
+     * @ApiReturnParams (name=privince,description=省份)
+     * @ApiReturnParams (name=amount,description=售价)
+     * @ApiReturnParams (name=amount_original,description=原价)
+     * @ApiReturnParams (name=amount_exists,description=含话费)
+     * @ApiReturnParams (name=amount_base,description=售价)
+     * @ApiReturnParams (name=amount_charge,description=预充)
+     * @ApiReturnParams (name=summary,description=简介)
+     * @ApiReturnParams (name=saled,description=是否已出售)
+     * @ApiReturnParams (name=is_activity,description=是否特价号)
+     * @ApiReturnParams (name=activity_time_end,description=特价过期时间null永不过期)
+     * @ApiReturnParams (name="info.free_app",description=免流APP列表)
+     * @ApiReturnParams (name="info.describe",description="套餐说明|资费详情")
+     * @ApiReturnParams (name="info.content",description="详细内容|注意事项")
+     * @ApiReturnParams (name="info.flow_year",description="每年流量(G)")
+     * @ApiReturnParams (name="info.fee",description="资费")
+     * @ApiReturnParams (name="info.fee_unit",description="资费单位月还是年")
+     * @ApiReturnParams (name="info.first_month_free",description="首月是否免月租")
+     * @ApiReturnParams (name="info.discount_title",description="简要优惠介绍")
      */
     public function list(){
         $model=Mobile::show();
@@ -39,6 +64,7 @@ class MobileController extends UserApi
         $this->validate($data,[
             'keyword'=>['max:11'],
             'num_max'=>['integer','between:0,9'],
+            'rule_position'=>['in:middle,tail'],
         ]);
         if(!empty($data['search_type']) && !empty($data['keyword'])){
             if($data['search_type']=='fuzzy'){
@@ -88,7 +114,35 @@ class MobileController extends UserApi
         if(!empty($data['num_max'])){
             $model->where("filter_num_{$data['num_max']}",'>',3);
         }
-dd($model->buildSql());
+        $rules=[
+            'aaa'=>['middle'=>'filter_middle_3a','tail'=>'filter_tail_3a'],
+            'aaaa'=>['middle'=>'filter_middle_4a','tail'=>'filter_tail_4a'],
+            'aaaaa'=>['middle'=>'filter_middle_5a','tail'=>'filter_tail_5a'],
+            '6a'=>['middle'=>'filter_middle_6a','tail'=>'filter_tail_6a'],
+            '7a'=>['middle'=>'filter_middle_7a','tail'=>'filter_tail_7a'],
+            '8a'=>['middle'=>'filter_middle_8a','tail'=>'filter_tail_8a'],
+            'abc'=>['middle'=>'filter_middle_abc','tail'=>'filter_tail_abc'],
+            'abcd'=>['middle'=>'filter_middle_abcd','tail'=>'filter_tail_abcd'],
+            'abcde'=>['middle'=>'filter_middle_abcde','tail'=>'filter_tail_abcde'],
+            'abcdef'=>['middle'=>'filter_middle_abcdef','tail'=>'filter_tail_abcdef'],
+            'aaab'=>['middle'=>'filter_middle_3ab','tail'=>'filter_tail_3ab'],
+            'aaaab'=>['middle'=>'filter_middle_4ab','tail'=>'filter_tail_4ab'],
+            'aaaaab'=>['middle'=>'filter_middle_5ab','tail'=>'filter_tail_5ab'],
+        ];
+        if(!empty($data['rule_name'])){
+            if (!isset($rules[$data['rule_name']])) {
+                $this->error('规律规则有误');
+            }
+            $rule=$rules[$data['rule_name']];
+            if(!empty($data['rule_position'])) {
+                $model->where($rule[$data['rule_position']], 1);
+            }else{
+                $model->where(function (Query $query)use ($rule){
+                    $query->where($rule['middle'],1)->whereOr($rule['tail'],1);
+                });
+            }
+        }
+//dd($model->buildSql());
         $list=$model->paginate(input('limit',15));
         $this->success('',$list);
     }

+ 10 - 0
application/common/model/Mobile.php

@@ -13,6 +13,15 @@ class Mobile extends Model
 {
     use SoftDelete;
     protected $autoWriteTimestamp='int';
+    protected $hidden=[
+        'filter_exists_0','filter_num_0','filter_num_1','filter_num_2','filter_num_3','filter_num_4','filter_num_5','filter_num_6','filter_num_7',
+        'filter_num_8','filter_num_9','filter_middle_3a','filter_middle_4a','filter_middle_5a','filter_middle_6a','filter_middle_7a','filter_middle_8a',
+        'filter_middle_abc','filter_middle_abcd','filter_middle_abcde','filter_middle_abcdef','filter_middle_3ab','filter_middle_4ab','filter_middle_5ab',
+        'filter_no_pos_2','filter_no_pos_3','filter_no_pos_4','filter_no_pos_5','filter_no_pos_6','filter_no_pos_7','filter_no_pos_8','filter_no_pos_9',
+        'filter_no_pos_10','filter_no_pos_11','filter_tail_3a','filter_tail_4a','filter_tail_5a','filter_tail_6a','filter_tail_7a','filter_tail_8a',
+        'filter_tail_abc','filter_tail_abcd','filter_tail_abcde','filter_tail_abcdef','filter_tail_3ab','filter_tail_4ab','filter_tail_5ab',
+        'filter_exists_2','filter_exists_3','filter_exists_4','filter_exists_5','filter_exists_6','filter_exists_7','filter_exists_8','filter_exists_9',
+        ];
     public function info(){
         return $this->hasOne(MobileInfo::class);
     }
@@ -68,6 +77,7 @@ class Mobile extends Model
 
     public static function show(){
         $model=new self();
+        $model->with(['info']);
         return $model;
     }
 }

+ 129 - 9
public/api.html

@@ -1879,7 +1879,7 @@
                                                         <td>keyword</td>
                                                         <td>string</td>
                                                         <td>是</td>
-                                                        <td>搜索内容</td>
+                                                        <td>搜索内容,模糊就是字符串,精准就是数组</td>
                                                     </tr>
                                                                                                         <tr>
                                                         <td>sort</td>
@@ -1897,13 +1897,13 @@
                                                         <td>price_min</td>
                                                         <td>string</td>
                                                         <td>是</td>
-                                                        <td>价格最低</td>
+                                                        <td>价格最低数字</td>
                                                     </tr>
                                                                                                         <tr>
                                                         <td>price_max</td>
                                                         <td>string</td>
                                                         <td>是</td>
-                                                        <td>价格最高</td>
+                                                        <td>价格最高数字</td>
                                                     </tr>
                                                                                                         <tr>
                                                         <td>exclude_num</td>
@@ -1921,7 +1921,7 @@
                                                         <td>rule_position</td>
                                                         <td>string</td>
                                                         <td>是</td>
-                                                        <td>规律位置</td>
+                                                        <td>规律位置,middle中间,tail尾部</td>
                                                     </tr>
                                                                                                         <tr>
                                                         <td>rule_name</td>
@@ -1977,7 +1977,7 @@
                                                         </div>
                                                                                                                 <div class="form-group">
                                                             <label class="control-label" for="keyword">keyword</label>
-                                                            <input type="string" class="form-control input-sm" id="keyword" required placeholder="搜索内容" name="keyword">
+                                                            <input type="string" class="form-control input-sm" id="keyword" required placeholder="搜索内容,模糊就是字符串,精准就是数组" name="keyword">
                                                         </div>
                                                                                                                 <div class="form-group">
                                                             <label class="control-label" for="sort">sort</label>
@@ -1989,11 +1989,11 @@
                                                         </div>
                                                                                                                 <div class="form-group">
                                                             <label class="control-label" for="price_min">price_min</label>
-                                                            <input type="string" class="form-control input-sm" id="price_min" required placeholder="价格最低" name="price_min">
+                                                            <input type="string" class="form-control input-sm" id="price_min" required placeholder="价格最低数字" name="price_min">
                                                         </div>
                                                                                                                 <div class="form-group">
                                                             <label class="control-label" for="price_max">price_max</label>
-                                                            <input type="string" class="form-control input-sm" id="price_max" required placeholder="价格最高" name="price_max">
+                                                            <input type="string" class="form-control input-sm" id="price_max" required placeholder="价格最高数字" name="price_max">
                                                         </div>
                                                                                                                 <div class="form-group">
                                                             <label class="control-label" for="exclude_num">exclude_num</label>
@@ -2005,7 +2005,7 @@
                                                         </div>
                                                                                                                 <div class="form-group">
                                                             <label class="control-label" for="rule_position">rule_position</label>
-                                                            <input type="string" class="form-control input-sm" id="rule_position" required placeholder="规律位置" name="rule_position">
+                                                            <input type="string" class="form-control input-sm" id="rule_position" required placeholder="规律位置,middle中间,tail尾部" name="rule_position">
                                                         </div>
                                                                                                                 <div class="form-group">
                                                             <label class="control-label" for="rule_name">rule_name</label>
@@ -2054,6 +2054,126 @@
                                                                 <td>string</td>
                                                                 <td>id</td>
                                                             </tr>
+                                                                                                                        <tr>
+                                                                <td>logo</td>
+                                                                <td>string</td>
+                                                                <td>缩略图</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>name</td>
+                                                                <td>string</td>
+                                                                <td>号码名称</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>no</td>
+                                                                <td>string</td>
+                                                                <td>手机号</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>type</td>
+                                                                <td>string</td>
+                                                                <td>1靓号2流量卡</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>network</td>
+                                                                <td>string</td>
+                                                                <td>运营商</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>city</td>
+                                                                <td>string</td>
+                                                                <td>城市</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>privince</td>
+                                                                <td>string</td>
+                                                                <td>省份</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>amount</td>
+                                                                <td>string</td>
+                                                                <td>售价</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>amount_original</td>
+                                                                <td>string</td>
+                                                                <td>原价</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>amount_exists</td>
+                                                                <td>string</td>
+                                                                <td>含话费</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>amount_base</td>
+                                                                <td>string</td>
+                                                                <td>售价</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>amount_charge</td>
+                                                                <td>string</td>
+                                                                <td>预充</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>summary</td>
+                                                                <td>string</td>
+                                                                <td>简介</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>saled</td>
+                                                                <td>string</td>
+                                                                <td>是否已出售</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>is_activity</td>
+                                                                <td>string</td>
+                                                                <td>是否特价号</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>activity_time_end</td>
+                                                                <td>string</td>
+                                                                <td>特价过期时间null永不过期</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>info.free_app</td>
+                                                                <td>string</td>
+                                                                <td>免流APP列表</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>info.describe</td>
+                                                                <td>string</td>
+                                                                <td>套餐说明|资费详情</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>info.content</td>
+                                                                <td>string</td>
+                                                                <td>详细内容|注意事项</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>info.flow_year</td>
+                                                                <td>string</td>
+                                                                <td>每年流量(G</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>info.fee</td>
+                                                                <td>string</td>
+                                                                <td>资费</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>info.fee_unit</td>
+                                                                <td>string</td>
+                                                                <td>资费单位月还是年</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>info.first_month_free</td>
+                                                                <td>string</td>
+                                                                <td>首月是否免月租</td>
+                                                            </tr>
+                                                                                                                        <tr>
+                                                                <td>info.discount_title</td>
+                                                                <td>string</td>
+                                                                <td>简要优惠介绍</td>
+                                                            </tr>
                                                                                                                     </tbody>
                                                     </table>
                                                                                                     </div>
@@ -7124,7 +7244,7 @@
 
                 </div>
                 <div class="col-md-6" align="right">
-                    Generated on 2022-04-01 11:21:38 <a href="./" target="_blank">靓号</a>
+                    Generated on 2022-04-01 13:36:09 <a href="./" target="_blank">靓号</a>
                 </div>
             </div>