Преглед на файлове

【Fix】修复订单导入收货地址导致的城市不匹配问题

liuxiangxin преди 5 месеца
родител
ревизия
63d3396c25
променени са 4 файла, в които са добавени 41 реда и са изтрити 35 реда
  1. 6 6
      app/Http/Controllers/Admin/Orders.php
  2. 16 16
      app/Http/Controllers/Api/CustomAddr.php
  3. 1 1
      app/Http/Controllers/Api/Orders.php
  4. 18 12
      app/Http/Controllers/Api/WeiZan/Orders.php

+ 6 - 6
app/Http/Controllers/Admin/Orders.php

@@ -241,12 +241,12 @@ class Orders extends Auth{
 			$orderList[$value['weizan_orderid']]['custom']				= ['phone'=>$value['contact_phone'],'username'=>$value['buyer_nick']];
 			// 组合成订单的收件地址
 			$orderList[$value['weizan_orderid']]['contact']				= [
-																			'contact_name'=>$value['contact_name'],
-																			'contact_phone'=>$value['contact_phone'],
-																			'contact_province'=>$value['contact_province'],
-																			'contact_city'=>$value['contact_city'],
-																			'contact_area'=>$value['contact_area'],
-																			'contact_addr'=>$value['contact_addr']
+																			'contact_name'=>trim($value['contact_name']),
+																			'contact_phone'=>trim($value['contact_phone']),
+																			'contact_province'=>trim($value['contact_province']),
+																			'contact_city'=>trim($value['contact_city']),
+																			'contact_area'=>trim($value['contact_area']),
+																			'contact_addr'=>trim($value['contact_addr'])
 																		];
 			
 			// 组合成订单的收件地址

+ 16 - 16
app/Http/Controllers/Api/CustomAddr.php

@@ -46,13 +46,13 @@ class CustomAddr extends Api{
 		// 检查登录
 		$uid							= $this->checkLogin();
 		// 接收参数
-		$data['contact_province']		= request('contact_province','');
-		$data['contact_city']			= request('contact_city','');
-		$data['contact_area']			= request('contact_area','');
-		$data['contact_addr']			= request('contact_addr','');
-		$data['contact_name']			= request('contact_name','');
-		$data['contact_shop']			= request('contact_shop','');
-		$data['contact_phone']			= request('contact_phone','');
+		$data['contact_province']		= trim(request('contact_province',''));
+		$data['contact_city']			= trim(request('contact_city',''));
+		$data['contact_area']			= trim(request('contact_area',''));
+		$data['contact_addr']			= trim(request('contact_addr',''));
+		$data['contact_name']			= trim(request('contact_name',''));
+		$data['contact_shop']			= trim(request('contact_shop',''));
+		$data['contact_phone']			= trim(request('contact_phone',''));
 		$data['is_default']				= request('is_default',0);
 		$data['custom_uid']				= $uid;
 		// 获取客户城市ID
@@ -61,7 +61,7 @@ class CustomAddr extends Api{
 		$pid 							= $City->getOne($cityId,'pid');
 		$province						= $City->getOne($pid,'name');
 		// 判断选择的城市名称是不是一致
-		if( $cityName != $data['contact_city'] ) return json_send(['code'=>'error','msg'=>'收货地址请选择'.$province.'/'.$cityName,'data'=>['error'=>'收货地址需与您所选城市一致']]);
+		if( trim($cityName) != trim($data['contact_city']) ) return json_send(['code'=>'error','msg'=>'收货地址请选择'.$province.'/'.$cityName,'data'=>['error'=>'收货地址需与您所选城市一致']]);
 		// 替换地址中间的空格
 		$data['contact_addr']			= str_ireplace(' ','',$data['contact_addr']);
 		// 最大数量
@@ -95,13 +95,13 @@ class CustomAddr extends Api{
 		$request->scene('edit')->validate();
 		// 接收参数
 		$id								= request('id',0);
-		$data['contact_province']		= request('contact_province','');
-		$data['contact_city']			= request('contact_city','');
-		$data['contact_area']			= request('contact_area','');
-		$data['contact_addr']			= request('contact_addr','');
-		$data['contact_name']			= request('contact_name','');
-		$data['contact_shop']			= request('contact_shop','');
-		$data['contact_phone']			= request('contact_phone','');
+		$data['contact_province']		= trim(request('contact_province',''));
+		$data['contact_city']			= trim(request('contact_city',''));
+		$data['contact_area']			= trim(request('contact_area',''));
+		$data['contact_addr']			= trim(request('contact_addr',''));
+		$data['contact_name']			= trim(request('contact_name',''));
+		$data['contact_shop']			= trim(request('contact_shop',''));
+		$data['contact_phone']			= trim(request('contact_phone',''));
 		$data['is_default']				= request('is_default',0);
 		// 获取客户城市ID
 		$cityId							= (int) $Custom->getValue($uid,'city_id');
@@ -109,7 +109,7 @@ class CustomAddr extends Api{
 		$pid 							= $City->getOne($cityId,'pid');
 		$province						= $City->getOne($pid,'name');
 		// 判断选择的城市名称是不是一致
-		if( $cityName != $data['contact_city'] ) return json_send(['code'=>'error','msg'=>'收货地址请选择'.$province.'/'.$cityName,'data'=>['error'=>'收货地址需与您所选城市一致']]);
+		if( trim($cityName) != trim($data['contact_city']) ) return json_send(['code'=>'error','msg'=>'收货地址请选择'.$province.'/'.$cityName,'data'=>['error'=>'收货地址需与您所选城市一致']]);
 		// 替换地址中间的空格
 		$data['contact_addr']			= str_ireplace(' ','',$data['contact_addr']);
 		// 如果需要默认当前的话

+ 1 - 1
app/Http/Controllers/Api/Orders.php

@@ -70,7 +70,7 @@ class Orders extends Api{
 		$pid 							= $City->getOne($cityId,'pid');
 		$province						= $City->getOne($pid,'name');
 		// 判断选择的城市名称是不是一致
-		if( $cityName != $addr['contact_city'] ) return json_send(['code'=>'error','msg'=>'收货地址请选择'.$province.'/'.$cityName,'data'=>['error'=>'收货地址需与您所选城市一致']]);
+		if( trim($cityName) != trim($addr['contact_city']) ) return json_send(['code'=>'error','msg'=>'收货地址请选择'.$province.'/'.$cityName,'data'=>['error'=>'收货地址需与您所选城市一致']]);
         // 商品购买数量
 		$buyNum							= [];
 		// 循环购买信息

+ 18 - 12
app/Http/Controllers/Api/WeiZan/Orders.php

@@ -51,12 +51,12 @@ class Orders extends Api{
 		// 收货地址
 		$addr							= request('address','');
 		$addr							= explode(' ',$addr);
-		$contact['contact_name'] 		= request('contact_name','');
-		$contact['contact_phone'] 		= request('contact_phone','');
-		$contact['contact_province'] 	= empty($addr[0]) ? '' : $addr[0];
-		$contact['contact_city'] 		= empty($addr[1]) ? '' : $addr[1];
-		$contact['contact_area'] 		= empty($addr[2]) ? '' : $addr[2];
-		$contact['contact_addr']		= empty($addr[3]) ? '' : $addr[3];
+		$contact['contact_name'] 		= trim(request('contact_name',''));
+		$contact['contact_phone'] 		= trim(request('contact_phone',''));
+		$contact['contact_province'] 	= empty($addr[0]) ? '' : trim($addr[0]);
+		$contact['contact_city'] 		= empty($addr[1]) ? '' : trim($addr[1]);
+		$contact['contact_area'] 		= empty($addr[2]) ? '' : trim($addr[2]);
+		$contact['contact_addr']		= empty($addr[3]) ? '' : trim($addr[3]);
 		// 子订单数据
 		$orderItems						= request('order_items','[]');
 		// 数据解析
@@ -114,13 +114,19 @@ class Orders extends Api{
 				$item['status']				= $order['status'];
 				$item['id']					= $OrdersProduct->query()->where([['order_id','=',$orderId],'product_name'=>$item['product_name'],'sku_attr_names'=>$item['sku_attr_names']])->value('id');
 				// 新增还是修改
-				$result 					= $item['id'] ? $OrdersProduct->edit($item['id'],$item) : $OrdersProduct->add($item);
-				// 失败提示
-				if( !$result )				{
-					// 回退数据
-					DB::rollBack();
+				if( !$item['id'] ) 			{
+					// 添加
+					$result					= $OrdersProduct->add($item);
 					// 失败提示
-					return					json_send(['code'=>'error','msg'=>'子订单写入失败']);
+					if( !$result )			{
+						// 回退数据
+						DB::rollBack();
+						// 失败提示
+						return				json_send(['code'=>'error','msg'=>'子订单写入失败']);
+					}
+				}else{
+					// 产品修改
+					$OrdersProduct->edit($item['id'],$item);
 				}
 			}
 			// 存在详细地址,才创建地址库