diff --git a/app/Admin/Common/Type.php b/app/Admin/Common/Type.php index a4d31e8..eef0ded 100644 --- a/app/Admin/Common/Type.php +++ b/app/Admin/Common/Type.php @@ -6,6 +6,45 @@ namespace App\Admin\Common; class Type { + const MONEY_TYPE_LIST = [ + 0 => '未知', + 1 => '社区服务点新用户奖励', + 2 => '社区服务点新用户线上首单奖励', + 3 => '社区服务点用户线上订单分账', + 4 => '商户平台新用户奖励', + 5 => '商户当日首单奖励', + 6 => '商户线上订单完成收入', + 7 => '商户线下订单完成收入', + 8 => '用户线上订单退款', + 9 => '市场经理发展新用户', + 10 => '市场经理发展新商户', + 11 => '服务商发展新用户', + 12 => '服务商发展新商户', + 13 => '服务商线上订单分账', + + 100 => '用户线下支付订单', + 101 => '用户线上支付订单', + 102 => '服务商提现类型', + 103 => '市场经理提现类型', + 104 => '社区提现类型', + ]; + + const USER_TYPE_LIST = [ + -1 => '虚拟账户', + 0 => '未知', + 1 => '微信用户', + 2 => '服务商', + 3 => '市场经理', + 4 => '社区代理点', + 5 => '商户', + ]; + + const SOURCE_TYPE_LIST = [ + 0 => '无类型', + 1 => '订单', + 2 => '商户提现', + ]; + /** * lanzu_financial_record * 流水类型,大的分类,<100是奖励分账等收入项 >=100是提现消费等支出项 diff --git a/app/Admin/Controllers/v3/StoreController.php b/app/Admin/Controllers/v3/StoreController.php index 7a1b7ac..465a7e2 100644 --- a/app/Admin/Controllers/v3/StoreController.php +++ b/app/Admin/Controllers/v3/StoreController.php @@ -20,7 +20,6 @@ use App\Models\LanzuUserBalance as UserBalanceModel; use App\Models\v3\StoreUsers as StoreUsersModel; use App\Admin\Actions\Grid\v3\StoreSetTime; use App\Admin\Renderable\StoreBalance; -use Dcat\Admin\Widgets\LazyTable; class StoreController extends AdminController { @@ -54,13 +53,16 @@ class StoreController extends AdminController $grid->column('user_id','余额')->display(function($userId){ $userId = $this->user_id; - // 查询店铺余额 - $moneyType = 5;// 商户类型 - $balance = UserBalanceModel::getBalance($userId, $moneyType); + $balance = 0; + if($userId > 0){ + $moneyType = 5;// 商户类型 + $balance = UserBalanceModel::getBalance($userId, $moneyType); + } return $balance; })->modal(function($modal){ - $modal->title('商户余额'); - $table = LazyTable::make(StoreBalance::make(['user_id'=>$this->user_id]))->simple(); + $name = $this->name; + $modal->title($name.'的余额明细'); + $table = StoreBalance::make(['user_id'=>$this->user_id]); return $table; }); diff --git a/app/Admin/Renderable/StoreBalance.php b/app/Admin/Renderable/StoreBalance.php index 9335321..c89fce3 100644 --- a/app/Admin/Renderable/StoreBalance.php +++ b/app/Admin/Renderable/StoreBalance.php @@ -1,64 +1,87 @@ user_id ?? 0; - - // $data = FinancialRecord::getFinancialRecordModel($userId) - // ::select('user_id','user_type','current_balance','money','money_type','desc','comment','status','created_at') - // ->whereRaw('user_type ='.Type::USER_TYPE_STORE) - // ->where('source_type',Type::SOURCE_TYPE_ORDER) - // ->where('money_type',Type::MONEY_TYPE_STORE_PLAT_NEW_USER) - // ->orderBy('id','desc') - // ->get()->toArray(); - - // return Table::make($this->titles, $data); - return $this->grid(); - } + protected $title = '商户余额明细'; public function grid(): Grid { // 获取外部传递的参数 - $userId = $this->payload['user_id'] ?? 0; + $userId = $this->user_id ?? 0; $model = FinancialRecord::getFinancialRecordModel($userId); + if(!$model){ + return Grid::make(new CommonEmpty(), function (Grid $grid) { + $grid->column('id','商 户 未 绑 定 提 现 用 户 懒 ID !'); + $grid->disableRowSelector(); + $grid->disableActions(); + $grid->disablePagination(); + }); + } + return Grid::make($model, function (Grid $grid) { - $grid->user_type; - $grid->current_balance; - $grid->money; - $grid->money_type; - $grid->comment; - $grid->status; - $grid->created_at->display(function($createdAt){ + $grid->column('id','ID'); + $grid->column('user_type','账户类型')->display(function($userType){ + $item = Type::USER_TYPE_LIST[$userType] ?? ''; + return $item; + }); + $grid->column('money_type','流水类型')->display(function($moneyType){ + $item = Type::MONEY_TYPE_LIST[$moneyType] ?? ''; + return $item; + }); + + $grid->column('money','金额'); + $grid->column('current_balance','账户余额'); + $grid->column('comment','描述'); + $grid->column('status','状态') + ->using( + FinancialRecord::$status + ) + ->label( + config('label.status_label') + ); + $grid->column('created_at')->display(function($createdAt){ return date('Y-m-d H:i:s',$createdAt); }); // 搜索 $grid->filter(function (Grid\Filter $filter){ - $filter->panel(); - $filter->equal('money_type'); - $filter->equal('user_type'); + $userTypeList = Type::USER_TYPE_LIST; + $moneyTypeList = Type::MONEY_TYPE_LIST; + $sourceTYpeList = Type::SOURCE_TYPE_LIST; + unset($userTypeList[0],$moneyTypeList[0]); + + $filter->equal('id','流水表ID')->width(3); + $filter->equal('user_id','账户ID')->width(3); + $filter->equal('current_balance','账户余额')->width(3); + + $filter->equal('money','流水金额')->width(3); + $filter->equal('source_id','关联流水ID')->width(3); + + $filter->equal('money_type','流水类型')->select($userTypeList)->width(4); + $filter->equal('user_type','账户类型')->select($moneyTypeList)->width(4); + $filter->equal('source_type','关联类型')->select($sourceTYpeList)->width(4); + + $filter->whereBetween('created_at',function($q){ + $start = $this->input['start'] ?? null; + $end = $this->input['end'] ?? null; + if($start !== null){ + $q->where('created_at','>=',strtotime($start)); + } + if($end !== null){ + $q->where('created_at','<=',strtotime($end)); + } + })->datetime()->width(7); }); $grid->model()->orderBy('id','desc'); // 每页10条 $grid->paginate(10); - $grid->disableCreateButton(); - $grid->disableDeleteButton(); - $grid->disableEditButton(); - $grid->disableQuickEditButton(); - $grid->disableViewButton(); $grid->disableActions(); $grid->disableRowSelector(); }); diff --git a/app/Admin/Repositories/CommonEmpty.php b/app/Admin/Repositories/CommonEmpty.php new file mode 100644 index 0000000..e9b41aa --- /dev/null +++ b/app/Admin/Repositories/CommonEmpty.php @@ -0,0 +1,17 @@ +'异常' ,1=> '正常']; + /** * 根据用户id创建不同模型 * @param $user_id