Kaynağa Gözat

Merge branch 'liuxiangxin' into jun

jun 5 ay önce
ebeveyn
işleme
9762ebbb36
45 değiştirilmiş dosya ile 77 ekleme ve 97 silme
  1. 1 0
      .gitignore
  2. 21 40
      app/Http/Controllers/Admin/Orders.php
  3. 16 16
      app/Http/Controllers/Api/CustomAddr.php
  4. 1 1
      app/Http/Controllers/Api/Orders.php
  5. 20 28
      app/Http/Controllers/Api/Score/Clockin.php
  6. 18 12
      app/Http/Controllers/Api/WeiZan/Orders.php
  7. BIN
      public/uploads/images/1/1a87efa0115dc7aa13856b186c984d92.jpg
  8. BIN
      public/uploads/images/1/2.jpg
  9. BIN
      public/uploads/images/1/2.png
  10. BIN
      public/uploads/images/1/21a50dc854a8a293e65bbc9903748ae.png
  11. BIN
      public/uploads/images/1/4cfbfbf2f738f0de34c3d8f66a66a1a.png
  12. BIN
      public/uploads/images/1/O1CN01DfrUww1OEk0nOnFYN_2200569531674.jpg_q50.jpg
  13. BIN
      public/uploads/images/1/banlangen/thumb.jpg
  14. BIN
      public/uploads/images/1/banner/20241106-214350.jpg
  15. BIN
      public/uploads/images/1/banner/20241106-231932.jpg
  16. BIN
      public/uploads/images/1/banner/add_follow1.jpg
  17. BIN
      public/uploads/images/1/dane.png
  18. BIN
      public/uploads/images/1/ganmao/poster.jpg
  19. BIN
      public/uploads/images/1/ganmao/thumb.jpg
  20. BIN
      public/uploads/images/1/guizhouxinlao.jpg
  21. BIN
      public/uploads/images/1/hongpi/1.jpg
  22. BIN
      public/uploads/images/1/hongpi/2.jpg
  23. BIN
      public/uploads/images/1/hongpi/3.jpg
  24. BIN
      public/uploads/images/1/hongpi/4.jpg
  25. BIN
      public/uploads/images/1/hongpi/5.jpg
  26. BIN
      public/uploads/images/1/hongpi/6.jpg
  27. BIN
      public/uploads/images/1/hongpi/7.jpg
  28. BIN
      public/uploads/images/1/hongpi/8.jpg
  29. BIN
      public/uploads/images/1/hongpi/9.jpg
  30. BIN
      public/uploads/images/1/hongpi/999hongopi.jpeg
  31. BIN
      public/uploads/images/1/huoxiang/poster.jpg
  32. BIN
      public/uploads/images/1/huoxiang/thumb.jpg
  33. BIN
      public/uploads/images/1/img.jpg
  34. BIN
      public/uploads/images/1/ksmm.jpg
  35. BIN
      public/uploads/images/1/orders_banner/get_reward.jpg
  36. BIN
      public/uploads/images/1/piyanping/poster.jpg
  37. BIN
      public/uploads/images/1/piyanping/thumb.jpg
  38. BIN
      public/uploads/images/1/pudixiaoyan/333.jpg
  39. BIN
      public/uploads/images/1/pudixiaoyan/pudi.png
  40. BIN
      public/uploads/images/1/putaotangsuanxin/18.png
  41. BIN
      public/uploads/images/1/qianglipipalu/pipalu.png
  42. BIN
      public/uploads/images/1/weitai/poster.jpg
  43. BIN
      public/uploads/images/1/weitai/thumb.jpg
  44. BIN
      public/uploads/images/1/wenweishu/wenwei.png
  45. BIN
      public/uploads/images/1/yws.jpg

+ 1 - 0
.gitignore

@@ -11,6 +11,7 @@
 /public/uploads/score_product/*
 /public/uploads/company/*
 /public/uploads/images/*
+/public/uploads/topic/*
 /vendor
 *.DS_Store
 *.log

+ 21 - 40
app/Http/Controllers/Admin/Orders.php

@@ -242,12 +242,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'])
 																		];
 			
 			// 组合成订单的收件地址
@@ -463,41 +463,21 @@ class Orders extends Auth{
 		// 从第二行写入
 		$row					= 2;
 		// 循环写入
-		foreach ($data as $key => $value) {
-			// 如果有多个商品
-			$count				= count($value['product']);
-			// 如果有多个商品
-			if( $count > 1 )	{
-				// 合并单元格
-				$sheet->mergeCells('A'.$row.':'.'A'.($row+$count-1));
-				$sheet->mergeCells('B'.$row.':'.'B'.($row+$count-1));
-				$sheet->mergeCells('C'.$row.':'.'C'.($row+$count-1));
-				$sheet->mergeCells('D'.$row.':'.'D'.($row+$count-1));
-				$sheet->mergeCells('E'.$row.':'.'E'.($row+$count-1));
-				$sheet->mergeCells('F'.$row.':'.'F'.($row+$count-1));
-				$sheet->mergeCells('G'.$row.':'.'G'.($row+$count-1));
-				$sheet->mergeCells('H'.$row.':'.'H'.($row+$count-1));
-				$sheet->mergeCells('I'.$row.':'.'I'.($row+$count-1));
-				$sheet->mergeCells('J'.$row.':'.'J'.($row+$count-1));
-				$sheet->mergeCells('R'.$row.':'.'R'.($row+$count-1));
-				$sheet->mergeCells('S'.$row.':'.'S'.($row+$count-1));
-			}
-			// 单元格内容写入
-			$sheet->setCellValue('A'.$row, $value['order_id']);
-			$sheet->setCellValue('B'.$row, $value['custom_uid']);
-            //避免 = + - 识别成公式
-            $sheet->setCellValueExplicit('C'.$row, $value['custom_name'],DataType::TYPE_STRING);
-			$sheet->setCellValue('D'.$row, $value['status']);
-			$sheet->setCellValue('E'.$row, $value['contact_name']);
-			$sheet->setCellValue('F'.$row, $value['contact_phone']);
-			$sheet->setCellValue('G'.$row, $value['contact_province']);
-			$sheet->setCellValue('H'.$row, $value['contact_city']);
-			$sheet->setCellValue('I'.$row, $value['contact_area']);
-			$sheet->setCellValue('J'.$row, $value['contact_addr']);
-			$sheet->setCellValue('S'.$row, $value['weiban_extid']);
-			$sheet->setCellValue('T'.$row, date('Y-m-d H:i:s',$value['insert_time']));
+		foreach ($data as $value) {
 			// 循环产品
 			foreach ($value['product'] as $v) {
+				// 单元格内容写入
+				$sheet->setCellValue('A'.$row, $value['order_id']);
+				$sheet->setCellValue('B'.$row, $value['custom_uid']);
+				//避免 = + - 识别成公式
+				$sheet->setCellValueExplicit('C'.$row, $value['custom_name'],DataType::TYPE_STRING);
+				$sheet->setCellValue('D'.$row, $value['status']);
+				$sheet->setCellValue('E'.$row, $value['contact_name']);
+				$sheet->setCellValue('F'.$row, $value['contact_phone']);
+				$sheet->setCellValue('G'.$row, $value['contact_province']);
+				$sheet->setCellValue('H'.$row, $value['contact_city']);
+				$sheet->setCellValue('I'.$row, $value['contact_area']);
+				$sheet->setCellValue('J'.$row, $value['contact_addr']);
 				$sheet->setCellValue('K'.$row, $v['product_id']);
 				$sheet->setCellValue('L'.$row, $v['product_name']);
 				$sheet->setCellValue('M'.$row, $v['product_spec']);
@@ -506,11 +486,12 @@ class Orders extends Auth{
 				$sheet->setCellValue('P'.$row, $v['buy_num']);
 				$sheet->setCellValue('Q'.$row, $v['coupon_total']);
 				$sheet->setCellValue('R'.$row, $v['pay_total']);
+				$sheet->setCellValue('S'.$row, $value['weiban_extid']);
+				$sheet->setCellValue('T'.$row, date('Y-m-d H:i:s',$value['insert_time']));
 				// 函数自增
 				$row++;
 			}
 		}
-		// 
 		// 创建内容
 		$writer 				= IOFactory::createWriter($spreadsheet, 'Xlsx');
 		header('Pragma: public');

+ 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							= [];
 		// 循环购买信息

+ 20 - 28
app/Http/Controllers/Api/Score/Clockin.php

@@ -6,6 +6,7 @@ use App\Models\Score\Clockin as Model;
 use App\Models\Score\ClockinActive as ClockinActive;
 use App\Models\WeiBan\Tags as WeiBanTags;
 use App\Models\CustomClockinRecord;
+use App\Models\CustomCoupon;
 use http\Env\Request;
 use Illuminate\Support\Carbon;
 
@@ -21,36 +22,14 @@ class Clockin extends Api
      * 列表                     /api/score_clockin/get_list
      * 
      */
-    /*public function get_list(Model $Model)
-    {
-        // 接口验签
-		// $this->verify_sign();
-		// 验证登录
-		$uid						= $this->getUid();
-        // 获取列表
-        $list                       = $Model->getList();
-        $isMark                     = $Model->isMarkClock($uid);
-        $isMark['finish_day']       = empty($isMark['finish_day'])?0:$isMark['finish_day'];
-        // 循环处理
-        foreach ( $list as $key => $value ) {
-            // 是否已打卡,打卡天数内(含)为已打卡
-            $value['is_finish']     = $isMark['finish_day'] >= $value['what_day'] ? 1 : 0;
-            // 重新赋值
-            $list[$key]             = $value;
-        }
-        // 去除主键
-        $list                       = array_values($list);
-        // 返回结果
-        return                      json_send(['code'=>'success','msg'=>'获取成功','data'=>['list'=>$list,'is_mark'=>$isMark]]);
-    }*/
-    public function get_list(Model $Model, Custom $Custom, ClockinActive $ClockinActive, WeiBanTags  $WeiBanTags, CustomClockinRecord $CustomClockinRecord)
+    public function get_list(Model $Model,CustomCoupon $CustomCoupon, Custom $Custom, ClockinActive $ClockinActive, WeiBanTags  $WeiBanTags, CustomClockinRecord $CustomClockinRecord)
     {
         // 接口验签
         // $this->verify_sign();
         // 验证登录
         $uid						= $this->checkLogin();
         // 获取客户信息
-        $custom						= $uid ? $Custom->getOne($uid) : [];
+        $custom						= $Custom->getOne($uid);
         //客户的城市ID 如果不存在的话
         if( !$custom['city_id'] )	return json_send(['code'=>'error','msg'=>'请选择所在城市','data'=>['error'=>'请选择所在城市']]);
         $cityId						= $custom['city_id'];
@@ -79,13 +58,20 @@ class Clockin extends Api
             }
 
         }
-        if (!$activeInfo) return json_send(['code'=>'error','msg'=>'暂无签到活动','data'=>['error'=>'暂无签到活动']]);
+        if (!$activeInfo)           return json_send(['code'=>'error','msg'=>'暂无签到活动','data'=>['error'=>'暂无签到活动']]);
         // 获取列表
-        $list               = $Model->getActiveList($activeInfo['id']);
-        $isMark             = $CustomClockinRecord->isMarkClock($uid,$activeInfo['id']);
+        $list                       = $Model->getActiveList($activeInfo['id']);
+        $isMark                     = $CustomClockinRecord->isMarkClock($uid,$activeInfo['id']);
         $isMark['finish_day']       = empty($isMark['finish_day'])?0:$isMark['finish_day'];
         // 循环处理
         foreach ( $list as $key => $value ) {
+            // 是否已经有该优惠券
+            if( $value['coupon_id'] )   {
+                // 是否已经有该优惠券
+                $result             = $CustomCoupon->isHaveCoupon([$value['coupon_id']],$uid);
+                // 如果有,优惠券隐藏
+                if( $result )      $value['coupon_id'] = 0;
+            }
             // 是否已打卡,打卡天数内(含)为已打卡
             $value['is_finish']     = $isMark['finish_day'] >= $value['what_day'] ? 1 : 0;
             // 重新赋值
@@ -94,8 +80,14 @@ class Clockin extends Api
         // 去除主键
         $list                       = array_values($list);
         $list                       = array_chunk($list,28);
+        $data['list']               = $list;
+        $data['is_mark']            = $isMark;
+        $data['active_id']          = $activeInfo['id'];
+        $data['start_time']         = $activeInfo['start_time'];
+        $data['end_time']           = $activeInfo['end_time'];
+        $data['active_rule']        = $activeInfo['active_rule'];
         // 返回结果
-        return                      json_send(['code'=>'success','msg'=>'获取成功','data'=>['list'=>$list,'is_mark'=>$isMark,'active_id'=>$activeInfo['id']]]);
+        return                      json_send(['code'=>'success','msg'=>'获取成功','data'=>$data]);
     }
     /**
      * 打卡                         /api/score_clockin/finish

+ 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);
 				}
 			}
 			// 存在详细地址,才创建地址库

BIN
public/uploads/images/1/1a87efa0115dc7aa13856b186c984d92.jpg


BIN
public/uploads/images/1/2.jpg


BIN
public/uploads/images/1/2.png


BIN
public/uploads/images/1/21a50dc854a8a293e65bbc9903748ae.png


BIN
public/uploads/images/1/4cfbfbf2f738f0de34c3d8f66a66a1a.png


BIN
public/uploads/images/1/O1CN01DfrUww1OEk0nOnFYN_2200569531674.jpg_q50.jpg


BIN
public/uploads/images/1/banlangen/thumb.jpg


BIN
public/uploads/images/1/banner/20241106-214350.jpg


BIN
public/uploads/images/1/banner/20241106-231932.jpg


BIN
public/uploads/images/1/banner/add_follow1.jpg


BIN
public/uploads/images/1/dane.png


BIN
public/uploads/images/1/ganmao/poster.jpg


BIN
public/uploads/images/1/ganmao/thumb.jpg


BIN
public/uploads/images/1/guizhouxinlao.jpg


BIN
public/uploads/images/1/hongpi/1.jpg


BIN
public/uploads/images/1/hongpi/2.jpg


BIN
public/uploads/images/1/hongpi/3.jpg


BIN
public/uploads/images/1/hongpi/4.jpg


BIN
public/uploads/images/1/hongpi/5.jpg


BIN
public/uploads/images/1/hongpi/6.jpg


BIN
public/uploads/images/1/hongpi/7.jpg


BIN
public/uploads/images/1/hongpi/8.jpg


BIN
public/uploads/images/1/hongpi/9.jpg


BIN
public/uploads/images/1/hongpi/999hongopi.jpeg


BIN
public/uploads/images/1/huoxiang/poster.jpg


BIN
public/uploads/images/1/huoxiang/thumb.jpg


BIN
public/uploads/images/1/img.jpg


BIN
public/uploads/images/1/ksmm.jpg


BIN
public/uploads/images/1/orders_banner/get_reward.jpg


BIN
public/uploads/images/1/piyanping/poster.jpg


BIN
public/uploads/images/1/piyanping/thumb.jpg


BIN
public/uploads/images/1/pudixiaoyan/333.jpg


BIN
public/uploads/images/1/pudixiaoyan/pudi.png


BIN
public/uploads/images/1/putaotangsuanxin/18.png


BIN
public/uploads/images/1/qianglipipalu/pipalu.png


BIN
public/uploads/images/1/weitai/poster.jpg


BIN
public/uploads/images/1/weitai/thumb.jpg


BIN
public/uploads/images/1/wenweishu/wenwei.png


BIN
public/uploads/images/1/yws.jpg