提交 aa81d556 authored 作者: 李大见's avatar 李大见
......@@ -34,4 +34,16 @@ class LoginController extends Controller
{
return LoginService::quit($request->all());
}
//修改密码
public function updatePassword(Request $request){
// 验证数据
$error_message = $this->dataValidator->updatePasswordValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[]]);
}
$return_data = LoginService::updatePassword($request->all(),$request->ip());
return $return_data;
}
}
......@@ -151,7 +151,7 @@ class OrderListController extends Controller
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::addPic($request->all(),$request->ip());
$return_data = OrderListService::addPic($request,$request->ip());
return response()->json($return_data);
}
//删除图片
......
......@@ -36,7 +36,7 @@ class TechnicianController extends Controller
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[$error_message]]);
}
$return_data = TechnicianService::add($request);
$return_data = TechnicianService::add($request->all(),$request->ip());
return response()->json($return_data);
}
......@@ -58,7 +58,7 @@ class TechnicianController extends Controller
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[$error_message]]);
}
$return_data = TechnicianService::edit($request);
$return_data = TechnicianService::edit($request->all(),$request->ip());
return response()->json($return_data);
}
......@@ -84,7 +84,7 @@ class TechnicianController extends Controller
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[$error_message]]);
}
$return_data = TechnicianService::delete($request->all());
$return_data = TechnicianService::delete($request->all(),$request->ip());
return response()->json($return_data);
}
}
......@@ -46,6 +46,28 @@ class LoginValidator extends FormRequest
],
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 修改密码验证器
public function updatePasswordValidator($data)
{
// 自定义错误消息
$messages = [
'new_password.required' => '请输入账号',
'new_password.max' => '参数错误',
'old_password.required' => '请输入密码',
'old_password.max' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'new_password' => 'required|string|max:50',
'old_password' => 'required|string|max:50',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
......
......@@ -241,7 +241,7 @@ class OrderListValidator extends FormRequest
// 数据验证
$validator = Validator::make($data, [
'id' => 'required|integer|min:1',
'file' => 'required|string',
'file' => 'required|file',
'type' => [//1获取技师2改派
'required',
Rule::in(['1', '2', '3', '4', '5', '6']),
......
......@@ -23,12 +23,6 @@ class TechnicianValidator extends FormRequest
{
// 自定义错误消息
$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' => '请输入联系电话',
......@@ -37,15 +31,25 @@ class TechnicianValidator extends FormRequest
'install_year.max' => '参数错误',
'install_is_type.required' => '请选择是否启用',
'install_is_type.max' => '参数错误',
'install_province.required' => '请输入省份',
'install_province.max' => '参数错误',
'install_city.required' => '请输入城市',
'install_city.max' => '参数错误',
'install_cuntry.required' => '请输入区县',
'install_cuntry.max' => '参数错误',
'install_address.required' => '请输入详细地址',
'install_address.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_province' => 'required|string|max:50',
'install_city' => 'required|string|max:50',
'install_cuntry' => 'required|string|max:50',
'install_address' => 'required|string|max:255',
'install_is_type' => [
'required',
Rule::in([1, 2]),
......
......@@ -8,7 +8,7 @@ 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 App\Models\{Admin, AdminInfor, Company, InstallPerson};
use Illuminate\Support\Facades\Crypt;
class LoginService
......@@ -118,7 +118,13 @@ class LoginService
if (empty($lote_res)) {
return ["ErrorCode" => 500, 'ErrorMessage' => '登录失败!2', 'data' => ''];
}
if($request['user_type']>1) {
$button = ['接单', '安装', '账单'];
$button_more = ['售后', '修改密码', '技师', '退出'];
}else{
$button = ['安装'];
$button_more = ['售后', '修改密码', '退出'];
}
// 返回数据
$return_data = [
'api_token' => Crypt::encrypt($api_token), //生成前台token
......@@ -128,6 +134,8 @@ class LoginService
'install_id' => $find_person['id'],
'admin_id' => $find_person['admin_id'],
'company_id' => $find_person['company_id'],
'button' => $button,
'button_more' => $button_more,
];
return ['ErrorCode' => 1, 'ErrorMessage' => '登录成功', 'data' => $return_data];
} else {
......@@ -178,9 +186,59 @@ class LoginService
->where('api_token', $api_token)
->update($lote_data);
if ($res) {
return ['ErrorCode' => 1, 'ErrorMessage' => '退出成功', 'data' => '{}'];
return ['ErrorCode' => 1, 'ErrorMessage' => '退出成功', 'data' => ''];
} else {
return ["ErrorCode" => 201, 'ErrorMessage' => '退出失败', 'data' => '{}'];
return ["ErrorCode" => 201, 'ErrorMessage' => '退出失败', 'data' => ''];
}
}
/**|---------------------------------------------------------------------------------
* @name 修改密码
* @param string password 原密码
* @param string new_password 新密码
* @retrun \Illuminate\Http\JsonResponse /multitype:array
* @author dou 2024/9/13 0:34
* |---------------------------------------------------------------------------------
*/
public static function updatePassword( $request, $ip )
{
$session = $request['session'];
if($session['user_type']==1){
$res = InstallPerson::where('id',$session['install_id'])->where('install_password',md5($request['old_password']))->value('id');
if($res){
if($request['new_password']==$request['old_password']){
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'data' => ''];
}else{
$password['install_password']=md5($request['new_password']);
$password['install_password1']=$request['new_password'];
$result = InstallPerson::where('id',$session['install_id'])->update($password);
if ($result) {
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'data' => ''];
} else {
return ["ErrorCode" => ErrorInc::MYSQL_FAILED, 'ErrorMessage' => '操作失败', 'data' => ''];
}
}
}else{
return ["ErrorCode" => ErrorInc::ELASTIC_FAILED, 'ErrorMessage' => '密码错误', 'data' => ''];
}
}else{
$res = Admin::where('id',$session['install_id'])
->where('admin_password',md5($request['old_password']))->value("id");
if($res){
if($request['new_password']==$request['old_password']){
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'data' => ''];
}
$password['admin_password']=md5($request['new_password']);
$result = Admin::where('id',$session['install_id'])->update($password);
if($result){
$data['back_pass']=$_POST['new_password'];
AdminInfor::where('admin_id',$session['install_id'])->update($data);
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'data' => ''];
}else{
return ["ErrorCode" => ErrorInc::MYSQL_FAILED, 'ErrorMessage' => '操作失败', 'data' => ''];
}
}else{
return ["ErrorCode" => ErrorInc::ELASTIC_FAILED, 'ErrorMessage' => '密码错误', 'data' => ''];
}
}
}
}
......@@ -954,9 +954,9 @@ class OrderListService extends Model
->where('is_delete', 1)
->first();
if($orderListArr) {
$upPath='./Feekimages/'.date('Ym');
$rea = DealPicService::addPic($request['file'], $upPath, $request['type']);
if($rea){
$request['path']='./FeekBack/'.date('Ym');
$rea = DealPicService::upload($request);
if($rea['code']=='200'){
$feedback = Feedback::where('type',$request['type'])
->where('gl_id',$orderListArr['id'])
->where('is_delect',1)
......@@ -964,7 +964,7 @@ class OrderListService extends Model
if($feedback){
$arr['install_name'] = $orderListArr['intall_person'];
$arr['install_phone'] = $orderListArr['intall_phone'];
$streamFilename = self::picurl($rea);
$streamFilename = self::picurl($rea['data']);
$arr['feedback_pic'] = $streamFilename;
$arr['install_time'] = date("Y-m-d H:i:s");
$arr['type_name'] = self::getPicName($request['type']);//'1';
......@@ -979,7 +979,7 @@ class OrderListService extends Model
$arr['admin_id'] = $orderListArr['ser_id'];
$arr['company_name'] = $resu['company_name'];
$arr['feedback_status'] = '2';
$streamFilename = self::picurl($rea);
$streamFilename = self::picurl($rea['data']);
$arr['feedback_pic'] = $streamFilename;
$arr['sys_num'] = "rwfk" . $orderListArr['id'];
$arr['install_time'] = date("Y-m-d H:i:s");
......@@ -992,12 +992,12 @@ class OrderListService extends Model
$typename = $typename.$arr['type_name'].'图';
unset($arr);
CommonService::inserting_log($typename, $orderListArr['sys_num'], '订单(' . $orderListArr['serial_number'] . ')', '派工单web', $session, $ip);//日志
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => $rea];
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => $rea['data']];
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '操作失败', 'Data' => $rea];
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '操作失败', 'Data' => $rea['data']];
}
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '操作失败', 'Data' => $rea];
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '操作失败', 'Data' => $rea['data']];
}
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '未查询到订单', 'Data' => []];
......@@ -1090,7 +1090,8 @@ class OrderListService extends Model
$setArr['fahuo_type']=1;//已发货
$setArr['setfeeds_time']=$time;//反馈时间
$ree = SettlementList::where('list_id',$orderListArr['serial_number'])->update($setArr);
if ($rea && $res && $ree) {
$resa = self::updateLineSrate($request['coordinate']??'', 6, $orderListArr['serial_number'], $orderListArr['sys_num'], $orderListArr['order_num']);
if ($rea && $res && $ree && $resa) {
DB::commit();
$content = "订单(".$orderListArr['serial_number'].")";
CommonService::inserting_log('完成施工,',$orderListArr['sys_num'],$content,'派工单web',$session,$ip);//日志
......
......@@ -2,6 +2,7 @@
namespace App\Services\Api\MobileWeb;
use App\Services\CommonService;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Redis;
......@@ -15,9 +16,10 @@ class TechnicianService
// 列表查询
public static function index($request, $show_count = 10)
{
$session = $request['session'];
// 查询技师信息
$list_data = DB::table('install_person')
->where('admin_id', $request['admin_id']) //所属服务商
->where('admin_id', $session['admin_id']) //所属服务商
->where('delet_y', 1) //是否删除:1正常2删除
->where(function ($query) use ($request) {
// 状态:1启用2停用
......@@ -57,7 +59,7 @@ class TechnicianService
if ($data['list']) {
return ['ErrorCode' => 1, 'ErrorMessage'=>'成功', 'data'=>$data];
} else {
return ['ErrorCode'=>ErrorInc::DATA_EMPTY, 'ErrorMessage'=>'暂无数据', 'data'=>$data];
return ['ErrorCode' => 1, 'ErrorMessage'=>'暂无数据', 'data'=>$data];
}
}
......@@ -106,11 +108,12 @@ class TechnicianService
}
// 新增技师
public static function add($request)
public static function add($request,$ip)
{
$admin_id = $request['admin_id'];
$session = $request['session'];
$admin_id = $session['admin_id'];
// 判断当前技师是否存在
$find_id = InstallPerson::where('admin_id', $request['admin_id'])
$find_id = InstallPerson::where('admin_id', $session['admin_id'])
->where('install_phone', $request['install_phone'])
->where('delet_y', 1)
->value('id');
......@@ -149,10 +152,27 @@ class TechnicianService
$arr['install_remark'] = $request['install_remark'] ?? '';
$arr['install_password1'] = $arr['check_code'];
$arr['install_password'] = md5($arr['check_code']);
$arr['install_province']=$request['shr_province'];
$arr['install_city']=$request['shr_city'];
$arr['install_cuntry']=$request['shr_cuntry'];
$arr['install_address']=$request['address'];
if(empty($request['address'])){
$arr['longitude']='';
$arr['latitude']='';
}else{
$geocodes = CommonService::jingwei($arr['install_province'],$arr['install_province'].$arr['install_city'].$arr['install_cuntry'].$arr['install_address']);
if(empty($geocodes)){
$arr['longitude']='';
$arr['latitude']='';
}else{
$arr['longitude']=explode(',',$geocodes)[0];
$arr['latitude']=explode(',',$geocodes)[1];
}
}
$ins_res = InstallPerson::insert($arr);
if ($ins_res) {
$content = "新增技师:" . $request['install_name'];
czrzLog("新增技师", '', $content, "移动端-技师管理", Request::ip(), '');
CommonService::inserting_log('新增技师', $arr['check_code'], $content, '移动端-技师管理', $session, $ip);//日志
// 返回数据
$return_data['install_name'] = $arr['install_name'];
$return_data['install_phone'] = $arr['install_phone'];
......@@ -172,7 +192,7 @@ class TechnicianService
$find_data = InstallPerson::where('admin_id', $request['admin_id'])
->where('id', $request['edit_install_id'])
->where('delet_y', 1)
->select('id', 'check_code', 'install_name', 'install_phone', 'install_year', 'install_pic', 'install_is_type', 'install_remark')
->select('id', 'check_code', 'install_name', 'install_phone', 'install_year', 'install_pic', 'install_is_type', 'install_remark','install_province','install_city','install_cuntry','install_address')
->first();
if (empty($find_data)) {
return ['ErrorCode'=>ErrorInc::BUSINESS_FORBID, 'ErrorMessage'=>'未查找到技师!', 'data'=>''];
......@@ -181,11 +201,12 @@ class TechnicianService
}
// 编辑技师
public static function edit($request)
public static function edit($request,$ip)
{
$admin_id = $request['admin_id'];
$session = $request['session'];
$admin_id = $session['admin_id'];
// 判断当前技师是否存在
$find_id = InstallPerson::where('admin_id', $request['admin_id'])
$find_id = InstallPerson::where('admin_id', $session['admin_id'])
->where('id', '<>', $request['edit_install_id'])
->where('install_phone', $request['install_phone'])
->where('delet_y', 1)
......@@ -193,7 +214,7 @@ class TechnicianService
if ($find_id) {
return ['ErrorCode'=>ErrorInc::BUSINESS_FORBID, 'ErrorMessage'=>'当前手机号已存在', 'data'=>''];
}
$check_code = InstallPerson::where('id', $request['edit_install_id'])->value('check_code');
$arr['install_name'] = $request['install_name'];
$arr['install_phone'] = $request['install_phone'];
$arr['install_is_type'] = $request['install_is_type'];
......@@ -205,13 +226,13 @@ class TechnicianService
$ins_res = InstallPerson::where('id', $request['edit_install_id'])->update($arr);
if ($ins_res) {
$content = "编辑技师:" . $request['install_name'];
czrzLog("编辑技师", '', $content, "移动端-技师管理", Request::ip(), '');
CommonService::inserting_log('编辑技师', $check_code, $content, '移动端-技师管理', $session, $ip);//日志
return ['ErrorCode' => 1, 'ErrorMessage'=>'成功', 'Data'=>[]];
} else {
return ['ErrorCode'=>500, 'ErrorMessage'=>'失败', 'Data'=>[]];
}
}
// 修改密码
public static function changePassword($request)
{
......@@ -223,13 +244,30 @@ class TechnicianService
if (!$find_data) {
return ['ErrorCode'=>ErrorInc::BUSINESS_FORBID, 'ErrorMessage'=>'无此用户', 'data'=>''];
}
if (md5($request['password']) != $find_data->install_password) {
if (md5($request['password']) != $find_data['install_password']) {
return ['ErrorCode'=>ErrorInc::BUSINESS_FORBID, 'ErrorMessage'=>'原密码不正确!', 'data'=>''];
}
$info['install_password'] = md5($request['new_password']);
$info['install_password1'] = $request['new_password'];
$info['updata_time'] = date('Y-m-d H:i:s');
$info['install_province']=$request['shr_province'];
$info['install_city']=$request['shr_city'];
$info['install_cuntry']=$request['shr_cuntry'];
$info['install_address']=$request['address'];
if(empty($request['address'])){
$info['longitude']='';
$info['latitude']='';
}else{
$geocodes = CommonService::jingwei($info['install_province'],$info['install_province'].$info['install_city'].$info['install_cuntry'].$info['install_address']);
if(empty($geocodes)){
$info['longitude']='';
$info['latitude']='';
}else{
$info['longitude']=explode(',',$geocodes)[0];
$info['latitude']=explode(',',$geocodes)[1];
}
}
$res = InstallPerson::where('id', $request['install_id'])->update($info);
if ($res) {
$content = $find_data['install_name'] . ",修改密码";
......@@ -241,8 +279,9 @@ class TechnicianService
}
// 删除
public static function delete($request)
public static function delete($request,$ip)
{
$session = $request['session'];
$find_data = InstallPerson::where('id', $request['install_id'])
->where('admin_id', $request['admin_id'])
->where('delet_y', 1)
......@@ -257,6 +296,7 @@ class TechnicianService
$res = InstallPerson::where('id', $request['install_id'])->update($edit_inpe_data);
if ($res) {
$content = $find_data['install_name'] . '(' . $find_data['check_code'] . ')';
CommonService::inserting_log('删除', $find_data['check_code'], $content, '移动端-技师管理', $session, $ip);//日志
czrzLog("删除", '', $content, "移动端-技师管理", Request::ip(), '');
return ['ErrorCode' => 1, 'ErrorMessage'=>'成功', 'Data'=>[]];
} else {
......
......@@ -48,11 +48,11 @@ class DealPicService extends Service{
} else {
return ['code'=>500, 'msg'=>'不支持的上传类型'.$client_file_type, 'data'=>''];
}
//定义文件名
$file_name = time() . rand(11, 99) .rand(111, 999).'.'.$ext;
$original_file_name = 'original2'.$file_name;
// $company_id = $session['company_id'];
$dir=rtrim($request['path'],'/');
$dirs = explode('/', $dir);
......@@ -81,7 +81,7 @@ class DealPicService extends Service{
//获取上传文件大小,字节 kb
$files_size = $file_object->getClientSize();
$size = $files_size / 1024 / 1024;//换算为mb
$size = sprintf( "%.2f", $size);//保留两位小数
// 如果上传视频,限制上传视频文件大小
......@@ -486,7 +486,7 @@ class DealPicService extends Service{
unlink($value);//删除图片
}
} catch (Exception $e) {
}
return true;
}
......
......@@ -1416,10 +1416,11 @@ Route::group(['prefix' => 'Dou', 'namespace' => 'Dou'], function () {
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/quit', 'MobileWeb\LoginController@quit'); //退出
Route::post('w1/updatePassword', 'MobileWeb\LoginController@updatePassword'); //修改密码
Route::post('w1/OrderList/index', 'MobileWeb\OrderListController@index'); //服务工单列表
Route::post('w1/OrderList/receiving', 'MobileWeb\OrderListController@receiving'); //接单
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论