Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
aic_duty_strategy
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
yinxiaoling
aic_duty_strategy
Commits
464e7732
Commit
464e7732
authored
May 15, 2020
by
yinxiaoling
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
表新建添加备注
parent
eefbd83d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
96 additions
and
47 deletions
+96
-47
Tool.php
app/Http/Controllers/Tool.php
+12
-0
StrategySetController.php
app/Http/Controllers/strategy/StrategySetController.php
+41
-8
CheckApiKey.php
app/Http/Middleware/CheckApiKey.php
+2
-2
StrategyService.php
app/Service/StrategyService.php
+6
-2
DatabaseSeeder.php
database/seeds/DatabaseSeeder.php
+33
-35
api.php
routes/api.php
+2
-0
No files found.
app/Http/Controllers/Tool.php
View file @
464e7732
...
@@ -9,6 +9,18 @@ trait Tool
...
@@ -9,6 +9,18 @@ trait Tool
public
function
getAllowLoginUser
(){
public
function
getAllowLoginUser
(){
return
[
'user_name'
=>
'yxl001'
,
'user_sn'
=>
'SYSUSER|9da548a2e392a679eb274a0b2abeb627'
,
'parent_sn'
=>
'ljs'
];
return
[
'user_name'
=>
'yxl001'
,
'user_sn'
=>
'SYSUSER|9da548a2e392a679eb274a0b2abeb627'
,
'parent_sn'
=>
'ljs'
];
}
}
public
function
getAllowProjects
(
$style
=
0
){
$projectInfo
=
[[
'sn'
=>
'projects|a3a4259352c8e964ad6ea6c5ee8a7208'
,
'name'
=>
'liuy-转人工测试'
],[
'sn'
=>
'projects|a3a4259352c8e964ad6ea6c5ee8a7208'
,
'name'
=>
'liuy-转人工测试'
]];
if
(
$style
==
1
){
$projectArr
=
[];
foreach
(
$projectInfo
as
$k
=>
$v
){
$projectArr
[
$v
[
'sn'
]]
=
$v
[
'name'
];
}
return
$projectArr
;
}
else
{
return
$projectInfo
;
}
}
public
function
success
()
public
function
success
()
{
{
...
...
app/Http/Controllers/strategy/StrategySetController.php
View file @
464e7732
...
@@ -18,7 +18,21 @@ class StrategySetController extends Controller
...
@@ -18,7 +18,21 @@ class StrategySetController extends Controller
use
Tool
;
use
Tool
;
public
function
index
(){
public
function
index
(){
dd
(
'策略列表'
);
$projectArr
=
$this
->
getAllowProjects
(
1
);
$strategyInfo
=
StrategySet
::
all
()
->
toArray
();
$listInfo
=
[];
foreach
(
$strategyInfo
as
$k
=>
$v
){
$projectSnTemp
=
explode
(
"#"
,
$v
[
'project_sn'
]);
$v
[
'project_name'
]
=
isset
(
$projectArr
[
$projectSnTemp
[
0
]])
?
$projectArr
[
$projectSnTemp
[
0
]]
:
''
;
if
(
isset
(
$projectSnTemp
[
1
])
&&
isset
(
$projectArr
[
$projectSnTemp
[
1
]])){
$v
[
'project_name'
]
.=
$projectArr
[
$projectSnTemp
[
1
]];
}
$v
[
'disabled_name'
]
=
$v
[
'disabled'
]
==
0
?
'启用'
:
'停用'
;
$v
[
'day_type_name'
]
=
$v
[
'day_type'
]
==
0
?
'每天'
:
'日期前一天和当天'
;
$v
[
'frequency_type_name'
]
=
$v
[
'frequency_type'
]
==
1
?
'一天一次'
:
'一天两次'
;
$listInfo
[]
=
$v
;
}
return
$this
->
successWithInfo
([
'data'
=>
$listInfo
]);
}
}
public
function
store
(
Request
$request
,
StrategyService
$StrategyService
){
public
function
store
(
Request
$request
,
StrategyService
$StrategyService
){
...
@@ -77,10 +91,13 @@ class StrategySetController extends Controller
...
@@ -77,10 +91,13 @@ class StrategySetController extends Controller
$returnArr
=
compact
(
'total'
,
'successTotal'
,
'failTotal'
,
'failDataFile'
);
$returnArr
=
compact
(
'total'
,
'successTotal'
,
'failTotal'
,
'failDataFile'
);
return
$this
->
successWithInfo
([
'data'
=>
$returnArr
]);
return
$this
->
successWithInfo
([
'data'
=>
$returnArr
]);
}
}
//删除策略
public
function
destroy
(
$id
){
dd
(
$id
);
}
//项目列表
//项目列表
public
function
getProjectsList
(){
public
function
getProjectsList
(){
$projectInfo
=
[[
'sn'
=>
'projects|a3a4259352c8e964ad6ea6c5ee8a7208'
,
'name'
=>
'liuy-转人工测试'
],[
'sn'
=>
'projects|a3a4259352c8e964ad6ea6c5ee8a7208'
,
'name'
=>
'liuy-转人工测试'
]]
;
$projectInfo
=
$this
->
getAllowProjects
(
0
)
;
return
$this
->
successWithInfo
([
'data'
=>
$projectInfo
]);
return
$this
->
successWithInfo
([
'data'
=>
$projectInfo
]);
}
}
...
@@ -115,7 +132,7 @@ class StrategySetController extends Controller
...
@@ -115,7 +132,7 @@ class StrategySetController extends Controller
return
$fcontent
;
return
$fcontent
;
}
catch
(
\Exception
$e
){
}
catch
(
\Exception
$e
){
Log
::
channel
(
'api'
)
->
error
(
$e
->
getFile
()
.
'-'
.
$e
->
getLine
()
.
'-'
.
$e
->
getMessage
());
Log
::
channel
(
'api'
)
->
error
(
$e
->
getFile
()
.
'-'
.
$e
->
getLine
()
.
'-'
.
$e
->
getMessage
());
return
$this
->
errorWithInfo
(
'下载异常'
,
401
);
return
$this
->
errorWithInfo
(
'下载异常'
,
500
);
}
}
}
}
...
@@ -132,17 +149,33 @@ class StrategySetController extends Controller
...
@@ -132,17 +149,33 @@ class StrategySetController extends Controller
}
}
$strategySn
=
$request
->
strategy_sn
;
$strategySn
=
$request
->
strategy_sn
;
$strategyInfo
=
StrategySet
::
where
(
'strategy_sn'
,
$strategySn
)
->
first
();
if
(
empty
(
$strategyInfo
)){
return
$this
->
errorWithInfo
(
'策略不存在'
,
401
);
}
$day_type
=
$strategyInfo
->
day_type
;
if
(
isset
(
$request
->
upload
)
&&
!
empty
(
$request
->
upload
)){
//excel文件上传
if
(
isset
(
$request
->
upload
)
&&
!
empty
(
$request
->
upload
)){
//excel文件上传
$total
=
$successTotal
=
$failTotal
=
0
;
$failDataFile
=
''
;
$excelData
=
$StrategyService
->
validUploadExcel
(
$request
,
'upload'
,
8388608
);
//限制最大上传文件8M
$excelData
=
$StrategyService
->
validUploadExcel
(
$request
,
'upload'
,
8388608
);
//限制最大上传文件8M
if
(
isset
(
$excelData
[
'code'
])){
if
(
isset
(
$excelData
[
'code'
])){
return
$this
->
errorWithInfo
(
$excelData
[
'msg'
],
401
);
return
$this
->
errorWithInfo
(
$excelData
[
'msg'
],
401
);
}
}
//验证excel数据格式及不合格数据原因
//验证excel数据格式及不合格数据原因
$excelDataValid
=
$StrategyService
->
validExcelData
(
$excelData
,
$
params
[
'day_type'
]
);
$excelDataValid
=
$StrategyService
->
validExcelData
(
$excelData
,
$
day_type
);
extract
(
$excelDataValid
);
extract
(
$excelDataValid
);
unset
(
$params
[
'upload'
]);
if
(
isset
(
$successTotal
)
&&
$successTotal
>
0
){
$insertExcelReturn
=
$StrategyService
->
insertStrategyExcel
(
$strategySn
,
$successData
);
//添加最新导入数及总数
$updateArr
[
'latest_total'
]
=
$successTotal
;
$updateArr
[
'total'
]
=
$strategyInfo
->
total
+
$successTotal
;
StrategySet
::
where
(
'strategy_sn'
,
$strategySn
)
->
update
(
$updateArr
);
}
//返回成功数、失败数、失败导出文件
$returnArr
=
compact
(
'total'
,
'successTotal'
,
'failTotal'
,
'failDataFile'
);
return
$this
->
successWithInfo
([
'data'
=>
$returnArr
]);
}
else
{
}
else
{
return
$this
->
errorWithInfo
(
'请选择导入文件'
,
401
);
return
$this
->
errorWithInfo
(
'请选择导入文件'
,
401
);
}
}
...
...
app/Http/Middleware/CheckApiKey.php
View file @
464e7732
...
@@ -24,9 +24,9 @@ class CheckApiKey
...
@@ -24,9 +24,9 @@ class CheckApiKey
try
{
try
{
//$url=$request->url;
//$url=$request->url;
//$api_key=$request->api_key;
//$api_key=$request->api_key;
$user_sn
=
$request
->
user_sn
;
$user_sn
=
$request
->
header
(
'user_sn'
);
//$user_sn=$request->header('user-sn');
$api_key
=
$request
->
header
(
'api-key'
);
//header头里面不能用下划线的参数
$api_key
=
$request
->
header
(
'api-key'
);
//header头里面不能用下划线的参数
if
(
empty
(
$api_key
)
||
empty
(
$user_sn
)){
if
(
empty
(
$api_key
)
||
empty
(
$user_sn
)){
return
$this
->
errorWithInfo
(
'参数验证不通过'
,
401
);
return
$this
->
errorWithInfo
(
'参数验证不通过'
,
401
);
}
}
...
...
app/Service/StrategyService.php
View file @
464e7732
...
@@ -235,6 +235,7 @@ class StrategyService
...
@@ -235,6 +235,7 @@ class StrategyService
foreach
(
$data
as
$k
=>
$v
){
foreach
(
$data
as
$k
=>
$v
){
$tempi
++
;
$tempi
++
;
$taskData
[]
=
[
$taskData
[]
=
[
'strategy_sn'
=>
$strategySn
,
'name'
=>
$v
->
name
,
'name'
=>
$v
->
name
,
'phone'
=>
$v
->
phone
,
'phone'
=>
$v
->
phone
,
'duty_date'
=>
$v
->
duty_date
,
'duty_date'
=>
$v
->
duty_date
,
...
@@ -261,6 +262,7 @@ class StrategyService
...
@@ -261,6 +262,7 @@ class StrategyService
$tempi
=
$tempi
+
2
;
$tempi
=
$tempi
+
2
;
$yesterday
=
date
(
'Y-m-d'
,
strtotime
(
"-1 day"
,
strtotime
(
$v
->
duty_date
)));
$yesterday
=
date
(
'Y-m-d'
,
strtotime
(
"-1 day"
,
strtotime
(
$v
->
duty_date
)));
$taskData
[]
=
[
$taskData
[]
=
[
'strategy_sn'
=>
$strategySn
,
'name'
=>
$v
->
name
,
'name'
=>
$v
->
name
,
'phone'
=>
$v
->
phone
,
'phone'
=>
$v
->
phone
,
'duty_date'
=>
$v
->
duty_date
,
'duty_date'
=>
$v
->
duty_date
,
...
@@ -273,6 +275,7 @@ class StrategyService
...
@@ -273,6 +275,7 @@ class StrategyService
];
];
$taskData
[]
=
[
$taskData
[]
=
[
'strategy_sn'
=>
$strategySn
,
'name'
=>
$v
->
name
,
'name'
=>
$v
->
name
,
'phone'
=>
$v
->
phone
,
'phone'
=>
$v
->
phone
,
'duty_date'
=>
$v
->
duty_date
,
'duty_date'
=>
$v
->
duty_date
,
...
@@ -291,9 +294,10 @@ class StrategyService
...
@@ -291,9 +294,10 @@ class StrategyService
}
}
}
}
}
}
}
}
//将处理的策略月份修改为最新
StrategyExcel
::
where
([[
'strategy_sn'
,
$strategySn
],[
'last_handle_month'
,
'<>'
,
$cmonth
]])
->
update
([
'last_handle_month'
=>
$cmonth
]);
}
}
...
...
database/seeds/DatabaseSeeder.php
View file @
464e7732
...
@@ -18,31 +18,28 @@ class DatabaseSeeder extends Seeder
...
@@ -18,31 +18,28 @@ class DatabaseSeeder extends Seeder
if
(
!
Schema
::
hasTable
(
$tableName
)){
if
(
!
Schema
::
hasTable
(
$tableName
)){
Schema
::
create
(
$tableName
,
function
(
Blueprint
$table
){
Schema
::
create
(
$tableName
,
function
(
Blueprint
$table
){
$table
->
increments
(
'id'
);
$table
->
increments
(
'id'
);
$table
->
uuid
(
'strategy_sn'
);
//sn编号
$table
->
uuid
(
'strategy_sn'
)
->
comment
(
'sn编号'
)
;
//sn编号
$table
->
char
(
'strategy_name'
,
50
)
;
//策略名称
$table
->
char
(
'strategy_name'
,
50
)
->
comment
(
'策略名称'
);
$table
->
char
(
'user_sn'
,
100
)
;
//用户sn
$table
->
char
(
'user_sn'
,
100
)
->
comment
(
'用户sn'
);
$table
->
char
(
'user_name'
,
50
)
;
//用户名
$table
->
char
(
'user_name'
,
50
)
->
comment
(
'用户名'
);
$table
->
char
(
'call_number'
,
50
)
;
//主叫号码
$table
->
char
(
'call_number'
,
50
)
->
comment
(
'主叫号码'
);
$table
->
char
(
'parent_sn'
,
50
)
;
//主账号名
$table
->
char
(
'parent_sn'
,
50
)
->
comment
(
'主账号名'
);
$table
->
char
(
'project_sn'
,
100
)
;
//项目sn
$table
->
char
(
'project_sn'
,
100
)
->
comment
(
'项目sn'
);
$table
->
unsignedSmallInteger
(
'day_type'
)
->
default
(
0
)
;
//外呼日期类型 0每天 1日期前一天和当天
$table
->
unsignedSmallInteger
(
'day_type'
)
->
default
(
0
)
->
comment
(
'外呼日期类型 0每天 1日期前一天和当天'
);
$table
->
unsignedSmallInteger
(
'frequency_type'
)
->
default
(
1
)
;
//外呼频率类型 (1 一天一次 2 一天两次)
$table
->
unsignedSmallInteger
(
'frequency_type'
)
->
default
(
1
)
->
comment
(
'外呼频率类型 (1 一天一次 2 一天两次)'
);
$table
->
char
(
'call_time_set'
,
50
)
;
//呼叫设置时间点,两个用#号分割
$table
->
char
(
'call_time_set'
,
50
)
->
comment
(
'呼叫设置时间点,两个用#号分割'
);
$table
->
unsignedSmallInteger
(
'disabled'
)
->
default
(
1
)
;
//是否不可用 0启用 1停用
$table
->
unsignedSmallInteger
(
'disabled'
)
->
default
(
1
)
->
comment
(
'是否不可用 0启用 1停用'
);
$table
->
integer
(
'total'
)
->
default
(
0
)
;
//excel导入号码总数量
$table
->
integer
(
'total'
)
->
default
(
0
)
->
comment
(
'excel导入号码总数量'
);
$table
->
integer
(
'latest_total'
)
->
default
(
0
)
;
//最新一次导入excel号码数量
$table
->
integer
(
'latest_total'
)
->
default
(
0
)
->
comment
(
'最新一次导入excel号码数量'
);
$table
->
timestamp
(
'updated_at'
)
->
nullable
();
$table
->
timestamp
(
'updated_at'
)
->
nullable
()
->
comment
(
'更新时间'
)
;
$table
->
timestamp
(
'created_at'
)
->
nullable
();
$table
->
timestamp
(
'created_at'
)
->
nullable
()
->
comment
(
'创建时间'
)
;
});
});
//加索引
//加索引
Schema
::
table
(
$tableName
,
function
(
$table
){
Schema
::
table
(
$tableName
,
function
(
$table
){
$table
->
index
(
'strategy_sn'
);
$table
->
index
(
'strategy_sn'
);
$table
->
index
(
'disabled'
);
$table
->
index
(
'disabled'
);
});
});
//加注释
//$sql = "COMMENT ON COLUMN \"public\".\"seating_assistance_project_set\".\"is_seating_sensitive_word\" IS '是否坐席敏感词 0否 1是'";
//DB::statement($sql);
}
}
...
@@ -50,13 +47,13 @@ class DatabaseSeeder extends Seeder
...
@@ -50,13 +47,13 @@ class DatabaseSeeder extends Seeder
if
(
!
Schema
::
hasTable
(
$tableName
)){
if
(
!
Schema
::
hasTable
(
$tableName
)){
Schema
::
create
(
$tableName
,
function
(
Blueprint
$table
){
Schema
::
create
(
$tableName
,
function
(
Blueprint
$table
){
$table
->
increments
(
'id'
);
$table
->
increments
(
'id'
);
$table
->
char
(
'strategy_sn'
,
100
)
;
//sn编号
$table
->
char
(
'strategy_sn'
,
100
)
->
comment
(
'sn编号'
);
$table
->
char
(
'name'
,
50
)
->
nullable
()
;
//姓名
$table
->
char
(
'name'
,
50
)
->
nullable
()
->
comment
(
'姓名'
);
$table
->
date
(
'duty_date'
)
->
nullable
()
;
//值班日期
$table
->
date
(
'duty_date'
)
->
nullable
()
->
comment
(
'值班日期'
);
$table
->
unsignedBigInteger
(
'phone'
)
;
//手机号
$table
->
unsignedBigInteger
(
'phone'
)
->
comment
(
'手机号'
);
$table
->
unsignedSmallInteger
(
'last_handle_month'
)
->
default
(
0
)
;
//最后处理月份,当月处理后不再处理
$table
->
unsignedSmallInteger
(
'last_handle_month'
)
->
default
(
0
)
->
comment
(
'最后处理月份,当月处理后不再处理'
);
$table
->
timestamp
(
'updated_at'
)
->
nullable
();
$table
->
timestamp
(
'updated_at'
)
->
nullable
()
->
comment
(
'更新时间'
)
;
$table
->
timestamp
(
'created_at'
)
->
nullable
();
$table
->
timestamp
(
'created_at'
)
->
nullable
()
->
comment
(
'创建时间'
)
;
});
});
//加索引
//加索引
Schema
::
table
(
$tableName
,
function
(
$table
){
Schema
::
table
(
$tableName
,
function
(
$table
){
...
@@ -68,17 +65,18 @@ class DatabaseSeeder extends Seeder
...
@@ -68,17 +65,18 @@ class DatabaseSeeder extends Seeder
if
(
!
Schema
::
hasTable
(
$tableName
)){
if
(
!
Schema
::
hasTable
(
$tableName
)){
Schema
::
create
(
$tableName
,
function
(
Blueprint
$table
){
Schema
::
create
(
$tableName
,
function
(
Blueprint
$table
){
$table
->
increments
(
'id'
);
$table
->
increments
(
'id'
);
$table
->
char
(
'name'
,
50
)
->
nullable
();
//sn编号
$table
->
uuid
(
'strategy_sn'
)
->
comment
(
'策略sn编号'
);
//sn编号
$table
->
date
(
'duty_date'
)
->
nullable
();
//值班日期(年月日)
$table
->
char
(
'name'
,
50
)
->
nullable
()
->
comment
(
'姓名'
);
$table
->
unsignedBigInteger
(
'phone'
);
//手机号
$table
->
date
(
'duty_date'
)
->
nullable
()
->
comment
(
'值班日期(年月日)'
);
$table
->
char
(
'call_number'
,
50
);
//主叫号码
$table
->
unsignedBigInteger
(
'phone'
)
->
comment
(
'手机号'
);
$table
->
date
(
'call_date'
);
//外呼时间(年月日)
$table
->
char
(
'call_number'
,
50
)
->
comment
(
'主叫号码'
);
$table
->
time
(
'call_time'
);
//外呼时间(时分秒)
$table
->
date
(
'call_date'
)
->
comment
(
'外呼时间(年月日)'
);
$table
->
char
(
'parent_sn'
,
50
);
//主账号名
$table
->
time
(
'call_time'
)
->
comment
(
'外呼时间(时分秒)'
);
$table
->
char
(
'project_sn'
,
100
);
//项目sn
$table
->
char
(
'parent_sn'
,
50
)
->
comment
(
'主账号名'
);
$table
->
char
(
'project_sn'
,
100
)
->
comment
(
'项目sn'
);
$table
->
unsignedSmallInteger
(
'is_created'
)
->
default
(
0
)
;
//是否新建任务(0未建 1已建)
$table
->
unsignedSmallInteger
(
'is_created'
)
->
default
(
0
)
->
comment
(
'是否新建任务(0未建 1已建)'
);
$table
->
unsignedSmallInteger
(
'created_fail_number'
)
->
default
(
0
)
;
//任务创建失败尝试次数
$table
->
unsignedSmallInteger
(
'created_fail_number'
)
->
default
(
0
)
->
comment
(
'任务创建失败尝试次数'
);
$table
->
timestamp
(
'created_at'
)
->
nullable
();
$table
->
timestamp
(
'created_at'
)
->
nullable
();
});
});
...
...
routes/api.php
View file @
464e7732
...
@@ -28,6 +28,8 @@ Route::group(['middleware' => 'check.apikey','namespace'=>'strategy'], function
...
@@ -28,6 +28,8 @@ Route::group(['middleware' => 'check.apikey','namespace'=>'strategy'], function
Route
::
get
(
'strategy/downloadFailExcel'
,
'StrategySetController@downloadFailExcel'
)
->
name
(
'strategy.downloadFailExcel'
);
//下载失败导入excel数据
Route
::
get
(
'strategy/downloadFailExcel'
,
'StrategySetController@downloadFailExcel'
)
->
name
(
'strategy.downloadFailExcel'
);
//下载失败导入excel数据
Route
::
post
(
'strategy/importExcelData'
,
'StrategySetController@importExcelData'
)
->
name
(
'strategy.importExcelData'
);
//导入excel数据
Route
::
apiResource
(
'strategySet'
,
StrategySetController
::
class
);
Route
::
apiResource
(
'strategySet'
,
StrategySetController
::
class
);
});
});
...
...
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