소스 검색

feat: 二期

xiansin 2 년 전
부모
커밋
1f20a0437d

+ 82 - 0
server/_ide_helper_models.php

xqd
@@ -0,0 +1,82 @@
+<?php
+
+// @formatter:off
+/**
+ * A helper file for your Eloquent Models
+ * Copy the phpDocs from this file to the correct Model,
+ * And remove them from this file, to prevent double declarations.
+ *
+ * @author Barry vd. Heuvel <barryvdh@gmail.com>
+ */
+
+
+namespace App\Models{
+/**
+ * App\Models\User
+ *
+ * @property int $id
+ * @property string $nickname
+ * @property string $avatar
+ * @property string $password
+ * @property string $email
+ * @property string $mobile
+ * @property string $open_id
+ * @property string $union_id
+ * @property int $status
+ * @property string|null $email_verified_at
+ * @property string|null $remember_token
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @property-read \Illuminate\Notifications\DatabaseNotificationCollection|\Illuminate\Notifications\DatabaseNotification[] $notifications
+ * @property-read int|null $notifications_count
+ * @method static \Illuminate\Database\Eloquent\Builder|User newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|User newQuery()
+ * @method static \Illuminate\Database\Query\Builder|User onlyTrashed()
+ * @method static \Illuminate\Database\Eloquent\Builder|User query()
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereAvatar($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereEmailVerifiedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereMobile($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereNickname($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereOpenId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User wherePassword($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereRememberToken($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereStatus($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereUnionId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereUpdatedAt($value)
+ * @method static \Illuminate\Database\Query\Builder|User withTrashed()
+ * @method static \Illuminate\Database\Query\Builder|User withoutTrashed()
+ * @mixin \Eloquent
+ * @property \Illuminate\Support\Carbon|null $deleted_at
+ * @property-read \App\Models\UserInfo|null $info
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereDeletedAt($value)
+ * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserConsumeRecord[] $consumeRecords
+ * @property-read int|null $consume_records_count
+ * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserRechargeRecord[] $rechargeRecords
+ * @property-read int|null $recharge_records_count
+ * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserVipRecord[] $vipRecords
+ * @property-read int|null $vip_records_count
+ * @property int $parent_id 上级推荐用户
+ * @property string|null $become_child_at 成为下线时间
+ * @property string $income 收入
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereBecomeChildAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereIncome($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereParentId($value)
+ * @property string $is_share 是否分销
+ * @property string $share_qrcode 分享二维码
+ * @property string $scene_code 情景CODE
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereIsShare($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereSceneCode($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereShareQrcode($value)
+ * @property-read User|null $parent
+ * @property string $total_income 收入
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereTotalIncome($value)
+ * @property string|null $become_share_at 成为分销商时间
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereBecomeShareAt($value)
+ * @property-read User|null $child
+ */
+	class User extends \Eloquent implements \PHPOpenSourceSaver\JWTAuth\Contracts\JWTSubject {}
+}
+

+ 40 - 0
server/app/Admin/Actions/Form/WithdrawReview.php

xqd
@@ -0,0 +1,40 @@
+<?php
+
+namespace App\Admin\Actions\Form;
+
+use App\Models\UserEpisodesRecord;
+use App\Models\UserWithdraw;
+use Dcat\Admin\Contracts\LazyRenderable;
+use Dcat\Admin\Traits\LazyWidget;
+use Dcat\Admin\Widgets\Form;
+
+class WithdrawReview extends Form implements LazyRenderable
+{
+
+    use LazyWidget;
+
+    public function handle(array $input)
+    {
+        $status = $input['status'];
+        try {
+            $withdraw = UserWithdraw::find($input['id']);
+            if ($status > 0) {
+                $withdraw->status = $status;
+                $withdraw->save();
+            }
+        } catch (\Exception $exception) {
+            return $this->response()->error($exception->getMessage());
+        }
+        return $this->response()->success('success')->refresh();
+    }
+
+    public function form()
+    {
+        $id = isset($this->payload['id']) ? $this->payload['id'] : 0;
+        $this->hidden('id')->value($id);
+        $this->radio('status', '审核结果')
+            ->options(config('global.withdraw_status'))->default(1);
+        $this->disableResetButton();
+    }
+
+}

+ 2 - 3
server/app/Admin/Actions/Grid/UserConsumeRecord.php

xqd xqd
@@ -5,6 +5,7 @@ namespace App\Admin\Actions\Grid;
 use App\Models\UserConsumeRecord as UserConsumeRecordModel;
 use Dcat\Admin\Actions\Response;
 use Dcat\Admin\Contracts\LazyRenderable;
+use Dcat\Admin\Form\AbstractTool;
 use Dcat\Admin\Grid;
 use Dcat\Admin\Grid\GridAction;
 use Dcat\Admin\Grid\RowAction;
@@ -16,10 +17,8 @@ use Illuminate\Contracts\Auth\Authenticatable;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Http\Request;
 
-class UserConsumeRecord extends RowAction implements LazyRenderable
+class UserConsumeRecord extends AbstractTool
 {
-    use LazyWidget;
-
     /**
      * @return string
      */

+ 36 - 0
server/app/Admin/Actions/Grid/WithdrawReview.php

xqd
@@ -0,0 +1,36 @@
+<?php
+
+namespace App\Admin\Actions\Grid;
+
+use Dcat\Admin\Form\AbstractTool;
+use Dcat\Admin\Widgets\Modal;
+
+class WithdrawReview extends AbstractTool
+{
+    /**
+     * @return string
+     */
+    protected $title = '提现审核';
+
+    protected $model;
+
+    public function __construct(string $model = null, $id = 0, $status = 0)
+    {
+        $this->model = $model;
+        $this->title = '<i class="feather icon-check-square"></i> ' . $this->title;
+        $this->id = $id;
+        $this->status = $status;
+    }
+
+    public function render()
+    {
+        $form = \App\Admin\Actions\Form\WithdrawReview::make()->payload(['id' => $this->id, 'status'=>$this->status]);
+        return Modal::make()
+            ->lg()
+            ->title($this->title)
+            ->body($form)
+            ->button($this->title);
+    }
+
+
+}

+ 88 - 0
server/app/Admin/Controllers/Share/ShareConfigController.php

xqd
@@ -0,0 +1,88 @@
+<?php
+
+namespace App\Admin\Controllers\Share;
+
+use App\Models\ShareConfig;
+use App\Models\VipCombo;
+use Dcat\Admin\Form;
+use Dcat\Admin\Grid;
+use Dcat\Admin\Http\JsonResponse;
+use Dcat\Admin\Layout\Column;
+use Dcat\Admin\Layout\Content;
+use Dcat\Admin\Layout\Row;
+use Dcat\Admin\Show;
+use Dcat\Admin\Http\Controllers\AdminController;
+use Dcat\Admin\Widgets\Form as WidgetForm;
+use Dcat\Admin\Widgets\Box;
+
+class ShareConfigController extends AdminController
+{
+    public function index(Content $content)
+    {
+
+        return $content
+            ->title(trans('share-config.title'))
+            ->body(function (Row $row) {
+                $row->column(12, function (Column $column) {
+                    $form = new WidgetForm();
+                    $config = ShareConfig::first();
+                    $form->width(9);
+                    $form->hidden('id','ID')->value($config->id);
+                    $form->radio('become_type','成为分销条件')
+                        ->options(config('global.become_type'))
+                        ->when(2, function (WidgetForm $form) use ($config){
+                            $vipCombo = VipCombo::select(['id','name'])->get()->toArray();
+                            $form->select('become_vip_id','对应会员')
+                                ->options(array_column($vipCombo,'name','id'))
+                                ->default($config->become_vip_id)
+                                ->required();
+                        })
+                        ->when(3, function (WidgetForm $form) use ($config){
+                            $form->number('become_gold','对应金币')->placeholder('1231')
+                                ->value($config->become_gold)
+                                ->required();
+                        })
+                        ->default($config->become_type)->required();
+
+                    $form->radio('share_type','分佣类型')
+                        ->options(config('global.share_type'))
+                        ->when(1, function (WidgetForm $form) use ($config){
+                            $form->number('share_number','分销百分比')->value($config->share_number)->max(100)->required();
+                        })
+                        ->when(2, function (WidgetForm $form)use ($config){
+                            $form->number('share_number','分销金额')->value($config->share_number)->required();
+                        })
+                        ->default($config->share_type)
+                        ->required();
+
+                    $form->number('withdraw_min','最少提现额度')->required();
+                    $form->number('withdraw_max','每日提现上限')->required();
+                    $form->number('withdraw_discount','提现手续费')->required();
+                    $form->textarea('withdraw_desc','提现说明')->value($config->withdraw_desc);
+
+                    $form->action('share/setting/save');
+                    $column->append(Box::make(trans('admin.edit'), $form));
+                    $form->disableResetButton();
+                });
+            });
+    }
+
+    public function save(): JsonResponse
+    {
+        $req = request()->post();
+        $config = ShareConfig::first();
+        $config->become_type = $req['become_type'];
+        $config->become_vip_id = $req['become_vip_id'];
+        $config->become_gold = $req['become_gold'];
+        $config->share_type = $req['share_type'];
+        $config->share_number = $req['share_number'];
+        $config->withdraw_min = $req['withdraw_min'];
+        $config->withdraw_max = $req['withdraw_max'];
+        $config->withdraw_discount = $req['withdraw_discount'];
+        $config->withdraw_desc = $req['withdraw_desc'];
+        $config->save();
+        $form = new Form();
+        $response = $form->response();
+        return $response->success(__('admin.save_succeeded'));
+    }
+}

+ 93 - 0
server/app/Admin/Controllers/Share/UserController.php

xqd
@@ -0,0 +1,93 @@
+<?php
+
+namespace App\Admin\Controllers\Share;
+
+use App\Models\User;
+use App\Models\UserShare;
+use Dcat\Admin\Form;
+use Dcat\Admin\Grid;
+use Dcat\Admin\Show;
+use Dcat\Admin\Http\Controllers\AdminController;
+
+class UserController extends AdminController
+{
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        return Grid::make(User::with(['parent.info','info'])->withCount('child'), function (Grid $grid) {
+            $grid->model()->where('is_share', 1);
+            $grid->column('id','用户ID');
+            $grid->column('avatar', '基本信息')->display(function () {
+                $str  = "";
+                $str .= "<div style='margin-right:10px;display: flex;align-items: center'>";
+                $str .= '<img data-action="preview-img" src="' . $this->avatar . '" style="height:50px;width:50px;cursor:pointer;margin-right:10px;" class="img img-thumbnail">';
+                $str .= '<div>';
+                $str .= '<p style="margin-bottom: 5px">' . $this->nickname . '</p>';
+                $str .= '<p style="margin-bottom: 5px">' . $this->mobile . '</p>';
+                $str .= "</div>";
+                $str .= "</div>";
+                return $str;
+            });
+            $grid->column('income');
+            $grid->column('total_income');
+            $grid->column('parent_id')->display(function (){
+                return $this->parent?$this->parent->nickname:'-';
+            })->label('primary');
+            $grid->column('child_count');
+            $grid->column('become_share_at');
+
+            $grid->filter(function (Grid\Filter $filter) {
+                $filter->panel();
+                $filter->equal('info.platform','所属平台')->select(config('global.platform'))->width(3);
+                $filter->like('nickname','昵称')->width(3);
+                $filter->equal('mobile','手机号')->width(3);
+            });
+
+            $grid->disableCreateButton();
+            $grid->disableDeleteButton();
+            $grid->disableRowSelector();
+            $grid->disableActions();
+        });
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     *
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        return Show::make($id, new UserShare(), function (Show $show) {
+            $show->field('id');
+            $show->field('user_id');
+            $show->field('child_id');
+            $show->field('income');
+            $show->field('created_at');
+            $show->field('updated_at');
+        });
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        return Form::make(new UserShare(), function (Form $form) {
+            $form->display('id');
+            $form->text('user_id');
+            $form->text('child_id');
+            $form->text('income');
+
+            $form->display('created_at');
+            $form->display('updated_at');
+        });
+    }
+}

+ 115 - 0
server/app/Admin/Controllers/Share/UserWithdrawController.php

xqd
@@ -0,0 +1,115 @@
+<?php
+
+namespace App\Admin\Controllers\Share;
+
+use App\Admin\Actions\Grid\WithdrawReview;
+use App\Models\UserWithdraw;
+use Dcat\Admin\Form;
+use Dcat\Admin\Grid;
+use Dcat\Admin\Show;
+use Dcat\Admin\Http\Controllers\AdminController;
+
+class UserWithdrawController extends AdminController
+{
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        return Grid::make(UserWithdraw::with('user'), function (Grid $grid) {
+            $grid->column('id')->sortable();
+            $grid->column('avatar', '基本信息')->display(function () {
+                $str  = "";
+                $str .= "<div style='margin-right:10px;display: flex;align-items: center'>";
+                $str .= '<img data-action="preview-img" src="' . $this->avatar . '" style="height:50px;width:50px;cursor:pointer;margin-right:10px;" class="img img-thumbnail">';
+                $str .= '<div>';
+                $str .= '<p style="margin-bottom: 5px">' . $this->nickname . '</p>';
+                $str .= "</div>";
+                $str .= "</div>";
+                return $str;
+            });
+            $grid->column('name');
+            $grid->column('phone_num');
+            $grid->column('type')->using(config('global.withdraw_type'))
+                ->label(['primary','success','danger']);
+            $grid->column('account');
+            $grid->column('price');
+            $grid->column('discount');
+            $grid->column('real','实际打款金额')->display(function (){
+                return $this->price - $this->discount;
+            });
+            $grid->column('status','状态')
+                ->using(config('global.withdraw_status'))
+                ->label(['default','primary','success','danger'])
+            ;
+            $grid->column('created_at','申请时间');
+            $grid->column('review_at','审核时间');
+            $grid->column('withdraw_at','打款时间');
+            $grid->actions(function (Grid\Displayers\Actions $actions) {
+                if ($actions->row->status != 2) {
+                    $actions->append(new WithdrawReview(UserWithdraw::class, $actions->row->id, $actions->row->status));
+                }
+            });
+
+            $grid->filter(function (Grid\Filter $filter) {
+                $filter->panel();
+                $filter->between('created_at','申请时间')->date()->width(3);
+                $filter->equal('status','状态')->select(config('global.withdraw_status'))->width(3);
+                $filter->like('nickname','昵称')->width(2);
+                $filter->like('name','姓名')->width(2);
+                $filter->equal('mobile','手机号')->width(2);
+            });
+
+            $grid->disableCreateButton();
+            $grid->disableEditButton();
+            $grid->disableViewButton();
+        });
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     *
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        return Show::make($id, new UserWithdraw(), function (Show $show) {
+            $show->field('id');
+            $show->field('user_id');
+            $show->field('name');
+            $show->field('type');
+            $show->field('account');
+            $show->field('price');
+            $show->field('desc');
+            $show->field('status');
+            $show->field('created_at');
+            $show->field('updated_at');
+        });
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        return Form::make(new UserWithdraw(), function (Form $form) {
+            $form->display('id');
+            $form->text('user_id');
+            $form->text('name');
+            $form->text('type');
+            $form->text('account');
+            $form->text('price');
+            $form->text('desc');
+            $form->text('status');
+
+            $form->display('created_at');
+            $form->display('updated_at');
+        });
+    }
+}

+ 15 - 0
server/app/Admin/routes.php

xqd
@@ -102,4 +102,19 @@ Route::group([
     });
 
 
+    //  分销
+    $router->group([
+        'namespace' => 'Share',
+        'prefix' => 'share',
+    ],function ($router){
+        // --设置
+        $router->resource('/setting','ShareConfigController');
+        $router->post('/setting/save', 'ShareConfigController@save');
+        // --分销商
+        $router->resource('/users','UserController');
+        // --体现管理
+        $router->resource('/withdraw','UserWithdrawController');
+    });
+
+
 });

+ 50 - 0
server/app/Models/ShareConfig.php

xqd
@@ -0,0 +1,50 @@
+<?php
+
+namespace App\Models;
+
+use Dcat\Admin\Traits\HasDateTimeFormatter;
+
+use Illuminate\Database\Eloquent\Model;
+
+/**
+ * App\Models\ShareConfig
+ *
+ * @property int $id
+ * @property int $become_type 成为分销商条件 1-无条件 2-对应会员 3-对应金币
+ * @property int $become_vip_id 成为分销商会员ID
+ * @property int $become_gold 成为分销商金币
+ * @property int $share_type 类型 1-百分比 2-固定
+ * @property string $share_number 分销金额
+ * @property int $type 类型 1-百分比 2-固定
+ * @property string $withdraw_discount 提现手续费 百分比
+ * @property string $withdraw_desc 提现说明
+ * @property string $withdraw_min 最少提现额度
+ * @property string $withdraw_max 每日提现上限
+ * @property int $is_open 是否开启分销
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig query()
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereBecomeGlod($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereBecomeType($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereBecomeVipId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereIsOpen($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereShareNumber($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereShareType($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereType($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereUpdatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereWithdrawDesc($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereWithdrawDiscount($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereWithdrawMax($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|ShareConfig whereWithdrawMin($value)
+ * @mixin \Eloquent
+ */
+class ShareConfig extends Model
+{
+	use HasDateTimeFormatter;
+    protected $table = 'share_config';
+
+}

+ 29 - 0
server/app/Models/User.php

xqd xqd
@@ -55,6 +55,24 @@ use PHPOpenSourceSaver\JWTAuth\Contracts\JWTSubject;
  * @property-read int|null $recharge_records_count
  * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserVipRecord[] $vipRecords
  * @property-read int|null $vip_records_count
+ * @property int $parent_id 上级推荐用户
+ * @property string|null $become_child_at 成为下线时间
+ * @property string $income 收入
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereBecomeChildAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereIncome($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereParentId($value)
+ * @property string $is_share 是否分销
+ * @property string $share_qrcode 分享二维码
+ * @property string $scene_code 情景CODE
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereIsShare($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereSceneCode($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereShareQrcode($value)
+ * @property-read User|null $parent
+ * @property string $total_income 收入
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereTotalIncome($value)
+ * @property string|null $become_share_at 成为分销商时间
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereBecomeShareAt($value)
+ * @property-read User|null $child
  */
 class User extends Authenticatable implements JWTSubject
 {
@@ -111,6 +129,17 @@ class User extends Authenticatable implements JWTSubject
         $this->attributes['password'] = bcrypt($value);
     }
 
+
+    public function parent()
+    {
+        return $this->belongsTo(User::class,'parent_id');
+    }
+
+    public function child()
+    {
+        return $this->belongsTo(User::class,'id', 'parent_id');
+    }
+
     public function info()
     {
         return $this->belongsTo(UserInfo::class,'id','user_id');

+ 14 - 0
server/app/Models/UserShare.php

xqd
@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Models;
+
+use Dcat\Admin\Traits\HasDateTimeFormatter;
+
+use Illuminate\Database\Eloquent\Model;
+
+class UserShare extends Model
+{
+	use HasDateTimeFormatter;
+    protected $table = 'user_share';
+    
+}

+ 56 - 0
server/app/Models/UserWithdraw.php

xqd
@@ -0,0 +1,56 @@
+<?php
+
+namespace App\Models;
+
+use Dcat\Admin\Traits\HasDateTimeFormatter;
+
+use Illuminate\Database\Eloquent\Model;
+
+/**
+ * App\Models\UserWithdraw
+ *
+ * @property int $id
+ * @property int $user_id 用户
+ * @property string $name 姓名
+ * @property string $phone_num 手机号
+ * @property int $type 类型 1-微信
+ * @property string $account 提现账号
+ * @property string $price 提现金额
+ * @property string $discount 手续费
+ * @property string $desc 提现备注
+ * @property int $status 提现状态
+ * @property string|null $review_at 审核时间
+ * @property string|null $withdraw_at 打款时间
+ * @property \Illuminate\Support\Carbon|null $created_at
+ * @property \Illuminate\Support\Carbon|null $updated_at
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw query()
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereAccount($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereDesc($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereDiscount($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereName($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw wherePhoneNum($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw wherePrice($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereReviewAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereStatus($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereType($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereUpdatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereUserId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserWithdraw whereWithdrawAt($value)
+ * @mixin \Eloquent
+ * @property-read \App\Models\User|null $user
+ */
+class UserWithdraw extends Model
+{
+	use HasDateTimeFormatter;
+    protected $table = 'user_withdraw';
+
+    public function user()
+    {
+        return $this->belongsTo(User::class,'user_id');
+    }
+
+}

+ 16 - 0
server/config/global.php

xqd
@@ -42,4 +42,20 @@ return [
     'pay_type' => [
         1 => '微信支付', 2  => '支付宝支付', 10 => '抖音支付', 11 => '快手支付'
     ],
+    // 体现状态
+    'withdraw_status' => [
+        0 => '待审核',1 => '待打款',2 => '已打款',3 => '驳回',
+    ],
+    // 成为分销商条件
+    'become_type' => [
+        1 => '无条件',2 => '对应会员',3 => '对应金币',
+    ],
+    // 成为分销商条件
+    'share_type' => [
+        1 => '百分比', 2 => '固定',
+    ],
+    // 提现类型
+    'withdraw_type' => [
+        1 => '微信',2 => '支付宝',3 => '银行转行',
+    ],
 ];

+ 88 - 16
server/dcat_admin_ide_helper.php

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -79,8 +79,10 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection free_episodes
      * @property Grid\Column|Collection paid_episodes
      * @property Grid\Column|Collection episodes_price
+     * @property Grid\Column|Collection level
      * @property Grid\Column|Collection episodes_id
      * @property Grid\Column|Collection is_free
+     * @property Grid\Column|Collection origin_price
      * @property Grid\Column|Collection sale_price
      * @property Grid\Column|Collection answer
      * @property Grid\Column|Collection look_num
@@ -88,6 +90,7 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection token
      * @property Grid\Column|Collection pay_id
      * @property Grid\Column|Collection pay_type
+     * @property Grid\Column|Collection source
      * @property Grid\Column|Collection pay_dt
      * @property Grid\Column|Collection order_fee
      * @property Grid\Column|Collection discount_fee
@@ -96,6 +99,12 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection serial_number
      * @property Grid\Column|Collection pay_error
      * @property Grid\Column|Collection setting_id
+     * @property Grid\Column|Collection douyin_app_id
+     * @property Grid\Column|Collection douyin_app_secret
+     * @property Grid\Column|Collection douyin_salt
+     * @property Grid\Column|Collection douyin_token
+     * @property Grid\Column|Collection kuaishou_app_id
+     * @property Grid\Column|Collection kuaishou_app_secret
      * @property Grid\Column|Collection mini_app_id
      * @property Grid\Column|Collection mini_app_key
      * @property Grid\Column|Collection wechat_app_id
@@ -105,9 +114,6 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection alipay_app_id
      * @property Grid\Column|Collection alipay_app_key
      * @property Grid\Column|Collection alipay_app_secret
-     * @property Grid\Column|Collection douyin_app_id
-     * @property Grid\Column|Collection douyin_app_key
-     * @property Grid\Column|Collection douyin_app_secret
      * @property Grid\Column|Collection tokenable_type
      * @property Grid\Column|Collection tokenable_id
      * @property Grid\Column|Collection abilities
@@ -127,12 +133,21 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection recharge_bg_img
      * @property Grid\Column|Collection recharge_button_txt
      * @property Grid\Column|Collection recharge_desc
+     * @property Grid\Column|Collection is_review
+     * @property Grid\Column|Collection share_type
+     * @property Grid\Column|Collection share_number
+     * @property Grid\Column|Collection withdraw_discount
+     * @property Grid\Column|Collection withdraw_desc
+     * @property Grid\Column|Collection withdraw_min
+     * @property Grid\Column|Collection withdraw_max
+     * @property Grid\Column|Collection is_open
      * @property Grid\Column|Collection prefix
      * @property Grid\Column|Collection event
      * @property Grid\Column|Collection mobile
      * @property Grid\Column|Collection verify_key
      * @property Grid\Column|Collection sms_code
      * @property Grid\Column|Collection sms_result
+     * @property Grid\Column|Collection selected_icon
      * @property Grid\Column|Collection episode_id
      * @property Grid\Column|Collection before
      * @property Grid\Column|Collection change
@@ -141,7 +156,6 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection order_id
      * @property Grid\Column|Collection list_id
      * @property Grid\Column|Collection discount
-     * @property Grid\Column|Collection statust
      * @property Grid\Column|Collection content
      * @property Grid\Column|Collection file
      * @property Grid\Column|Collection integral
@@ -153,13 +167,17 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection recharge_id
      * @property Grid\Column|Collection combo_id
      * @property Grid\Column|Collection desc
+     * @property Grid\Column|Collection child_id
+     * @property Grid\Column|Collection income
      * @property Grid\Column|Collection date
      * @property Grid\Column|Collection award
      * @property Grid\Column|Collection valid_day
+     * @property Grid\Column|Collection account
      * @property Grid\Column|Collection nickname
      * @property Grid\Column|Collection open_id
      * @property Grid\Column|Collection union_id
      * @property Grid\Column|Collection email_verified_at
+     * @property Grid\Column|Collection become_child_at
      *
      * @method Grid\Column|Collection id(string $label = null)
      * @method Grid\Column|Collection name(string $label = null)
@@ -229,8 +247,10 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection free_episodes(string $label = null)
      * @method Grid\Column|Collection paid_episodes(string $label = null)
      * @method Grid\Column|Collection episodes_price(string $label = null)
+     * @method Grid\Column|Collection level(string $label = null)
      * @method Grid\Column|Collection episodes_id(string $label = null)
      * @method Grid\Column|Collection is_free(string $label = null)
+     * @method Grid\Column|Collection origin_price(string $label = null)
      * @method Grid\Column|Collection sale_price(string $label = null)
      * @method Grid\Column|Collection answer(string $label = null)
      * @method Grid\Column|Collection look_num(string $label = null)
@@ -238,6 +258,7 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection token(string $label = null)
      * @method Grid\Column|Collection pay_id(string $label = null)
      * @method Grid\Column|Collection pay_type(string $label = null)
+     * @method Grid\Column|Collection source(string $label = null)
      * @method Grid\Column|Collection pay_dt(string $label = null)
      * @method Grid\Column|Collection order_fee(string $label = null)
      * @method Grid\Column|Collection discount_fee(string $label = null)
@@ -246,6 +267,12 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection serial_number(string $label = null)
      * @method Grid\Column|Collection pay_error(string $label = null)
      * @method Grid\Column|Collection setting_id(string $label = null)
+     * @method Grid\Column|Collection douyin_app_id(string $label = null)
+     * @method Grid\Column|Collection douyin_app_secret(string $label = null)
+     * @method Grid\Column|Collection douyin_salt(string $label = null)
+     * @method Grid\Column|Collection douyin_token(string $label = null)
+     * @method Grid\Column|Collection kuaishou_app_id(string $label = null)
+     * @method Grid\Column|Collection kuaishou_app_secret(string $label = null)
      * @method Grid\Column|Collection mini_app_id(string $label = null)
      * @method Grid\Column|Collection mini_app_key(string $label = null)
      * @method Grid\Column|Collection wechat_app_id(string $label = null)
@@ -255,9 +282,6 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection alipay_app_id(string $label = null)
      * @method Grid\Column|Collection alipay_app_key(string $label = null)
      * @method Grid\Column|Collection alipay_app_secret(string $label = null)
-     * @method Grid\Column|Collection douyin_app_id(string $label = null)
-     * @method Grid\Column|Collection douyin_app_key(string $label = null)
-     * @method Grid\Column|Collection douyin_app_secret(string $label = null)
      * @method Grid\Column|Collection tokenable_type(string $label = null)
      * @method Grid\Column|Collection tokenable_id(string $label = null)
      * @method Grid\Column|Collection abilities(string $label = null)
@@ -277,12 +301,21 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection recharge_bg_img(string $label = null)
      * @method Grid\Column|Collection recharge_button_txt(string $label = null)
      * @method Grid\Column|Collection recharge_desc(string $label = null)
+     * @method Grid\Column|Collection is_review(string $label = null)
+     * @method Grid\Column|Collection share_type(string $label = null)
+     * @method Grid\Column|Collection share_number(string $label = null)
+     * @method Grid\Column|Collection withdraw_discount(string $label = null)
+     * @method Grid\Column|Collection withdraw_desc(string $label = null)
+     * @method Grid\Column|Collection withdraw_min(string $label = null)
+     * @method Grid\Column|Collection withdraw_max(string $label = null)
+     * @method Grid\Column|Collection is_open(string $label = null)
      * @method Grid\Column|Collection prefix(string $label = null)
      * @method Grid\Column|Collection event(string $label = null)
      * @method Grid\Column|Collection mobile(string $label = null)
      * @method Grid\Column|Collection verify_key(string $label = null)
      * @method Grid\Column|Collection sms_code(string $label = null)
      * @method Grid\Column|Collection sms_result(string $label = null)
+     * @method Grid\Column|Collection selected_icon(string $label = null)
      * @method Grid\Column|Collection episode_id(string $label = null)
      * @method Grid\Column|Collection before(string $label = null)
      * @method Grid\Column|Collection change(string $label = null)
@@ -291,7 +324,6 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection order_id(string $label = null)
      * @method Grid\Column|Collection list_id(string $label = null)
      * @method Grid\Column|Collection discount(string $label = null)
-     * @method Grid\Column|Collection statust(string $label = null)
      * @method Grid\Column|Collection content(string $label = null)
      * @method Grid\Column|Collection file(string $label = null)
      * @method Grid\Column|Collection integral(string $label = null)
@@ -303,13 +335,17 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection recharge_id(string $label = null)
      * @method Grid\Column|Collection combo_id(string $label = null)
      * @method Grid\Column|Collection desc(string $label = null)
+     * @method Grid\Column|Collection child_id(string $label = null)
+     * @method Grid\Column|Collection income(string $label = null)
      * @method Grid\Column|Collection date(string $label = null)
      * @method Grid\Column|Collection award(string $label = null)
      * @method Grid\Column|Collection valid_day(string $label = null)
+     * @method Grid\Column|Collection account(string $label = null)
      * @method Grid\Column|Collection nickname(string $label = null)
      * @method Grid\Column|Collection open_id(string $label = null)
      * @method Grid\Column|Collection union_id(string $label = null)
      * @method Grid\Column|Collection email_verified_at(string $label = null)
+     * @method Grid\Column|Collection become_child_at(string $label = null)
      */
     class Grid {}
 
@@ -384,8 +420,10 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection free_episodes
      * @property Show\Field|Collection paid_episodes
      * @property Show\Field|Collection episodes_price
+     * @property Show\Field|Collection level
      * @property Show\Field|Collection episodes_id
      * @property Show\Field|Collection is_free
+     * @property Show\Field|Collection origin_price
      * @property Show\Field|Collection sale_price
      * @property Show\Field|Collection answer
      * @property Show\Field|Collection look_num
@@ -393,6 +431,7 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection token
      * @property Show\Field|Collection pay_id
      * @property Show\Field|Collection pay_type
+     * @property Show\Field|Collection source
      * @property Show\Field|Collection pay_dt
      * @property Show\Field|Collection order_fee
      * @property Show\Field|Collection discount_fee
@@ -401,6 +440,12 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection serial_number
      * @property Show\Field|Collection pay_error
      * @property Show\Field|Collection setting_id
+     * @property Show\Field|Collection douyin_app_id
+     * @property Show\Field|Collection douyin_app_secret
+     * @property Show\Field|Collection douyin_salt
+     * @property Show\Field|Collection douyin_token
+     * @property Show\Field|Collection kuaishou_app_id
+     * @property Show\Field|Collection kuaishou_app_secret
      * @property Show\Field|Collection mini_app_id
      * @property Show\Field|Collection mini_app_key
      * @property Show\Field|Collection wechat_app_id
@@ -410,9 +455,6 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection alipay_app_id
      * @property Show\Field|Collection alipay_app_key
      * @property Show\Field|Collection alipay_app_secret
-     * @property Show\Field|Collection douyin_app_id
-     * @property Show\Field|Collection douyin_app_key
-     * @property Show\Field|Collection douyin_app_secret
      * @property Show\Field|Collection tokenable_type
      * @property Show\Field|Collection tokenable_id
      * @property Show\Field|Collection abilities
@@ -432,12 +474,21 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection recharge_bg_img
      * @property Show\Field|Collection recharge_button_txt
      * @property Show\Field|Collection recharge_desc
+     * @property Show\Field|Collection is_review
+     * @property Show\Field|Collection share_type
+     * @property Show\Field|Collection share_number
+     * @property Show\Field|Collection withdraw_discount
+     * @property Show\Field|Collection withdraw_desc
+     * @property Show\Field|Collection withdraw_min
+     * @property Show\Field|Collection withdraw_max
+     * @property Show\Field|Collection is_open
      * @property Show\Field|Collection prefix
      * @property Show\Field|Collection event
      * @property Show\Field|Collection mobile
      * @property Show\Field|Collection verify_key
      * @property Show\Field|Collection sms_code
      * @property Show\Field|Collection sms_result
+     * @property Show\Field|Collection selected_icon
      * @property Show\Field|Collection episode_id
      * @property Show\Field|Collection before
      * @property Show\Field|Collection change
@@ -446,7 +497,6 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection order_id
      * @property Show\Field|Collection list_id
      * @property Show\Field|Collection discount
-     * @property Show\Field|Collection statust
      * @property Show\Field|Collection content
      * @property Show\Field|Collection file
      * @property Show\Field|Collection integral
@@ -458,13 +508,17 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection recharge_id
      * @property Show\Field|Collection combo_id
      * @property Show\Field|Collection desc
+     * @property Show\Field|Collection child_id
+     * @property Show\Field|Collection income
      * @property Show\Field|Collection date
      * @property Show\Field|Collection award
      * @property Show\Field|Collection valid_day
+     * @property Show\Field|Collection account
      * @property Show\Field|Collection nickname
      * @property Show\Field|Collection open_id
      * @property Show\Field|Collection union_id
      * @property Show\Field|Collection email_verified_at
+     * @property Show\Field|Collection become_child_at
      *
      * @method Show\Field|Collection id(string $label = null)
      * @method Show\Field|Collection name(string $label = null)
@@ -534,8 +588,10 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection free_episodes(string $label = null)
      * @method Show\Field|Collection paid_episodes(string $label = null)
      * @method Show\Field|Collection episodes_price(string $label = null)
+     * @method Show\Field|Collection level(string $label = null)
      * @method Show\Field|Collection episodes_id(string $label = null)
      * @method Show\Field|Collection is_free(string $label = null)
+     * @method Show\Field|Collection origin_price(string $label = null)
      * @method Show\Field|Collection sale_price(string $label = null)
      * @method Show\Field|Collection answer(string $label = null)
      * @method Show\Field|Collection look_num(string $label = null)
@@ -543,6 +599,7 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection token(string $label = null)
      * @method Show\Field|Collection pay_id(string $label = null)
      * @method Show\Field|Collection pay_type(string $label = null)
+     * @method Show\Field|Collection source(string $label = null)
      * @method Show\Field|Collection pay_dt(string $label = null)
      * @method Show\Field|Collection order_fee(string $label = null)
      * @method Show\Field|Collection discount_fee(string $label = null)
@@ -551,6 +608,12 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection serial_number(string $label = null)
      * @method Show\Field|Collection pay_error(string $label = null)
      * @method Show\Field|Collection setting_id(string $label = null)
+     * @method Show\Field|Collection douyin_app_id(string $label = null)
+     * @method Show\Field|Collection douyin_app_secret(string $label = null)
+     * @method Show\Field|Collection douyin_salt(string $label = null)
+     * @method Show\Field|Collection douyin_token(string $label = null)
+     * @method Show\Field|Collection kuaishou_app_id(string $label = null)
+     * @method Show\Field|Collection kuaishou_app_secret(string $label = null)
      * @method Show\Field|Collection mini_app_id(string $label = null)
      * @method Show\Field|Collection mini_app_key(string $label = null)
      * @method Show\Field|Collection wechat_app_id(string $label = null)
@@ -560,9 +623,6 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection alipay_app_id(string $label = null)
      * @method Show\Field|Collection alipay_app_key(string $label = null)
      * @method Show\Field|Collection alipay_app_secret(string $label = null)
-     * @method Show\Field|Collection douyin_app_id(string $label = null)
-     * @method Show\Field|Collection douyin_app_key(string $label = null)
-     * @method Show\Field|Collection douyin_app_secret(string $label = null)
      * @method Show\Field|Collection tokenable_type(string $label = null)
      * @method Show\Field|Collection tokenable_id(string $label = null)
      * @method Show\Field|Collection abilities(string $label = null)
@@ -582,12 +642,21 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection recharge_bg_img(string $label = null)
      * @method Show\Field|Collection recharge_button_txt(string $label = null)
      * @method Show\Field|Collection recharge_desc(string $label = null)
+     * @method Show\Field|Collection is_review(string $label = null)
+     * @method Show\Field|Collection share_type(string $label = null)
+     * @method Show\Field|Collection share_number(string $label = null)
+     * @method Show\Field|Collection withdraw_discount(string $label = null)
+     * @method Show\Field|Collection withdraw_desc(string $label = null)
+     * @method Show\Field|Collection withdraw_min(string $label = null)
+     * @method Show\Field|Collection withdraw_max(string $label = null)
+     * @method Show\Field|Collection is_open(string $label = null)
      * @method Show\Field|Collection prefix(string $label = null)
      * @method Show\Field|Collection event(string $label = null)
      * @method Show\Field|Collection mobile(string $label = null)
      * @method Show\Field|Collection verify_key(string $label = null)
      * @method Show\Field|Collection sms_code(string $label = null)
      * @method Show\Field|Collection sms_result(string $label = null)
+     * @method Show\Field|Collection selected_icon(string $label = null)
      * @method Show\Field|Collection episode_id(string $label = null)
      * @method Show\Field|Collection before(string $label = null)
      * @method Show\Field|Collection change(string $label = null)
@@ -596,7 +665,6 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection order_id(string $label = null)
      * @method Show\Field|Collection list_id(string $label = null)
      * @method Show\Field|Collection discount(string $label = null)
-     * @method Show\Field|Collection statust(string $label = null)
      * @method Show\Field|Collection content(string $label = null)
      * @method Show\Field|Collection file(string $label = null)
      * @method Show\Field|Collection integral(string $label = null)
@@ -608,13 +676,17 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection recharge_id(string $label = null)
      * @method Show\Field|Collection combo_id(string $label = null)
      * @method Show\Field|Collection desc(string $label = null)
+     * @method Show\Field|Collection child_id(string $label = null)
+     * @method Show\Field|Collection income(string $label = null)
      * @method Show\Field|Collection date(string $label = null)
      * @method Show\Field|Collection award(string $label = null)
      * @method Show\Field|Collection valid_day(string $label = null)
+     * @method Show\Field|Collection account(string $label = null)
      * @method Show\Field|Collection nickname(string $label = null)
      * @method Show\Field|Collection open_id(string $label = null)
      * @method Show\Field|Collection union_id(string $label = null)
      * @method Show\Field|Collection email_verified_at(string $label = null)
+     * @method Show\Field|Collection become_child_at(string $label = null)
      */
     class Show {}
 

+ 22 - 0
server/resources/lang/zh/share-config.php

xqd
@@ -0,0 +1,22 @@
+<?php
+return [
+    'title' => '分销设置',
+    'labels' => [
+        'share' => '分销管理',
+        'setting' => '分销设置',
+        'ShareConfig' => '分销设置'
+    ],
+    'fields' => [
+        'price' => '推荐奖励',
+        'share_type' => '类型 1-百分比 2-固定',
+        'share_number' => '分销金额',
+        'type' => '类型 1-百分比 2-固定',
+        'withdraw_discount' => '提现手续费 百分比',
+        'withdraw_desc' => '提现说明',
+        'withdraw_min' => '最少提现额度',
+        'withdraw_max' => '每日提现上限',
+        'is_open' => '是否开启分销',
+    ],
+    'options' => [
+    ],
+];

+ 14 - 0
server/resources/lang/zh/user-share.php

xqd
@@ -0,0 +1,14 @@
+<?php 
+return [
+    'labels' => [
+        'UserShare' => 'UserShare',
+        'user-share' => 'UserShare',
+    ],
+    'fields' => [
+        'user_id' => '用户',
+        'child_id' => '二级ID',
+        'income' => '收入',
+    ],
+    'options' => [
+    ],
+];

+ 22 - 0
server/resources/lang/zh/user-withdraw.php

xqd
@@ -0,0 +1,22 @@
+<?php
+return [
+    'labels' => [
+        'UserWithdraw' => '提现管理',
+        'user-withdraw' => '提现管理',
+        'share' => '分销管理',
+        'withdraw' => '提现管理',
+    ],
+    'fields' => [
+        'user_id' => '用户',
+        'name' => '姓名',
+        'phone_num' => '手机号',
+        'type' => '类型 1-微信',
+        'account' => '提现账号',
+        'price' => '用户申请金额',
+        'discount' => '手续费',
+        'desc' => '提现备注',
+        'status' => '提现状态',
+    ],
+    'options' => [
+    ],
+];

+ 6 - 0
server/resources/lang/zh/user.php

xqd xqd
@@ -6,6 +6,7 @@ return [
         'users' => '用户',
         'User' => '用户',
         'user' => '用户',
+        'share' => '分销管理'
     ],
     'fields' => [
         'nickname' => '昵称',
@@ -19,6 +20,11 @@ return [
         'email_verified_at' => 'email_verified_at',
         'remember_token' => 'remember_token',
         'created_at' => '注册时间',
+        'income' => '可提现佣金',
+        'total_income' => '累积佣金',
+        'parent_id' => '推荐人',
+        'child_count' => '下级用户',
+        'become_share_at' => '成为分销商时间',
     ],
     'options' => [
     ],

+ 20 - 0
server/resources/lang/zh_CN/share-config.php

xqd
@@ -0,0 +1,20 @@
+<?php 
+return [
+    'labels' => [
+        'ShareConfig' => 'ShareConfig',
+        'share-config' => 'ShareConfig',
+    ],
+    'fields' => [
+        'price' => '推荐奖励',
+        'share_type' => '类型 1-百分比 2-固定',
+        'share_number' => '分销金额',
+        'type' => '类型 1-百分比 2-固定',
+        'withdraw_discount' => '提现手续费 百分比',
+        'withdraw_desc' => '提现说明',
+        'withdraw_min' => '最少提现额度',
+        'withdraw_max' => '每日提现上限',
+        'is_open' => '是否开启分销',
+    ],
+    'options' => [
+    ],
+];

+ 14 - 0
server/resources/lang/zh_CN/user-share.php

xqd
@@ -0,0 +1,14 @@
+<?php 
+return [
+    'labels' => [
+        'UserShare' => 'UserShare',
+        'user-share' => 'UserShare',
+    ],
+    'fields' => [
+        'user_id' => '用户',
+        'child_id' => '二级ID',
+        'income' => '收入',
+    ],
+    'options' => [
+    ],
+];

+ 18 - 0
server/resources/lang/zh_CN/user-withdraw.php

xqd
@@ -0,0 +1,18 @@
+<?php 
+return [
+    'labels' => [
+        'UserWithdraw' => 'UserWithdraw',
+        'user-withdraw' => 'UserWithdraw',
+    ],
+    'fields' => [
+        'user_id' => '用户',
+        'name' => '姓名',
+        'type' => '类型 1-微信',
+        'account' => '提现账号',
+        'price' => '提现金额',
+        'desc' => '提现备注',
+        'status' => '提现状态',
+    ],
+    'options' => [
+    ],
+];