提交 39dcff89 authored 作者: 窦斌's avatar 窦斌

edit

上级 3d00d75e
......@@ -108,17 +108,24 @@ class AftersaleOrderController extends Controller
*/
public function upload(Request $request)
{
$session = $request['session'];
// if (empty($request['file'])) {
// return response()->json(['ErrorCode' => 2, 'ErrorMessage' => '请上传文件', 'Data' => []]);
// }
$request['path'] = './afterSale/'.date('Ym');
$return_data = DealPicService::upload($request);
if ($return_data['code'] == 200) {
return response()->json(['ErrorCode' => 1, 'ErrorMessage' => '上传成功', 'Data' => $return_data['data']]);
} else {
return response()->json(['ErrorCode' => 2, 'ErrorMessage' => $return_data['msg'], 'Data' => '']);
// 验证数据
$error_message = $this->dataValidator->uploadValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = AftersaleOrderService::upload($request->all());
return response()->json($return_data);
}
//删除图片
public function deletPic ( Request $request ){
// 验证数据
$error_message = $this->dataValidator->deletPicValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = AftersaleOrderService::deletPic($request->all(),$request->ip());
return response()->json($return_data);
}
/**
......
......@@ -85,6 +85,50 @@ class AftersaleOrderValidator extends FormRequest
return $validator->errors();
}
}
// 日常反馈验证器
public function uploadValidator($data)
{
// 自定义错误消息
$messages = [
'id.required' => '请选择售后单id',
'id.integer' => '参数错误',
'file.required' => '请输入反馈内容',
];
// 数据验证
$validator = Validator::make($data, [
'id' => 'required|integer|min:1',
'file' => 'required',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 添加图片验证器
public function deletPicValidator($data)
{
// 自定义错误消息
$messages = [
'id.required' => '请输入订单id',
'id.integer' => '参数错误',
'file_id.required' => '请输入图片类型',
'file_id.in' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'id' => 'required|integer|min:1',
'file_id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 列表验证器
public function infoValidator($data)
......
......@@ -8,6 +8,8 @@ use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Facades\DB;
use BlueCity\Core\Inc\ErrorInc;
use App\Models\{Admin,
AdminInfor,
FeedSales,
GhPrice,
GoodsBrand,
InstallLine,
......@@ -24,9 +26,8 @@ use App\Models\{Admin,
SettlementMoney,
SubmitPlease,
User,
OrderAfter
};
use App\Services\{BmmcService, Api\OrderManage\OrdersVehicleService, CommonService};
OrderAfter};
use App\Services\{BmmcService, Api\OrderManage\OrdersVehicleService, CommonService, DealPicService};
class AftersaleOrderService extends Model
{
......@@ -67,7 +68,7 @@ class AftersaleOrderService extends Model
$wheres = CommonService::jointWhere($wheres);
$list_data = $list_data->whereRaw($wheres)
->select('id', 'after_num', 'shr_id', 'shr_name', 'shr_phone', 'shr_address', 'shr_sheng', 'shr_shi','shr_xian', 'good_names', 'create_time', 'deal_sertime', 'finish_time', 'status', 'day_time');
$list_data = $list_data->orderby('id', 'desc');
$list_data = $list_data->paginate($show_count);
......@@ -86,12 +87,12 @@ class AftersaleOrderService extends Model
$getStauasName = self::getStauasName();
foreach ($list_items as $key => $value) {
$list_items[$key]['stauasName'] = $getStauasName[$value['status']]['name'];
// // 获取第一个字符
// if(in_array($value['stauas'],[10,20])){
// $list_items[$key]['shr_phone'] = substr_replace($list_items[$key]['shr_phone'], '****', 3, 4);
// }
$mb_first = mb_substr($value['shr_name'], 0, 1, 'utf-8');
$list_items[$key]['first_name'] = $mb_first;
$list_items[$key]['day_time'] = empty($value['day_time']) ? '--':$value['day_time'];
......@@ -246,6 +247,8 @@ class AftersaleOrderService extends Model
$image = DB::table('feedsales')
->where('gl_id', $find_data['id'])
->where('sys_num', $find_data['sys_num'])
->where('is_delect', 1)
->where('type', 4)->select('id','feedback_pic as url')
->get();
if(in_array($find_data['status'],[1])){
$find_data['button'] = [['action'=>'handle_ive','name'=>'立即处理']];
......@@ -258,7 +261,86 @@ class AftersaleOrderService extends Model
$return_data['image'] = $image;
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => $return_data];
}
/**|---------------------------------------------------------------------------------
* @name 上传图片
* @param string id 售后单id
* @param string file 售后图片base64
* @retrun \Illuminate\Http\JsonResponse /multitype:array
* @author dou 2024/9/14 9:59
* |---------------------------------------------------------------------------------
*/
public static function upload ( $request ){
$session = $request['session'];
$find_data = OrderAfter::where('id',$request['id'])->first();
if($find_data) {
$request['path'] = './afterSale/' . date('Ym');
$return_data = DealPicService::addPic($request['file'], $request['path']);
if($return_data){
$company_name = Admin::where('id',$session['admin_id'])->value("company_name");
if($session['user_type']==1){
$install_phone = InstallPerson::where('admin_id',$session['install_id'])->value('install_phone');//安装人员
}else{
$install_phone = AdminInfor::where("admin_id",$session['admin_id'])->value('phone');
}
$poss['type'] = 4;
$poss['gl_id'] = $request['id'];
$poss['install_name'] = $session['install_name'];
$poss['install_phone'] = $install_phone;
$poss['install_time'] = date("Y-m-d H:i:s");
$poss['admin_id'] = $session['admin_id'];
$poss['company_name'] = $company_name;
$poss['feedback_status'] = 2;
$poss['feedback_pic'] = $return_data;
$poss['sys_num'] = $find_data['sys_num'];
$poss['is_type'] = 1;
$id = FeedSales::insertGetId($poss);
if($id){
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => ['id'=>$id,'url'=>$return_data]];
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '操作失败', 'Data' => $return_data];
}
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '操作失败', 'Data' => $return_data];
}
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '未查询到售后单', 'Data' => []];
}
}
/**|---------------------------------------------------------------------------------
* @name 删除图片
* @param string id 工单id
* @param string type 图片类型
* @retrun \Illuminate\Http\JsonResponse /multitype:array
* @author dou 2024/9/12 11:56
* |---------------------------------------------------------------------------------
*/
public static function deletPic ( $request , $ip ){
$session = $request['session'];
$find_data = OrderAfter::where('id',$request['id'])->first();
if($find_data) {
$feedback = FeedSales::where('id',$request['file_id'])
->where('gl_id',$request['id'])
->where('is_delect',1)
->value('id');
if($feedback){
$res = FeedSales::where('id',$request['file_id'])
->where('gl_id',$request['id'])
->update(['is_delect'=>2]);
if($res) {
$typename = '删除'.$request['id'].'图';
CommonService::inserting_log($typename, $find_data['sys_num'], '订单(' . $find_data['serial_number'] . ')', '派工单web', $session, $ip);//日志
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => $res];
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '操作失败', 'Data' => $res];
}
}else{
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => []];
}
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '未查询到订单', 'Data' => []];
}
}
/**
* 申请完成
* @authors ldj
......@@ -276,43 +358,29 @@ class AftersaleOrderService extends Model
return ['ErrorCode' => 2, 'ErrorMessage' => '售后状态错误', 'Data' => []];
}
Db::beginTransaction();
$rest = CommonService::accMe($find_data['sys_num'],"售后订单","【售后】申请完成,".$data['quality_content'],$serial_number,'2',$session['admin_groupnew'],$session['admin_acc'],$session['id']);
$rest = CommonService::accMe($find_data['sys_num'],"售后订单","【售后】申请完成,".$data['quality_content'],$serial_number,'2',2,$session['install_name'],$session['install_id']);
if($rest){
if ($data['file'] && $data['file'] != []){
$company_name = Admin::where('id',$find_data['deal_serid'])->value("company_name");
$inst = InstallPerson::where('admin_id',$find_data['deal_serid'])->first();//安装人员
$sql = 'INSERT INTO gone_feedsales (`type`,`gl_id`,`install_name`,`install_phone`,`install_time`,`admin_id`,`company_name`,`feedback_status`,`sys_num`,`is_type`,`feedback_pic`) VALUES';
$num = 0;
foreach($data['file'] as $key=>$val){
$num = $num + 1;
$sql .= "('".$num."','".$data['id']."','".$inst['install_name']."','".$inst['install_phone']."','".date("Y-m-d H:i:s")."','".$find_data['deal_serid']."','".$company_name."','2','".$find_data['after_num']."','2','".$val."'),";
}
$sql = substr($sql,0,strlen($sql) - 1);
DB::insert($sql);
}
$get['deal_time'] = date("Y-m-d H:i:s");
$get['status'] = '30';
$get['trigyn'] = '1';
if($Olaf['get_id'] < 1){
if($find_data['get_id'] < 1){
$get['get_id'] = $session['id'];
$get['get_time'] = date("Y-m-d H:i:s");
}
$result = OrderAfter::where('id',$Input['id'])->update($get);
$result = OrderAfter::where('id',$data['id'])->update($get);
if($result){
$after_num = OrderAfter::where('id',$Input['id'])->select('after_num','p_id')->first();
$get['after_num'] = $after_num['after_num'];
DB::commit();
$this->operatingTime($Input['sys_num'],'申请质保完成时间',date("Y-m-d H:i:s"),$Olaf['order_num'],$session['admin_acc']);//订单操作时间
$this->insertingLog("申请质保完成,",$Input['sys_num'],"订单(".$serial_number.")","派工单列表",$request->ip(),$session['admin_acc']);//日志
return $this->success('操作成功');exit;
self::operating_time($find_data['serial_number'], '申请质保完成时间', date("Y-m-d H:i:s"), $find_data['order_num'], $session);
CommonService::inserting_log("申请质保完成,",$find_data['sys_num'],"订单(".$serial_number.")","售后列表web",$session,$data['ip']);//日志
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => []];
}else{
DB::rollBack();
return $this->error('操作失败', ErrorInc::MYSQL_FAILED);exit; }
return ['ErrorCode' => ErrorInc::MYSQL_FAILED, 'ErrorMessage' => '操作失败', 'Data' => []];
}
}else{
DB::rollBack();
return $this->error('添加备注失败', ErrorInc::MYSQL_FAILED);exit;
return ['ErrorCode' => ErrorInc::MYSQL_FAILED, 'ErrorMessage' => '添加备注失败', 'Data' => []];
}
}
......
......@@ -171,6 +171,7 @@ class LoginService
->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'])
->where('type',$request['user_type'])
->value('id');
if($find_data){
return DB::table('installation_master')
......
......@@ -1033,7 +1033,9 @@ class OrderListService extends Model
->where('is_delect',1)
->value('id');
if($feedback){
$res = Feedback::where('type',$request['type'])->update(['is_delect'=>2]);
$res = Feedback::where('type',$request['type'])
->where('gl_id',$orderListArr['id'])
->update(['is_delect'=>2]);
if($res) {
$arr['type_name'] = self::getPicName($request['type']);//'1';
$typename = '删除'.$arr['type_name'].'图';
......
......@@ -1468,6 +1468,7 @@ Route::namespace('Api')->group(function () {
Route::post('w1/after/info', 'MobileWeb\AftersaleOrderController@info'); //详情
Route::post('w1/after/addAfterSalePic', 'MobileWeb\AftersaleOrderController@addAfterSalePic'); //上传售后图片
Route::post('w1/after/upload', 'MobileWeb\AftersaleOrderController@upload'); //上传售后图片
Route::post('w1/after/deletPic', 'MobileWeb\AftersaleOrderController@deletPic'); //删除图片
Route::post('w1/after/quality', 'MobileWeb\AftersaleOrderController@quality'); //申请完成
// 账单列表
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论