Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zptz-sass-kelaidian
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
李大见
zptz-sass-kelaidian
Commits
6fa4d440
提交
6fa4d440
authored
9月 09, 2024
作者:
窦斌
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
edit
上级
675d17c3
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
936 行增加
和
0 行删除
+936
-0
LoginController.php
app/Http/Controllers/MobileWeb/LoginController.php
+37
-0
WebLogin.php
app/Http/Middleware/WebLogin.php
+55
-0
BillingModuleValidator.php
...uests/Validators/Api/MobileWeb/BillingModuleValidator.php
+114
-0
LoginValidator.php
...Http/Requests/Validators/Api/MobileWeb/LoginValidator.php
+54
-0
OrderListValidator.php
.../Requests/Validators/Api/MobileWeb/OrderListValidator.php
+255
-0
ServiceEvaluationValidator.php
...s/Validators/Api/MobileWeb/ServiceEvaluationValidator.php
+47
-0
TechnicianValidator.php
...Requests/Validators/Api/MobileWeb/TechnicianValidator.php
+156
-0
BillingModuleService.php
app/Services/Api/MobileWeb/BillingModuleService.php
+0
-0
LoginService.php
app/Services/Api/MobileWeb/LoginService.php
+176
-0
OrderListService.php
app/Services/Api/MobileWeb/OrderListService.php
+0
-0
OrderListService1.php
app/Services/Api/MobileWeb/OrderListService1.php
+0
-0
ServiceEvaluationService.php
app/Services/Api/MobileWeb/ServiceEvaluationService.php
+0
-0
TechnicianService.php
app/Services/Api/MobileWeb/TechnicianService.php
+0
-0
api.php
routes/api.php
+42
-0
没有找到文件。
app/Http/Controllers/MobileWeb/LoginController.php
0 → 100644
浏览文件 @
6fa4d440
<?php
namespace
App\Http\Controllers\Api\MobileWeb
;
use
Illuminate\Http\Request
;
use
App\Http\Controllers\Controller
;
use
App\Http\Requests\Validators\Api\MobileWeb\LoginValidator
;
use
BlueCity\Core\Inc\ErrorInc
;
use
App\Services\Api\MobileWeb\LoginService
;
use
Illuminate\Support\Facades\Crypt
;
class
LoginController
extends
Controller
{
public
function
__construct
()
{
$this
->
dataValidator
=
new
LoginValidator
();
}
// 登录
public
function
login
(
Request
$request
)
{
// 验证数据
$error_message
=
$this
->
dataValidator
->
loginValidator
(
$request
->
all
());
if
(
$error_message
)
{
return
response
()
->
json
([
'ErrorCode'
=>
ErrorInc
::
INVALID_PARAM
,
'ErrorMessage'
=>
$error_message
->
first
(),
'data'
=>
[]]);
}
$return_data
=
LoginService
::
login
(
$request
->
all
());
return
$return_data
;
}
//退出
public
function
quit
(
Request
$request
)
{
return
LoginService
::
quit
(
$request
->
all
());
}
}
app/Http/Middleware/WebLogin.php
0 → 100644
浏览文件 @
6fa4d440
<?php
namespace
App\Http\Middleware
;
use
Closure
;
use
DB
;
use
Illuminate\Support\Facades\Crypt
;
class
WebLogin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public
function
handle
(
$request
,
Closure
$next
)
{
if
(
!
$request
->
exists
(
'api_token'
)){
return
response
()
->
json
([
"ErrorCode"
=>
300
,
'ErrorMessage'
=>
'api_token失效,请重新登录!'
,
'data'
=>
''
]);
}
$request
[
'api_token_old'
]
=
$request
[
'api_token'
];
// 解密api_token,如果不是系统生成的token会解密失败
try
{
$api_token
=
Crypt
::
decrypt
(
$request
[
'api_token'
]);
}
catch
(
\Exception
$e
){
return
response
()
->
json
([
"ErrorCode"
=>
300
,
'ErrorMessage'
=>
'api_token失效,请重新登录!2'
,
'data'
=>
''
]);
}
// 拿到token获取登录表信息
$login_web
=
DB
::
table
(
'login_web'
)
->
where
(
'api_token'
,
'='
,
$api_token
)
->
select
(
'lowe_last_login'
,
'api_token'
)
->
first
();
if
(
empty
(
$login_web
)){
return
response
()
->
json
([
"ErrorCode"
=>
300
,
'ErrorMessage'
=>
'api_token失效,请重新登录!3'
,
'data'
=>
''
]);
}
// 当前时间
$hours
=
time
();
// 如果最后登录时间小于当前时间,说明登陆过期
if
(
$login_web
->
lowe_last_login
<
$hours
){
return
response
()
->
json
([
"ErrorCode"
=>
300
,
'ErrorMessage'
=>
'登陆过期,请重新登录'
,
'data'
=>
''
]);
}
$now_time
=
$hours
+
10
*
60
*
60
;
if
(
$now_time
>
$login_web
->
lowe_last_login
)
{
// 每隔2个小时更新一次,降低更新次数,如果登录时间超过2个小时在操作就当前时间加12小时
DB
::
table
(
'login_web'
)
->
where
(
'api_token'
,
'='
,
$api_token
)
->
update
([
'lowe_last_login'
=>
$hours
+
12
*
60
*
60
]);
}
$request
[
'api_token'
]
=
$api_token
;
//赋值解密后的token值
return
$next
(
$request
);
}
}
app/Http/Requests/Validators/Api/MobileWeb/BillingModuleValidator.php
0 → 100644
浏览文件 @
6fa4d440
<?php
namespace
App\Http\Requests\Validators\Api\MobileWeb
;
use
Illuminate\Foundation\Http\FormRequest
;
use
Illuminate\Validation\Rule
;
use
Validator
;
// 移动端-账单列表
class
BillingModuleValidator
extends
FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public
function
authorize
()
{
return
false
;
}
// 列表验证器
public
function
indexValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'admin_id.required'
=>
'请输入服务商id'
,
'admin_id.integer'
=>
'参数错误'
,
'type.required'
=>
'请输入type值'
,
'type.max'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'admin_id'
=>
'required|integer|min:1'
,
'type'
=>
[
'required'
,
Rule
::
in
([
1
,
2
]),
],
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 查看详情验证器
public
function
checkInfoValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'admin_id.required'
=>
'参数错误'
,
'stl_wat.required'
=>
'请输入结算单号'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'admin_id'
=>
'required|integer|min:1'
,
'stl_wat'
=>
'required'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 确认账单验证器
public
function
affirmBillValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'admin_id.required'
=>
'参数错误'
,
'wat_num.required'
=>
'请输入结算单号'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'admin_id'
=>
'required|integer|min:1'
,
'wat_num'
=>
'required'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 上传发票验证器
public
function
uploadInvoiceValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'admin_id.required'
=>
'参数错误'
,
'wat_num.required'
=>
'请输入结算单号'
,
// 'stl_invoice_number.required' => '请输入发票单号',
// 'stl_expressage_number.required' => '请输入快递单号',
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'admin_id'
=>
'required|integer|min:1'
,
'wat_num'
=>
'required'
,
// 'stl_invoice_number' => 'required',
// 'stl_expressage_number' => 'required',
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
}
app/Http/Requests/Validators/Api/MobileWeb/LoginValidator.php
0 → 100644
浏览文件 @
6fa4d440
<?php
namespace
App\Http\Requests\Validators\Api\MobileWeb
;
use
Illuminate\Foundation\Http\FormRequest
;
use
Illuminate\Validation\Rule
;
use
Validator
;
class
LoginValidator
extends
FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public
function
authorize
()
{
return
false
;
}
// 登录验证器
public
function
loginValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'account.required'
=>
'请输入账号'
,
'account.max'
=>
'参数错误'
,
'password.required'
=>
'请输入密码'
,
'password.max'
=>
'参数错误'
,
'login_type.required'
=>
'请传入类型'
,
'login_type.in'
=>
'参数错误'
,
'user_type.required'
=>
'请传入类型'
,
'user_type.in'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'account'
=>
'required|string|max:50'
,
'password'
=>
'required|string|max:50'
,
'login_type'
=>
[
//类型1强制登录2不登录
'required'
,
Rule
::
in
([
'1'
,
'2'
]),
],
'user_type'
=>
[
//登录类型1技师2服务商
'required'
,
Rule
::
in
([
'1'
,
'2'
]),
],
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
}
app/Http/Requests/Validators/Api/MobileWeb/OrderListValidator.php
0 → 100644
浏览文件 @
6fa4d440
<?php
namespace
App\Http\Requests\Validators\Api\MobileWeb
;
use
Illuminate\Foundation\Http\FormRequest
;
use
Illuminate\Validation\Rule
;
use
Validator
;
// 移动端-工单列表
class
OrderListValidator
extends
FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public
function
authorize
()
{
return
false
;
}
// 列表验证器
public
function
indexValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'请输入账号id'
,
'install_id.integer'
=>
'参数错误'
,
'admin_id.required'
=>
'请输入服务商id'
,
'admin_id.integer'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 详情验证器
public
function
infoValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'deor_id.required'
=>
'请输入设计工单id'
,
'deor_id.integer'
=>
'参数错误'
,
'sys_num.required'
=>
'请输入订单单号'
,
'sys_num.max'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'deor_id'
=>
'required|integer|min:1'
,
'sys_num'
=>
'required|string|max:50'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 接单验证器
public
function
receivingValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'id.required'
=>
'请输入工单id'
,
'id.integer'
=>
'参数错误'
,
'receive_install_id.required'
=>
'请选择安装人员'
,
'receive_install_id.integer'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'id'
=>
'required|integer|min:1'
,
'receive_install_id'
=>
'required|integer|min:1'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 拒单验证器
public
function
refuseValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'id.required'
=>
'请输入服务工单id'
,
'id.integer'
=>
'参数错误'
,
'remarks.required'
=>
'请输入拒单备注'
,
'remarks.max'
=>
'拒单备注长度超出限制'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'id'
=>
'required|integer|min:1'
,
'remarks'
=>
'required|string|max:255'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 开始安装验证器
public
function
startInstallValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'id.required'
=>
'请输入服务工单id'
,
'id.integer'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'id'
=>
'required|integer|min:1'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 安装反馈验证器
public
function
installFeedbackValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'id.required'
=>
'请输入服务工单id'
,
'type.required'
=>
'请选择完成类型'
,
// 'template_data.required' => '请输入图片相关数据',
// 'license_plate.required' => '请输入车牌号',
// 'license_plate.max' => '长度超出限制',
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'id'
=>
'required|integer|min:1'
,
'type'
=>
'required|integer|min:1'
,
// 'template_data' => 'required',
// 'license_plate' => 'required|string|max:20',
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 操作记录验证器
public
function
operatingRecordValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'serial_number.required'
=>
'请输入单号'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'serial_number'
=>
'required'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 反馈安装图片验证器
public
function
imageFeedbackValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'image_url.required'
=>
'参数错误'
,
'image_id.required'
=>
'参数错误'
,
'image_type.required'
=>
'参数错误'
,
'id.required'
=>
'请输入服务工单id'
,
'id.integer'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'image_url'
=>
'required|min:1'
,
'image_type'
=>
'required|min:1'
,
'image_id'
=>
'required|min:1'
,
'id'
=>
'required|integer|min:1'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 反馈车牌车架号验证器
public
function
LicenseFeedbackValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'gd_id.required'
=>
'参数错误'
,
'id.required'
=>
'请输入服务工单id'
,
'id.integer'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'gd_id'
=>
'required|integer|min:1'
,
'id'
=>
'required|integer|min:1'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
}
app/Http/Requests/Validators/Api/MobileWeb/ServiceEvaluationValidator.php
0 → 100644
浏览文件 @
6fa4d440
<?php
namespace
App\Http\Requests\Validators\Api\MobileWeb
;
use
Illuminate\Foundation\Http\FormRequest
;
use
Illuminate\Validation\Rule
;
use
Validator
;
// 移动端-账单列表
class
ServiceEvaluationValidator
extends
FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public
function
authorize
()
{
return
false
;
}
// 列表验证器
public
function
indexValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'admin_id.required'
=>
'请输入服务商id'
,
'admin_id.integer'
=>
'参数错误'
,
'type.required'
=>
'请输入type值'
,
'type.max'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'admin_id'
=>
'required|integer|min:1'
,
'type'
=>
[
'required'
,
Rule
::
in
([
1
,
2
]),
],
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
}
app/Http/Requests/Validators/Api/MobileWeb/TechnicianValidator.php
0 → 100644
浏览文件 @
6fa4d440
<?php
namespace
App\Http\Requests\Validators\Api\MobileWeb
;
use
Illuminate\Foundation\Http\FormRequest
;
use
Illuminate\Validation\Rule
;
use
Validator
;
class
TechnicianValidator
extends
FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public
function
authorize
()
{
return
false
;
}
// 新增验证器
public
function
addValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'install_id.integer'
=>
'参数错误'
,
'install_id.min'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'admin_id.integer'
=>
'参数错误'
,
'admin_id.min'
=>
'参数错误'
,
'install_name.required'
=>
'请输入姓名'
,
'install_name.max'
=>
'参数错误'
,
'install_phone.required'
=>
'请输入联系电话'
,
'install_phone.max'
=>
'参数错误'
,
'install_year.required'
=>
'请选择入职时间'
,
'install_year.max'
=>
'参数错误'
,
'install_is_type.required'
=>
'请选择是否启用'
,
'install_is_type.max'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'install_name'
=>
'required|string|max:50'
,
'install_phone'
=>
'required|string|max:50'
,
'install_year'
=>
'required|string|max:50'
,
'install_is_type'
=>
[
'required'
,
Rule
::
in
([
1
,
2
]),
],
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 修改密码验证器
public
function
changePasswordValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'install_id.integer'
=>
'参数错误'
,
'install_id.min'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'admin_id.integer'
=>
'参数错误'
,
'admin_id.min'
=>
'参数错误'
,
'password.required'
=>
'请输入原密码'
,
'new_password.required'
=>
'请输入新密码'
,
'new_password.regex'
=>
'密码格式错误'
,
'new_password_affirm.required'
=>
'请输入确认密码'
,
'new_password_affirm.same'
=>
'两次密码不一致'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'password'
=>
'required'
,
'new_password'
=>
[
'required'
,
'regex:/^[a-zA-Z\d_]{8,}$/'
,
//正则验证密码格式
],
// 与密码数据保持一致
'new_password_affirm'
=>
'required|same:new_password'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
// 编辑展示验证器
public
function
editShowValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'install_id.integer'
=>
'参数错误'
,
'install_id.min'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'admin_id.integer'
=>
'参数错误'
,
'admin_id.min'
=>
'参数错误'
,
'edit_install_id.required'
=>
'请输入技师id'
,
'edit_install_id.integer'
=>
'参数错误'
,
'edit_install_id.min'
=>
'参数错误'
,
'type.required'
=>
'请输入类型'
,
'type.in'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
'edit_install_id'
=>
'required|integer|min:1'
,
'type'
=>
[
'required'
,
Rule
::
in
([
1
,
2
]),
],
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
public
function
deleteValidator
(
$data
)
{
// 自定义错误消息
$messages
=
[
'install_id.required'
=>
'参数错误'
,
'install_id.integer'
=>
'参数错误'
,
'install_id.min'
=>
'参数错误'
,
'admin_id.required'
=>
'参数错误'
,
'admin_id.integer'
=>
'参数错误'
,
'admin_id.min'
=>
'参数错误'
,
];
// 数据验证
$validator
=
Validator
::
make
(
$data
,
[
'install_id'
=>
'required|integer|min:1'
,
'admin_id'
=>
'required|integer|min:1'
,
],
$messages
);
// 判断数据验证是否成功
if
(
$validator
->
fails
())
{
return
$validator
->
errors
();
}
}
}
app/Services/Api/MobileWeb/BillingModuleService.php
0 → 100644
浏览文件 @
6fa4d440
差异被折叠。
点击展开。
app/Services/Api/MobileWeb/LoginService.php
0 → 100644
浏览文件 @
6fa4d440
<?php
namespace
App\Services\Api\MobileWeb
;
use
App\Services\CommonService
;
use
Illuminate\Database\Eloquent\Model
;
use
Illuminate\Support\Facades\Request
;
use
Illuminate\Support\Facades\Redis
;
use
Illuminate\Support\Facades\DB
;
use
BlueCity\Core\Inc\ErrorInc
;
use
App\Models
\
{
Company
,
InstallPerson
};
use
Illuminate\Support\Facades\Crypt
;
class
LoginService
{
// 登录
public
static
function
login
(
$request
)
{
if
(
$request
[
'user_type'
]
==
1
)
{
//技师登录
// 查询登录账号数据
$find_person
=
InstallPerson
::
where
(
'delet_y'
,
1
)
->
where
(
'check_code'
,
$request
[
'account'
])
->
where
(
'install_password'
,
md5
(
$request
[
'password'
]))
->
select
(
'id'
,
'check_code'
,
'install_name'
,
'install_phone'
,
'install_is_type'
,
'admin_id'
)
->
first
();
}
elseif
(
$request
[
'user_type'
]
==
2
)
{
//服务商登录
//判定是否有公司名称字段
if
(
!
isset
(
$request
[
'company_name'
])
||
$request
[
'company_name'
]
==
''
){
return
[
'ErrorCode'
=>
201
,
'ErrorMessage'
=>
'请填写公司名称!'
,
'data'
=>
''
];
}
//查询公司名称是否存在
$company_id
=
Company
::
where
(
"com_name"
,
$request
[
'company_name'
])
->
value
(
'com_id'
);
// 查询登录账号数据
$find_person
=
DB
::
table
(
'admin as adm'
)
->
leftJoin
(
'admin_infor as adin'
,
'adin.admin_id'
,
'='
,
'adm.id'
)
->
where
(
'admin_acc'
,
$request
[
'account'
])
->
whereIn
(
'admin_groupnew'
,
[
2
,
3
])
->
where
(
'admin_password'
,
md5
(
$request
[
'password'
]))
->
select
(
'adm.id'
,
'admin_acc as check_code'
,
'admin_name as install_name'
,
'phone as install_phone'
,
'enable as install_is_type'
,
'adm.id as admin_id'
)
->
first
();
$find_person
=
CommonService
::
dataToArray
(
$find_person
);
}
if
(
empty
(
$find_person
))
{
return
[
'ErrorCode'
=>
202
,
'ErrorMessage'
=>
'账号密码错误!'
,
'data'
=>
''
];
}
if
(
$find_person
[
'install_is_type'
]
!=
1
)
{
return
[
'ErrorCode'
=>
203
,
'ErrorMessage'
=>
'当前账号已停用!'
,
'data'
=>
''
];
}
if
(
$request
[
'openid'
])
{
// 微信授权绑定用户信息
$bingding_res
=
self
::
accreditBinding
(
$request
,
$find_person
);
}
$expiration_time
=
12
*
60
*
60
;
//登录过期时间
// 生成token
$unique_string
=
md5
(
uniqid
(
md5
(
microtime
(
true
))
.
rand
(
100000
,
999999
),
true
));
//生成唯一字符串
$api_token
=
sha1
(
$unique_string
);
//加密
$find_login
=
DB
::
table
(
'login_web'
)
->
where
(
'install_id'
,
'='
,
$find_person
[
'id'
])
->
where
(
'user_type'
,
'='
,
$request
[
'user_type'
])
->
select
(
'lowe_id'
,
'install_id'
,
'lowe_last_login'
)
->
first
();
if
(
empty
(
$find_login
))
{
// 如果用户第一次登陆,将用户的登录状态保存到临时表
$lote_data
[
'install_id'
]
=
$find_person
[
'id'
];
//账号id
$lote_data
[
'lowe_last_login'
]
=
time
()
+
$expiration_time
;
//最后登陆时间
$lote_data
[
'api_token'
]
=
$api_token
;
//api_token
$lote_data
[
'account'
]
=
$find_person
[
'check_code'
];
//登录账号
$lote_data
[
'install_name'
]
=
$find_person
[
'install_name'
]
??
""
;
//账号姓名
$lote_data
[
'install_phone'
]
=
$find_person
[
'install_phone'
];
//手机号
$lote_data
[
'admin_id'
]
=
$find_person
[
'admin_id'
];
//所属服务中心id
$lote_data
[
'user_type'
]
=
$request
[
'user_type'
];
//登录类型:1技师2服务商
$lote_data
[
'role_auth'
]
=
''
;
$lote_data
[
'auth_routes'
]
=
''
;
$lote_res
=
DB
::
table
(
'login_web'
)
->
insert
(
$lote_data
);
if
(
empty
(
$lote_res
))
{
return
[
"ErrorCode"
=>
204
,
'ErrorMessage'
=>
'登录失败!1'
,
'data'
=>
'{}'
];
}
// 返回数据
$return_data
=
[
'api_token'
=>
Crypt
::
encrypt
(
$api_token
),
//生成前台token
'account'
=>
$find_person
[
'check_code'
],
'install_name'
=>
$find_person
[
'install_name'
],
'install_phone'
=>
$find_person
[
'install_phone'
],
'install_id'
=>
$find_person
[
'id'
],
'admin_id'
=>
$find_person
[
'admin_id'
],
];
return
[
'ErrorCode'
=>
1
,
'ErrorMessage'
=>
'登录成功'
,
'data'
=>
$return_data
];
}
$now_time
=
time
();
// 当前时间大于最后登陆时间,登录时间已过期,重新登录
// login_type 值为1 强制登录
if
(
$now_time
>
$find_login
->
lowe_last_login
||
$request
[
'login_type'
]
==
1
)
{
//修改登陆状态
$lote_data
[
'install_id'
]
=
$find_person
[
'id'
];
//账号id
$lote_data
[
'lowe_last_login'
]
=
time
()
+
$expiration_time
;
//最后登陆时间
$lote_data
[
'api_token'
]
=
$api_token
;
//api_token
$lote_data
[
'account'
]
=
$find_person
[
'check_code'
];
//登录账号
$lote_data
[
'install_name'
]
=
$find_person
[
'install_name'
];
//账号姓名
$lote_data
[
'install_phone'
]
=
$find_person
[
'install_phone'
];
//手机号
$lote_data
[
'admin_id'
]
=
$find_person
[
'admin_id'
];
//所属服务中心id
$lote_res
=
DB
::
table
(
'login_web'
)
->
where
(
'lowe_id'
,
$find_login
->
lowe_id
)
->
update
(
$lote_data
);
if
(
empty
(
$lote_res
))
{
return
[
"ErrorCode"
=>
500
,
'ErrorMessage'
=>
'登录失败!2'
,
'data'
=>
'{}'
];
}
// 返回数据
$return_data
=
[
'api_token'
=>
Crypt
::
encrypt
(
$api_token
),
//生成前台token
'account'
=>
$find_person
[
'check_code'
],
'install_name'
=>
$find_person
[
'install_name'
],
'install_phone'
=>
$find_person
[
'install_phone'
],
'install_id'
=>
$find_person
[
'id'
],
'admin_id'
=>
$find_person
[
'admin_id'
],
];
return
[
'ErrorCode'
=>
1
,
'ErrorMessage'
=>
'登录成功'
,
'data'
=>
$return_data
];
}
else
{
return
[
"ErrorCode"
=>
400
,
'ErrorMessage'
=>
'该用户已经登录'
,
'data'
=>
'{}'
];
}
}
// 微信授权绑定
public
static
function
accreditBinding
(
$request
,
$find_person
)
{
// 查询数据表openID是否存在绑定,存在绑定改为离线
DB
::
table
(
'installation_master'
)
->
where
(
'wechat_number'
,
$request
[
'openid'
])
->
update
([
'priority'
=>
2
,
'update_time'
=>
date
(
'Y-m-d H:i:s'
)]);
$find_data
=
DB
::
table
(
'installation_master'
)
->
where
(
'check_code'
,
$find_person
[
'check_code'
])
->
value
(
'id'
);
if
(
$find_data
){
return
DB
::
table
(
'installation_master'
)
->
where
(
'id'
,
$find_data
)
->
update
([
'priority'
=>
1
,
'wechat_number'
=>
$request
[
'openid'
],
'update_time'
=>
date
(
'Y-m-d H:i:s'
)]);
}
else
{
// 新增绑定关系
$data
[
'wechat_number'
]
=
$request
[
'openid'
];
$data
[
'type'
]
=
$request
[
'user_type'
];
$data
[
'check_code'
]
=
$find_person
[
'check_code'
];
$data
[
'inst_name'
]
=
$find_person
[
'install_name'
];
$data
[
'inst_phone'
]
=
$find_person
[
'install_phone'
];
$data
[
'admin_id'
]
=
$find_person
[
'admin_id'
];
$data
[
'install_id'
]
=
$find_person
[
'id'
];
$data
[
'priority'
]
=
1
;
return
DB
::
table
(
'installation_master'
)
->
insert
(
$data
);
}
}
// 退出
public
static
function
quit
(
$request
)
{
try
{
$api_token
=
Crypt
::
decrypt
(
$request
[
'api_token'
]);
}
catch
(
\Exception
$e
)
{
return
[
'ErrorCode'
=>
ErrorInc
::
BUSINESS_FORBID
,
'ErrorMessage'
=>
'api_token失效'
,
'data'
=>
''
];
}
// 更改最后登录时间
$lote_data
[
'lowe_last_login'
]
=
0
;
//最后登陆时间
$res
=
DB
::
table
(
'login_web'
)
->
where
(
'api_token'
,
$api_token
)
->
update
(
$lote_data
);
if
(
$res
)
{
return
[
'ErrorCode'
=>
1
,
'ErrorMessage'
=>
'退出成功'
,
'data'
=>
'{}'
];
}
else
{
return
[
"ErrorCode"
=>
201
,
'ErrorMessage'
=>
'退出失败'
,
'data'
=>
'{}'
];
}
}
}
app/Services/Api/MobileWeb/OrderListService.php
0 → 100644
浏览文件 @
6fa4d440
差异被折叠。
点击展开。
app/Services/Api/MobileWeb/OrderListService1.php
0 → 100644
浏览文件 @
6fa4d440
差异被折叠。
点击展开。
app/Services/Api/MobileWeb/ServiceEvaluationService.php
0 → 100644
浏览文件 @
6fa4d440
差异被折叠。
点击展开。
app/Services/Api/MobileWeb/TechnicianService.php
0 → 100644
浏览文件 @
6fa4d440
差异被折叠。
点击展开。
routes/api.php
浏览文件 @
6fa4d440
...
...
@@ -1402,3 +1402,45 @@ Route::group(['prefix' => 'RequestApp', 'namespace' => 'AppApi', 'middleware' =>
Route
::
group
([
'prefix'
=>
'Dou'
,
'namespace'
=>
'Dou'
],
function
()
{
Route
::
any
(
'MyTest/test'
,
'MyTestController@test'
);
//测试入口
});
// 移动端网页功能
Route
::
namespace
(
'Api'
)
->
group
(
function
()
{
// 技师登录
Route
::
post
(
'w1/login'
,
'MobileWeb\LoginController@login'
);
//登录
Route
::
post
(
'w1/quit'
,
'MobileWeb\LoginController@quit'
);
//退出
// 需要验证
Route
::
group
([
'middleware'
=>
[
'WebLogin'
]],
function
()
{
Route
::
post
(
'w1/OrderList/index'
,
'MobileWeb\OrderListController@index'
);
//服务工单列表
Route
::
post
(
'w1/OrderList/receiving'
,
'MobileWeb\OrderListController@receiving'
);
//接单
Route
::
post
(
'w1/OrderList/refuse'
,
'MobileWeb\OrderListController@refuse'
);
//拒单
Route
::
post
(
'w1/OrderList/startInstall'
,
'MobileWeb\OrderListController@startInstall'
);
//开始安装
Route
::
post
(
'w1/OrderList/inspect'
,
'MobileWeb\OrderListController@inspect'
);
//检验
Route
::
post
(
'w1/OrderList/installFeedback'
,
'MobileWeb\OrderListController@installFeedback'
);
//安装反馈
Route
::
post
(
'w1/OrderList/info'
,
'MobileWeb\OrderListController@info'
);
//详情
Route
::
post
(
'w1/OrderList/getInstallPerson'
,
'MobileWeb\OrderListController@getInstallPerson'
);
//获取技师
Route
::
post
(
'w1/OrderList/getLabel'
,
'MobileWeb\OrderListController@getLabel'
);
//获取标签
Route
::
post
(
'w1/OrderList/operatingRecord'
,
'MobileWeb\OrderListController@operatingRecord'
);
//获取操作记录
Route
::
post
(
'w1/OrderList/getFeedback'
,
'MobileWeb\OrderListController@getFeedback'
);
//获取安装反馈数据
Route
::
post
(
'w1/OrderList/imageFeedback'
,
'MobileWeb\OrderListController@imageFeedback'
);
//施工反馈,图片反馈
Route
::
post
(
'w1/OrderList/LicenseFeedback'
,
'MobileWeb\OrderListController@LicenseFeedback'
);
//施工反馈,车牌反馈
// 技师管理
Route
::
post
(
'w1/Technician/index'
,
'MobileWeb\TechnicianController@index'
);
//技师列表
Route
::
post
(
'w1/Technician/add'
,
'MobileWeb\TechnicianController@add'
);
//技师列表-新增
Route
::
post
(
'w1/Technician/changePassword'
,
'MobileWeb\TechnicianController@changePassword'
);
//技师列表-修改密码
Route
::
post
(
'w1/Technician/delete'
,
'MobileWeb\TechnicianController@delete'
);
//删除
Route
::
post
(
'w1/Technician/edit'
,
'MobileWeb\TechnicianController@edit'
);
//编辑
// 账单模块
Route
::
post
(
'w1/BillingModule/index'
,
'MobileWeb\BillingModuleController@index'
);
//列表
Route
::
post
(
'w1/BillingModule/checkVoucher'
,
'MobileWeb\BillingModuleController@checkVoucher'
);
//查看凭证
Route
::
post
(
'w1/BillingModule/checkInfo'
,
'MobileWeb\BillingModuleController@checkInfo'
);
//查看详情
Route
::
post
(
'w1/BillingModule/affirmBill'
,
'MobileWeb\BillingModuleController@affirmBill'
);
//确认账单
Route
::
post
(
'w1/BillingModule/uploadInvoice'
,
'MobileWeb\BillingModuleController@uploadInvoice'
);
//上传发票
// 服务评价
Route
::
post
(
'w1/ServiceEvaluation/index'
,
'MobileWeb\ServiceEvaluationController@index'
);
//列表
});
});
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论