Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mintest
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
朱招明
mintest
Commits
7c2966a7
Commit
7c2966a7
authored
Apr 14, 2022
by
朱招明
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
奖励方案相关功能
1.后台管理相关 2.Api接口相关
parent
4bf8ca9f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
830 additions
and
3 deletions
+830
-3
2022_04_13_152834_create_schemes_table.php
...ase/Migrations/2022_04_13_152834_create_schemes_table.php
+45
-0
2022_04_13_160116_create_scheme_configs_table.php
...rations/2022_04_13_160116_create_scheme_configs_table.php
+36
-0
Scheme.php
Modules/Share/Entities/Scheme.php
+12
-0
SchemeConfig.php
Modules/Share/Entities/SchemeConfig.php
+10
-0
SchemeConfigSet.php
...es/Share/Http/Controllers/Admin/Forms/SchemeConfigSet.php
+63
-0
SchemeController.php
Modules/Share/Http/Controllers/Admin/SchemeController.php
+129
-0
ApiController.php
Modules/Share/Http/Controllers/Api/ApiController.php
+33
-0
SchemeController.php
Modules/Share/Http/Controllers/Api/SchemeController.php
+0
-0
BaseController.php
Modules/Share/Http/Controllers/BaseController.php
+13
-0
BaseRequest.php
Modules/Share/Http/Requests/BaseRequest.php
+73
-0
SchemeRequest.php
Modules/Share/Http/Requests/SchemeRequest.php
+73
-0
routes.php
Modules/Share/Http/routes.php
+63
-3
BaseService.php
Modules/Share/Services/BaseService.php
+32
-0
SchemeService.php
Modules/Share/Services/SchemeService.php
+23
-0
BaseTransformer.php
Modules/Share/Transformers/BaseTransformer.php
+82
-0
SchemeConfigTransformer.php
Modules/Share/Transformers/SchemeConfigTransformer.php
+27
-0
SchemeTransformer.php
Modules/Share/Transformers/SchemeTransformer.php
+39
-0
2022_04_14_122047_import_menu0414122047.php
...se/migrations/2022_04_14_122047_import_menu0414122047.php
+77
-0
No files found.
Modules/Share/Database/Migrations/2022_04_13_152834_create_schemes_table.php
0 → 100644
View file @
7c2966a7
<?php
use
Illuminate\Support\Facades\Schema
;
use
Illuminate\Database\Schema\Blueprint
;
use
Illuminate\Database\Migrations\Migration
;
class
CreateSchemesTable
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
/**
* 奖励方案列表
*/
Schema
::
create
(
'schemes'
,
function
(
Blueprint
$table
)
{
$table
->
increments
(
'id'
);
$table
->
string
(
'name'
,
'100'
)
->
default
(
''
)
->
comment
(
'方案名称'
);
$table
->
tinyInteger
(
'direct_source_ratio'
)
->
default
(
0
)
->
comment
(
'直接客源奖励比例'
);
$table
->
tinyInteger
(
'indirect_source_ratio'
)
->
default
(
0
)
->
comment
(
'间接客源奖励比例'
);
$table
->
decimal
(
'recharge_amount'
,
10
,
2
)
->
default
(
0
)
->
comment
(
'充值金额'
);
$table
->
decimal
(
'consume_amount'
,
10
,
2
)
->
default
(
0
)
->
comment
(
'可消费充值金额'
);
$table
->
decimal
(
'unconsume_amount'
,
10
,
2
)
->
default
(
0
)
->
comment
(
'不可消费充值金额'
);
$table
->
tinyInteger
(
'online_pay'
)
->
default
(
0
)
->
comment
(
'是否线上支付 0否 1是'
);
$table
->
tinyInteger
(
'dividend_type'
)
->
default
(
1
)
->
comment
(
'分红方式 1毛利分红 2实收分红'
);
$table
->
tinyInteger
(
'benefit_month'
)
->
default
(
0
)
->
comment
(
'受益时长/月'
);
$table
->
tinyInteger
(
'status'
)
->
default
(
1
)
->
comment
(
'启用状态 1启用 2停用'
);
$table
->
string
(
'interests_images'
,
'200'
)
->
default
(
''
)
->
comment
(
'方案权益图片'
);
$table
->
timestamps
();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
Schema
::
dropIfExists
(
'schemes'
);
}
}
Modules/Share/Database/Migrations/2022_04_13_160116_create_scheme_configs_table.php
0 → 100644
View file @
7c2966a7
<?php
use
Illuminate\Support\Facades\Schema
;
use
Illuminate\Database\Schema\Blueprint
;
use
Illuminate\Database\Migrations\Migration
;
class
CreateSchemeConfigsTable
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
/**
* 奖励方案配置
*/
Schema
::
create
(
'scheme_configs'
,
function
(
Blueprint
$table
)
{
$table
->
increments
(
'id'
);
$table
->
tinyInteger
(
'introduce_manager_ratio'
)
->
comment
(
'介绍掌柜奖励比例'
);
$table
->
tinyInteger
(
'default_manager_ratio'
)
->
comment
(
'默认奖励比例'
);
$table
->
timestamps
();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
Schema
::
dropIfExists
(
'scheme_configs'
);
}
}
Modules/Share/Entities/Scheme.php
0 → 100644
View file @
7c2966a7
<?php
namespace
Modules\Share\Entities
;
use
Illuminate\Database\Eloquent\Model
;
class
Scheme
extends
Model
{
protected
$fillable
=
[
'name'
,
'direct_source_ratio'
,
'indirect_source_ratio'
,
'recharge_amount'
,
'consume_amount'
,
'unconsume_amount'
,
'online_pay'
,
'dividend_type'
,
'benefit_month'
,
];
}
Modules/Share/Entities/SchemeConfig.php
0 → 100644
View file @
7c2966a7
<?php
namespace
Modules\Share\Entities
;
use
Illuminate\Database\Eloquent\Model
;
class
schemeConfig
extends
Model
{
protected
$fillable
=
[];
}
Modules/Share/Http/Controllers/Admin/Forms/SchemeConfigSet.php
0 → 100644
View file @
7c2966a7
<?php
namespace
Modules\Share\Http\Controllers\Admin\Forms
;
use
Encore\Admin\Widgets\Form
;
use
Illuminate\Http\Request
;
use
Modules\Share\Entities\SchemeConfig
;
class
SchemeConfigSet
extends
Form
{
/**
* The form title.
*
* @var string
*/
public
$title
=
'方案统一配置'
;
/**
* Handle the form request.
*
* @param Request $request
*
* @return \Illuminate\Http\RedirectResponse
*/
public
function
handle
(
Request
$request
)
{
//dump($request->all());
$SchemeConfig
=
SchemeConfig
::
first
();
$SchemeConfig
->
introduce_manager_ratio
=
$request
->
introduce_manager_ratio
;
$SchemeConfig
->
default_manager_ratio
=
$request
->
default_manager_ratio
;
$SchemeConfig
->
save
();
admin_success
(
'设置成功'
);
return
back
();
}
/**
* Build a form here.
*/
public
function
form
()
{
$this
->
number
(
'introduce_manager_ratio'
,
'介绍掌柜奖励比例'
)
->
default
(
0
)
->
rules
(
'required|Numeric|between:0,100'
);
$this
->
number
(
'default_manager_ratio'
,
'默认奖励比例'
)
->
default
(
0
)
->
rules
(
'required|Numeric|between:0,100'
);
}
/**
* The data of the form.
*
* @return array $data
*/
public
function
data
()
{
$SchemeConfig
=
SchemeConfig
::
first
();
return
[
'introduce_manager_ratio'
=>
$SchemeConfig
->
introduce_manager_ratio
,
'default_manager_ratio'
=>
$SchemeConfig
->
default_manager_ratio
,
];
}
}
Modules/Share/Http/Controllers/Admin/SchemeController.php
0 → 100644
View file @
7c2966a7
<?php
namespace
Modules\Share\Http\Controllers\Admin
;
use
Encore\Admin\Layout\Content
;
use
Modules\Share\Entities\Scheme
;
use
Encore\Admin\Controllers\AdminController
;
use
Encore\Admin\Form
;
use
SMG\Admin\Grid
;
use
Encore\Admin\Show
;
use
Modules\Share\Http\Controllers\Admin\Forms\SchemeConfigSet
;
class
SchemeController
extends
AdminController
{
/**
* Title for current resource.
*
* @var string
*/
protected
$title
=
'方案管理'
;
/**
* Make a grid builder.
*
* @return Grid
*/
protected
function
grid
()
{
$grid
=
new
Grid
(
new
Scheme
());
$grid
->
column
(
'id'
,
'Id'
);
$grid
->
column
(
'name'
,
'名称'
);
$grid
->
column
(
'direct_source_ratio'
,
'直接客源奖励比例'
);
$grid
->
column
(
'indirect_source_ratio'
,
'间接客源奖励比例'
);
$grid
->
column
(
'recharge_amount'
,
'充值金额'
);
$grid
->
column
(
'consume_amount'
,
'可消费充值金额'
);
$grid
->
column
(
'unconsume_amount'
,
'不可消费充值金额'
);
$grid
->
column
(
'online_pay'
,
'是否线上支付'
)
->
display
(
function
(
$v
)
{
return
$v
==
1
?
'是'
:
'否'
;
});
$grid
->
column
(
'dividend_type'
,
'分红方式'
)
->
display
(
function
(
$v
)
{
return
$v
==
1
?
'毛利分红'
:
'实收分红'
;
});
$grid
->
column
(
'benefit_month'
,
'受益时长'
)
->
display
(
function
(
$v
)
{
return
$v
.
'个月'
;
});
$grid
->
column
(
'status'
,
'是否启用'
)
->
display
(
function
(
$v
)
{
return
$v
==
1
?
'启用'
:
'禁用'
;
});
$grid
->
column
(
'created_at'
,
'创建时间'
);
$grid
->
filter
(
function
(
$filter
)
{
$filter
->
like
(
'name'
,
'方案名称'
);
$filter
->
equal
(
'dividend_type'
,
'分红方式'
)
->
select
([
1
=>
'毛利分红'
,
2
=>
'实收分红'
]);
$filter
->
equal
(
'status'
,
'状态'
)
->
radio
([
''
=>
'全部'
,
0
=>
'禁用'
,
1
=>
'启用'
,
]);
});
$grid
->
enableFilter
();
return
$grid
;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected
function
detail
(
$id
)
{
$show
=
new
Show
(
Scheme
::
findOrFail
(
$id
));
$show
->
field
(
'id'
,
'Id'
);
$show
->
field
(
'name'
,
'名称'
);
$show
->
field
(
'direct_source_ratio'
,
'直接客源奖励比例'
);
$show
->
field
(
'indirect_source_ratio'
,
'间接客源奖励比例'
);
$show
->
field
(
'recharge_amount'
,
'充值金额'
);
$show
->
field
(
'consume_amount'
,
'可消费充值金额'
);
$show
->
field
(
'unconsume_amount'
,
'不可消费充值金额'
);
$show
->
field
(
'online_pay'
,
'是否线上支付'
)
->
as
(
function
(
$v
)
{
return
$v
==
1
?
'是'
:
'否'
;
});
$show
->
field
(
'dividend_type'
,
'分红方式'
)
->
as
(
function
(
$v
)
{
return
$v
==
1
?
'毛利分红'
:
'实收分红'
;
});
$show
->
field
(
'benefit_month'
,
'受益时长'
)
->
as
(
function
(
$v
)
{
return
$v
.
'个月'
;
});
$show
->
field
(
'status'
,
'是否启用'
)
->
as
(
function
(
$v
)
{
return
$v
==
1
?
'启用'
:
'禁用'
;
});
$show
->
field
(
'status'
,
'是否启用'
);
return
$show
;
}
/**
* Make a form builder.
*
* @return Form
*/
protected
function
form
()
{
$form
=
new
Form
(
new
Scheme
());
$form
->
text
(
'name'
,
'名称'
)
->
rules
(
'required'
);
$form
->
number
(
'direct_source_ratio'
,
'直接客源奖励比例'
)
->
rules
(
'required|Numeric|between:0,100'
);
$form
->
number
(
'indirect_source_ratio'
,
'间接客源奖励比例'
)
->
rules
(
'required|Numeric|between:0,100'
);
$form
->
decimal
(
'recharge_amount'
,
'充值金额'
)
->
rules
(
'required|Numeric|between:1,99999999'
);
$form
->
decimal
(
'consume_amount'
,
'可消费充值金额'
)
->
rules
(
'required|Numeric|between:1,99999999'
);
$form
->
decimal
(
'unconsume_amount'
,
'不可消费充值金额'
)
->
rules
(
'required|Numeric|between:1,99999999'
);
$form
->
switch
(
'online_pay'
,
'线上支付'
)
->
default
(
1
)
->
rules
(
'required'
);
$form
->
select
(
'dividend_type'
,
'分红方式'
)
->
options
([
1
=>
'毛利分红'
,
2
=>
'实收分红'
])
->
rules
(
'required'
);
$form
->
number
(
'benefit_month'
,
'受益时长/个月'
)
->
rules
(
'required'
);
$form
->
switch
(
'status'
,
'是否启用'
)
->
default
(
1
)
->
rules
(
'required'
);
return
$form
;
}
public
function
config
(
Content
$content
)
{
return
$content
->
title
(
'方案配置'
)
->
body
(
new
SchemeConfigSet
());
}
}
Modules/Share/Http/Controllers/Api/ApiController.php
0 → 100644
View file @
7c2966a7
<?php
namespace
Modules\Share\Http\Controllers\Api
;
use
Illuminate\Pagination\AbstractPaginator
;
use
Illuminate\Pagination\LengthAwarePaginator
;
use
Modules\Base\Http\Controllers\BaseController
;
use
Modules\Base\Transformers\CommonTransformer
;
use
Modules\Base\Transformers\BaseTransformer
;
class
ApiController
extends
BaseController
{
use
\Dingo\Api\Routing\Helpers
;
public
function
paginator
(
AbstractPaginator
$list
,
BaseTransformer
$transform
)
{
if
(
$list
instanceof
LengthAwarePaginator
)
{
return
$this
->
response
->
paginator
(
$list
,
$transform
);
}
return
$this
->
response
->
collection
(
$list
->
getCollection
(),
$transform
)
->
setMeta
([
'pagination'
=>
[
'per_page'
=>
$list
->
perPage
(),
'current_page'
=>
$list
->
currentPage
(),
'count'
=>
$list
->
count
()]]);
}
public
function
emptyObject
()
{
return
$this
->
response
->
array
([
'data'
=>
new
\stdClass
()]);
}
public
function
emptyPageData
()
{
return
$this
->
response
->
paginator
(
new
LengthAwarePaginator
(
collect
(),
0
,
request
(
'per_page'
,
20
)),
new
CommonTransformer
());
}
}
Modules/Share/Http/Controllers/Api/SchemeController.php
0 → 100644
View file @
7c2966a7
This diff is collapsed.
Click to expand it.
Modules/Share/Http/Controllers/BaseController.php
0 → 100644
View file @
7c2966a7
<?php
namespace
Modules\Share\Http\Controllers
;
use
Illuminate\Foundation\Auth\Access\AuthorizesRequests
;
use
Illuminate\Foundation\Bus\DispatchesJobs
;
use
Illuminate\Foundation\Validation\ValidatesRequests
;
use
Illuminate\Routing\Controller
;
class
BaseController
extends
Controller
{
use
AuthorizesRequests
,
DispatchesJobs
,
ValidatesRequests
;
}
Modules/Share/Http/Requests/BaseRequest.php
0 → 100644
View file @
7c2966a7
<?php
namespace
Modules\Share\Http\Requests
;
use
Dingo\Api\Http\FormRequest
;
use
Dingo\Api\Http\Request
;
class
BaseRequest
extends
FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public
function
rules
()
{
$method
=
strtolower
(
$this
->
method
())
.
'Rules'
;
$rules
=
$this
->
$method
();
foreach
(
$rules
as
&
$rule
)
{
if
(
is_string
(
$rule
)
&&
strpos
(
$rule
,
'bail'
)
===
false
)
{
$rule
=
'bail|'
.
$rule
;
}
elseif
(
is_array
(
$rule
)
&&
!
in_array
(
'bail'
,
$rule
))
{
array_unshift
(
$rule
,
'bail'
);
}
}
return
$rules
;
}
protected
function
postRules
()
{
return
[];
}
protected
function
getRules
()
{
return
[];
}
protected
function
putRules
()
{
return
[];
}
protected
function
deleteRules
()
{
return
[];
}
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public
function
authorize
()
{
return
true
;
}
/**
* @return bool
*/
public
function
isApi
()
{
if
(
$this
->
container
[
'request'
]
instanceof
Request
)
{
return
true
;
}
return
false
;
}
}
Modules/Share/Http/Requests/SchemeRequest.php
0 → 100644
View file @
7c2966a7
<?php
namespace
Modules\Share\Http\Requests
;
use
Illuminate\Foundation\Http\FormRequest
;
class
SchemeRequest
extends
BaseRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public
function
postRules
()
{
return
[
'name'
=>
'required'
,
'direct_source_ratio'
=>
'required|Numeric|between:0,100'
,
'indirect_source_ratio'
=>
'required|Numeric|between:0,100'
,
'recharge_amount'
=>
'required|Numeric|between:1,99999999'
,
'consume_amount'
=>
'required|Numeric'
,
'unconsume_amount'
=>
'required|Numeric'
,
'online_pay'
=>
'required'
,
'dividend_type'
=>
'required'
,
'benefit_month'
=>
'required'
,
'interests_images'
=>
'required'
,
];
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public
function
putRules
()
{
return
[
'id'
=>
'required'
,
'name'
=>
'required'
,
'direct_source_ratio'
=>
'required|Numeric|between:0,100'
,
'indirect_source_ratio'
=>
'required|Numeric|between:0,100'
,
'recharge_amount'
=>
'required|Numeric|between:1,99999999'
,
'consume_amount'
=>
'required|Numeric'
,
'unconsume_amount'
=>
'required|Numeric'
,
'online_pay'
=>
'required'
,
'dividend_type'
=>
'required'
,
'benefit_month'
=>
'required'
,
'interests_images'
=>
'required'
,
];
}
public
function
messages
()
{
return
[
'id.required'
=>
'方案ID不能为空'
,
'name.required'
=>
'方案名称不能为空'
,
'direct_source_ratio.required'
=>
'直接客源奖励比例不能为空'
,
'direct_source_ratio.between'
=>
'直接客源奖励比例必须介于 0 - 100 之间'
,
'indirect_source_ratio.required'
=>
'间接客源奖励不能为空'
,
'indirect_source_ratio.between'
=>
'间接客源奖励必须介于 0 - 100 之间'
,
'recharge_amount.required'
=>
'充值金额不能为空'
,
'recharge_amount.between'
=>
'充值金额必须为1-99999999元之间'
,
'consume_amount.required'
=>
'可消费充值金额不能为空'
,
'unconsume_amount.required'
=>
'不可消费充值金额不能为空'
,
'online_pay.required'
=>
'是否线上支付不能为空'
,
'dividend_type.required'
=>
'分红方式不能为空'
,
'benefit_month.required'
=>
'受益时长不能为空'
,
'interests_images.required'
=>
'方案权益不能为空'
,
];
}
}
Modules/Share/Http/routes.php
View file @
7c2966a7
<?php
/**
* Admin
*/
Route
::
group
([
'prefix'
=>
config
(
'admin.route.prefix'
),
'middleware'
=>
config
(
'admin.route.middleware'
),
'namespace'
=>
'Modules\Share\Http\Controllers\Admin'
,
],
function
(
$router
)
{
//方案管理curd
$router
->
resource
(
'scheme'
,
'SchemeController'
);
//方案配置
$router
->
get
(
'scheme_config'
,
'SchemeController@config'
);
Route
::
group
([
'middleware'
=>
'web'
,
'prefix'
=>
'share'
,
'namespace'
=>
'Modules\Share\Http\Controllers'
],
function
()
{
Route
::
get
(
'/'
,
'ShareController@index'
);
});
/**
* api
*/
$api
=
app
(
'Dingo\Api\Routing\Router'
);
$api
->
version
(
'v1'
,
array_merge
(
[
'namespace'
=>
'Modules\Share\Http\Controllers\Api'
,
'prefix'
=>
'api/share'
,
],
config
(
'api.defaultSetting'
,
[])
),
function
(
$api
)
{
// 方案列表
$api
->
post
(
'/schemes/list'
,
'SchemeController@index'
)
->
name
(
'api.share.scheme.store'
);
// 新增方案
$api
->
post
(
'/schemes'
,
'SchemeController@create'
)
->
name
(
'api.share.scheme.create'
);
// 查看方案详细信息
$api
->
get
(
'/schemes/{scheme_id}'
,
'SchemeController@show'
)
->
name
(
'api.share.scheme.show'
);
// 修改方案
$api
->
put
(
'/schemes'
,
'SchemeController@edit'
)
->
name
(
'api.share.scheme.edit'
);
// 启用/停用 方案
$api
->
put
(
'/schemes/status/{scheme_id}'
,
'SchemeController@status'
)
->
name
(
'api.share.scheme.status'
);
// 删除方案
$api
->
delete
(
'/schemes/{scheme_id}'
,
'SchemeController@destroy'
)
->
name
(
'api.base.scheme.destroy'
);
// 获取方案配置
$api
->
get
(
'/schemes_setting'
,
'SchemeController@showSetting'
)
->
name
(
'api.base.scheme.showSetting'
);
// 修改方案配置
$api
->
put
(
'/schemes_setting'
,
'SchemeController@setting'
)
->
name
(
'api.base.scheme.setting'
);
}
);
Modules/Share/Services/BaseService.php
0 → 100644
View file @
7c2966a7
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/6/13
* Time: 9:52
*/
namespace
Modules\Share\Services
;
class
BaseService
{
protected
$model
;
public
function
create
(
$data
)
{
return
$this
->
model
=
$this
->
model
->
create
(
$data
)
->
refresh
();
}
public
function
update
(
$id
,
$data
)
{
$this
->
model
=
$this
->
model
->
find
(
$id
);
$this
->
model
->
fill
(
$data
);
return
$this
->
model
->
save
();
}
public
function
getModel
()
{
return
$this
->
model
;
}
}
Modules/Share/Services/SchemeService.php
0 → 100644
View file @
7c2966a7
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/6/13
* Time: 9:53
*/
namespace
Modules\Share\Services
;
use
Modules\Share\Entities\Scheme
;
class
SchemeService
extends
BaseService
{
public
function
__construct
(
Scheme
$scheme
)
{
$this
->
model
=
$scheme
;
}
public
function
update
(
$id
,
$data
)
{
return
parent
::
update
(
$id
,
$data
);
}
}
Modules/Share/Transformers/BaseTransformer.php
0 → 100644
View file @
7c2966a7
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/6/27
* Time: 17:44
*/
namespace
Modules\Share\Transformers
;
use
League\Fractal\TransformerAbstract
;
class
BaseTransformer
extends
TransformerAbstract
{
protected
static
$extraIncludes
=
[];
protected
static
$extraDefaultIncludes
=
[];
public
function
__construct
()
{
if
(
!
isset
(
static
::
$extraIncludes
[
static
::
class
]))
{
static
::
$extraIncludes
[
static
::
class
]
=
[];
}
if
(
!
isset
(
static
::
$extraDefaultIncludes
[
static
::
class
]))
{
static
::
$extraDefaultIncludes
[
static
::
class
]
=
[];
}
$this
->
availableIncludes
=
array_merge
(
$this
->
availableIncludes
,
static
::
$extraIncludes
[
static
::
class
]);
$this
->
defaultIncludes
=
array_merge
(
$this
->
defaultIncludes
,
static
::
$extraDefaultIncludes
[
static
::
class
]);
}
public
static
function
addIncludes
(
$name
)
{
if
(
!
isset
(
static
::
$extraIncludes
[
static
::
class
]))
{
static
::
$extraIncludes
[
static
::
class
]
=
[];
}
$name
=
(
array
)
$name
;
$temp
=
[];
foreach
(
$name
as
$key
=>
$value
)
{
if
(
is_string
(
$key
)
&&
$value
instanceof
\Closure
)
{
static
::
macro
(
'include'
.
ucfirst
(
$key
),
$value
);
$value
=
$key
;
}
$temp
[]
=
$value
;
}
static
::
$extraIncludes
[
static
::
class
]
=
array_merge
(
static
::
$extraIncludes
[
static
::
class
],
$temp
);
}
public
static
function
addDefaultIncludes
(
$name
)
{
if
(
!
isset
(
static
::
$extraDefaultIncludes
[
static
::
class
]))
{
static
::
$extraDefaultIncludes
[
static
::
class
]
=
[];
}
static
::
$extraDefaultIncludes
[
static
::
class
]
+=
(
array
)
$name
;
}
/**
* 修改返回
*
* @param $arr
*
* @return mixed
*/
public
function
alter
(
$arr
)
{
return
$arr
;
}
public
static
function
checkExtraInclude
(
$key
)
{
static
$extra_includes
;
if
(
$extra_includes
==
null
)
{
$extra_includes
=
array_map
(
'trim'
,
explode
(
','
,
request
(
'extra_include'
,
''
)));
}
return
array_search
(
$key
,
$extra_includes
)
===
false
?
false
:
true
;
}
public
function
single
(
$value
,
$transformer
)
{
return
$value
?
$this
->
item
(
$value
,
$transformer
)
:
null
;
}
}
Modules/Share/Transformers/SchemeConfigTransformer.php
0 → 100644
View file @
7c2966a7
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/6/8
* Time: 12:20
*/
namespace
Modules\Share\Transformers
;
use
Modules\Share\Entities\SchemeConfig
;
class
SchemeConfigTransformer
extends
BaseTransformer
{
/**
* @OA\Schema(
* description="方案列表",
* type="object",
* schema="SchemeConfig",
* @OA\Property(property="introduce_manager_ratio", type="integer", description="介绍掌柜奖励比例"),
* @OA\Property(property="default_manager_ratio", type="integer", description="默认奖励比例"),
* )
*/
public
function
transform
(
SchemeConfig
$schemeConfig
)
{
return
map_attr
(
$schemeConfig
,
[
'introduce_manager_ratio'
,
'default_manager_ratio'
]);
}
}
Modules/Share/Transformers/SchemeTransformer.php
0 → 100644
View file @
7c2966a7
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/6/8
* Time: 12:20
*/
namespace
Modules\Share\Transformers
;
use
Modules\Share\Entities\Scheme
;
class
SchemeTransformer
extends
BaseTransformer
{
/**
* @OA\Schema(
* description="方案列表",
* type="object",
* schema="Scheme",
* @OA\Property(property="id", type="integer", description="ID"),
* @OA\Property(property="name", type="string", description="方案名称"),
* @OA\Property(property="direct_source_ratio", type="integer", description="直接客源奖励比例"),
* @OA\Property(property="indirect_source_ratio", type="integer", description="间接客源奖励比例"),
* @OA\Property(property="recharge_amount", type="float", description="充值金额"),
* @OA\Property(property="consume_amount", type="float", description="可消费充值金额"),
* @OA\Property(property="unconsume_amount", type="float", description="不可消费充值金额"),
* @OA\Property(property="online_pay", type="integer", description="是否线上支付"),
* @OA\Property(property="dividend_type", type="integer", description="分红方式"),
* @OA\Property(property="benefit_month", type="integer", description="受益时长/月"),
* @OA\Property(property="interests_images", type="string", description="方案权益"),
* @OA\Property(property="status", type="integer", description="启用状态"),
* @OA\Property(property="created_at", type="string", description="写入时间"),
* @OA\Property(property="updated_at", type="string", description="更新时间")
* )
*/
public
function
transform
(
Scheme
$scheme
)
{
return
map_attr
(
$scheme
,
[
'id'
,
'name'
,
'direct_source_ratio'
,
'indirect_source_ratio'
,
'recharge_amount'
,
'consume_amount'
,
'unconsume_amount'
,
'online_pay'
,
'dividend_type'
,
'benefit_month'
,
'interests_images'
,
'status'
,
'created_at'
,
'updated_at'
]);
}
}
database/migrations/2022_04_14_122047_import_menu0414122047.php
0 → 100644
View file @
7c2966a7
<?php
use
Encore\Admin\Auth\Database\Menu
;
use
Illuminate\Database\Migrations\Migration
;
class
ImportMenu0414122047
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
$parent_id
=
0
;
$menu
=
$this
->
createMenu
(
'方案管理'
,
NULL
,
'fa-bars'
,
$parent_id
);
$parent_id
=
$menu
->
id
;
$this
->
createMenu
(
'方案列表'
,
'scheme'
,
'fa-bars'
,
$parent_id
);
$this
->
createMenu
(
'方案配置'
,
'scheme_config'
,
'fa-bars'
,
$parent_id
);
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
//
}
/**
* 创建菜单
*
* @param $title
* @param $uri
* @param string $icon
* @param int $parentId
*
* @return mixed
*/
protected
function
createMenu
(
$title
,
$uri
,
$icon
=
'fa-bars'
,
$parentId
=
0
)
{
$lastOrder
=
Menu
::
max
(
'order'
);
return
Menu
::
create
([
'parent_id'
=>
$parentId
,
'order'
=>
$lastOrder
+
1
,
'title'
=>
$title
,
'icon'
=>
$icon
,
'uri'
=>
$uri
,
]);
}
/**
* 创建权限
*
* @param $name
* @param $slug
* @param $path
* @param null $http_method
*/
protected
function
createPermission
(
$name
,
$slug
,
$path
,
$http_method
=
null
)
{
\Encore\Admin\Auth\Database\Permission
::
create
([
'name'
=>
$name
,
'slug'
=>
$slug
,
'http_path'
=>
'/'
.
trim
(
$path
,
'/'
),
'http_method'
=>
$http_method
,
]);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment