yingzi vor 1 Jahr
Ursprung
Commit
e9e2eb02fd
3 geänderte Dateien mit 240 neuen und 0 gelöschten Zeilen
  1. 43 0
      app/common.php
  2. 172 0
      app/system/controller/Audit.php
  3. 25 0
      app/system/route/audit.php

+ 43 - 0
app/common.php

@@ -1,5 +1,6 @@
 <?php
 // 应用公共文件
+use app\model\api\City as CityModel;
 
 function is_moblie($mobile){
     if (!is_numeric($mobile)) {
@@ -7,6 +8,48 @@ function is_moblie($mobile){
     }
     return preg_match('/^1[3456789]{1}\d{9}$/', $mobile) ? true : false;
 }
+
+
+/**
+ * 图片数组
+ * @param type $imgs
+ * @param type $sep
+ * @param type $limit
+ * @return type
+ */
+function getImageAr($imgs,$limit=-1,$sep = ","){
+    if(empty($imgs)){
+        return [];
+    }
+    //返回全部
+    if($limit==-1){
+        return explode($sep,$imgs);
+    }
+    if($limit==0){
+        return explode($sep,$imgs,1)[0];
+    }
+    return explode($sep,$imgs,$limit);
+}
+/**
+ * 获取区域信息
+ * @param type $id
+ */
+function getAreaItemAr($id){
+    $data = $CityModel->field("id,name,level")->where("id",$id)->find();
+    if(empty($data)){
+        return [];
+    }
+    if($data["level"]==0){
+        return [$data];
+    }
+    $parentData = $CityModel->field("id,name,level")->where("city_id",$data["parent_id"])->find();
+    if($data["level"]==1){
+        return [$parentData,$data];
+    }
+    $firstData = $CityModel->field("id,name,level")->where("city_id",$parentData["parent_id"])->find();
+    return [$firstData,$parentData,$data];
+}
+
 /**
  * 验证手机号是否正确
  * @param number $mobile

+ 172 - 0
app/system/controller/Audit.php

@@ -0,0 +1,172 @@
+<?php
+// +----------------------------------------------------------------------
+// | [ WE CAN DO IT MORE SIMPLE  ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2018-2020 rights reserved.
+// +----------------------------------------------------------------------
+// |
+// +----------------------------------------------------------------------
+// | Date: 2020-11-08 12:56
+// +----------------------------------------------------------------------
+
+namespace app\system\controller;
+
+
+use app\model\api\User as UserModel;
+use app\model\api\ServiceType as ServiceTypeModel;
+use app\model\api\InfoAudit;
+use app\model\api\TypeAudit;
+use app\model\api\UserAudit;
+use app\model\api\ServiceType;
+use app\model\api\ServiceTimeType;
+use app\model\api\City as CityModel;
+use app\model\api\Sys as SysModel;
+
+
+use think\db\exception\DbException;
+use think\facade\Db;
+use app\Request;
+use library\services\UtilService;
+use library\utils\UserUtilsTool;
+
+class Audit extends BaseController
+{
+    
+    /***********************************审核******************************/
+    /**
+     * 第一步审核初始化
+     * @return type
+     */
+    public function infoAuditInit()
+    {
+        return app('json')->success([
+            'all'  => (new InfoAudit)->count(),
+            'wait' => (new InfoAudit)->where('status', 0)->count(),
+            'ok'   => (new InfoAudit)->where('status', 1)->count(),
+            'no'   => (new InfoAudit)->where('status', -1)->count(),
+        ]);
+    }
+
+    /**
+     * 获取第一步审核列表
+     * @param Request $request
+     */
+    public function infoAuditList(Request $request)
+    {
+        $pageSize = 50;
+        $post     = UtilService::getMore(
+            [
+                ['page', 1],
+                ['keyword',''],
+                ['status', ''],
+                ['uid', ''],
+                ['time',[]],
+            ], $request
+        );
+        $where    = [];
+        if(is_numeric($post['status'])) {
+            $where[]=["t.status","=",(int)$post['status']];
+        }
+        if(is_numeric($post['uid']) && $post['uid']>0) {
+            $where[]=["t.uid","=",(int)$post['uid']];
+        }
+        $startTime = "";
+        $endTime = "";
+        if(!empty($post['time'][0]) && !empty($post['time'][1])) {
+           $startTime =  strtotime($post['time'][0]);
+           $endTime = strtotime($post['time'][1]);
+           $where[]=["t.time","between","{$startTime},{$endTime}"];
+        }
+        if(!empty($post['keyword'])){
+            $where[]=["t.name","=",$post['keyword']];
+        }
+        $pageCount = (new InfoAudit)->alias("t")->where($where)->count();
+        $data = null;
+        if($pageCount>0){
+            $data = (new InfoAudit)
+                ->alias("t")
+                ->field("t.*,u.nickname,a.username as admin_name,s.title as service_time_type_title")
+                ->leftJoin("user u", "u.uid = t.uid")
+                ->leftJoin("admin a", "a.id = t.admin_id")
+                ->leftJoin("service_time_type s", "s.code = t.service_type")
+                ->where($where)
+                ->page((int)$post["page"], $pageSize)
+                ->order("t.id","desc")
+                ->select()
+                ->toArray();
+        }
+        $data = empty($data) ? [] : $data;
+        $serviceTypeModel = new ServiceTypeModel();
+        foreach($data as $k=>$v){
+            $data[$k]["birthday"]   = empty($v["birthday"])  ?"":date("Y-m-d",$v["birthday"]);
+            $data[$k]["admin_time"] = empty($v["admin_time"])?"":date("Y-m-d H:i:s",$v["admin_time"]);
+            $data[$k]["birthday"]   = date("Y-m-d H:i:s",$v["time"]);
+            
+            $data[$k]["service_audit_imgs"] = getImageAr($v["service_audit_imgs"]);
+            $data[$k]["service_intro_imgs"] = getImageAr($v["service_intro_imgs"]);
+            
+            //服务区域
+            $data[$k]["service_area"] = getImageAr($v["service_area"]);
+            $data[$k]["service_area_all"] = [];
+            foreach($data[$k]["service_area"] as $k2=>$v2){
+                $data[$k]["service_area_all"][]=getAreaItemAr($v2);
+            }
+            //服务内容
+            $data[$k]["service_project"]    = getImageAr($v["service_project"]);
+            $data[$k]["service_project_ar"] = [];
+            if(!empty($data[$k]["service_project"])){
+                $data[$k]["service_project_ar"] = $serviceTypeModel->where("id","in",$data[$k]["service_project"])->select();
+            }
+        }
+        return app('json')->success([
+            'list'      => $data,
+            'pageCount' => $pageCount,
+            'pageSize'  => $pageSize,
+            'page'      => $post['page'],
+        ]);
+    }
+    /**
+     * 第一步审核处理
+     * @param Request $request
+     */
+    public function infoAuditSub(Request $request)
+    {
+        $post   = UtilService::getMore(
+            [
+                ['id', '', 'empty', '参数错误'],
+                ['mono'],
+                ['type', 0],
+            ], $request);
+        $certData = (new InfoAudit)->where('id', $post['id'])->find();
+        if (empty($certData)) {
+            return app('json')->fail('数据不存在');
+        }
+        if ($certData['status']!=0) {
+            return app('json')->fail( '当前审核已处理');
+        }
+        //审核通过
+        if ($post['type'] == 1) {
+            (new InfoAudit)
+                ->where('id', $post['id'])
+                ->save([
+                    'status'     => 1,
+                    'admin_mono' => $post['mono'],
+                    'audit_time' => time(),
+                    'admin_id'   => $request->adminInfo['id'],
+                ]);
+            return app('json')->success('操作成功');
+        }
+        //审核驳回
+        if ($post['type'] == -1) {
+            (new InfoAudit)
+                ->where('id', $post['id'])
+                ->save([
+                    'status'     => -1,
+                    'admin_mono' => $post['mono'],
+                    'audit_time' => time(),
+                    'admin_id'   => $request->adminInfo['id'],
+                ]);
+            return app('json')->success('已驳回');
+        }
+    }
+}

+ 25 - 0
app/system/route/audit.php

@@ -0,0 +1,25 @@
+<?php
+// +----------------------------------------------------------------------
+// | [ WE CAN DO IT MORE SIMPLE  ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2018-2020 rights reserved.
+// +----------------------------------------------------------------------
+// | 
+// +----------------------------------------------------------------------
+// | Date: 2020-09-05 09:21
+// +----------------------------------------------------------------------
+
+use think\facade\Route;
+//@用户审核
+Route::group('audit', function () {
+    //@信息审核统计
+    Route::rule('infoAuditInit','audit/infoAuditInit');
+    //@信息审核列表
+    Route::rule('infoAuditList', 'audit/infoAuditList');
+    //@信息审核处理
+    Route::rule('infoAuditSub','audit/infoAuditSub');
+})->middleware([
+    \app\system\middleware\AllowOriginMiddleware::class,
+    \app\system\middleware\AdminAuthTokenMiddleware::class,
+    \app\system\middleware\AdminCkeckRoleMiddleware::class
+]);