AI 4 månader sedan
förälder
incheckning
12b828a3ef

+ 232 - 21
app/JsonRpc/PublicRpcService.php

@@ -7,8 +7,15 @@ use App\Model\LetterOfComplaint;
 use App\Model\LetterType;
 use App\Model\LevelUser;
 use App\Model\UserLevel;
+use App\Model\TemplateClass;
+use App\Model\Template;
+use App\Model\WebsiteTemplate;
+use App\Model\WebsiteTemplateInfo;
+use App\Model\Sector;
+use App\Model\Component;
 use App\Tools\Result;
 use Hyperf\RpcServer\Annotation\RpcService;
+use Hyperf\Support\Collection;
 
 #[RpcService(name: "PublicRpcService", protocol: "jsonrpc-http", server: "jsonrpc-http")]
 class PublicRpcService implements PublicRpcServiceInterface
@@ -21,24 +28,24 @@ class PublicRpcService implements PublicRpcServiceInterface
     public function getDistrictList(array $data): array
     {
         $where = [];
-       if(isset($data['keyWord'])){
-           $where = [
-               ['name','like','%'.$data['keyWord'].'%']
-           ];
-        }
-        $result  = [];
-        if(isset($data['pageSize'])){
-            $rep = District::where($where)->limit($data['pageSize'])->offset(($data['page']-1)*$data['pageSize'])->orderBy("code","asc")->get();
+        if (isset($data['keyWord'])) {
+            $where = [
+                ['name', 'like', '%' . $data['keyWord'] . '%'],
+            ];
+        }
+        $result = [];
+        if (isset($data['pageSize'])) {
+            $rep = District::where($where)->limit($data['pageSize'])->offset(($data['page'] - 1) * $data['pageSize'])->orderBy("code", "asc")->get();
             $count = District::where($where)->count();
             $result = [
-                'rows'=>$rep,
-                'count'=>$count
+                'rows' => $rep,
+                'count' => $count,
 
             ];
-        }else{
-            $result = District::where($data)->orderBy("code","asc")->get();
+        } else {
+            $result = District::where($data)->orderBy("code", "asc")->get();
         }
-        return $result?Result::success($result):Result::error("没有查到数据");
+        return $result ? Result::success($result) : Result::error("没有查到数据");
     }
 
     /**
@@ -316,10 +323,10 @@ class PublicRpcService implements PublicRpcServiceInterface
         if (isset($data['type'])) {
             array_push($where, ['type', '=', $data['type']]);
         }
-        if (isset($data['pid']) && $data['pid']>0) {
+        if (isset($data['pid']) && $data['pid'] > 0) {
             array_push($where, ['pid', '=', $data['pid']]);
         }
-        $result = LetterType::where($where)->orderBy('sort','asc')->get();
+        $result = LetterType::where($where)->orderBy('sort', 'asc')->get();
         return $result ? Result::success($result) : Result::error("没有查到数据");
     }
     /**
@@ -463,23 +470,227 @@ class PublicRpcService implements PublicRpcServiceInterface
         }
     }
 
-
     /**
      * 查询职能列表
      * @param array $data
      * @return array
      */
-    public function getDepartment(array $data) :array
+    public function getDepartment(array $data): array
     {
         $where = [
-            'pid'=>$data['pid']??0
+            'pid' => $data['pid'] ?? 0,
         ];
-        $result = Department::where($where)->orderBy("sort","desc")->get();
+        $result = Department::where($where)->orderBy("sort", "desc")->get();
         if (empty($result)) {
             return Result::error("查询失败", 0);
-        }else{
+        } else {
             return Result::success($result);
         }
     }
-}
+    /**
+     * 获取getTemplateClass
+     * @param array $data
+     * @return array
+     */
+    public function getTemplateClass(array $data): array
+    {
+        $result = TemplateClass::get();
+        return Result::success($result);
+    }
+    public function getTemplateList(array $data): array
+    {
+        $where = [];
+        if (!empty($data['template_class_id'])) {
+            $where['template_class_id'] = $data['template_class_id'];
+        }
+        if (!empty($data['template_name'])) {
+            $where['template_name'] = $data['template_name'];
+        }
+        $result = Template::where($where)
+            ->leftJoin('template_class', 'template.template_class_id', 'template_class.id')
+            ->select('template.*', 'template_class.name as template_class_name')
+            ->orderBy('template.id', 'desc')
+            ->paginate($data['page_size'], ['*'], 'mypage_name', $data['page']);
+        // 使用 items 方法获取分页数据
+        // $items = collect($result->items());
+        // $items->each(function ($item) {
+        //     $item['template_content'] = json_decode($item['template_content'], true);
+        // });
+        return Result::success($result);
+    }
+    public function getTemplateInfo(array $data): array
+    {
+        $result = Template::where('template.id', $data['id'])
+            ->leftJoin('template_class', 'template.template_class_id', 'template_class.id')
+            ->select('template.*', 'template_class.name as template_class_name')
+            ->first();
+        return Result::success($result);
+    }
+    public function addTemplate(array $data): array
+    {
+        var_dump($data);
+        unset($data['user_id']);
+        $result = Template::insertGetId($data);
+        if ($result) {
+            $returData = Template::where('id', $result)->first();
+            return Result::success($returData);
+        } else {
+            return Result::error("添加失败", 0);
+        }
+    }
+    public function delTemplate(array $data): array
+    {
+        $result = Template::where('id', $data['id'])->delete();
+        var_dump($result, '-------------------delete');
+        if ($result) {
+            return Result::success($result);
+        } else {
+            return Result::error("删除失败", 0);
+        }
+    }
+    public function updateTemplate(array $data): array
+    {
+        unset($data['user_id']);
+        $result = Template::where('id', $data['id'])->update($data);
+        var_dump($result, '-------------------update');
+        if (!$result) {
+            return Result::error("更新失败", 0);
+        } else {
+            return Result::success('更新成功');
+        }
+    }
+    public function getSectorList(array $data): array
+    {
+        $where = [];
+        if (!empty($data['template_class_id'])) {
+            $where['template_class_id'] = $data['template_class_id'];
+        }
+        if (!empty($data['template_name'])) {
+            $where['template_name'] = $data['template_name'];
+        }
+
+        $result = Sector::where($where)
+            ->leftJoin('template', 'template.id', '=', 'sector.template_id')
+            ->leftJoin('template_class', 'template_class.id', '=', 'template.template_class_id') // 添加这一行
+            ->select('sector.*', 'template.template_name', 'template_class.name as template_class_name', 'template_class.id as template_class_id') // 修改这一行
+            ->orderBy('sector.id', 'desc')
+            ->paginate($data['page_size'], ['*'], 'mypage_name', $data['page']);
+
+        return Result::success($result);
+    }
+    public function getSectorInfo(array $data): array
+    {
+        $where = [];
+        $where[] = ['sector.id', '=', $data['id']];
+        $result = Sector::where($where)
+            ->leftJoin('template', 'template.id', '=', 'sector.template_id')
+            ->leftJoin('template_class', 'template_class.id', '=', 'template.template_class_id') // 添加这一行
+            ->select('sector.*', 'template.template_name', 'template_class.name as template_class_name', 'template_class.id as template_class_id') // 修改这一行
+            ->orderBy('sector.id', 'desc')
+            ->get();
+        return Result::success($result);
+    }
+    public function addSector(array $data): array
+    {
+        unset($data['user_id']);
+        $result = Sector::insertGetId($data);
+        return Result::success();
+    }
+    public function delSector(array $data): array
+    {
+        $result = Sector::where('id', $data['id'])->delete();
+        if ($result == 1) {
+            return Result::success('删除成功');
+        } else {
+            return Result::error('删除失败');
+        }
+    }
+    public function updateSector(array $data): array
+    {
+        unset($data['user_id']);
+        $result = Sector::where('id', $data['id'])->update($data);
+        if ($result == 1) {
+            return Result::success('修改成功');
+        } else {
+            return Result::error('修改失败');
+        }
+    }
+    public function getComponentList(array $data): array
+    {
+        $where = [];
+        // $where[] = ['sector.id', '=', $data['id']];
+        $result = Component::where($where)
+            ->leftJoin('template', 'template.id', '=', 'component.template_id')
+            ->leftJoin('template_class', 'template_class.id', '=', 'template.template_class_id') // 添加这一行
+            ->leftJoin('sector', 'sector.id', '=', 'component.sector_id')
+            ->select('template_class.name as template_class_name', 'template.template_name as template_name', 'sector.sector_name as sector_name', 'component.*')
+            ->orderBy('sector.updated_at', 'desc')
+            ->orderBy('sector.created_at', 'desc')
+            ->paginate($data['page_size'], ['*'], 'mypage_name', $data['page']);
+        return Result::success($result);
+    }
+    public function getComponentInfo(array $data): array
+    {
+        $where = [];
+        $result = Component::where($where)
+            ->leftJoin('template', 'template.id', '=', 'component.template_id')
+            ->leftJoin('template_class', 'template_class.id', '=', 'template.template_class_id') // 添加这一行
+            ->leftJoin('sector', 'sector.id', '=', 'component.sector_id')
+            ->select('template_class.name as template_class_name', 'template.template_name as template_name', 'sector.sector_name as sector_name', 'component.*')
+            ->get();
+        return Result::success($result);
+    }
+    public function addComponent(array $data): array
+    {
+        unset($data['user_id']);
+        $result = Component::insertGetId($data);
+        if ($result) {
+            return Result::success($result);
+        } else {
+            return Result::error('添加失败');
+        }
+    }
+    public function delComponent(array $data): array
+    {
+        $result = Component::where('id', $data['id'])->delete();
+        return Result::success($result);
+    }
+    public function updateComponent(array $data): array
+    {
+        $result = Component::where('id', $data['id'])->update($data);
+        return Result::success($result);
+    }
+    public function getWebsiteTemplateList(array $data): array
+    {
+        $where = [];
+
+        $result = WebsiteTemplateInfo::where($where)
+            ->leftJoin('website', 'website_template_info.website_id', '=', 'website.id')
+            ->select('website_template_info.*', 'website.website_name')
+            ->orderBy('website_template_info.id', 'desc')
+            ->paginate($data['page_size'], ['*'], 'page', $data['page']);
+        if ($result) {
+            return Result::success($result);
+        } else {
+            return Result::error('暂无数据');
+        }
+    }
+    public function getWebsiteTemplateInfo(array $data)
+    {
+        $where = [];
+        if (isset($data['id'])) {
+            $where[] = ['id', '=', $data['id']];
+        }
+        $result = WebsiteTemplateInfo::where($where)
+            ->leftJoin('website', 'website_template_info.website_id', '=', 'website.id')
+            ->leftJoin('website_template', 'website_template_info.template_id', '=', 'website_template.id')
+            ->select('website_template_info.*', 'website.website_name')
+            ->get();
+        if ($result) {
+            return Result::success($result);
+        } else {
+            return Result::error('暂无数据');
+        }
 
+    }
+}

+ 18 - 2
app/JsonRpc/PublicRpcServiceInterface.php

@@ -102,8 +102,6 @@ interface PublicRpcServiceInterface
 
     public function getDepartment(array $data): array;
 
-
-
     /**
      * @param array $data
      * @return array
@@ -133,4 +131,22 @@ interface PublicRpcServiceInterface
      * @return array
      */
     public function modZhinengbumen(array $data): array;
+    public function getTemplateClass(array $data);
+    public function getTemplateList(array $data);
+    public function getTemplateInfo(array $data);
+    public function addTemplate(array $data);
+    public function delTemplate(array $data);
+    public function updateTemplate(array $data);
+    public function getSectorList(array $data);
+    public function getSectorInfo(array $data);
+    public function addSector(array $data);
+    public function delSector(array $data);
+    public function updateSector(array $data);
+    public function getComponentList(array $data);
+    public function getComponentInfo(array $data);
+    public function addComponent(array $data);
+    public function delComponent(array $data);
+    public function updateComponent(array $data);
+    public function getWebsiteTemplateList(array $data);
+    public function getWebsiteTemplateInfo(array $data);
 }

+ 35 - 0
app/Model/Component.php

@@ -0,0 +1,35 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ * @property int $id 
+ * @property int $template_id 
+ * @property int $sector_id 
+ * @property string $component_name 
+ * @property string $component_img 
+ * @property string $component_code 
+ * @property \Carbon\Carbon $created_at 
+ * @property \Carbon\Carbon $updated_at 
+ */
+class Component extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'component';
+
+    /**
+     * The attributes that are mass assignable.
+     */
+    protected array $fillable = [];
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = ['id' => 'integer', 'template_id' => 'integer', 'sector_id' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
+}

+ 37 - 0
app/Model/Sector.php

@@ -0,0 +1,37 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+
+class Sector extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'sector';
+
+    /**
+     * The attributes that are mass assignable.
+     */
+    protected array $fillable = [];
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = ['id' => 'integer', 'template_id' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
+}
+
+/**
+ * @property int $id 
+ * @property int $template_id 
+ * @property string $sector_name 
+ * @property string $sector_code 
+ * @property string $page_type 
+ * @property string $sector_img 
+ * @property \Carbon\Carbon $created_at 
+ * @property \Carbon\Carbon $updated_at 
+ */

+ 7 - 1
app/Model/Template.php

@@ -7,6 +7,12 @@ namespace App\Model;
 use Hyperf\DbConnection\Model\Model;
 
 /**
+ * @property int $id 
+ * @property string $template_name 
+ * @property string $template_img 
+ * @property int $template_class_id 
+ * @property \Carbon\Carbon $created_at 
+ * @property \Carbon\Carbon $updated_at 
  */
 class Template extends Model
 {
@@ -23,5 +29,5 @@ class Template extends Model
     /**
      * The attributes that should be cast to native types.
      */
-    protected array $casts = [];
+    protected array $casts = ['id' => 'integer', 'template_class_id' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
 }

+ 27 - 0
app/Model/WebsiteTemplate.php

@@ -0,0 +1,27 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class WebsiteTemplate extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'website_template';
+
+    /**
+     * The attributes that are mass assignable.
+     */
+    protected array $fillable = [];
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}

+ 27 - 0
app/Model/WebsiteTemplateInfo.php

@@ -0,0 +1,27 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class WebsiteTemplateInfo extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'website_template_info';
+
+    /**
+     * The attributes that are mass assignable.
+     */
+    protected array $fillable = [];
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}