提交 dfe6e8e6 authored 作者: 窦斌's avatar 窦斌

edit

上级 dfa44ccb
......@@ -151,7 +151,18 @@ class OrderListController extends Controller
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::info($request->all());
$return_data = OrderListService::addPic($request->all(),$request->ip());
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 = OrderListService::deletPic($request->all(),$request->ip());
return response()->json($return_data);
}
// 检验
......
......@@ -253,6 +253,32 @@ class OrderListValidator extends FormRequest
return $validator->errors();
}
}
// 添加图片验证器
public function deletPicValidator($data)
{
// 自定义错误消息
$messages = [
'id.required' => '请输入订单id',
'id.integer' => '参数错误',
'type.required' => '请输入图片类型',
'type.in' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'id' => 'required|integer|min:1',
'type' => [//1获取技师2改派
'required',
Rule::in(['1', '2', '3', '4', '5', '6']),
]
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 安装反馈验证器
public function installFeedbackValidator($data)
{
......
......@@ -25,7 +25,7 @@ use App\Models\{Admin,
SettlementMoney,
SubmitPlease,
User};
use App\Services\{BmmcService, Api\OrderManage\OrdersVehicleService, CommonService};
use App\Services\{BmmcService, Api\OrderManage\OrdersVehicleService, CommonService, DealPicService};
use OSS\OssClient;
use OSS\Core\OssException;
class OrderListService extends Model
......@@ -409,7 +409,7 @@ class OrderListService extends Model
$info['replacing_time']=substr(date('Y-m-d H:i:s',strtotime('+2 year')),0,10);//建议更换时间
/**派工单**/
$post['stauas']=30;//派工单状态
$post['install_id']=$_POST['id'];//安装人id
$post['install_id']=$request['receive_install_id'];//安装人id
$post['intall_person']=$instArr['install_name'];//安装人姓名
$post['intall_phone']=$instArr['install_phone'];//安装人电话
$post['goods_brand']=$goods_brands;
......@@ -448,7 +448,7 @@ class OrderListService extends Model
if($dou){
self::calculates($dou,$orderListArr,$supply_price,$supply_price,$session);//计算奖惩金额以及评分
}
$weixin['ser_id'] = $_POST['id'];
$weixin['ser_id'] = $request['receive_install_id'];
$weixin['order_num'] = $orderListArr['order_num']; //平台单号
$weixin['goods_name'] = '安装服务';//$v['goods_name'];
$weixin['serial_number'] = $orderListArr['serial_number'];
......@@ -503,7 +503,7 @@ class OrderListService extends Model
// 拒单失败!该单状态不正确!
return ['ErrorCode' => ErrorInc::MYSQL_STEP_FAILED, 'ErrorMessage' => '订单状态错误请刷新后操作:检索码01', 'Data' => []];
}else{
if($orderListArr['stauas']!=$_POST['stauas']){
if($orderListArr['stauas']!=$request['stauas']){
return ['ErrorCode' => ErrorInc::MYSQL_STEP_FAILED, 'ErrorMessage' => '订单状态错误请刷新后操作:检索码02', 'Data' => []];
}
}
......@@ -512,7 +512,7 @@ class OrderListService extends Model
return ['ErrorCode' => 201, 'ErrorMessage' => '订单包含多个商品是否全部拒单', 'Data' => []];
}
DB::beginTransaction(); //开启事务
$rest = CommonService::accMe($orderListArr['sys_num'], '派工单列表web', "拒单,".$_POST['note_content'], implode(',', $serial_number), 2, 2, $session['install_name'], $session['admin_id']);
$rest = CommonService::accMe($orderListArr['sys_num'], '派工单列表web', "拒单,".$request['remarks'], implode(',', $serial_number), 2, 2, $session['install_name'], $session['admin_id']);
$resultOrderList = OrderList::where("sys_num",$orderListArr['sys_num'])->delete();
if($orderListArr['stauas']==30){
$settListArr = SettlementList::where("sys_num",$orderListArr['sys_num'])->where("sett_status",'>',1)->first();
......@@ -531,7 +531,7 @@ class OrderListService extends Model
DB::commit();
OrderTime::whereIn('serial_number',$serial_number)->delete();//删除工单操作时间
SettlementMoney::where('sem_synum',$orderListArr['sys_num'])->delete();//金额信息接单后生成
// M("settlement_count")->where("`cou_synum`='".$_POST['sys_num']."'")->delete();//评分信息接单后生成
// M("settlement_count")->where("`cou_synum`='".$orderListArr['sys_num']."'")->delete();//评分信息接单后生成
DB::table('order_score')->whereIn("orsc_sernum",$serial_number)->delete();//评分信息接单后生成
Management::whereIn('trace_code',$serial_number)->delete();
CommonService::inserting_log('拒单,',$orderListArr['sys_num'],'订单('.$orderListArr['order_num'].')','派工单web',$session,$ip);//日志
......@@ -758,6 +758,7 @@ class OrderListService extends Model
$data['shr_sheng'] = $user['shr_sheng'];
$data['shr_shi'] = $user['shr_shi'];
$data['shr_xian'] = $user['shr_xian'];
$data['install_id'] = $orderListArr['install_id'];
$data['shr_adress'] = $user['shr_adress'];
if($orderListArr['stauas']>20){
$data['goods_price'] = SettlementMoney::where('sem_synum',$orderListArr['sys_num'])->where('sem_type',1)->sum('sem_price');
......@@ -818,20 +819,56 @@ class OrderListService extends Model
}else{
$data['button'] = [['action'=>'copyInfo','name'=>'复制信息']];
}
$data['feedback']['feedback_pic1'] = '';
$data['feedback']['type_name1'] = self::getPicName(1);
$data['feedback']['feedback_pic2'] = '';
$data['feedback']['type_name2'] = self::getPicName(2);
$data['feedback']['feedback_pic3'] = '';
$data['feedback']['type_name3'] = self::getPicName(3);
$data['feedback']['feedback_pic4'] = '';
$data['feedback']['type_name4'] = self::getPicName(4);
$data['feedback']['feedback_pic5'] = '';
$data['feedback']['type_name5'] = self::getPicName(5);
$data['feedback']['feedback_pic6'] = '';
$data['feedback']['type_name6'] = self::getPicName(6);
if(in_array($orderListArr['stauas'],[34,40])){
$feedback = Feedback::where('gl_id',$orderListArr['id'])->select('type','type_name','feedback_pic')->get();
$feedback = Feedback::where('gl_id',$orderListArr['id'])
->where('is_delect',1)
->select('type','type_name','feedback_pic')
->get();
if($feedback){
foreach($feedback as $k => $v){
if($v['type_name'] == ''){
$feedback[$k]['type_name'] = self::getPicName($v['type']);
$v['type_name'] = self::getPicName($v['type']);
}
switch ( $v['type'] ){
case 1:
$data['feedback']['feedback_pic1'] = $v['feedback_pic'];
$data['feedback']['type_name1'] = $v['type_name'];
break;
case 2:
$data['feedback']['feedback_pic2'] = $v['feedback_pic'];
$data['feedback']['type_name2'] = $v['type_name'];
break;
case 3:
$data['feedback']['feedback_pic3'] = $v['feedback_pic'];
$data['feedback']['type_name3'] = $v['type_name'];
break;
case 4:
$data['feedback']['feedback_pic4'] = $v['feedback_pic'];
$data['feedback']['type_name4'] = $v['type_name'];
break;
case 5:
$data['feedback']['feedback_pic5'] = $v['feedback_pic'];
$data['feedback']['type_name5'] = $v['type_name'];
break;
case 6:
$data['feedback']['feedback_pic6'] = $v['feedback_pic'];
$data['feedback']['type_name6'] = $v['type_name'];
break;
}
}
$data['feedback'] = $feedback;
}else{
$data['feedback'] = [];
}
}else{
$data['feedback'] = [];
}
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => $data];
}else{
......@@ -901,6 +938,109 @@ class OrderListService extends Model
}
}
/**|---------------------------------------------------------------------------------
* @name 添加图片
* @param string id 工单id
* @param string file 图片信息
* @param string type 图片类型
* @retrun \Illuminate\Http\JsonResponse /multitype:array
* @author dou 2024/9/12 11:56
* |---------------------------------------------------------------------------------
*/
public static function addPic ( $request , $ip ){
$session = $request['session'];
$orderListArr = OrderList::where("id",$request['id'])
->where('ser_id', $session['admin_id'])
->where('is_delete', 1)
->first();
if($orderListArr) {
$upPath='./Feekimages/'.date('Ym');
$rea = DealPicService::addPic($request['file'], $upPath, $request['type']);
if($rea){
$feedback = Feedback::where('type',$request['type'])
->where('gl_id',$orderListArr['id'])
->where('is_delect',1)
->value('id');
if($feedback){
$arr['install_name'] = $orderListArr['intall_person'];
$arr['install_phone'] = $orderListArr['intall_phone'];
$streamFilename = self::picurl($rea);
$arr['feedback_pic'] = $streamFilename;
$arr['install_time'] = date("Y-m-d H:i:s");
$arr['type_name'] = self::getPicName($request['type']);//'1';
$res = Feedback::where('type',$request['type'])->update($arr);
$typename = '编辑';
}else {
$resu = Admin::where("id", $orderListArr['ser_id'])->first();
$arr['gl_id'] = $orderListArr['id'];
$arr['type'] = $request['type'];//'1';
$arr['install_name'] = $orderListArr['intall_person'];
$arr['install_phone'] = $orderListArr['intall_phone'];
$arr['admin_id'] = $orderListArr['ser_id'];
$arr['company_name'] = $resu['company_name'];
$arr['feedback_status'] = '2';
$streamFilename = self::picurl($rea);
$arr['feedback_pic'] = $streamFilename;
$arr['sys_num'] = "rwfk" . $orderListArr['id'];
$arr['install_time'] = date("Y-m-d H:i:s");
$arr['is_type'] = 1;
$arr['type_name'] = self::getPicName($request['type']);//'1';
$res = Feedback::insert($arr);
$typename = '添加';
}
if($res) {
$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];
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '操作失败', 'Data' => $rea];
}
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '操作失败', 'Data' => $rea];
}
}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'];
$orderListArr = OrderList::where("id",$request['id'])
->where('ser_id', $session['admin_id'])
->where('is_delete', 1)
->first();
if($orderListArr) {
$feedback = Feedback::where('type',$request['type'])
->where('gl_id',$orderListArr['id'])
->where('is_delect',1)
->value('id');
if($feedback){
$res = Feedback::where('type',$request['type'])->update(['is_delect'=>2]);
if($res) {
$arr['type_name'] = self::getPicName($request['type']);//'1';
$typename = '删除'.$arr['type_name'].'图';
CommonService::inserting_log($typename, $orderListArr['sys_num'], '订单(' . $orderListArr['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' => []];
}
}
// 申请完成
public static function installFeedback( $request , $ip )
{
......@@ -922,210 +1062,15 @@ class OrderListService extends Model
$info['installation']=2;//安装方式2上门
$info['is_type']=2;
$resu = Admin::where("id",$orderListArr['ser_id'])->first();
unset($arr1);
unset($arr2);
unset($arr3);
unset($arr4);
unset($arr5);
unset($arr6);
//图片1
$arr1['gl_id']=$orderListArr['id'];
$arr1['type']=1;//'1';
$arr1['install_name']=$orderListArr['intall_person'];
$arr1['install_phone']=$orderListArr['intall_phone'];
$arr1['admin_id']=$orderListArr['ser_id'];
$arr1['company_name']=$resu['company_name'];
$arr1['feedback_status']='2';
if($_POST['file1']){
$streamFilename=self::creact_url();
if (file_put_contents($streamFilename,base64_decode($request['file1']))){
try{
$filename =$_POST['order_id'].uniqid().'1.jpeg';
$bucket= "sdkb";//oss中的文件上传空间
$object = 'JdhData/FeekUploads/feedback/'.date("Y-m").'/'.$filename;//想要保存文件的名称
$res=$ossClient->uploadFile($bucket,$object,$streamFilename);
if($res['info']['url']!=''){
$url=ltrim($streamFilename,"/");
unlink($url);
$streamFilename= "http://img.sudianwang.com/".$object;
}
}catch (OssException $e) {
return ['ErrorCode' => ErrorInc::SERVER_FAILED, 'ErrorMessage' => $e->getMessage(), 'Data' => []];
}
$streamFilename = self::picurl($streamFilename);
$arr1['feedback_pic']=$streamFilename;
$info['installation_pictures']=$streamFilename;
}
}
$arr1['sys_num']="rwfk".$orderListArr['id'];
$arr1['install_time']=date("Y-m-d H:i:s");
$arr1['is_type']=1;
$arr1['type_name']=self::getPicName(1);//'1';
//图片2
$arr2['gl_id']=$orderListArr['id'];
$arr2['type']=2;//'1';
$arr2['install_name']=$orderListArr['intall_person'];
$arr2['install_phone']=$orderListArr['intall_phone'];
$arr2['admin_id']=$orderListArr['ser_id'];
$arr2['company_name']=$resu['company_name'];
$arr2['feedback_status']='2';
if($_POST['file2']){
$streamFilename=self::creact_url();
if (file_put_contents($streamFilename,base64_decode($request['file2']))){
try{
$filename =$_POST['order_id'].uniqid().'2.jpeg';
$bucket= "sdkb";//oss中的文件上传空间
$object = 'JdhData/FeekUploads/feedback/'.date("Y-m").'/'.$filename;//想要保存文件的名称
$res=$ossClient->uploadFile($bucket,$object,$streamFilename);
if($res['info']['url']!=''){
$url=ltrim($streamFilename,"/");
unlink($url);
$streamFilename= "http://img.sudianwang.com/".$object;
}
}catch (OssException $e) {
return ['ErrorCode' => ErrorInc::SERVER_FAILED, 'ErrorMessage' => $e->getMessage(), 'Data' => []];
}
$streamFilename = self::picurl($streamFilename);
$arr2['feedback_pic']=$streamFilename;
$info['installation_pictures']=$streamFilename;
}
}
$arr2['sys_num']="rwfk".$orderListArr['id'];
$arr2['install_time']=date("Y-m-d H:i:s");
$arr2['is_type']=1;
$arr2['type_name']=self::getPicName(2);//'1';
//图片3
$arr3['gl_id']=$orderListArr['id'];
$arr3['type']=3;//'1';
$arr3['install_name']=$orderListArr['intall_person'];
$arr3['install_phone']=$orderListArr['intall_phone'];
$arr3['admin_id']=$orderListArr['ser_id'];
$arr3['company_name']=$resu['company_name'];
$arr3['feedback_status']='2';
if($_POST['file3']){
$streamFilename=self::creact_url();
if (file_put_contents($streamFilename,base64_decode($request['file3']))){
try{
$filename =$_POST['order_id'].uniqid().'3.jpeg';
$bucket= "sdkb";//oss中的文件上传空间
$object = 'JdhData/FeekUploads/feedback/'.date("Y-m").'/'.$filename;//想要保存文件的名称
$res=$ossClient->uploadFile($bucket,$object,$streamFilename);
if($res['info']['url']!=''){
$url=ltrim($streamFilename,"/");
unlink($url);
$streamFilename= "http://img.sudianwang.com/".$object;
}
}catch (OssException $e) {
return ['ErrorCode' => ErrorInc::SERVER_FAILED, 'ErrorMessage' => $e->getMessage(), 'Data' => []];
}
$streamFilename = self::picurl($streamFilename);
$arr3['feedback_pic']=$streamFilename;
$info['installation_pictures']=$streamFilename;
}
}
$arr3['sys_num']="rwfk".$orderListArr['id'];
$arr3['install_time']=date("Y-m-d H:i:s");
$arr3['is_type']=1;
$arr3['type_name']=self::getPicName(3);//'1';
//图片4
$arr4['gl_id']=$orderListArr['id'];
$arr4['type']=4;//'1';
$arr4['install_name']=$orderListArr['intall_person'];
$arr4['install_phone']=$orderListArr['intall_phone'];
$arr4['admin_id']=$orderListArr['ser_id'];
$arr4['company_name']=$resu['company_name'];
$arr4['feedback_status']='2';
if($_POST['file4']){
$streamFilename=self::creact_url();
if (file_put_contents($streamFilename,base64_decode($request['file4']))){
try{
$filename =$_POST['order_id'].uniqid().'4.jpeg';
$bucket= "sdkb";//oss中的文件上传空间
$object = 'JdhData/FeekUploads/feedback/'.date("Y-m").'/'.$filename;//想要保存文件的名称
$res=$ossClient->uploadFile($bucket,$object,$streamFilename);
if($res['info']['url']!=''){
$url=ltrim($streamFilename,"/");
unlink($url);
$streamFilename= "http://img.sudianwang.com/".$object;
}
}catch (OssException $e) {
return ['ErrorCode' => ErrorInc::SERVER_FAILED, 'ErrorMessage' => $e->getMessage(), 'Data' => []];
}
$streamFilename = self::picurl($streamFilename);
$arr4['feedback_pic']=$streamFilename;
$info['installation_pictures']=$streamFilename;
}
}
$arr4['sys_num']="rwfk".$orderListArr['id'];
$arr4['install_time']=date("Y-m-d H:i:s");
$arr4['is_type']=1;
$arr4['type_name']=self::getPicName(4);//'1';
//图片5
$arr5['gl_id']=$orderListArr['id'];
$arr5['type']=5;//'1';
$arr5['install_name']=$orderListArr['intall_person'];
$arr5['install_phone']=$orderListArr['intall_phone'];
$arr5['admin_id']=$orderListArr['ser_id'];
$arr5['company_name']=$resu['company_name'];
$arr5['feedback_status']='2';
if($_POST['file5']){
$streamFilename=self::creact_url();
if (file_put_contents($streamFilename,base64_decode($request['file5']))){
try{
$filename =$_POST['order_id'].uniqid().'5.jpeg';
$bucket= "sdkb";//oss中的文件上传空间
$object = 'JdhData/FeekUploads/feedback/'.date("Y-m").'/'.$filename;//想要保存文件的名称
$res=$ossClient->uploadFile($bucket,$object,$streamFilename);
if($res['info']['url']!=''){
$url=ltrim($streamFilename,"/");
unlink($url);
$streamFilename= "http://img.sudianwang.com/".$object;
}
}catch (OssException $e) {
return ['ErrorCode' => ErrorInc::SERVER_FAILED, 'ErrorMessage' => $e->getMessage(), 'Data' => []];
}
$streamFilename = self::picurl($streamFilename);
$arr5['feedback_pic']=$streamFilename;
$info['installation_pictures']=$streamFilename;
}
}
$arr5['sys_num']="rwfk".$orderListArr['id'];
$arr5['install_time']=date("Y-m-d H:i:s");
$arr5['is_type']=1;
$arr5['type_name']=self::getPicName(5);//'1';
//图片6
$arr6['gl_id']=$orderListArr['id'];
$arr6['type']=6;//'1';
$arr6['install_name']=$orderListArr['intall_person'];
$arr6['install_phone']=$orderListArr['intall_phone'];
$arr6['admin_id']=$orderListArr['ser_id'];
$arr6['company_name']=$resu['company_name'];
$arr6['feedback_status']='2';
if($_POST['file6']){
$streamFilename=self::creact_url();
if (file_put_contents($streamFilename,base64_decode($request['file6']))){
try{
$filename =$_POST['order_id'].uniqid().'6.jpeg';
$bucket= "sdkb";//oss中的文件上传空间
$object = 'JdhData/FeekUploads/feedback/'.date("Y-m").'/'.$filename;//想要保存文件的名称
$res=$ossClient->uploadFile($bucket,$object,$streamFilename);
if($res['info']['url']!=''){
$url=ltrim($streamFilename,"/");
unlink($url);
$streamFilename= "http://img.sudianwang.com/".$object;
}
}catch (OssException $e) {
return ['ErrorCode' => ErrorInc::SERVER_FAILED, 'ErrorMessage' => $e->getMessage(), 'Data' => []];
}
$streamFilename = self::picurl($streamFilename);
$arr6['feedback_pic']=$streamFilename;
$info['installation_pictures']=$streamFilename;
}
}
$arr6['sys_num']="rwfk".$orderListArr['id'];
$arr6['install_time']=date("Y-m-d H:i:s");
$arr6['is_type']=1;
$arr6['type_name']=self::getPicName(6);//'1';
if($request['file1']){
$info['qualification']=$request['file1'];
}
if($request['file2']){
$info['installation_pictures']=$request['file2'];
}
if($request['file3']){
$info['qualification_pr']=$request['file3'];
}
$management = Management::where('trace_code',$orderListArr['serial_number'])->update($info);
$time=date("Y-m-d H:i:s");
self::operating_time($orderListArr['serial_number'], '任务反馈时间', $time, $orderListArr['order_num'], $session);
......@@ -1133,24 +1078,10 @@ class OrderListService extends Model
$post['feeds_time']=$time;//反馈时间
$post['goods_type']=4;
DB::beginTransaction(); //开启事务
Feedback::insert($arr1);
unset($arr1);
Feedback::insert($arr2);
unset($arr2);
Feedback::insert($arr3);
unset($arr3);
Feedback::insert($arr4);
unset($arr4);
Feedback::insert($arr5);
unset($arr5);
Feedback::insert($arr6);
unset($arr6);
$rea = OrderList::where('id',$request['id'])->update($post);
$OrderCount = OrderList::where("sys_num",$orderListArr['sys_num'])->where("stauas",34)->count();
if($OrderCount==1){
$orArr['order_status']='34';//订单
$orArr['goods_type']=4;
$orArr['completion_time']=date("Y-m-d H:i:s");
$res = Orders::where("sys_num",$orderListArr['sys_num'])->update($orArr);
}else{
$res = true;
......@@ -1162,7 +1093,7 @@ class OrderListService extends Model
if ($rea && $res && $ree) {
DB::commit();
$content = "订单(".$orderListArr['serial_number'].")";
CommonService::inserting_log('改派,',$orderListArr['sys_num'],$content,'派工单web',$session,$ip);//日志
CommonService::inserting_log('完成施工,',$orderListArr['sys_num'],$content,'派工单web',$session,$ip);//日志
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => []];
} else {
DB::rollback();//回滚
......@@ -1486,7 +1417,7 @@ class OrderListService extends Model
* @author dou <2020/12/17 14:35>
* |---------------------------------------------------------------------------------
*/
public function picurl($pic)
public static function picurl($pic)
{
if(strstr($pic,'http') || $pic == ''){
return $pic;
......
......@@ -11,6 +11,7 @@
* @copyright BlueCity
*/
namespace App\Services;
use BlueCity\Core\Service\Service;
use OSS\OssClient;
use OSS\Core\OssException;
......@@ -23,20 +24,47 @@ class DealPicService extends Service{
* @author dou 2021/9/10 18:18
* |---------------------------------------------------------------------------------
*/
public static function addPic ( $imge , $path , $type ){
public static function addPic ( $imge , $path , $type=1 ){
if (preg_match('/(?<=\/)[^\/]+(?=\;)/',$imge,$pregR)) $streamFileType ='.' .$pregR[0];//读取扩展名,如果你的程序仅限于画板上来的,那一定是png,这句可以直接streamFileType 赋值png
preg_match('/(?<=base64,)[\S|\s]+/',$imge,$streamForW);
$dir=rtrim($path,'/');
//$dir='./Feekimages/'.date('Ym');
if(!is_dir($dir)){
mkdir ($dir);
$dirs = explode('/', $dir);
$adddir = '';
foreach($dirs as $k => $v){
if($adddir==''){
$adddir = $v;
}else{
$adddir = $adddir.'/'.$v;
}
if($adddir!='.'){
if(!is_dir($adddir)){
mkdir(iconv("UTF-8", "GBK", $adddir),0777,true);
}
}
}
//$dir='./Feekimages/'.date('Ym');
$streamFileType = $streamFileType??'jpg';
$streamFilename=self::creact_url($dir,$streamFileType);
if (file_put_contents($streamFilename['streamFilename'],base64_decode($streamForW[0]))){
$file=$streamFilename['streamFilename'];
$file = self::addOss( $file, $dir , $type );
return $file;
try{
require_once("./aliyunoss/autoload.php");
$accessKeyId = "LTAI4GAhRHWDjheUxeUQCE42";//去阿里云后台获取秘钥
$accessKeySecret = "3SYbAgutMNDIHk5c7ELEn3aBig5fUV";//去阿里云后台获取秘钥
$endpoint = "http://oss-cn-beijing.aliyuncs.com";//你的阿里云OSS地址
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$filename =$_POST['order_id'].uniqid().$type.'.jpeg';
$bucket= "sdkb";//oss中的文件上传空间
$object = 'JdhData/FeekUploads'.trim($dir,'.').'/'.$filename;//想要保存文件的名称
$res=$ossClient->uploadFile($bucket,$object,$streamFilename['streamFilename']);
if($res['info']['url']!=''){
$url=ltrim($streamFilename['streamFilename'],"/");
unlink($url);
$streamFilename['streamFilename'] = "http://img.sudianwang.com/".$object;
}
return $streamFilename['streamFilename'];
}catch (OssException $e) {
return $streamFilename['streamFilename'];
}
}else{
return false;
}
......@@ -51,7 +79,7 @@ class DealPicService extends Service{
* |---------------------------------------------------------------------------------
*/
public static function addOss ( $file , $dir , $type = 1 ){
require_once 'aliyunoss/autoload.php';
require_once("./aliyunoss/autoload.php");
$accessKeyId = "LTAI4GAhRHWDjheUxeUQCE42";//去阿里云后台获取秘钥
$accessKeySecret = "3SYbAgutMNDIHk5c7ELEn3aBig5fUV";//去阿里云后台获取秘钥
$endpoint = "http://oss-cn-beijing.aliyuncs.com";//你的阿里云OSS地址
......@@ -60,14 +88,16 @@ class DealPicService extends Service{
$filename = uniqid().$type.'.jpeg';
$bucket= "sdkb";//oss中的文件上传空间
$object = 'JdhData/'.$dir.'/'.$filename;//想要保存文件的名称
$res=$ossClient->uploadFile($bucket,$object,$file);
$res = $ossClient->uploadFile($bucket,$object,$file);
if($res['info']['url']!=''){
$url=ltrim($file,"/");
unlink($url);
$file= "http://img.sudianwang.com/".$object;
}else{
return $res;
}
}catch (OssException $e) {
return $e->getMessage();
}
return $file;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论