提交 5d3becc4 authored 作者: 窦斌's avatar 窦斌

edit

上级 9ace42cc
<?php
namespace App\Http\Controllers\Api\MobileWeb;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests\Validators\Api\MobileWeb\BillingModuleValidator;
use BlueCity\Core\Inc\ErrorInc;
use App\Services\Api\MobileWeb\BillingModuleService;
// 移动端-账单列表
class BillingModuleController extends Controller
{
// 列表每页显示数据个数
protected $show_count = 10;
public function __construct()
{
$this->dataValidator = new BillingModuleValidator();
}
// 列表
public function index(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->indexValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = BillingModuleService::index($request->all(), $this->show_count);
return $return_data;
}
// 查看凭证
public function checkVoucher(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->checkInfoValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = BillingModuleService::checkVoucher($request->all());
return response()->json($return_data);
}
// 查看详情
public function checkInfo(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->checkInfoValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = BillingModuleService::checkInfo($request->all());
return response()->json($return_data);
}
// 确认账单
public function affirmBill(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->affirmBillValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = BillingModuleService::affirmBill($request->all());
return response()->json($return_data);
}
// 上传发票
public function uploadInvoice(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->uploadInvoiceValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = BillingModuleService::uploadInvoice($request->all());
return response()->json($return_data);
}
}
<?php
namespace App\Http\Controllers\Api\MobileWeb;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests\Validators\Api\MobileWeb\OrderListValidator;
use BlueCity\Core\Inc\ErrorInc;
use App\Services\Api\MobileWeb\OrderListService;
// 移动端-工单列表
class OrderListController extends Controller
{
// 列表每页显示数据个数
protected $show_count = 4;
public function __construct()
{
$this->dataValidator = new OrderListValidator();
}
// 列表
public function index(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->indexValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::index($request->all(), $this->show_count,1);
return $return_data;
}
// 接单
public function receiving(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->receivingStartValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$input = $request->all();
if($input['type']==1){
$return_data = OrderListService::getPerson($request->all(),$request['old_install_id']);
}
if($input['type']==2) {
$error_message = $this->dataValidator->receivingValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::receiving($request->all());
}
return response()->json($return_data);
}
// 拒单
public function refuse(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->refuseValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::refuse($request->all());
return response()->json($return_data);
}
// 检验
public function inspect(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->startInstallValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::inspect($request->all());
return response()->json($return_data);
}
// 开始安装
public function startInstall(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->startInstallValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::startInstall($request->all());
return response()->json($return_data);
}
// 安装反馈
public function installFeedback(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->installFeedbackValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::installFeedback($request->all());
return response()->json($return_data);
}
// 获取反馈信息
public function getFeedback(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->startInstallValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::getFeedback($request->all());
return response()->json($return_data);
}
// 详情
public function info(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->startInstallValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::info($request->all());
return response()->json($return_data);
}
// 获取技师
public function getInstallPerson(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->indexValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::getInstallPerson($request->all());
return response()->json($return_data);
}
// 获取标签
public function getLabel(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->indexValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::getLabel($request->all());
return response()->json($return_data);
}
// 获取操作记录
public function operatingRecord(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->operatingRecordValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::operatingRecord($request->all());
return response()->json($return_data);
}
// 图片反馈
public function imageFeedback(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->imageFeedbackValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::imageFeedback($request->all());
return response()->json($return_data);
}
// 车牌反馈
public function LicenseFeedback(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->LicenseFeedbackValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::LicenseFeedback($request->all());
return response()->json($return_data);
}
}
<?php
namespace App\Http\Controllers\Api\MobileWeb;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests\Validators\Api\MobileWeb\ServiceEvaluationValidator;
use BlueCity\Core\Inc\ErrorInc;
use App\Services\Api\MobileWeb\ServiceEvaluationService;
// 移动端-账单列表
class ServiceEvaluationController extends Controller
{
// 列表每页显示数据个数
protected $show_count = 10;
public function __construct()
{
$this->dataValidator = new ServiceEvaluationValidator();
}
// 列表
public function index(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->indexValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = ServiceEvaluationService::index($request->all(), $this->show_count);
return $return_data;
}
}
<?php
namespace App\Http\Controllers\Api\MobileWeb;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests\Validators\Api\MobileWeb\TechnicianValidator;
use BlueCity\Core\Inc\ErrorInc;
use App\Services\Api\MobileWeb\TechnicianService;
// 移动端-技师管理
class TechnicianController extends Controller
{
// 列表每页显示数据个数
protected $show_count = 10;
public function __construct()
{
$this->dataValidator = new TechnicianValidator();
}
// 列表
public function index(Request $request)
{
$return_data = TechnicianService::index($request->all(), $this->show_count);
return $return_data;
}
// 技师新增
public function add(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->addValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[$error_message]]);
}
$return_data = TechnicianService::add($request);
return response()->json($return_data);
}
// 技师编辑
public function edit(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->editShowValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[$error_message]]);
}
if ($request['type'] == 1) {
$return_data = TechnicianService::editShow($request);
return response()->json($return_data);
}
// 编辑提交验证数据
$error_message = $this->dataValidator->addValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[$error_message]]);
}
$return_data = TechnicianService::edit($request);
return response()->json($return_data);
}
// 修改密码
public function changePassword(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->changePasswordValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[$error_message]]);
}
$return_data = TechnicianService::changePassword($request->all());
return response()->json($return_data);
}
// 删除
public function delete(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->deleteValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[$error_message]]);
}
$return_data = TechnicianService::delete($request->all());
return response()->json($return_data);
}
}
......@@ -60,5 +60,6 @@ class Kernel extends HttpKernel
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'requestpc'=>\App\Http\Middleware\RequestPcMiddleware::class,
'RequestApp'=>\App\Http\Middleware\RequestAppMiddleware::class,
'WebLogin'=>\App\Http\Middleware\WebLogin::class,
];
}
......@@ -18,38 +18,52 @@ class WebLogin
public function handle($request, Closure $next)
{
if(!$request->exists('api_token')){
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效,请重新登录!','data'=>'']);
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效:检索码01,请重新登录!','data'=>'']);
}
if(!$request->exists('session_company_id')){
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效:检索码05,请重新登录!','data'=>'']);
}
if(!$request->exists('session_install_id')){
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效:检索码06,请重新登录!','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'=>'']);
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效:检索码02,请重新登录!','data'=>'']);
}
// 拿到token获取登录表信息
$login_web = DB::table('login_web')
->where('api_token','=',$api_token)
->select('lowe_last_login','api_token')
->select('lowe_last_login','api_token','company_id','install_id','admin_id','user_type')
->first();
if(empty($login_web)){
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效,请重新登录!3','data'=>'']);
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效:检索码03,请重新登录!','data'=>'']);
}
// 当前时间
$hours = time();
// 如果最后登录时间小于当前时间,说明登陆过期
if($login_web->lowe_last_login < $hours){
if($login_web['lowe_last_login'] < $hours){
return response()->json(["ErrorCode"=>300, 'ErrorMessage'=>'登陆过期,请重新登录', 'data'=>'']);
}
if($request['session_company_id'] !=$login_web['company_id'] || $request['session_install_id'] !=$login_web['install_id']){
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效:检索码04,请重新登录!','data'=>'']);
}
$now_time = $hours + 10*60*60;
if ($now_time > $login_web->lowe_last_login) {
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值
$session['user_type'] = $login_web['user_type'];//用户账号类型
$session['company_id'] = $login_web['company_id'];//公司id
$session['install_id'] = $login_web['install_id'];//操作人id
$session['admin_id'] = $login_web['admin_id'];//所属服务商id
$session['install_name'] = $login_web['install_name'];//操作人信息
$request['session'] = $session;
return $next($request);
}
}
......@@ -24,16 +24,13 @@ class OrderListValidator extends FormRequest
{
// 自定义错误消息
$messages = [
'install_id.required' => '请输入账号id',
'install_id.integer' => '参数错误',
'admin_id.required' => '请输入服务商id',
'admin_id.integer' => '参数错误',
'stauas.required' => '请输入订单状态',
'stauas.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'stauas' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
......@@ -64,25 +61,42 @@ class OrderListValidator extends FormRequest
return $validator->errors();
}
}
// 接单验证器入口
public function receivingStartValidator($data)
{
// 自定义错误消息
$messages = [
'type.required' => '请输入请求类型',
'type.in' => '参数错误',
'id.required' => '请输入工单id',
'id.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'type' => [//类型1强制登录2不登录
'required',
Rule::in(['1', '2']),
],
'id' => 'required|integer|min:1',
], $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);
......
......@@ -18,10 +18,12 @@ class LoginService
{
if ($request['user_type'] == 1) { //技师登录
// 查询登录账号数据
$find_person = InstallPerson::where('delet_y', 1)
$find_person = DB::table('install_person as install')
->leftJoin('admin as adm', 'install.admin_id', '=', 'adm.id')
->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')
->select('install.id', 'check_code', 'install_name', 'install_phone', 'install_is_type', 'admin_id','company_id','admin_groupnew')
->first();
} elseif($request['user_type'] == 2) { //服务商登录
//判定是否有公司名称字段
......@@ -34,9 +36,10 @@ class LoginService
$find_person = DB::table('admin as adm')
->leftJoin('admin_infor as adin', 'adin.admin_id', '=', 'adm.id')
->where('admin_acc', $request['account'])
->where('company_id', $company_id)
->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')
->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','admin_groupnew','company_id')
->first();
$find_person = CommonService::dataToArray($find_person);
}
......@@ -46,7 +49,9 @@ class LoginService
if ($find_person['install_is_type'] != 1) {
return ['ErrorCode' => 203, 'ErrorMessage' => '当前账号已停用!', 'data' => ''];
}
if($request['user_type'] == 2 && $find_person['admin_groupnew']==3){
$request['user_type'] = 3;
}
if ($request['openid']) {
// 微信授权绑定用户信息
$bingding_res = self::accreditBinding($request, $find_person);
......@@ -70,12 +75,13 @@ class LoginService
$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['user_type'] = $request['user_type']; //登录类型:1技师2服务商3经销商
$lote_data['company_id'] = $find_person['company_id']; //所属公司id
$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 ["ErrorCode" => 204, 'ErrorMessage' => '登录失败!1', 'data' => ''];
}
// 返回数据
......@@ -86,6 +92,7 @@ class LoginService
'install_phone' => $find_person['install_phone'],
'install_id' => $find_person['id'],
'admin_id' => $find_person['admin_id'],
'company_id' => $find_person['company_id'],
];
return ['ErrorCode' => 1, 'ErrorMessage' => '登录成功', 'data' => $return_data];
}
......@@ -94,7 +101,7 @@ class LoginService
// 当前时间大于最后登陆时间,登录时间已过期,重新登录
// login_type 值为1 强制登录
if ($now_time > $find_login->lowe_last_login || $request['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; //最后登陆时间
......@@ -103,11 +110,13 @@ class LoginService
$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服务商3经销商
$lote_data['company_id'] = $find_person['company_id']; //所属公司id
$lote_res = DB::table('login_web')
->where('lowe_id', $find_login->lowe_id)
->where('lowe_id', $find_login['lowe_id'])
->update($lote_data);
if (empty($lote_res)) {
return ["ErrorCode" => 500, 'ErrorMessage' => '登录失败!2', 'data' => '{}'];
return ["ErrorCode" => 500, 'ErrorMessage' => '登录失败!2', 'data' => ''];
}
// 返回数据
......@@ -118,10 +127,11 @@ class LoginService
'install_phone' => $find_person['install_phone'],
'install_id' => $find_person['id'],
'admin_id' => $find_person['admin_id'],
'company_id' => $find_person['company_id'],
];
return ['ErrorCode' => 1, 'ErrorMessage' => '登录成功', 'data' => $return_data];
} else {
return ["ErrorCode" => 400, 'ErrorMessage' => '该用户已经登录', 'data' => '{}'];
return ["ErrorCode" => 400, 'ErrorMessage' => '该用户已经登录', 'data' => ''];
}
}
......
......@@ -104,7 +104,7 @@ return [
|
*/
'key' => env('APP_KEY'),
'key' => 'base64:Qz/ncZnpyltqLHyovv/WxZQW6XPZPk8pvEuh6IeBSG0=',//env('APP_KEY'),
'cipher' => 'AES-256-CBC',
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论