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
f36ee9e6
Commit
f36ee9e6
authored
Feb 26, 2019
by
hujun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
咨询经纪人V2
parent
1512f5d3
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
417 additions
and
300 deletions
+417
-300
Broker.php
application/api/controller/Broker.php
+78
-0
Basic.php
application/api/extend/Basic.php
+301
-300
AAgents.php
application/model/AAgents.php
+37
-0
route.php
application/route.php
+1
-0
No files found.
application/api/controller/Broker.php
View file @
f36ee9e6
...
...
@@ -111,6 +111,84 @@ class Broker extends Basic
return
$this
->
response
(
$data
[
'status'
],
$data
[
'msg'
],
$data
[
'data'
]);
}
/**
* 咨询经纪人
*
* @return \think\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public
function
indexV2
()
{
header
(
'Access-Control-Allow-Origin:*'
);
if
(
empty
(
$this
->
params
[
'house_id'
]))
{
$this
->
response
(
101
,
'参数错误'
);
}
$data
[
'status'
]
=
101
;
$data
[
'data'
]
=
$list
=
[];
$data
[
'msg'
]
=
''
;
$agents
=
new
AAgents
();
$m_march
=
new
OMarchInModel
();
$m_evaluate
=
new
Evaluate
();
//查找30天带看最多的人
$report_fields
=
'a.reception_id'
;
$report_where
[
'b.house_id'
]
=
$this
->
params
[
'house_id'
];
$report_where
[
'a.create_time'
]
=
[
'between'
,
[
date
(
'Y-m-d'
,
strtotime
(
"-30 day"
))
.
' 00:00:00'
,
date
(
'Y-m-d'
)
.
' 23:59:59'
]];
$reception_id
=
$m_march
->
getMaxMarchInAgent
(
$report_fields
,
$report_where
);
$fields_agent
=
'id,name,img,phone'
;
if
(
!
empty
(
$reception_id
[
'reception_id'
]))
{
$march_agent
=
$agents
->
findByOne
(
$fields_agent
,
[
'id'
=>
$reception_id
[
'reception_id'
]]);
if
(
!
empty
(
$march_agent
)){
$list
[
0
]
=
$march_agent
;
$list
[
0
][
'show_content'
]
=
'我对本铺非常了解,最近带看本铺多次'
;
}
}
$fields
=
'a.id,a.name,a.img,a.phone'
;
//客方
if
(
!
empty
(
$this
->
userId
))
{
$client
=
$agents
->
getAgentUser
(
$fields
,
[
'a.id'
=>
$this
->
userId
,
'b.agent_id'
=>
[
'neq'
,
$list
[
0
][
'id'
]]]);
//客方
if
(
!
empty
(
$client
)){
$list
[
1
]
=
$client
;
$list
[
1
][
'show_content'
]
=
'帮助客户找更多,善于了解客户需求'
;
}
}
//独家方
$where
[
'b.houses_id'
]
=
$this
->
params
[
'house_id'
];
$where
[
'b.is_del'
]
=
$where
[
'a.status'
]
=
0
;
$where
[
'a.id'
]
=
[
'not in'
,
[
$list
[
0
][
'id'
],
$list
[
2
][
'id'
]]];
$where
[
'b.type'
]
=
3
;
$house_agent
=
$agents
->
getAgentHouseType
(
$fields
,
$where
);
if
(
!
empty
(
$house_agent
)){
$list
[
2
]
=
$house_agent
;
$list
[
2
][
'show_content'
]
=
'本铺由我登记,熟悉房源信息'
;
}
foreach
(
$list
as
$k
=>
$v
)
{
$list
[
$k
][
'head_portrait'
]
=
AGENTHEADERIMGURL
.
$v
[
'img'
];
$evaluate_data
=
$m_evaluate
->
getAgentEvaluateFraction
(
'count(id) as evaluate,sum(evaluate_grade) as evaluate_grade'
,
[
'agents_id'
=>
$v
[
'id'
]]);
if
(
$evaluate_data
[
0
][
'evaluate_grade'
])
{
$evaluate_grade
=
floor
((
$evaluate_data
[
0
][
'evaluate_grade'
]
/
2
)
/
$evaluate_data
[
0
][
'evaluate'
]);
}
else
{
$evaluate_grade
=
0
;
}
$list
[
$k
][
'evaluate_grade'
]
=
$evaluate_grade
;
$list
[
$k
][
'evaluate'
]
=
$evaluate_data
[
0
][
'evaluate'
];
unset
(
$list
[
$k
][
'img'
]);
}
$data
[
'data'
][
'list'
]
=
$list
;
$data
[
'status'
]
=
200
;
return
$this
->
response
(
$data
[
'status'
],
$data
[
'msg'
],
$data
[
'data'
]);
}
/**
* 评价经纪人
*
...
...
application/api/extend/Basic.php
View file @
f36ee9e6
<?php
namespace
app\api\extend
;
/**
* Created by PhpStorm.
* User: zw
* Date: 2017/12/4
* Time: 9:35
* 基类
*/
use
app\extra\RedisExt
;
use
app\model\Users
;
use
think\Controller
;
use
think\Exception
;
use
Think\Log
;
use
think\Request
;
use
think\Response
;
use
Qiniu
;
use
UnexpectedValueException
;
use
InvalidArgumentException
;
class
Basic
extends
Controller
{
/**
* 访问请求对象
* @var Request
*/
public
$request
;
public
$params
;
public
$user_city
;
protected
$authToken
;
/**
* @var int userId
*/
protected
$userId
;
protected
$userNick
;
protected
$phone
;
protected
$timeStamp_
;
protected
$filterVerify
=
array
(
"api/getShopList"
,
"api/sendSms"
,
"api/sendCode"
,
"api/userVerify"
,
"api/saveWxInfo"
,
"api/logout"
,
"api/login"
,
"api/register"
,
"api/shopList"
,
"api/filtrateCondition"
,
"api/filtrateConditionV2"
,
"api/getShopDetail"
,
"api/bannerList"
,
"api/averagePriceAndTurnover"
,
"api/getBroker"
,
"api/brokerDetail"
,
"api/commentAndDeal"
,
"api/check_code"
,
"api/convertOrderByTime"
,
"api/convertMarchIn"
,
"api/convertCollectingBill"
,
"api/getVersionNo"
,
"api/getVersionNoV2"
,
"api/getMarchInList"
,
"api/addSublet"
,
"api/getSiteListApp"
,
"api/recordCallNumShare"
,
"api/addUserCallAgentV2"
);
/**
* 基础接口SDK
* @param Request|null $request
*/
public
function
__construct
(
Request
$request
=
null
)
{
// CORS 跨域 Options 检测响应
$this
->
corsOptionsHandler
();
// 输入对象
$this
->
request
=
is_null
(
$request
)
?
Request
::
instance
()
:
$request
;
if
(
strtoupper
(
$this
->
request
->
method
())
===
"GET"
)
{
$this
->
params
=
$this
->
request
->
param
();
}
elseif
(
strtoupper
(
$this
->
request
->
method
())
===
"POST"
)
{
$this
->
params
=
$this
->
request
->
param
()
!=
null
?
$this
->
request
->
param
()
:
null
;
}
if
(
isset
(
$this
->
params
[
'AuthToken'
])
&&
$this
->
params
[
'AuthToken'
]
!=
'null'
&&
!
empty
(
$this
->
params
[
'AuthToken'
]))
{
$jwt
=
new
\Firebase\JWT\JWT
();
try
{
$result
=
$jwt
->
decode
(
$this
->
params
[
'AuthToken'
],
config
(
'jwt_key'
),
array
(
'HS256'
));
//解码token
}
catch
(
UnexpectedValueException
$e
)
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"AuthToken parameter error!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
catch
(
InvalidArgumentException
$e
)
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"AuthToken parameter error!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
$this
->
authToken
=
$this
->
params
[
'AuthToken'
];
$this
->
userId
=
$result
->
data
->
id
;
$this
->
phone
=
$result
->
data
->
phone
;
$this
->
userNick
=
isset
(
$result
->
data
->
userNick
)
?
$result
->
data
->
userNick
:
""
;
$this
->
timeStamp_
=
$result
->
timeStamp_
;
}
$this
->
getCity
(
$this
->
userId
);
$requestPath
=
$this
->
request
->
routeInfo
()[
"rule"
][
0
]
.
"/"
.
$this
->
request
->
routeInfo
()[
"rule"
][
1
];
//过滤掉不需要验证token的接口
if
(
!
in_array
(
trim
(
$requestPath
),
$this
->
filterVerify
))
{
$this
->
tokenVerify
();
}
}
/**
* 默认城市选择
* @param $userId
*/
public
function
getCity
(
$userId
)
{
if
(
!
$userId
){
return
;
}
try
{
$redis_
=
RedisExt
::
getRedis
();
if
(
$redis_
)
{
$city
=
$redis_
->
get
(
"user_city_"
.
$userId
);
$this
->
user_city
=
empty
(
$city
)
?
"上海市"
:
$city
;
}
else
{
$this
->
user_city
=
"上海市"
;
}
Log
::
record
(
"-------basic-------"
.
$redis_
->
get
(
"user_city_"
.
$userId
),
"info"
);
}
catch
(
Exception
$exception
)
{
$this
->
user_city
=
"上海市"
;
}
}
/**
* token 验证
*/
public
function
tokenVerify
()
{
if
(
!
isset
(
$this
->
params
[
'AuthToken'
]))
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"AuthToken不能为空!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
$this
->
verifyUserInfo
();
$this
->
verifyTime
();
}
public
function
verifyTime
()
{
//authToken有效期为30天
if
((
time
()
-
$this
->
timeStamp_
)
>
2592000
)
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"AuthToken失效,请重新登录!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
}
public
function
verifyUserInfo
()
{
$userModel
=
new
Users
();
$userArr
=
$userModel
->
selectUser
(
$this
->
userId
);
if
(
count
(
$userArr
)
>
0
&&
(
$userArr
[
"id"
]
!=
$this
->
userId
||
$userArr
[
"user_phone"
]
!=
$this
->
phone
))
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"用户验证失败,重新登录!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
return
true
;
}
/**
* 输出返回数据
* @param string $msg 提示消息内容
* @param string $code 业务状态码
* @param mixed $data 要返回的数据
* @param string $type 返回类型 JSON XML
* @return Response
*/
public
function
response
(
$code
=
'SUCCESS'
,
$msg
,
$data
=
[],
$type
=
'json'
)
{
$result
=
[
'code'
=>
$code
,
'msg'
=>
$msg
,
'data'
=>
$data
,
'type'
=>
strtolower
(
$type
)
];
return
Response
::
create
(
$result
,
$type
);
}
/**
* 一维数据数组生成数据树
* @param array $list 数据列表
* @param string $id 父ID Key
* @param string $pid ID Key
* @param string $son 定义子数据Key
* @return array
*/
public
static
function
arr2tree
(
$list
,
$id
=
'id'
,
$pid
=
'pid'
,
$son
=
'sub'
)
{
list
(
$tree
,
$map
)
=
[
[],
[]
];
foreach
(
$list
as
$item
)
{
$map
[
$item
[
$id
]]
=
$item
;
}
foreach
(
$list
as
$item
)
{
if
(
isset
(
$item
[
$pid
])
&&
isset
(
$map
[
$item
[
$pid
]]))
{
$map
[
$item
[
$pid
]][
$son
][]
=
&
$map
[
$item
[
$id
]];
}
else
{
$tree
[]
=
&
$map
[
$item
[
$id
]];
}
}
unset
(
$map
);
return
$tree
;
}
/**
* 一维数据数组生成数据树
* @param array $list 数据列表
* @param string $id ID Key
* @param string $pid 父ID Key
* @param string $path
* @param string $ppath
* @return array
*/
public
static
function
arr2table
(
array
$list
,
$id
=
'id'
,
$pid
=
'pid'
,
$path
=
'path'
,
$ppath
=
''
)
{
$tree
=
[];
foreach
(
self
::
arr2tree
(
$list
,
$id
,
$pid
)
as
$attr
)
{
$attr
[
$path
]
=
"
{
$ppath
}
-
{
$attr
[
$id
]
}
"
;
$attr
[
'sub'
]
=
isset
(
$attr
[
'sub'
])
?
$attr
[
'sub'
]
:
[];
$attr
[
'spl'
]
=
str_repeat
(
" ├ "
,
substr_count
(
$ppath
,
'-'
));
$sub
=
$attr
[
'sub'
];
unset
(
$attr
[
'sub'
]);
$tree
[]
=
$attr
;
if
(
!
empty
(
$sub
))
{
$tree
=
array_merge
(
$tree
,
(
array
)
self
::
arr2table
(
$sub
,
$id
,
$pid
,
$path
,
$attr
[
$path
]));
}
}
return
$tree
;
}
/**
* 获取数据树子ID
* @param array $list 数据列表
* @param int $id 起始ID
* @param string $key 子Key
* @param string $pkey 父Key
* @return array
*/
public
static
function
getArrSubIds
(
$list
,
$id
=
0
,
$key
=
'id'
,
$pkey
=
'pid'
)
{
$ids
=
[
intval
(
$id
)
];
foreach
(
$list
as
$vo
)
{
if
(
intval
(
$vo
[
$pkey
])
>
0
&&
intval
(
$vo
[
$pkey
])
===
intval
(
$id
))
{
$ids
=
array_merge
(
$ids
,
self
::
getArrSubIds
(
$list
,
intval
(
$vo
[
$key
]),
$key
,
$pkey
));
}
}
return
$ids
;
}
/**
* Cors Options 授权处理
*/
public
static
function
corsOptionsHandler
()
{
if
(
request
()
->
isOptions
())
{
header
(
'Access-Control-Allow-Origin:*'
);
header
(
'Access-Control-Allow-Headers:Accept,Referer,Host,Keep-Alive,User-Agent,X-Requested-With,Cache-Control,Content-Type,Cookie,token'
);
header
(
'Access-Control-Allow-Credentials:true'
);
header
(
'Access-Control-Allow-Methods:GET,POST,OPTIONS'
);
header
(
'Access-Control-Max-Age:1728000'
);
header
(
'Content-Type:text/plain charset=UTF-8'
);
header
(
'Content-Length: 0'
,
true
);
header
(
'status: 204'
);
header
(
'HTTP/1.0 204 No Content'
);
exit
;
}
}
/**
* Cors Request Header信息
* @return array
*/
public
static
function
corsRequestHander
()
{
return
[
'Access-Control-Allow-Origin'
=>
'*'
,
'Access-Control-Allow-Credentials'
=>
true
,
'Access-Control-Allow-Methods'
=>
'GET,POST,OPTIONS'
,
'Access-Defined-X-Support'
=>
'service@cuci.cc'
,
'Access-Defined-X-Servers'
=>
'Guangzhou Cuci Technology Co. Ltd'
,
];
}
}
<?php
namespace
app\api\extend
;
/**
* Created by PhpStorm.
* User: zw
* Date: 2017/12/4
* Time: 9:35
* 基类
*/
use
app\extra\RedisExt
;
use
app\model\Users
;
use
think\Controller
;
use
think\Exception
;
use
Think\Log
;
use
think\Request
;
use
think\Response
;
use
Qiniu
;
use
UnexpectedValueException
;
use
InvalidArgumentException
;
class
Basic
extends
Controller
{
/**
* 访问请求对象
* @var Request
*/
public
$request
;
public
$params
;
public
$user_city
;
protected
$authToken
;
/**
* @var int userId
*/
protected
$userId
;
protected
$userNick
;
protected
$phone
;
protected
$timeStamp_
;
protected
$filterVerify
=
array
(
"api/getShopList"
,
"api/sendSms"
,
"api/sendCode"
,
"api/userVerify"
,
"api/saveWxInfo"
,
"api/logout"
,
"api/login"
,
"api/register"
,
"api/shopList"
,
"api/filtrateCondition"
,
"api/filtrateConditionV2"
,
"api/getShopDetail"
,
"api/bannerList"
,
"api/averagePriceAndTurnover"
,
"api/getBroker"
,
"api/getBrokerV2"
,
"api/brokerDetail"
,
"api/commentAndDeal"
,
"api/check_code"
,
"api/convertOrderByTime"
,
"api/convertMarchIn"
,
"api/convertCollectingBill"
,
"api/getVersionNo"
,
"api/getVersionNoV2"
,
"api/getMarchInList"
,
"api/addSublet"
,
"api/getSiteListApp"
,
"api/recordCallNumShare"
,
"api/addUserCallAgentV2"
);
/**
* 基础接口SDK
* @param Request|null $request
*/
public
function
__construct
(
Request
$request
=
null
)
{
// CORS 跨域 Options 检测响应
$this
->
corsOptionsHandler
();
// 输入对象
$this
->
request
=
is_null
(
$request
)
?
Request
::
instance
()
:
$request
;
if
(
strtoupper
(
$this
->
request
->
method
())
===
"GET"
)
{
$this
->
params
=
$this
->
request
->
param
();
}
elseif
(
strtoupper
(
$this
->
request
->
method
())
===
"POST"
)
{
$this
->
params
=
$this
->
request
->
param
()
!=
null
?
$this
->
request
->
param
()
:
null
;
}
if
(
isset
(
$this
->
params
[
'AuthToken'
])
&&
$this
->
params
[
'AuthToken'
]
!=
'null'
&&
!
empty
(
$this
->
params
[
'AuthToken'
]))
{
$jwt
=
new
\Firebase\JWT\JWT
();
try
{
$result
=
$jwt
->
decode
(
$this
->
params
[
'AuthToken'
],
config
(
'jwt_key'
),
array
(
'HS256'
));
//解码token
}
catch
(
UnexpectedValueException
$e
)
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"AuthToken parameter error!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
catch
(
InvalidArgumentException
$e
)
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"AuthToken parameter error!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
$this
->
authToken
=
$this
->
params
[
'AuthToken'
];
$this
->
userId
=
$result
->
data
->
id
;
$this
->
phone
=
$result
->
data
->
phone
;
$this
->
userNick
=
isset
(
$result
->
data
->
userNick
)
?
$result
->
data
->
userNick
:
""
;
$this
->
timeStamp_
=
$result
->
timeStamp_
;
}
$this
->
getCity
(
$this
->
userId
);
$requestPath
=
$this
->
request
->
routeInfo
()[
"rule"
][
0
]
.
"/"
.
$this
->
request
->
routeInfo
()[
"rule"
][
1
];
//过滤掉不需要验证token的接口
if
(
!
in_array
(
trim
(
$requestPath
),
$this
->
filterVerify
))
{
$this
->
tokenVerify
();
}
}
/**
* 默认城市选择
* @param $userId
*/
public
function
getCity
(
$userId
)
{
if
(
!
$userId
){
return
;
}
try
{
$redis_
=
RedisExt
::
getRedis
();
if
(
$redis_
)
{
$city
=
$redis_
->
get
(
"user_city_"
.
$userId
);
$this
->
user_city
=
empty
(
$city
)
?
"上海市"
:
$city
;
}
else
{
$this
->
user_city
=
"上海市"
;
}
Log
::
record
(
"-------basic-------"
.
$redis_
->
get
(
"user_city_"
.
$userId
),
"info"
);
}
catch
(
Exception
$exception
)
{
$this
->
user_city
=
"上海市"
;
}
}
/**
* token 验证
*/
public
function
tokenVerify
()
{
if
(
!
isset
(
$this
->
params
[
'AuthToken'
]))
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"AuthToken不能为空!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
$this
->
verifyUserInfo
();
$this
->
verifyTime
();
}
public
function
verifyTime
()
{
//authToken有效期为30天
if
((
time
()
-
$this
->
timeStamp_
)
>
2592000
)
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"AuthToken失效,请重新登录!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
}
public
function
verifyUserInfo
()
{
$userModel
=
new
Users
();
$userArr
=
$userModel
->
selectUser
(
$this
->
userId
);
if
(
count
(
$userArr
)
>
0
&&
(
$userArr
[
"id"
]
!=
$this
->
userId
||
$userArr
[
"user_phone"
]
!=
$this
->
phone
))
{
echo
json_encode
(
array
(
"code"
=>
"300"
,
"msg"
=>
"用户验证失败,重新登录!"
,
"data"
=>
[],
"type"
=>
"json"
));
exit
;
}
return
true
;
}
/**
* 输出返回数据
* @param string $msg 提示消息内容
* @param string $code 业务状态码
* @param mixed $data 要返回的数据
* @param string $type 返回类型 JSON XML
* @return Response
*/
public
function
response
(
$code
=
'SUCCESS'
,
$msg
,
$data
=
[],
$type
=
'json'
)
{
$result
=
[
'code'
=>
$code
,
'msg'
=>
$msg
,
'data'
=>
$data
,
'type'
=>
strtolower
(
$type
)
];
return
Response
::
create
(
$result
,
$type
);
}
/**
* 一维数据数组生成数据树
* @param array $list 数据列表
* @param string $id 父ID Key
* @param string $pid ID Key
* @param string $son 定义子数据Key
* @return array
*/
public
static
function
arr2tree
(
$list
,
$id
=
'id'
,
$pid
=
'pid'
,
$son
=
'sub'
)
{
list
(
$tree
,
$map
)
=
[
[],
[]
];
foreach
(
$list
as
$item
)
{
$map
[
$item
[
$id
]]
=
$item
;
}
foreach
(
$list
as
$item
)
{
if
(
isset
(
$item
[
$pid
])
&&
isset
(
$map
[
$item
[
$pid
]]))
{
$map
[
$item
[
$pid
]][
$son
][]
=
&
$map
[
$item
[
$id
]];
}
else
{
$tree
[]
=
&
$map
[
$item
[
$id
]];
}
}
unset
(
$map
);
return
$tree
;
}
/**
* 一维数据数组生成数据树
* @param array $list 数据列表
* @param string $id ID Key
* @param string $pid 父ID Key
* @param string $path
* @param string $ppath
* @return array
*/
public
static
function
arr2table
(
array
$list
,
$id
=
'id'
,
$pid
=
'pid'
,
$path
=
'path'
,
$ppath
=
''
)
{
$tree
=
[];
foreach
(
self
::
arr2tree
(
$list
,
$id
,
$pid
)
as
$attr
)
{
$attr
[
$path
]
=
"
{
$ppath
}
-
{
$attr
[
$id
]
}
"
;
$attr
[
'sub'
]
=
isset
(
$attr
[
'sub'
])
?
$attr
[
'sub'
]
:
[];
$attr
[
'spl'
]
=
str_repeat
(
" ├ "
,
substr_count
(
$ppath
,
'-'
));
$sub
=
$attr
[
'sub'
];
unset
(
$attr
[
'sub'
]);
$tree
[]
=
$attr
;
if
(
!
empty
(
$sub
))
{
$tree
=
array_merge
(
$tree
,
(
array
)
self
::
arr2table
(
$sub
,
$id
,
$pid
,
$path
,
$attr
[
$path
]));
}
}
return
$tree
;
}
/**
* 获取数据树子ID
* @param array $list 数据列表
* @param int $id 起始ID
* @param string $key 子Key
* @param string $pkey 父Key
* @return array
*/
public
static
function
getArrSubIds
(
$list
,
$id
=
0
,
$key
=
'id'
,
$pkey
=
'pid'
)
{
$ids
=
[
intval
(
$id
)
];
foreach
(
$list
as
$vo
)
{
if
(
intval
(
$vo
[
$pkey
])
>
0
&&
intval
(
$vo
[
$pkey
])
===
intval
(
$id
))
{
$ids
=
array_merge
(
$ids
,
self
::
getArrSubIds
(
$list
,
intval
(
$vo
[
$key
]),
$key
,
$pkey
));
}
}
return
$ids
;
}
/**
* Cors Options 授权处理
*/
public
static
function
corsOptionsHandler
()
{
if
(
request
()
->
isOptions
())
{
header
(
'Access-Control-Allow-Origin:*'
);
header
(
'Access-Control-Allow-Headers:Accept,Referer,Host,Keep-Alive,User-Agent,X-Requested-With,Cache-Control,Content-Type,Cookie,token'
);
header
(
'Access-Control-Allow-Credentials:true'
);
header
(
'Access-Control-Allow-Methods:GET,POST,OPTIONS'
);
header
(
'Access-Control-Max-Age:1728000'
);
header
(
'Content-Type:text/plain charset=UTF-8'
);
header
(
'Content-Length: 0'
,
true
);
header
(
'status: 204'
);
header
(
'HTTP/1.0 204 No Content'
);
exit
;
}
}
/**
* Cors Request Header信息
* @return array
*/
public
static
function
corsRequestHander
()
{
return
[
'Access-Control-Allow-Origin'
=>
'*'
,
'Access-Control-Allow-Credentials'
=>
true
,
'Access-Control-Allow-Methods'
=>
'GET,POST,OPTIONS'
,
'Access-Defined-X-Support'
=>
'service@cuci.cc'
,
'Access-Defined-X-Servers'
=>
'Guangzhou Cuci Technology Co. Ltd'
,
];
}
}
application/model/AAgents.php
View file @
f36ee9e6
...
...
@@ -1576,6 +1576,9 @@ class AAgents extends BaseModel
}
public
function
findByOne
(
$field
,
$params
)
{
if
(
!
isset
(
$params
[
'status'
]))
{
$where
[
'status'
]
=
0
;
}
$result
=
$this
->
field
(
$field
)
->
where
(
$params
)
...
...
@@ -1590,4 +1593,37 @@ class AAgents extends BaseModel
return
$return
;
}
/**
* @param $field
* @param $where
* @return array|false|\PDOStatement|string|\think\Model
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public
function
getAgentUser
(
$field
,
$where
)
{
$where
[
'a.status'
]
=
0
;
return
$this
->
alias
(
'a'
)
->
field
(
$field
)
->
join
(
'u_users b'
,
'a.id = b.agent_id'
,
'left'
)
->
where
(
$where
)
->
find
();
}
/**
* @param $field
* @param $where
* @return false|\PDOStatement|string|\think\Collection
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public
function
getAgentHouseType
(
$field
,
$where
)
{
return
$this
->
alias
(
'a'
)
->
field
(
$field
)
->
join
(
'g_houses_to_agents b'
,
'a.id=b.agents_id'
,
'left'
)
->
where
(
$where
)
->
find
();
}
}
\ No newline at end of file
application/route.php
View file @
f36ee9e6
...
...
@@ -430,6 +430,7 @@ Route::group('api', [
//get broker
'getBroker'
=>
[
'api/broker/index'
,
[
'method'
=>
'get'
]],
//获取当前商铺或街铺的经纪人评论信息列表
'getBrokerV2'
=>
[
'api/broker/indexV2'
,
[
'method'
=>
'get'
]],
//获取当前商铺或街铺的经纪人评论信息列表
'test'
=>
[
'api/broker/testtest'
,
[
'method'
=>
'get'
]],
//获取当前商铺或街铺的经纪人评论信息列表
'commentAndDeal'
=>
[
'api/broker/commentAndDeal'
,
[
'method'
=>
'get'
]],
//获取当前经纪人的评价和交易列表
'brokerDetail'
=>
[
'api/broker/brokerDetail'
,
[
'method'
=>
'get'
]],
//经纪人详情
...
...
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