[ 'key_field' => 'id', 'is_search' => 1, 'search_url' => MyUrl('admin/paylog/index'), 'is_middle' => 0, ], // 表单配置 'form' => [ [ 'label' => '用户信息', 'view_type' => 'module', 'view_key' => 'lib/module/user', 'grid_size' => 'sm', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'input', 'form_name' => 'user_id', 'where_type_custom' => 'in', 'where_value_custom' => 'WhereValueUserInfo', 'placeholder' => '请输入用户名/昵称/手机/邮箱', ], ], [ 'label' => '支付单号', 'view_type' => 'field', 'view_key' => 'log_no', 'width' => 165, 'is_sort' => 1, 'search_config' => [ 'form_type' => 'input', 'where_type' => '=', ], ], [ 'label' => '支付方式', 'view_type' => 'module', 'view_key' => 'paylog/module/payment', 'grid_size' => 'sm', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'form_name' => 'payment', 'where_type' => 'in', 'data' => $this->PayLogPaymentTypeList(), 'data_key' => 'id', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '状态', 'view_type' => 'field', 'view_key' => 'status', 'view_data_key' => 'name', 'view_data' => MyConst('common_pay_log_status_list'), 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'where_type' => 'in', 'data' => MyConst('common_pay_log_status_list'), 'data_key' => 'value', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '业务订单金额(元)', 'view_type' => 'field', 'view_key' => 'total_price', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', 'is_point' => 1, ], ], [ 'label' => '支付金额(元)', 'view_type' => 'field', 'view_key' => 'pay_price', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', 'is_point' => 1, ], ], [ 'label' => '业务类型', 'view_type' => 'field', 'view_key' => 'business_type', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'where_type' => 'in', 'data' => $this->PayLogBusinessTypeList(), 'data_key' => 'name', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '业务id/单号', 'view_type' => 'module', 'view_key' => 'paylog/module/business_list', 'width' => 300, 'search_config' => [ 'form_type' => 'input', 'form_name' => 'id', 'where_type_custom' => 'in', 'where_value_custom' => 'WhereValueBusinessInfo', ], ], [ 'label' => '支付平台交易号', 'view_type' => 'field', 'view_key' => 'trade_no', 'grid_size' => 'sm', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'input', 'where_type' => '=', ], ], [ 'label' => '支付平台用户帐号', 'view_type' => 'field', 'view_key' => 'buyer_user', 'grid_size' => 'sm', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'input', 'where_type' => 'like', ], ], [ 'label' => '订单名称', 'view_type' => 'field', 'view_key' => 'subject', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'input', 'where_type' => 'like', ], ], [ 'label' => '支付时间', 'view_type' => 'field', 'view_key' => 'pay_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '关闭时间', 'view_type' => 'field', 'view_key' => 'close_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '创建时间', 'view_type' => 'field', 'view_key' => 'add_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '操作', 'view_type' => 'operate', 'view_key' => 'paylog/module/operate', 'align' => 'center', 'fixed' => 'right', ], ], ]; } /** * 用户信息条件处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-26 * @desc description * @param [string] $value [条件值] * @param [array] $params [输入参数] */ public function WhereValueUserInfo($value, $params = []) { if(!empty($value)) { // 获取用户 id $ids = Db::name('User')->where('username|nickname|mobile|email', 'like', '%'.$value.'%')->column('id'); // 避免空条件造成无效的错觉 return empty($ids) ? [0] : $ids; } return $value; } /** * 支付方式类型 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-26 * @desc description */ public function PayLogPaymentTypeList() { $data = []; $ret = PayLogService::PayLogTypeList(); if(!empty($ret['data'])) { foreach($ret['data'] as $v) { $data[] = [ 'id' => $v['id'], 'name' => $v['name'].'('.$v['id'].')', ]; } } return $data; } /** * 业务类型 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-26 * @desc description */ public function PayLogBusinessTypeList() { return Db::name('PayLog')->field('business_type as name')->group('business_type')->select()->toArray(); } /** * 关联业务条件处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-30 * @desc description * @param [string] $value [条件值] * @param [array] $params [输入参数] */ public function WhereValueBusinessInfo($value, $params = []) { if(!empty($value)) { // 获取支持业务支付 id $ids = Db::name('PayLogValue')->where('business_id|business_no', '=', $value)->column('pay_log_id'); // 避免空条件造成无效的错觉 return empty($ids) ? [0] : $ids; } return $value; } } ?>