Yin Bin 4 месяцев назад
Родитель
Сommit
1b41f81f3d

+ 106 - 0
app/Admin/Controllers/ReportUserListController.php

@@ -0,0 +1,106 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Services\ReportUserListService;
+use Slowlyo\OwlAdmin\Controllers\AdminController;
+
+/**
+ * 临时用户列表
+ *
+ * @property ReportUserListService $service
+ */
+class ReportUserListController extends AdminController
+{
+	protected string $serviceName = ReportUserListService::class;
+
+	public function list()
+	{
+		$crud = $this->baseCRUD()
+			->filterTogglable(false)
+			->headerToolbar([
+				$this->createButton('dialog'),
+				...$this->baseHeaderToolBar()
+			])
+			->columns([
+				amis()->TableColumn('id', 'ID')->sortable(),
+				amis()->TableColumn('user_id', 'UserId'),
+				amis()->TableColumn('nickname', '昵称'),
+				amis()->TableColumn('avatar', '头像'),
+				amis()->TableColumn('contact', '手机号'),
+				amis()->TableColumn('last_login_time', '最近登录时间'),
+				amis()->TableColumn('invite_code', '邀请码'),
+				amis()->TableColumn('qrcode', '二维码'),
+				amis()->TableColumn('user_status', '状态'),
+				amis()->TableColumn('user_location', '定位地址'),
+				amis()->TableColumn('province', '省'),
+				amis()->TableColumn('city', '市'),
+				amis()->TableColumn('district', '区'),
+				amis()->TableColumn('wallet_balance', '可用余额'),
+				amis()->TableColumn('order_count', 'OrderCount'),
+				amis()->TableColumn('violation_count', 'ViolationCount'),
+				amis()->TableColumn('avg_order_amount', 'AvgOrderAmount'),
+				amis()->TableColumn('level1_inviter', '昵称'),
+				amis()->TableColumn('level2_inviter', '昵称'),
+				amis()->TableColumn('id', 'Id'),
+				amis()->TableColumn('created_at', admin_trans('admin.created_at'))->type('datetime')->sortable(),
+				amis()->TableColumn('updated_at', admin_trans('admin.updated_at'))->type('datetime')->sortable(),
+				$this->rowActions('dialog')
+			]);
+
+		return $this->baseList($crud);
+	}
+
+	public function form($isEdit = false)
+	{
+		return $this->baseForm()->body([
+			amis()->TextControl('user_id', 'UserId'),
+			amis()->TextControl('nickname', '昵称'),
+			amis()->TextControl('avatar', '头像'),
+			amis()->TextControl('contact', '手机号'),
+			amis()->TextControl('last_login_time', '最近登录时间'),
+			amis()->TextControl('invite_code', '邀请码'),
+			amis()->TextControl('qrcode', '二维码'),
+			amis()->TextControl('user_status', '状态'),
+			amis()->TextControl('user_location', '定位地址'),
+			amis()->TextControl('province', '省'),
+			amis()->TextControl('city', '市'),
+			amis()->TextControl('district', '区'),
+			amis()->TextControl('wallet_balance', '可用余额'),
+			amis()->TextControl('order_count', 'OrderCount'),
+			amis()->TextControl('violation_count', 'ViolationCount'),
+			amis()->TextControl('avg_order_amount', 'AvgOrderAmount'),
+			amis()->TextControl('level1_inviter', '昵称'),
+			amis()->TextControl('level2_inviter', '昵称'),
+			amis()->TextControl('id', 'Id'),
+		]);
+	}
+
+	public function detail()
+	{
+		return $this->baseDetail()->body([
+			amis()->TextControl('id', 'ID')->static(),
+			amis()->TextControl('user_id', 'UserId')->static(),
+			amis()->TextControl('nickname', '昵称')->static(),
+			amis()->TextControl('avatar', '头像')->static(),
+			amis()->TextControl('contact', '手机号')->static(),
+			amis()->TextControl('last_login_time', '最近登录时间')->static(),
+			amis()->TextControl('invite_code', '邀请码')->static(),
+			amis()->TextControl('qrcode', '二维码')->static(),
+			amis()->TextControl('user_status', '状态')->static(),
+			amis()->TextControl('user_location', '定位地址')->static(),
+			amis()->TextControl('province', '省')->static(),
+			amis()->TextControl('city', '市')->static(),
+			amis()->TextControl('district', '区')->static(),
+			amis()->TextControl('wallet_balance', '可用余额')->static(),
+			amis()->TextControl('order_count', 'OrderCount')->static(),
+			amis()->TextControl('violation_count', 'ViolationCount')->static(),
+			amis()->TextControl('avg_order_amount', 'AvgOrderAmount')->static(),
+			amis()->TextControl('level1_inviter', '昵称')->static(),
+			amis()->TextControl('level2_inviter', '昵称')->static(),
+			amis()->TextControl('id', 'Id')->static(),
+			amis()->TextControl('created_at', admin_trans('admin.created_at'))->static(),
+			amis()->TextControl('updated_at', admin_trans('admin.updated_at'))->static(),
+		]);
+	}
+}

+ 16 - 0
app/Models/ReportUserList.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\SoftDeletes;
+use Slowlyo\OwlAdmin\Models\BaseModel as Model;
+
+/**
+ * 临时用户列表
+ */
+class ReportUserList extends Model
+{
+	use SoftDeletes;
+
+	protected $table = 'report_user_list';
+}

+ 17 - 0
app/Services/ReportUserListService.php

@@ -0,0 +1,17 @@
+<?php
+
+namespace App\Services;
+
+use App\Models\ReportUserList;
+use Slowlyo\OwlAdmin\Services\AdminService;
+
+/**
+ * 临时用户列表
+ *
+ * @method ReportUserList getModel()
+ * @method ReportUserList|\Illuminate\Database\Query\Builder query()
+ */
+class ReportUserListService extends AdminService
+{
+	protected string $modelName = ReportUserList::class;
+}

+ 52 - 0
database/migrations/2024_11_25_155822_create_report_user_list_table.php

@@ -0,0 +1,52 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('report_user_list', function (Blueprint $table) {
+            $table->comment('临时用户列表');
+            $table->increments('id');
+            $table->unsignedBigInteger('user_id')->default(new \Illuminate\Database\Query\Expression('0'));
+            $table->string('nickname')->nullable()->comment('昵称');
+            $table->string('avatar')->nullable()->comment('头像');
+            $table->string('contact')->default('')->comment('手机号');
+            $table->timestamp('last_login_time')->nullable()->comment('最近登录时间');
+            $table->string('invite_code')->nullable()->comment('邀请码');
+            $table->string('qrcode')->nullable()->comment('二维码');
+            $table->string('user_status')->default('')->comment('状态');
+            $table->string('user_location')->nullable()->comment('定位地址');
+            $table->string('province')->nullable()->comment('省');
+            $table->string('city')->nullable()->comment('市');
+            $table->string('district')->nullable()->comment('区');
+            $table->decimal('wallet_balance')->nullable()->comment('可用余额');
+            $table->bigInteger('order_count')->default(new \Illuminate\Database\Query\Expression('0'));
+            $table->bigInteger('violation_count')->default(new \Illuminate\Database\Query\Expression('0'));
+            $table->decimal('avg_order_amount')->default(new \Illuminate\Database\Query\Expression('0.000000'));
+            $table->string('level1_inviter')->nullable()->comment('昵称');
+            $table->string('level2_inviter')->nullable()->comment('昵称');
+            $table->bigInteger('id');
+            $table->timestamps();
+            $table->softDeletes();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('report_user_list');
+    }
+};