Просмотр исходного кода

Merge branch 'master' of http://git.jhcs888.com/ph/zh_food

DESKTOP-70VPDLK\Administrator 7 месяцев назад
Родитель
Сommit
bcfbe81790

+ 2 - 5
.idea/laravel-idea.xml

@@ -1,16 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="InertiaPackage">
-    <option name="directoryPaths">
-      <list />
-    </option>
-  </component>
   <component name="LaravelIdeaMainSettings">
     <option name="codeGeneration">
       <LaravelCodeGeneration>
         <option name="generationStringSettings">
           <map>
+            <entry key="createEloquentScope:inModuleNamespace" value="Models\Scopes" />
             <entry key="createEloquentScope:namespace" value="Models\Scopes" />
+            <entry key="createModel:inModuleNamespace" value="Models" />
             <entry key="createModel:namespace" value="Models" />
           </map>
         </option>

+ 10 - 0
.idea/php.xml

@@ -131,6 +131,16 @@
       <path value="$PROJECT_DIR$/vendor/markbaker/matrix" />
       <path value="$PROJECT_DIR$/vendor/intervention/image" />
       <path value="$PROJECT_DIR$/vendor/phpoffice/phpspreadsheet" />
+      <path value="$PROJECT_DIR$/vendor/doctrine/cache" />
+      <path value="$PROJECT_DIR$/vendor/doctrine/event-manager" />
+      <path value="$PROJECT_DIR$/vendor/doctrine/dbal" />
+      <path value="$PROJECT_DIR$/vendor/doctrine/deprecations" />
+      <path value="$PROJECT_DIR$/vendor/phpstan/phpdoc-parser" />
+      <path value="$PROJECT_DIR$/vendor/barryvdh/laravel-ide-helper" />
+      <path value="$PROJECT_DIR$/vendor/barryvdh/reflection-docblock" />
+      <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
+      <path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
+      <path value="$PROJECT_DIR$/vendor/psr/cache" />
     </include_path>
   </component>
   <component name="PhpProjectSharedConfiguration" php_language_level="7.3">

+ 6 - 0
.idea/phpspec.xml

@@ -11,6 +11,12 @@
       <PhpSpecSuiteConfiguration>
         <option name="myPath" value="$PROJECT_DIR$" />
       </PhpSpecSuiteConfiguration>
+      <PhpSpecSuiteConfiguration>
+        <option name="myPath" value="$PROJECT_DIR$" />
+      </PhpSpecSuiteConfiguration>
+      <PhpSpecSuiteConfiguration>
+        <option name="myPath" value="$PROJECT_DIR$" />
+      </PhpSpecSuiteConfiguration>
     </suites>
   </component>
 </project>

+ 10 - 1
.idea/zh_food.iml

@@ -8,7 +8,6 @@
       <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Tests\" />
       <sourceFolder url="file://$MODULE_DIR$/tests/Feature" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/tests/Unit" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/storage/app" />
       <excludeFolder url="file://$MODULE_DIR$/storage/framework" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/asm89/stack-cors" />
@@ -130,6 +129,16 @@
       <excludeFolder url="file://$MODULE_DIR$/vendor/mtdowling/jmespath.php" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/php-enum" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/phpoffice/phpspreadsheet" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/laravel-ide-helper" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/reflection-docblock" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/cache" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/dbal" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/deprecations" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/event-manager" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/phpstan/phpdoc-parser" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/psr/cache" />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />

+ 5 - 5
app/Http/Controllers/Api/MemberController.php

@@ -22,16 +22,18 @@ class MemberController extends ApiController
     function appletLogin()
     {
         $code = request()->input('code');
+        if (empty($code)){
+            return $this->apiResponseError('缺少必要信息');
+        }
         $openInfo = WeixinServer::creatServer()->getAppletsOpenId($code);
 
         if(!isset($openInfo['openid'])){
             return $this->apiResponseError(empty($openInfo['msg'])?'openid获取失败':$openInfo['msg']);
         }
-
         DB::beginTransaction();
         try {
             //检查openid是否存在
-            $m_id = MemberOpenServer::creatServer()->getUserId(2,$openInfo['openid']);
+            $m_id = MemberOpenServer::creatServer()->getUserId(4,$openInfo['openid']);
             if($m_id){
                 //重置token
                 $token_str = PassServer::creatServer()->getMemberToken($m_id);
@@ -44,9 +46,7 @@ class MemberController extends ApiController
                     DB::rollBack();
                     return $this->apiResponseError('注册失败');
                 }
-
-                $memberOpen=MemberOpenServer::creatServer()->setUserOpenid($member['m_id'],2,$openInfo['openid']);
-
+                $memberOpen=MemberOpenServer::creatServer()->setUserOpenid($member['m_id'],4,$openInfo['openid']);
                 if(empty($memberOpen)){
                     DB::rollBack();
                     return $this->apiResponseError('注册失败');

+ 1 - 0
app/Http/Middleware/MemberAuth.php

@@ -23,6 +23,7 @@ class MemberAuth
         //不需要验证的路由
         $noAuth = [
             'notify.order_wx',//订单微信支付回调
+            'member.appletLogin',//小程序授权登录
         ];
 
 //        echo '这里是请求穿越阶段,也就是请求处理前';

+ 17 - 0
app/Models/Config.php

@@ -8,6 +8,23 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 系统配置表
+ *
+ * @property int $id 系统配置表
+ * @property string $key 配置名称
+ * @property string $msg 配置说明
+ * @property string $value 配置值
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|Config newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Config newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Config query()
+ * @method static \Illuminate\Database\Eloquent\Builder|Config whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Config whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Config whereKey($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Config whereMsg($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Config whereUpdatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Config whereValue($value)
+ * @mixin \Eloquent
  */
 class Config extends Model
 {

+ 17 - 0
app/Models/ErrorRecord.php

@@ -8,6 +8,23 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 错误信息记录表
+ *
+ * @property int $id
+ * @property int|null $m_id 会员ID
+ * @property string $msg 错误说明
+ * @property string $data 相关信息
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|ErrorRecord newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|ErrorRecord newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|ErrorRecord query()
+ * @method static \Illuminate\Database\Eloquent\Builder|ErrorRecord whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ErrorRecord whereData($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ErrorRecord whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ErrorRecord whereMId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ErrorRecord whereMsg($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ErrorRecord whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class ErrorRecord extends Model
 {

+ 37 - 0
app/Models/Goods.php

@@ -7,6 +7,43 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 商家商品表
+ *
+ * @property int $id 商家商品表
+ * @property int $shop_id 所属商户ID
+ * @property string $goods_name 商品名称
+ * @property string|null $goods_desc 商品描述
+ * @property string $goods_image 商品图片
+ * @property int $category_id 商品分类id
+ * @property int $spec_type 商品规格(1单规格 2多规格)
+ * @property string $line_price 划线价
+ * @property string $price 商品价格
+ * @property string $pack_price 打包费
+ * @property int $sales 实际销量
+ * @property int $sort 商品排序(数字越大越靠前)
+ * @property int $status 商品状态(1上架 2下架 )
+ * @property int $is_del 是否删除
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods query()
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereCategoryId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereGoodsDesc($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereGoodsImage($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereGoodsName($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereIsDel($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereLinePrice($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods wherePackPrice($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods wherePrice($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereSales($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereShopId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereSort($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereSpecType($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereStatus($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Goods whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class Goods extends Model
 {

+ 19 - 0
app/Models/GoodsCategory.php

@@ -7,6 +7,25 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 商家商品分类
+ *
+ * @property int $id 商家商品分类表
+ * @property int $shop_id 商家id
+ * @property string $name 分类名称
+ * @property int $sort 排序方式(数字越小越靠前)
+ * @property int $is_del 是否删除
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory query()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory whereIsDel($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory whereName($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory whereShopId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory whereSort($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsCategory whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class GoodsCategory extends Model
 {

+ 19 - 0
app/Models/GoodsSearch.php

@@ -7,6 +7,25 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 会员搜索表
+ *
+ * @property int $id 会员搜索表
+ * @property int $m_id 会员ID
+ * @property int $search_id 关键词ID
+ * @property int $shop_id 所属商户ID
+ * @property int|null $num 查询次数
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch query()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch whereMId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch whereNum($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch whereSearchId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch whereShopId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSearch whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class GoodsSearch extends Model
 {

+ 21 - 0
app/Models/GoodsSku.php

@@ -7,6 +7,27 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 商家商品规格表
+ *
+ * @property int $id 商品规格表
+ * @property int $goods_id 商品id
+ * @property string|null $sku_name 规格名称
+ * @property int $sku_type 1:单选, 2:多选
+ * @property int $affect_quantity 是否影响购物车数量: 0-不影响, 1-影响
+ * @property int $is_del 是否删除
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku query()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku whereAffectQuantity($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku whereGoodsId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku whereIsDel($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku whereSkuName($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku whereSkuType($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSku whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class GoodsSku extends Model
 {

+ 21 - 0
app/Models/GoodsSpec.php

@@ -7,6 +7,27 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 商家商品规格表
+ *
+ * @property int $id 商品规格表
+ * @property int $goods_id 商品id
+ * @property string $sku_id 商品sku标识
+ * @property string|null $spec_name 规格名称
+ * @property string $spec_price 商品价格
+ * @property int $is_del 是否删除
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec query()
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec whereGoodsId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec whereIsDel($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec whereSkuId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec whereSpecName($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec whereSpecPrice($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|GoodsSpec whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class GoodsSpec extends Model
 {

+ 29 - 0
app/Models/Member.php

@@ -7,6 +7,35 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 用户表
+ *
+ * @property int $id
+ * @property string|null $phone 手机号码
+ * @property string|null $nickname 昵称
+ * @property string|null $head_img 头像
+ * @property int|null $sex 性别
+ * @property string|null $password 登录密码
+ * @property string|null $encrypt 加密字符串
+ * @property string|null $token_str token
+ * @property string|null $money 余额
+ * @property int|null $is_del 是否删除 0否 1是
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|Member newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Member newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Member query()
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereEncrypt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereHeadImg($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereIsDel($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereMoney($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereNickname($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member wherePassword($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member wherePhone($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereSex($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereTokenStr($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Member whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class Member extends Model
 {

+ 21 - 0
app/Models/MemberLog.php

@@ -7,6 +7,27 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 会员日志
+ *
+ * @property int $id
+ * @property int $m_id 会员ID
+ * @property string $msg 操作说明
+ * @property string $url 请求地址
+ * @property string $ip 访问IP
+ * @property string|null $data 请求内容
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog query()
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog whereData($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog whereIp($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog whereMId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog whereMsg($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog whereUpdatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberLog whereUrl($value)
+ * @mixin \Eloquent
  */
 class MemberLog extends Model
 {

+ 21 - 0
app/Models/MemberOpenId.php

@@ -7,6 +7,27 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 用户openid表
+ *
+ * @property int $id
+ * @property int $m_id 会员ID
+ * @property string $openid 公众号id
+ * @property string|null $unionid 公众号唯一ID
+ * @property int $type 平台类型:1:微信,2:小程序,3:支付宝
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @property int|null $is_del
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId query()
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId whereIsDel($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId whereMId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId whereOpenid($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId whereType($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId whereUnionid($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|MemberOpenId whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class MemberOpenId extends Model
 {

+ 51 - 0
app/Models/Order.php

@@ -7,6 +7,57 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 外卖订单
+ *
+ * @property int $id 外卖订单id
+ * @property string $order_sn 订单号
+ * @property int $order_type 订单类型 1堂食订单 2打包订单
+ * @property int $order_status 订单状态 1:待支付 2待接单 3拒单 4备餐中 5退款
+ * @property int $m_id 买家id
+ * @property int $shop_id 商户id
+ * @property int|null $number 取餐码/序号
+ * @property string|null $order_money 订单金额
+ * @property string|null $pay_money 订单支付金额
+ * @property int $goods_number 商品数量
+ * @property int|null $table_number 桌号
+ * @property int|null $diner_number 就餐人数
+ * @property int $pay_type 支付类型1微信,1支付宝支付
+ * @property string|null $pay_time 支付时间
+ * @property string|null $pay_code 支付流水号
+ * @property string|null $note 订单备注
+ * @property int|null $is_del 是否删除 0否1是
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @property string|null $pack_price 打包费
+ * @property string|null $shop_money 商家到账金额
+ * @property string $service_num 平台交易手续费比例
+ * @property string|null $service_money 交易手续费
+ * @method static \Illuminate\Database\Eloquent\Builder|Order newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Order newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Order query()
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereDinerNumber($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereGoodsNumber($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereIsDel($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereMId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereNote($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereNumber($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereOrderMoney($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereOrderSn($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereOrderStatus($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereOrderType($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order wherePackPrice($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order wherePayCode($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order wherePayMoney($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order wherePayTime($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order wherePayType($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereServiceMoney($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereServiceNum($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereShopId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereShopMoney($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereTableNumber($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Order whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class Order extends Model
 {

+ 35 - 0
app/Models/OrderItem.php

@@ -7,6 +7,41 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 外卖订单商品子表
+ *
+ * @property int $id 主键id
+ * @property int $m_id 用户id
+ * @property int|null $shop_id 商户id
+ * @property int $order_id 订单id
+ * @property int $goods_id 商品id
+ * @property array $goods_spec_list 商品规格信息json
+ * @property string $goods_name 商品名称
+ * @property string $goods_img 商品封面图id
+ * @property string $goods_attr 商品规格信息
+ * @property string $goods_price 商品价格
+ * @property int $goods_number 购买数量
+ * @property string $goods_money 商品总价
+ * @property string|null $shop_money 秒杀商品给商家结算价
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem query()
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereGoodsAttr($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereGoodsId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereGoodsImg($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereGoodsMoney($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereGoodsName($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereGoodsNumber($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereGoodsPrice($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereGoodsSpecList($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereMId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereOrderId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereShopId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereShopMoney($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|OrderItem whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class OrderItem extends Model
 {

+ 8 - 0
app/Models/Region.php

@@ -5,6 +5,14 @@ namespace App\Models;
 use DateTimeInterface;
 use Illuminate\Database\Eloquent\Model;
 
+/**
+ * App\Models\Region
+ *
+ * @method static \Illuminate\Database\Eloquent\Builder|Region newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Region newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Region query()
+ * @mixin \Eloquent
+ */
 class Region extends Model
 {
     /**

+ 17 - 0
app/Models/SearchStr.php

@@ -7,6 +7,23 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 搜索关键词表
+ *
+ * @property int $id 搜索关键词表
+ * @property int $shop_id 所属商户ID
+ * @property string $search_str 搜索关键词
+ * @property int $num 搜索次数
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|SearchStr newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|SearchStr newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|SearchStr query()
+ * @method static \Illuminate\Database\Eloquent\Builder|SearchStr whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|SearchStr whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|SearchStr whereNum($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|SearchStr whereSearchStr($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|SearchStr whereShopId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|SearchStr whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class SearchStr extends Model
 {

+ 25 - 0
app/Models/ShopPrinter.php

@@ -7,6 +7,31 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 商家打印机表
+ *
+ * @property int $id 商家绑定打印机
+ * @property int|null $shop_id
+ * @property int|null $brand_id 品牌id
+ * @property string|null $note 打印机备注
+ * @property string|null $sn 打印机sn
+ * @property string|null $key 打印机key
+ * @property int|null $template 模板类型 1为58mm 2为75mm
+ * @property int|null $is_del 是否删除 0否1是
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter query()
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereBrandId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereIsDel($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereKey($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereNote($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereShopId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereSn($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereTemplate($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShopPrinter whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class ShopPrinter extends Model
 {

+ 21 - 0
app/Models/Shopping.php

@@ -7,6 +7,27 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 购物车表
+ *
+ * @property int $id 购物车表
+ * @property int|null $m_id 用户id
+ * @property int|null $shop_id 店铺id
+ * @property int|null $goods_id 商品id
+ * @property int|null $category_id 分类id
+ * @property int|null $number 商品购买数量
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping query()
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping whereCategoryId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping whereGoodsId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping whereMId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping whereNumber($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping whereShopId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|Shopping whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class Shopping extends Model
 {

+ 19 - 0
app/Models/ShoppingDetail.php

@@ -7,6 +7,25 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 购物车详情表
+ *
+ * @property int $id
+ * @property int|null $shopping_id 购物车id
+ * @property int|null $goods_id 商品id
+ * @property int|null $goods_spec_id 商品规格id
+ * @property int|null $number 该规格值的数量(主要针对影响数量的多选规格)
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail query()
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail whereGoodsId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail whereGoodsSpecId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail whereNumber($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail whereShoppingId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShoppingDetail whereUpdatedAt($value)
+ * @mixin \Eloquent
  */
 class ShoppingDetail extends Model
 {

+ 5 - 0
app/Models/User.php

@@ -7,6 +7,11 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * 系统员工表
+ *
+ * @method static \Illuminate\Database\Eloquent\Builder|User newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|User newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|User query()
+ * @mixin \Eloquent
  */
 class User extends Model
 {

+ 30 - 0
app/Servers/CommonServer.php

@@ -504,4 +504,34 @@ class CommonServer
         $truncated = (int)($num * $factor) / $factor;
         return number_format($truncated, $decimals, '.', '');
     }
+
+
+    /**
+     * @param $url
+     * @param string $type 请求方式
+     * @param string $data 数据 数组格式
+     * @return mixed
+     */
+    protected function sendRequest($url, $type = 'get', $data = '')
+    {
+
+        $ch = curl_init();
+        if ($type == 'get' && $data) {
+            $url = $url . '?' . http_build_query($data);
+        }
+        curl_setopt($ch, CURLOPT_URL, $url); //设置访问路径
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); //设置可以返回字符串
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+        $head = array('User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36');
+        curl_setopt($ch, CURLOPT_HTTPHEADER, $head);
+        if ($type == 'post') {
+            curl_setopt($ch, CURLOPT_POST, TRUE);//post请求
+            $data = json_encode($data, JSON_UNESCAPED_UNICODE);
+            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置传递的参数
+        }
+        $request = curl_exec($ch);
+        curl_close($ch);
+        return $request;
+    }
 }

+ 37 - 0
app/Servers/MemberOpenServer.php

@@ -5,6 +5,7 @@ namespace App\Servers;
 
 
 
+use App\Models\Main\MainMemberOpenId;
 use App\Models\MemberOpenId;
 
 /**
@@ -52,6 +53,24 @@ class MemberOpenServer
                 $row->update(['openid' => $openid]);
             }
         }
+        // 查询主系统信息
+        if( empty($row)){
+            $mainId=$this->getMainUserId($type,$openid,$unionid);
+            // 同步进行注册
+            $row=MemberServer::creatServer()->register('','','','',$mainId);
+            MemberOpenServer::creatServer()->setUserOpenid($row['m_id'],4,$openid,$unionid);
+        }
+        return empty($row['m_id'])?'':$row['m_id'];
+    }
+
+    function getMainUserId($type,$openid,$unionid=null){
+        $row = MainMemberOpenId::where('openid',$openid)->where('type',$type)->where('is_del',0)->first();
+        if(empty($row) && !empty($unionid)){
+            $row=MainMemberOpenId::where('unionid',$unionid)->where('type',$type)->where('openid','<>','')->where('is_del',0)->first();
+            if($row){
+                $row->update(['openid' => $openid]);
+            }
+        }
         return empty($row['m_id'])?'':$row['m_id'];
     }
 
@@ -77,10 +96,28 @@ class MemberOpenServer
                 'type' => $type
             ]);
         }
+
         return true;
     }
 
 
+    function setMainUserOpenid($userId,$type,$openid,$unionid=null){
+        $row = MemberOpenId::where('m_id',$userId)->where('type',$type)->where('is_del',0)->first();
+        if($row){
+            $row->update(['openid' =>$openid,'unionid' => $unionid ]);
+        }else{
+            MemberOpenId::create([
+                'is_del' => 0,
+                'm_id' => $userId,
+                'openid' => $openid,
+                'unionid' => $unionid,
+                'type' => $type
+            ]);
+        }
+
+        return true;
+    }
+
 
 
 

+ 13 - 3
app/Servers/MemberServer.php

@@ -49,10 +49,11 @@ class MemberServer
      * @param $mobile
      * @param string $nickname
      * @param string $password
+     * @param string $mainId
      * @return array|false
      * @throws \Exception
      */
-    function register($mobile = '', $nickname = '', $password = '',$head_img = '')
+    function register($mobile = '', $nickname = '', $password = '',$head_img = '',$mainId=0)
     {
         $member_info = [];
         if ($password) {
@@ -60,8 +61,9 @@ class MemberServer
             $member_info = $pass_server->creatPassword();
         }
         $member_info['phone'] = $mobile;
+        $member_info['main_id'] = $mainId;
         $nickname = $this->emojiFilter($nickname);
-        $member_info['nickname'] = empty($nickname) ? '君子校园'.CommonServer::creatServer()->getRandChar(6) : $nickname;
+        $member_info['nickname'] = empty($nickname) ? '游客'.CommonServer::creatServer()->getRandChar(6) : $nickname;
         $member_info['head_img'] = empty($head_img) ? 'https://jhnewshop.oss-cn-chengdu.aliyuncs.com/storage/attest/20210927/949e48fb7c286836097efdd4ba4d0bd9.jpg' : $head_img;
 //        $member_info['status'] = 1;
         $member = Member::create($member_info);
@@ -70,11 +72,19 @@ class MemberServer
         }
         //用户token
         $token_str = PassServer::creatServer()->getMemberToken($member->{'id'});
-        Member::where('id', $member->{'id'})->update(['token_str' => $token_str]);
+        $updateData=['token_str' => $token_str];
+        if(empty($mainId)){
 
+        }
+        Member::where('id', $member->{'id'})->update($updateData);
         return ['m_id' => $member->{'id'},  'token' => $token_str];
     }
 
+    function mainRegister()
+    {
+
+    }
+
 
     /**
      * 截取掉微信表情

+ 5 - 3
composer.json

@@ -9,17 +9,19 @@
     "license": "MIT",
     "require": {
         "php": "^7.3",
+        "alibabacloud/sts": "^1.8",
+        "aliyuncs/oss-sdk-php": "^2.7",
+        "doctrine/dbal": "^3.9",
         "fideloper/proxy": "^4.2",
         "fruitcake/laravel-cors": "^2.0",
         "guzzlehttp/guzzle": "^7.0.1",
+        "intervention/image": "^2.6",
         "laravel/framework": "^8.0",
         "laravel/tinker": "^2.0",
-        "alibabacloud/sts": "^1.8",
-        "aliyuncs/oss-sdk-php": "^2.7",
-        "intervention/image": "^2.6",
         "phpoffice/phpspreadsheet": "^1.29"
     },
     "require-dev": {
+        "barryvdh/laravel-ide-helper": "^2.14",
         "facade/ignition": "^2.3.6",
         "fzaninotto/faker": "^1.9.1",
         "mockery/mockery": "^1.3.1",

+ 835 - 5
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "2cacedda58b15b6444a9c2037c02368c",
+    "content-hash": "9d8d617988189a6e8818968f389a1ee1",
     "packages": [
         {
             "name": "adbario/php-dot-notation",
@@ -691,6 +691,372 @@
             },
             "time": "2024-07-08T12:26:09+00:00"
         },
+        {
+            "name": "doctrine/cache",
+            "version": "2.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/doctrine/cache.git",
+                "reference": "1ca8f21980e770095a31456042471a57bc4c68fb"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb",
+                "reference": "1ca8f21980e770095a31456042471a57bc4c68fb",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": "~7.1 || ^8.0"
+            },
+            "conflict": {
+                "doctrine/common": ">2.2,<2.4"
+            },
+            "require-dev": {
+                "cache/integration-tests": "dev-master",
+                "doctrine/coding-standard": "^9",
+                "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+                "psr/cache": "^1.0 || ^2.0 || ^3.0",
+                "symfony/cache": "^4.4 || ^5.4 || ^6",
+                "symfony/var-exporter": "^4.4 || ^5.4 || ^6"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Guilherme Blanco",
+                    "email": "guilhermeblanco@gmail.com"
+                },
+                {
+                    "name": "Roman Borschel",
+                    "email": "roman@code-factory.org"
+                },
+                {
+                    "name": "Benjamin Eberlei",
+                    "email": "kontakt@beberlei.de"
+                },
+                {
+                    "name": "Jonathan Wage",
+                    "email": "jonwage@gmail.com"
+                },
+                {
+                    "name": "Johannes Schmitt",
+                    "email": "schmittjoh@gmail.com"
+                }
+            ],
+            "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.",
+            "homepage": "https://www.doctrine-project.org/projects/cache.html",
+            "keywords": [
+                "abstraction",
+                "apcu",
+                "cache",
+                "caching",
+                "couchdb",
+                "memcached",
+                "php",
+                "redis",
+                "xcache"
+            ],
+            "support": {
+                "issues": "https://github.com/doctrine/cache/issues",
+                "source": "https://github.com/doctrine/cache/tree/2.2.0"
+            },
+            "funding": [
+                {
+                    "url": "https://www.doctrine-project.org/sponsorship.html",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://www.patreon.com/phpdoctrine",
+                    "type": "patreon"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache",
+                    "type": "tidelift"
+                }
+            ],
+            "abandoned": true,
+            "time": "2022-05-20T20:07:39+00:00"
+        },
+        {
+            "name": "doctrine/dbal",
+            "version": "3.9.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/doctrine/dbal.git",
+                "reference": "4a4e2eed3134036ee36a147ee0dac037dfa17868"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/doctrine/dbal/zipball/4a4e2eed3134036ee36a147ee0dac037dfa17868",
+                "reference": "4a4e2eed3134036ee36a147ee0dac037dfa17868",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "composer-runtime-api": "^2",
+                "doctrine/cache": "^1.11|^2.0",
+                "doctrine/deprecations": "^0.5.3|^1",
+                "doctrine/event-manager": "^1|^2",
+                "php": "^7.4 || ^8.0",
+                "psr/cache": "^1|^2|^3",
+                "psr/log": "^1|^2|^3"
+            },
+            "require-dev": {
+                "doctrine/coding-standard": "13.0.0",
+                "fig/log-test": "^1",
+                "jetbrains/phpstorm-stubs": "2023.1",
+                "phpstan/phpstan": "2.1.17",
+                "phpstan/phpstan-strict-rules": "^2",
+                "phpunit/phpunit": "9.6.23",
+                "slevomat/coding-standard": "8.16.2",
+                "squizlabs/php_codesniffer": "3.13.1",
+                "symfony/cache": "^5.4|^6.0|^7.0",
+                "symfony/console": "^4.4|^5.4|^6.0|^7.0"
+            },
+            "suggest": {
+                "symfony/console": "For helpful console commands such as SQL execution and import of files."
+            },
+            "bin": [
+                "bin/doctrine-dbal"
+            ],
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Doctrine\\DBAL\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Guilherme Blanco",
+                    "email": "guilhermeblanco@gmail.com"
+                },
+                {
+                    "name": "Roman Borschel",
+                    "email": "roman@code-factory.org"
+                },
+                {
+                    "name": "Benjamin Eberlei",
+                    "email": "kontakt@beberlei.de"
+                },
+                {
+                    "name": "Jonathan Wage",
+                    "email": "jonwage@gmail.com"
+                }
+            ],
+            "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.",
+            "homepage": "https://www.doctrine-project.org/projects/dbal.html",
+            "keywords": [
+                "abstraction",
+                "database",
+                "db2",
+                "dbal",
+                "mariadb",
+                "mssql",
+                "mysql",
+                "oci8",
+                "oracle",
+                "pdo",
+                "pgsql",
+                "postgresql",
+                "queryobject",
+                "sasql",
+                "sql",
+                "sqlite",
+                "sqlserver",
+                "sqlsrv"
+            ],
+            "support": {
+                "issues": "https://github.com/doctrine/dbal/issues",
+                "source": "https://github.com/doctrine/dbal/tree/3.9.5"
+            },
+            "funding": [
+                {
+                    "url": "https://www.doctrine-project.org/sponsorship.html",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://www.patreon.com/phpdoctrine",
+                    "type": "patreon"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2025-06-15T22:40:05+00:00"
+        },
+        {
+            "name": "doctrine/deprecations",
+            "version": "1.1.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/doctrine/deprecations.git",
+                "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9",
+                "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": "^7.1 || ^8.0"
+            },
+            "require-dev": {
+                "doctrine/coding-standard": "^9 || ^12",
+                "phpstan/phpstan": "1.4.10 || 2.0.3",
+                "phpstan/phpstan-phpunit": "^1.0 || ^2",
+                "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+                "psr/log": "^1 || ^2 || ^3"
+            },
+            "suggest": {
+                "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Doctrine\\Deprecations\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
+            "homepage": "https://www.doctrine-project.org/",
+            "support": {
+                "issues": "https://github.com/doctrine/deprecations/issues",
+                "source": "https://github.com/doctrine/deprecations/tree/1.1.4"
+            },
+            "time": "2024-12-07T21:18:45+00:00"
+        },
+        {
+            "name": "doctrine/event-manager",
+            "version": "1.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/doctrine/event-manager.git",
+                "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520",
+                "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "doctrine/deprecations": "^0.5.3 || ^1",
+                "php": "^7.1 || ^8.0"
+            },
+            "conflict": {
+                "doctrine/common": "<2.9"
+            },
+            "require-dev": {
+                "doctrine/coding-standard": "^9 || ^10",
+                "phpstan/phpstan": "~1.4.10 || ^1.8.8",
+                "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+                "vimeo/psalm": "^4.24"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Doctrine\\Common\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Guilherme Blanco",
+                    "email": "guilhermeblanco@gmail.com"
+                },
+                {
+                    "name": "Roman Borschel",
+                    "email": "roman@code-factory.org"
+                },
+                {
+                    "name": "Benjamin Eberlei",
+                    "email": "kontakt@beberlei.de"
+                },
+                {
+                    "name": "Jonathan Wage",
+                    "email": "jonwage@gmail.com"
+                },
+                {
+                    "name": "Johannes Schmitt",
+                    "email": "schmittjoh@gmail.com"
+                },
+                {
+                    "name": "Marco Pivetta",
+                    "email": "ocramius@gmail.com"
+                }
+            ],
+            "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.",
+            "homepage": "https://www.doctrine-project.org/projects/event-manager.html",
+            "keywords": [
+                "event",
+                "event dispatcher",
+                "event manager",
+                "event system",
+                "events"
+            ],
+            "support": {
+                "issues": "https://github.com/doctrine/event-manager/issues",
+                "source": "https://github.com/doctrine/event-manager/tree/1.2.0"
+            },
+            "funding": [
+                {
+                    "url": "https://www.doctrine-project.org/sponsorship.html",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://www.patreon.com/phpdoctrine",
+                    "type": "patreon"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-10-12T20:51:15+00:00"
+        },
         {
             "name": "doctrine/inflector",
             "version": "2.0.10",
@@ -3468,8 +3834,63 @@
             "time": "2024-07-20T21:41:07+00:00"
         },
         {
-            "name": "psr/clock",
-            "version": "1.0.0",
+            "name": "psr/cache",
+            "version": "1.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/cache.git",
+                "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
+                "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": ">=5.3.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Cache\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interface for caching libraries",
+            "keywords": [
+                "cache",
+                "psr",
+                "psr-6"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/cache/tree/master"
+            },
+            "time": "2016-08-06T20:24:11+00:00"
+        },
+        {
+            "name": "psr/clock",
+            "version": "1.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/clock.git",
@@ -6843,6 +7264,239 @@
         }
     ],
     "packages-dev": [
+        {
+            "name": "barryvdh/laravel-ide-helper",
+            "version": "v2.14.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/barryvdh/laravel-ide-helper.git",
+                "reference": "485c756f6cff408d6b273274c5e86112c3973d98"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/485c756f6cff408d6b273274c5e86112c3973d98",
+                "reference": "485c756f6cff408d6b273274c5e86112c3973d98",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "barryvdh/reflection-docblock": "^2.0.6",
+                "composer/class-map-generator": "^1.0",
+                "doctrine/dbal": "^2.6 || ^3",
+                "ext-json": "*",
+                "illuminate/console": "^8 || ^9 || ^10",
+                "illuminate/filesystem": "^8 || ^9 || ^10",
+                "illuminate/support": "^8 || ^9 || ^10",
+                "nikic/php-parser": "^4.18 || ^5",
+                "php": "^7.3 || ^8.0",
+                "phpdocumentor/type-resolver": "^1.1.0"
+            },
+            "require-dev": {
+                "ext-pdo_sqlite": "*",
+                "friendsofphp/php-cs-fixer": "^2",
+                "illuminate/config": "^8 || ^9 || ^10",
+                "illuminate/view": "^8 || ^9 || ^10",
+                "mockery/mockery": "^1.4",
+                "orchestra/testbench": "^6 || ^7 || ^8",
+                "phpunit/phpunit": "^8.5 || ^9",
+                "spatie/phpunit-snapshot-assertions": "^3 || ^4",
+                "vimeo/psalm": "^5.4"
+            },
+            "suggest": {
+                "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10)."
+            },
+            "type": "library",
+            "extra": {
+                "laravel": {
+                    "providers": [
+                        "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider"
+                    ]
+                },
+                "branch-alias": {
+                    "dev-master": "2.14-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Barryvdh\\LaravelIdeHelper\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Barry vd. Heuvel",
+                    "email": "barryvdh@gmail.com"
+                }
+            ],
+            "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.",
+            "keywords": [
+                "autocomplete",
+                "codeintel",
+                "helper",
+                "ide",
+                "laravel",
+                "netbeans",
+                "phpdoc",
+                "phpstorm",
+                "sublime"
+            ],
+            "support": {
+                "issues": "https://github.com/barryvdh/laravel-ide-helper/issues",
+                "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.14.0"
+            },
+            "funding": [
+                {
+                    "url": "https://fruitcake.nl",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/barryvdh",
+                    "type": "github"
+                }
+            ],
+            "time": "2024-02-05T08:16:36+00:00"
+        },
+        {
+            "name": "barryvdh/reflection-docblock",
+            "version": "v2.3.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/barryvdh/ReflectionDocBlock.git",
+                "reference": "b6ff9f93603561f50e53b64310495d20b8dff5d8"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/b6ff9f93603561f50e53b64310495d20b8dff5d8",
+                "reference": "b6ff9f93603561f50e53b64310495d20b8dff5d8",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^8.5.14|^9"
+            },
+            "suggest": {
+                "dflydev/markdown": "~1.0",
+                "erusev/parsedown": "~1.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.3.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-0": {
+                    "Barryvdh": [
+                        "src/"
+                    ]
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Mike van Riel",
+                    "email": "mike.vanriel@naenius.com"
+                }
+            ],
+            "support": {
+                "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.3.1"
+            },
+            "time": "2025-01-18T19:26:32+00:00"
+        },
+        {
+            "name": "composer/class-map-generator",
+            "version": "1.7.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/composer/class-map-generator.git",
+                "reference": "2373419b7709815ed323ebf18c3c72d03ff4a8a6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/composer/class-map-generator/zipball/2373419b7709815ed323ebf18c3c72d03ff4a8a6",
+                "reference": "2373419b7709815ed323ebf18c3c72d03ff4a8a6",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "composer/pcre": "^2.1 || ^3.1",
+                "php": "^7.2 || ^8.0",
+                "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7 || ^8"
+            },
+            "require-dev": {
+                "phpstan/phpstan": "^1.12 || ^2",
+                "phpstan/phpstan-deprecation-rules": "^1 || ^2",
+                "phpstan/phpstan-phpunit": "^1 || ^2",
+                "phpstan/phpstan-strict-rules": "^1.1 || ^2",
+                "phpunit/phpunit": "^8",
+                "symfony/filesystem": "^5.4 || ^6 || ^7 || ^8"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Composer\\ClassMapGenerator\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jordi Boggiano",
+                    "email": "j.boggiano@seld.be",
+                    "homepage": "https://seld.be"
+                }
+            ],
+            "description": "Utilities to scan PHP code and generate class maps.",
+            "keywords": [
+                "classmap"
+            ],
+            "support": {
+                "issues": "https://github.com/composer/class-map-generator/issues",
+                "source": "https://github.com/composer/class-map-generator/tree/1.7.0"
+            },
+            "funding": [
+                {
+                    "url": "https://packagist.com",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/composer",
+                    "type": "github"
+                }
+            ],
+            "time": "2025-11-19T10:41:15+00:00"
+        },
         {
             "name": "doctrine/instantiator",
             "version": "1.5.0",
@@ -7708,6 +8362,182 @@
             },
             "time": "2022-02-21T01:04:05+00:00"
         },
+        {
+            "name": "phpdocumentor/reflection-common",
+            "version": "2.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+                "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+                "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": "^7.2 || ^8.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-2.x": "2.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "phpDocumentor\\Reflection\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jaap van Otterdijk",
+                    "email": "opensource@ijaap.nl"
+                }
+            ],
+            "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+            "homepage": "http://www.phpdoc.org",
+            "keywords": [
+                "FQSEN",
+                "phpDocumentor",
+                "phpdoc",
+                "reflection",
+                "static analysis"
+            ],
+            "support": {
+                "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+                "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+            },
+            "time": "2020-06-27T09:03:43+00:00"
+        },
+        {
+            "name": "phpdocumentor/type-resolver",
+            "version": "1.12.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpDocumentor/TypeResolver.git",
+                "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195",
+                "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "doctrine/deprecations": "^1.0",
+                "php": "^7.3 || ^8.0",
+                "phpdocumentor/reflection-common": "^2.0",
+                "phpstan/phpdoc-parser": "^1.18|^2.0"
+            },
+            "require-dev": {
+                "ext-tokenizer": "*",
+                "phpbench/phpbench": "^1.2",
+                "phpstan/extension-installer": "^1.1",
+                "phpstan/phpstan": "^1.8",
+                "phpstan/phpstan-phpunit": "^1.1",
+                "phpunit/phpunit": "^9.5",
+                "rector/rector": "^0.13.9",
+                "vimeo/psalm": "^4.25"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-1.x": "1.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "phpDocumentor\\Reflection\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Mike van Riel",
+                    "email": "me@mikevanriel.com"
+                }
+            ],
+            "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+            "support": {
+                "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+                "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0"
+            },
+            "time": "2025-11-21T15:09:14+00:00"
+        },
+        {
+            "name": "phpstan/phpdoc-parser",
+            "version": "1.29.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpstan/phpdoc-parser.git",
+                "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/536889f2b340489d328f5ffb7b02bb6b183ddedc",
+                "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": "^7.2 || ^8.0"
+            },
+            "require-dev": {
+                "doctrine/annotations": "^2.0",
+                "nikic/php-parser": "^4.15",
+                "php-parallel-lint/php-parallel-lint": "^1.2",
+                "phpstan/extension-installer": "^1.0",
+                "phpstan/phpstan": "^1.5",
+                "phpstan/phpstan-phpunit": "^1.1",
+                "phpstan/phpstan-strict-rules": "^1.0",
+                "phpunit/phpunit": "^9.5",
+                "symfony/process": "^5.2"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "PHPStan\\PhpDocParser\\": [
+                        "src/"
+                    ]
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "PHPDoc parser with support for nullable, intersection and generic types",
+            "support": {
+                "issues": "https://github.com/phpstan/phpdoc-parser/issues",
+                "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.0"
+            },
+            "time": "2024-05-06T12:04:23+00:00"
+        },
         {
             "name": "phpunit/php-code-coverage",
             "version": "9.2.32",
@@ -9329,12 +10159,12 @@
     ],
     "aliases": [],
     "minimum-stability": "dev",
-    "stability-flags": {},
+    "stability-flags": [],
     "prefer-stable": true,
     "prefer-lowest": false,
     "platform": {
         "php": "^7.3"
     },
-    "platform-dev": {},
+    "platform-dev": [],
     "plugin-api-version": "2.6.0"
 }

+ 2 - 0
config/app.php

@@ -174,6 +174,8 @@ return [
         // App\Providers\BroadcastServiceProvider::class,
         App\Providers\EventServiceProvider::class,
         App\Providers\RouteServiceProvider::class,
+// ide助手
+//        Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
 
     ],