Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tl_estate
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
hujun
tl_estate
Commits
75133426
Commit
75133426
authored
Jun 28, 2018
by
hujun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wx0604 覆盖test 隐私号码
parent
42bc8f34
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
112 additions
and
98 deletions
+112
-98
CellPhone.php
application/api_broker/controller/CellPhone.php
+112
-98
No files found.
application/api_broker/controller/CellPhone.php
View file @
75133426
...
@@ -11,11 +11,11 @@ namespace app\api_broker\controller;
...
@@ -11,11 +11,11 @@ namespace app\api_broker\controller;
use
app\api_broker\extend\Basic
;
use
app\api_broker\extend\Basic
;
use
app\api_broker\untils\PlsDemo
;
use
app\api_broker\untils\PlsDemo
;
use
app\api_broker\untils\RongDemo
;
use
app\api_broker\untils\RongDemo
;
use
app\extra\RedisExt
;
use
app\model\AAgentsPhone
;
use
app\model\AAgentsPhone
;
use
app\model\AliYunPhone
;
use
app\model\AliYunPhone
;
use
app\model\BindingPhone
;
use
app\model\BindingPhone
;
use
think\Cache
;
use
app\model\SecretReport
;
use
think\Db
;
use
think\Log
;
use
think\Log
;
class
CellPhone
extends
Basic
class
CellPhone
extends
Basic
...
@@ -26,7 +26,7 @@ class CellPhone extends Basic
...
@@ -26,7 +26,7 @@ class CellPhone extends Basic
/**
/**
* 绑定手机号
* 绑定手机号
* 解绑之后有延迟
* 解绑之后有延迟
(15s)
*
*
* @return \think\Response
* @return \think\Response
* @throws \think\Exception
* @throws \think\Exception
...
@@ -34,11 +34,11 @@ class CellPhone extends Basic
...
@@ -34,11 +34,11 @@ class CellPhone extends Basic
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
* @throws \think\exception\DbException
*/
*/
public
function
bindAXB
()
{
public
function
bindAXB
()
{
header
(
'Access-Control-Allow-Origin:*'
);
header
(
'Access-Control-Allow-Origin:*'
);
$params
=
$this
->
request
->
param
();
if
(
empty
(
$
params
[
'phone_a'
])
||
empty
(
$
params
[
'phone_b'
]))
{
if
(
empty
(
$
this
->
params
[
'phone_a'
])
||
empty
(
$this
->
params
[
'phone_b'
]))
{
$this
->
code
=
101
;
$this
->
code
=
101
;
$this
->
msg
=
'phone_a or phone_b is null'
;
$this
->
msg
=
'phone_a or phone_b is null'
;
return
$this
->
response
(
101
,
'参数错误,请联系运营人员!'
);
return
$this
->
response
(
101
,
'参数错误,请联系运营人员!'
);
...
@@ -48,74 +48,92 @@ class CellPhone extends Basic
...
@@ -48,74 +48,92 @@ class CellPhone extends Basic
$phone_b
=
$this
->
params
[
'phone_b'
];
//客户手机号
$phone_b
=
$this
->
params
[
'phone_b'
];
//客户手机号
$record
=
true
;
//是否录音
$record
=
true
;
//是否录音
$setting
=
Cache
::
get
(
'Setting'
);
//获取配置
$redis
=
RedisExt
::
getRedis
();
$is_privacy
=
$redis
->
get
(
's_is_privacy'
);
//0不使用隐私号码 1阿里云 2容联云
//0不使用隐私号码 1阿里云 2容联云
if
(
$setting
[
'is_privacy'
]
!=
0
)
{
if
(
$is_privacy
==
0
)
{
$aliYunPhone
=
new
AliYunPhone
();
$this
->
data
=
[
'phone'
=>
$phone_b
];
$m_report
=
new
SecretReport
();
$report_data
[
'phone_no'
]
=
$phone_a
;
$report_data
[
'secret_no'
]
=
$phone_b
;
$report_data
[
'peer_no'
]
=
$phone_b
;
$report_data
[
'call_type'
]
=
1
;
$report_data
[
'record_down'
]
=
3
;
$m_report
->
editData
(
$report_data
);
//记录不使用隐号拨打记录
return
$this
->
response
(
$this
->
code
,
$this
->
msg
,
$this
->
data
);
}
$bind
=
new
BindingPhone
();
$bind
=
new
BindingPhone
();
$where
[
'a.status'
]
=
1
;
$where
[
'a.status'
]
=
1
;
$where
[
'a.phone_a'
]
=
$phone_a
;
$where
[
'a.phone_a'
]
=
$phone_a
;
$where
[
'a.phone_b'
]
=
$phone_b
;
$where
[
'a.phone_b'
]
=
$phone_b
;
$where
[
'a.type'
]
=
$setting
[
'is_privacy'
]
;
$where
[
'a.type'
]
=
$is_privacy
;
$phone_x
=
$bind
->
getPhoneX
(
'b.phone_x'
,
$where
);
//已经绑定的返回隐私号码
$phone_x
=
$bind
->
getPhoneX
(
'b.phone_x'
,
$where
);
//已经绑定的返回隐私号码
if
(
$phone_x
!=
NULL
)
{
if
(
!
empty
(
$phone_x
[
'phone_x'
]))
{
$this
->
data
=
[
'phone'
=>
$phone_x
[
'phone_x'
]];
$this
->
data
=
[
'phone'
=>
$phone_x
[
'phone_x'
]
];
}
else
{
$this
->
msg
=
'已绑定,返回隐私号码。'
;
$phone_x
=
$aliYunPhone
->
getAliYunPhone
(
$phone_a
,
$phone_b
,
$setting
[
'is_privacy'
]);
return
$this
->
response
(
$this
->
code
,
$this
->
msg
,
$this
->
data
);
//绑定过了,返回隐号
}
//是否还有未绑定的中间号码
$day_num
=
$redis
->
get
(
's_day_num'
);
if
(
$phone_x
)
{
$release
=
1
;
//是否释放
if
(
empty
(
$setting
[
'day_num'
]
))
{
if
(
empty
(
$day_num
))
{
$time
=
_EXPIRATION
;
$time
=
_EXPIRATION
;
}
else
{
}
else
{
$setting
[
'day_num'
]
+=
1
;
if
(
empty
(
$this
->
params
[
'landlord'
]))
{
$time
=
date
(
'Y-m-d H:i:s'
,
strtotime
(
"+
{
$setting
[
'day_num'
]
}
day"
));
$time
=
date
(
'Y-m-d H:i:s'
,
strtotime
(
"+
{
$day_num
}
day"
));
}
if
(
$setting
[
'is_privacy'
]
==
1
)
{
/*阿里云*/
$result
=
PlsDemo
::
bindAxb
(
$phone_a
,
$phone_b
,
$time
,
$record
,
$phone_x
[
'phone_x'
]);
if
(
$result
->
Message
==
'OK'
)
{
$aliYunPhone
->
editStatus
(
$phone_x
,
$phone_a
,
$phone_b
,
$record
,
$time
,
$result
,
''
,
$setting
[
'is_privacy'
]);
//记录绑定
$this
->
msg
=
'绑定成功。'
;
$this
->
data
=
[
'phone'
=>
$phone_x
[
'phone_x'
]];
}
else
{
}
else
{
$day_num
=
$redis
->
get
(
's_landlord_phone_day'
);
$phone_x_array
[]
=
$phone_x
[
'phone_x'
];
if
(
$day_num
==
0
)
{
//尝试5次绑定
$time
=
date
(
'Y-m-d H:i:s'
,
time
()
+
5
);
for
(
$i
=
1
;
$i
<
5
;
$i
++
)
{
$release
=
0
;
$phone_x
=
$aliYunPhone
->
getAliYunPhone
(
$phone_a
,
$phone_b
,
$setting
[
'is_privacy'
],
$phone_x_array
);
$result
=
PlsDemo
::
bindAxb
(
$phone_a
,
$phone_b
,
$time
,
$record
,
$phone_x
);
//再尝试一下
if
(
$result
->
Message
==
'OK'
)
{
$aliYunPhone
->
editStatus
(
$phone_x
,
$phone_a
,
$phone_b
,
$record
,
$time
,
$result
,
''
,
$setting
[
'is_privacy'
]);
//记录绑定
$this
->
msg
=
'绑定成功。'
;
$this
->
data
=
[
'phone'
=>
$phone_x
[
'phone_x'
]];
break
;
}
else
{
}
else
{
$phone_x_array
[]
=
$phone_x
;
//记录绑定冲突号码,重新分配
$time
=
date
(
'Y-m-d H:i:s'
,
strtotime
(
"+
{
$day_num
}
day"
));
}
}
}
}
}
if
(
$result
->
Message
!=
'OK'
)
{
if
(
$is_privacy
==
1
)
{
$this
->
code
=
101
;
/*阿里云*/
$this
->
msg
=
'拨号失败,10秒再试,再无法拨号请联系请联系运营人员!'
;
try
{
$result
=
PlsDemo
::
bindAxb
(
$phone_a
,
$phone_b
,
$time
,
$record
);
}
catch
(
\Exception
$e
)
{
return
$this
->
response
(
101
,
'参数异常,无法呼叫,请联系运营人员!'
);
}
}
if
(
$result
->
Code
==
'OK'
)
{
//记录绑定
$bind
->
recordBindPhone
(
$result
->
SecretBindDTO
->
SecretNo
,
$phone_a
,
$phone_b
,
$record
,
$time
,
$result
,
''
,
$is_privacy
,
$release
);
$this
->
msg
=
'绑定成功。'
;
$this
->
data
=
[
'phone'
=>
$result
->
SecretBindDTO
->
SecretNo
];
}
elseif
(
$result
->
Code
==
'isv.NO_AVAILABLE_NUMBER'
)
{
$this
->
code
=
101
;
$this
->
msg
=
'号码使用完,请联系运营人员。'
;
$this
->
data
=
[];
}
else
{
$this
->
code
=
101
;
$this
->
msg
=
'拨号失败,15秒再试,再无法拨号请联系请联系运营人员!'
;
$this
->
data
=
[];
}
}
}
else
{
}
else
{
/*容联云*/
/*容联云*/
$Rong
=
new
RongDemo
();
$Rong
=
new
RongDemo
();
$record2
=
empty
(
$this
->
params
[
'record'
])
?
'true'
:
'false'
;
/* 是否录音(容联云规定string类型)*/
$record2
=
empty
(
$this
->
params
[
'record'
])
?
'true'
:
'false'
;
/* 是否录音(容联云规定string类型)*/
/*计算有效期*/
$aliYunPhone
=
new
AliYunPhone
();
if
(
empty
(
$setting
[
'day_num'
])){
$phone_x
=
$aliYunPhone
->
getAliYunPhone
(
$phone_a
,
$phone_b
,
$is_privacy
);
//获取未绑定隐号
$yx_time
=
$setting
[
'day_num'
]
*
60
*
60
*
24
;
}
else
{
$result
=
$Rong
->
setNumber
(
$phone_a
,
$phone_b
,
$phone_x
[
'phone_x'
],
$phone_x
[
'area'
],
$time
,
$record2
);
$yx_time
=
604800
;
}
$result
=
$Rong
->
setNumber
(
$phone_a
,
$phone_b
,
$phone_x
[
'phone_x'
],
$phone_x
[
'area'
],
$yx_time
,
$record2
);
/*绑定成功*/
/*绑定成功*/
if
(
$result
[
'statusCode'
]
==
'000000'
)
{
if
(
$result
[
'statusCode'
]
==
'000000'
)
{
...
@@ -149,23 +167,7 @@ class CellPhone extends Basic
...
@@ -149,23 +167,7 @@ class CellPhone extends Basic
}
}
}
}
Log
::
write
(
json_encode
(
$result
),
'AliYunBindAxb'
);
//记录日志
Log
::
write
(
json_encode
(
$result
),
'AliYunBindAxb'
);
//记录日志
}
else
{
$this
->
code
=
102
;
$this
->
msg
=
'号码使用完,请联系运营人员。'
;
}
}
}
else
{
$this
->
data
=
[
'phone'
=>
$phone_b
];
Db
::
table
(
'aliYun_secret_report'
)
->
insert
([
'phone_no'
=>
$phone_a
,
'secret_no'
=>
$phone_b
,
'peer_no'
=>
$phone_b
,
'call_type'
=>
1
,
'record_down'
=>
3
,
]);
}
return
$this
->
response
(
$this
->
code
,
$this
->
msg
,
$this
->
data
);
return
$this
->
response
(
$this
->
code
,
$this
->
msg
,
$this
->
data
);
}
}
...
@@ -174,16 +176,17 @@ class CellPhone extends Basic
...
@@ -174,16 +176,17 @@ class CellPhone extends Basic
*
*
* @return \think\Response
* @return \think\Response
*/
*/
public
function
updateBindAXB
()
{
public
function
updateBindAXB
()
{
header
(
'Access-Control-Allow-Origin:*'
);
header
(
'Access-Control-Allow-Origin:*'
);
$params
=
$this
->
request
->
param
();
$params
=
$this
->
request
->
param
();
if
(
$params
[
'phone_x'
]
&&
(
$params
[
'phone_a'
]
||
$params
[
'phone_b'
]))
{
if
(
$params
[
'phone_x'
]
&&
(
$params
[
'phone_a'
]
||
$params
[
'phone_b'
]))
{
$bind
=
new
BindingPhone
();
$bind
=
new
BindingPhone
();
if
(
$params
[
'phone_a'
])
{
if
(
$params
[
'phone_a'
])
{
$subId
=
$bind
->
getSubsId
(
$params
[
'phone_x'
],
$params
[
'phone_a'
],
''
,
1
);
//跟换B号码
$subId
=
$bind
->
getSubsId
(
$params
[
'phone_x'
],
$params
[
'phone_a'
],
''
,
1
);
//跟换B号码
}
else
{
}
else
{
$subId
=
$bind
->
getSubsId
(
$params
[
'phone_x'
],
''
,
$params
[
'phone_b'
],
1
);
//更好A号码
$subId
=
$bind
->
getSubsId
(
$params
[
'phone_x'
],
''
,
$params
[
'phone_b'
],
1
);
//更好A号码
}
}
$resutl
=
PlsDemo
::
updateSubscription
(
$params
[
'type'
],
$subId
,
$this
->
params
[
'phone_x'
],
$this
->
params
[
'phone_a'
],
$this
->
params
[
'phone_b'
],
$params
[
'date'
]);
$resutl
=
PlsDemo
::
updateSubscription
(
$params
[
'type'
],
$subId
,
$this
->
params
[
'phone_x'
],
$this
->
params
[
'phone_a'
],
$this
->
params
[
'phone_b'
],
$params
[
'date'
]);
...
@@ -199,7 +202,7 @@ class CellPhone extends Basic
...
@@ -199,7 +202,7 @@ class CellPhone extends Basic
$this
->
code
=
101
;
$this
->
code
=
101
;
$this
->
msg
=
'phone is null'
;
$this
->
msg
=
'phone is null'
;
}
}
return
$this
->
response
(
$this
->
code
,
$this
->
msg
,
$this
->
data
);
return
$this
->
response
(
$this
->
code
,
$this
->
msg
,
$this
->
data
);
}
}
/**
/**
...
@@ -208,19 +211,27 @@ class CellPhone extends Basic
...
@@ -208,19 +211,27 @@ class CellPhone extends Basic
* @return \think\Response
* @return \think\Response
* @throws \think\exception\DbException
* @throws \think\exception\DbException
*/
*/
public
function
agentsUnBind
()
{
public
function
agentsUnBind
()
{
header
(
'Access-Control-Allow-Origin:*'
);
header
(
'Access-Control-Allow-Origin:*'
);
$phone_x
=
$this
->
params
[
'phone_x'
];
$phone_x
=
$this
->
params
[
'phone_x'
];
$phone_a
=
$this
->
params
[
'phone_a'
];
$phone_a
=
$this
->
params
[
'phone_a'
];
$phone_b
=
$this
->
params
[
'phone_b'
];
$phone_b
=
$this
->
params
[
'phone_b'
];
if
(
$phone_x
&&
$phone_a
&&
$phone_b
)
{
if
(
empty
(
$phone_x
)
||
empty
(
$phone_a
)
||
empty
(
$phone_b
))
{
$setting
=
Cache
::
get
(
'Setting'
);
//获取配置
$this
->
code
=
101
;
$this
->
msg
=
'解除关系参数错误,请联系运营人员!'
;
return
$this
->
response
(
$this
->
code
,
$this
->
msg
);
}
$phone
=
new
BindingPhone
();
$phone
=
new
BindingPhone
();
if
(
$setting
[
'is_privacy'
]
==
1
)
{
$redis
=
RedisExt
::
getRedis
();
$is_privacy
=
$redis
->
get
(
's_is_privacy'
);
$is_privacy
=
$is_privacy
!=
'0'
?
$is_privacy
:
0
;
if
(
$is_privacy
==
1
)
{
/*阿里云*/
/*阿里云*/
$subsId
=
$phone
->
getSubsId
(
$phone_x
,
$phone_a
,
$phone_b
,
1
,
'subsId'
);
$subsId
=
$phone
->
getSubsId
(
$phone_x
,
$phone_a
,
$phone_b
,
1
,
'subsId'
);
if
(
$subsId
)
{
if
(
$subsId
)
{
$result
=
PlsDemo
::
unbindSubscription
(
$subsId
,
$phone_x
);
/*解绑*/
$result
=
PlsDemo
::
unbindSubscription
(
$subsId
,
$phone_x
);
/*解绑*/
if
(
$result
->
Message
==
'OK'
)
{
if
(
$result
->
Message
==
'OK'
)
{
...
@@ -233,29 +244,30 @@ class CellPhone extends Basic
...
@@ -233,29 +244,30 @@ class CellPhone extends Basic
$this
->
code
=
200
;
$this
->
code
=
200
;
$this
->
msg
=
'没有号码绑定关系,请忽略!。'
;
$this
->
msg
=
'没有号码绑定关系,请忽略!。'
;
}
}
}
else
{
}
elseif
(
$is_privacy
==
2
)
{
/*容联云*/
/*容联云*/
$mappingId
=
$phone
->
getSubsId
(
$phone_x
,
$phone_a
,
$phone_b
,
1
,
'mappingId'
);
$mappingId
=
$phone
->
getSubsId
(
$phone_x
,
$phone_a
,
$phone_b
,
1
,
'mappingId'
);
$Rong
=
new
RongDemo
();
$Rong
=
new
RongDemo
();
if
(
$mappingId
)
{
if
(
$mappingId
)
{
$result
=
$Rong
->
releaseNumber
(
$mappingId
);
/*解绑*/
$result
=
$Rong
->
releaseNumber
(
$mappingId
);
/*解绑*/
//var_dump($result);/*************测试****************/
if
(
$result
[
'statusCode'
]
==
'000000'
)
{
if
(
$result
[
'statusCode'
]
==
'000000'
)
{
$phone
->
unBind
(
$phone_x
,
$phone_a
,
$phone_b
);
$phone
->
unBind
(
$phone_x
,
$phone_a
,
$phone_b
);
}
else
{
}
else
{
$this
->
code
=
101
;
$this
->
msg
=
'remove binding error'
;
}
}
else
{
$this
->
code
=
101
;
$this
->
code
=
101
;
$this
->
msg
=
'
dont\'t have about phone_x info
'
;
$this
->
msg
=
'
解除绑定关系失败,请联系运营!
'
;
}
}
}
else
{
$this
->
code
=
200
;
$this
->
msg
=
'没有号码绑定关系,请忽略!。'
;
}
}
}
else
{
}
else
{
$this
->
code
=
101
;
$this
->
code
=
200
;
$this
->
msg
=
'
解除关系参数错误,请联系运营人员!
'
;
$this
->
msg
=
'
没有号码绑定关系,请忽略!。
'
;
}
}
$this
->
params
[
'phone_x'
];
return
$this
->
response
(
$this
->
code
,
$this
->
msg
);
return
$this
->
response
(
$this
->
code
,
$this
->
msg
);
}
}
...
@@ -268,25 +280,27 @@ class CellPhone extends Basic
...
@@ -268,25 +280,27 @@ class CellPhone extends Basic
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
* @throws \think\exception\DbException
*/
*/
public
function
agentsPhone
()
{
public
function
agentsPhone
()
{
header
(
'Access-Control-Allow-Origin:*'
);
header
(
'Access-Control-Allow-Origin:*'
);
if
(
$this
->
params
[
'agents_id'
])
{
if
(
empty
(
$this
->
params
[
'agents_id'
]))
{
$this
->
msg
=
'agents_id is null'
;
return
$this
->
response
(
101
,
"agents_id is null"
);
}
$agents_phone
=
new
AAgentsPhone
();
$agents_phone
=
new
AAgentsPhone
();
if
(
$this
->
request
->
isGet
())
{
if
(
$this
->
request
->
isGet
())
{
$where
[
'agents_id'
]
=
$this
->
params
[
'agents_id'
];
$where
[
'agents_id'
]
=
$this
->
params
[
'agents_id'
];
$where
[
'status'
]
=
0
;
$where
[
'status'
]
=
0
;
$this
->
data
=
$agents_phone
->
getList
(
1
,
3
,
'id asc'
,
'id,phone'
,
$where
);
$this
->
data
=
$agents_phone
->
getList
(
1
,
3
,
'id asc'
,
'id,phone'
,
$where
);
}
else
{
}
else
{
if
(
$this
->
params
[
'type'
]
==
'delete'
)
{
if
(
$this
->
params
[
'type'
]
==
'delete'
)
{
$this
->
data
=
$agents_phone
->
delPhone
(
$this
->
params
[
'agents_id'
],
$this
->
params
[
'phone'
]);
$this
->
data
=
$agents_phone
->
delPhone
(
$this
->
params
[
'agents_id'
],
$this
->
params
[
'phone'
]);
}
else
{
}
else
{
$this
->
data
=
$agents_phone
->
add
(
$this
->
params
[
'agents_id'
],
$this
->
params
[
'phone'
]);
$this
->
data
=
$agents_phone
->
add
(
$this
->
params
[
'agents_id'
],
$this
->
params
[
'phone'
]);
}
}
}
}
}
else
{
$this
->
code
=
101
;
$this
->
msg
=
'agents_id is null'
;
}
return
$this
->
response
(
$this
->
code
,
$this
->
msg
,
$this
->
data
);
return
$this
->
response
(
$this
->
code
,
$this
->
msg
,
$this
->
data
);
}
}
...
...
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