sunhao vor 5 Jahren
Ursprung
Commit
217f526af3

+ 20 - 6
app/Http/Controllers/Admin/GoodsController.php

@@ -11,6 +11,7 @@ use App\Http\Controllers\Controller;
11 11
 use App\Logs;
12 12
 use App\Goods;
13 13
 use App\GoodsSkus;
14
+use App\Order;
14 15
 use App\Oplog;
15 16
 use App\Services\OssServices as oss;
16 17
 use Illuminate\Http\Request;
@@ -96,7 +97,7 @@ class GoodsController extends Controller
96 97
         $goods = array();       
97 98
         $goods['name'] = trim($request->input('name')); 
98 99
         $goods['description'] = trim($request->input('description'));  //非必填
99
-        $goods['eshopCode'] = '99|34881'; 
100
+        $goods['eshopCode'] = '100|zjsc001'; 
100 101
         $goods['productCode'] = trim($request->input('productCode'));  
101 102
         /*$goods['propsName'] = $request->input('propsName');  
102 103
         $goods['price'] = $request->input('price');  
@@ -124,9 +125,10 @@ class GoodsController extends Controller
124 125
             if(!empty($sku)){
125 126
                 foreach($sku as $key=>$item){
126 127
                     $sku_data = explode('@@', $item);
127
-                    $sku_insert_data = $mjArr['skuList'][$key] = ['propsName'=>$sku_data[0], 'price'=>$sku_data[1], 'createTime'=>date('Y-m-d H:i:s'), 'modifyTime'=>date('Y-m-d H:i:s')];
128
+                    $sku_insert_data = $mjArr['skuList'][$key] = ['skuProductCode'=>'DCY-001', 'propsName'=>$sku_data[0], 'price'=>$sku_data[1], 'createTime'=>date('Y-m-d H:i:s'), 'modifyTime'=>date('Y-m-d H:i:s')];
128 129
                     $sku_insert_data['goodsCode'] = $res;
129
-                    $sku_insert_data['eshopCode'] = '99|34881';
130
+                    $sku_insert_data['eshopCode'] = '100|zjsc001';
131
+
130 132
                     $sku_ids = DB::table('goods_skus')->insertGetId($sku_insert_data);
131 133
 
132 134
                     $mjArr['skuList'][$key]['outerCode'] = $sku_ids;
@@ -134,9 +136,9 @@ class GoodsController extends Controller
134 136
             }
135 137
 
136 138
             //对接卖家云
137
-            //$mj = Order::mjGoodsAdd($mjArr);
139
+            $mj = Order::mjGoodsAdd($mjArr);
138 140
             /* 同步卖家云商品code等信息 */
139
-
141
+var_dump($mj);exit;
140 142
             /* end */
141 143
             #记录操作日志
142 144
             $self_id = session('admin_id');
@@ -229,7 +231,7 @@ class GoodsController extends Controller
229 231
             $mjSkuArr = array();
230 232
             foreach($sku as $key=>$item){
231 233
                 $sku_data = explode('@@', $item);
232
-                $sku_insert_data = $mjSkuArr['skus'][$key] = ['goodsCode'=>$id,'eshopCode'=>'99|34881','propsName'=>$sku_data[0], 'price'=>$sku_data[1], 'createTime'=>date('Y-m-d H:i:s'), 'modifyTime'=>date('Y-m-d H:i:s')];
234
+                $sku_insert_data = $mjSkuArr['skus'][$key] = ['goodsCode'=>$id,'eshopCode'=>'100|zjsc001','propsName'=>$sku_data[0], 'price'=>$sku_data[1], 'createTime'=>date('Y-m-d H:i:s'), 'modifyTime'=>date('Y-m-d H:i:s')];
233 235
 
234 236
                 $sku_ids = DB::table('goods_skus')->insertGetId($sku_insert_data);
235 237
 
@@ -274,5 +276,17 @@ class GoodsController extends Controller
274 276
         exit('0');
275 277
     }
276 278
 
279
+    /**
280
+     * 搜索商品
281
+     */
282
+    public function searchSkus(Request $request){
283
+        $name = trim($request->input('name'));
284
+        $result = Goods::select('gs.id as sku_id', 'goods.id as goods_id', 'goods.name', 'gs.propsName', 'gs.price')->leftJoin('goods_skus as gs', 'gs.goodsCode', '=', 'goods.id')->where('goods.name', 'like', '%'.$name.'%')->where('goods.is_del', 0)->where('gs.is_del', 0)->orderBy('goods.id', 'desc')->get();
285
+        $result = json_decode(json_encode($result), true);
286
+
287
+        if(empty($result)) exit('0');
288
+        exit(json_encode($result));
289
+    }
290
+
277 291
 }
278 292
 

+ 50 - 42
app/Http/Controllers/Admin/OrderController.php

@@ -12,6 +12,8 @@ use App\Logs;
12 12
 use App\Order;
13 13
 use App\Oplog;
14 14
 use App\RedisModel;
15
+use App\Goods;
16
+use App\GoodsSkus;
15 17
 use Illuminate\Http\Request;
16 18
 use Illuminate\Support\Facades\DB;
17 19
 
@@ -429,8 +431,9 @@ class OrderController extends Controller
429 431
             'delivery_date'           => 'required|date', 
430 432
             'createTime'           => 'required|date', 
431 433
             'receivedAmount'           => 'required|numeric|min:1', 
432
-            'goods_note'           => 'required|min:1',  
434
+            //'goods_note'           => 'required|min:1',  
433 435
             'warehouse'           => 'required|integer|min:1',  
436
+            'skus'                => 'required'
434 437
         ], [                  
435 438
             'customerName.required'           => '买家姓名不能为空',                   
436 439
             'customerName.between'           => '买家姓名不能超过6个字符',                   
@@ -455,6 +458,7 @@ class OrderController extends Controller
455 458
 
456 459
         //redis防重复数据
457 460
         $phone = $request->input('receiverMobile');
461
+        /*
458 462
         $redisKey = 'seafood.order_phone_add.'.$phone;
459 463
         $res = RedisModel::setnx($redisKey, 1);
460 464
         if( $res == 0 ){
@@ -462,12 +466,12 @@ class OrderController extends Controller
462 466
             return redirect('/admin/order/index')->with('info', $msg);
463 467
         }
464 468
         $res = RedisModel::expire( $redisKey, 60 );
465
-
469
+*/
466 470
         //数据库-新增数据
467 471
         $order = array();
468
-        $order['eshopCode'] = '99|34881'; //默认
472
+        $order['eshopCode'] = '100|zjsc001'; //默认
469 473
         $order['outerCode'] = Order::createOuterCode();//随机生成
470
-        $order['status'] = (int)$request->input('status');
474
+        $order['status'] = (int)$request->input('status');                                   
471 475
         $order['customerName'] = trim($request->input('customerName')); //买家名称
472 476
         $order['shippingType'] = '卖家包邮';
473 477
         $order['expressCompanyCode'] = '10084';
@@ -481,8 +485,8 @@ class OrderController extends Controller
481 485
         $order['receiverState'] = str_replace(['省', '市'], '', $order['receiverState']);
482 486
         $order['receiverCity'] = str_replace('市', '', $order['receiverCity']);
483 487
 
484
-        $order['receiverDistrict'] = $request->input('receiverDistrict'); //区
485
-        $order['receiverStreet'] = $request->input('receiverStreet'); //街道
488
+        $order['receiverDistrict'] = trim($request->input('receiverDistrict')); //区
489
+        $order['receiverStreet'] = trim($request->input('receiverStreet')); //街道
486 490
         $order['receiverAddress'] = trim($request->input('receiverAddress')); //详细地址
487 491
         $order['buyerPostageFee'] = 0; //买家邮费
488 492
         $order['discountFee'] = 0; //订单优惠
@@ -490,7 +494,7 @@ class OrderController extends Controller
490 494
         $order['serviceFee'] = 0; //服务费
491 495
         $order['paymentMethod'] = '在线付款';
492 496
         $order['paymentType'] = '网银';
493
-        $order['paymentAccount'] = '18322223333'; // 付款账号,暂时默认写死
497
+        $order['paymentAccount'] = '18322225555'; // 付款账号,暂时默认写死
494 498
         $order['paymentTime'] = date('Y-m-d H:i:s'); // 付款时间
495 499
         $order['receivedAmount'] = trim($request->input('receivedAmount')); //付款金额        
496 500
         $order['buyerMemo'] = trim($request->input('buyerMemo', '')); // 买家备注
@@ -498,51 +502,45 @@ class OrderController extends Controller
498 502
         $order['createTime'] = !empty($request->input('createTime')) ? $request->input('createTime') : date('Y-m-d H:i:s'); // 订单创建时间
499 503
         $order['modifyTime'] = date('Y-m-d H:i:s'); // 订单修改时间
500 504
 
501
-        $order['goods_note'] = trim($request->input('goods_note'));
502
-        if($request->input('cost')) $order['cost'] = trim($request->input('cost'));  //成本
503
-        $order['logistics_id'] = trim($request->input('logistics_id')); //物流单号
504
-        $order['is_refund'] = (int)$request->input('is_refund'); //是否退过单
505
-        if($request->input('refund_price')) $order['refund_price'] = trim($request->input('refund_price')); //应该退补差价
506
-        $order['is_fugou'] = (int)$request->input('is_fugou'); //是否复购
507
-        $order['warehouse'] = (int)$request->input('warehouse'); //仓库
508
-        $order['delivery_date'] = !empty($request->input('delivery_date')) ? $request->input('delivery_date') : date('Y-m-d'); //发货日期
509
-        $order['order_status'] = (int)$request->input('order_status');
510
-        $order['payment_type'] = (int)$request->input('payment_type'); //支付方式
511
-
512 505
         //商品信息
513
-        /*
514
-        $g_info = trim($request->input('g_info'),';');
515
-        //var_dump($g_info);
516
-        $g_info = explode(';' , $g_info);
517
-        $goods_info = array();
518
-        foreach($g_info as $k=>$info){
519
-            $info = explode(':', $info);
520
-            $goods_info[$k]['id'] = $info[0];
521
-            $goods_info[$k]['num'] = $info[1];
522
-        }
523
-        foreach($goods_info as $k=>$v){
524
-            $goods = DB::table('goods_sku_list')->where('id', $v['id'])->first();
506
+        $skus = $request->input('skus');
507
+        $gnum = $request->input('gnum');
508
+        foreach($skus as $k=>$sku_id){
509
+            $sku_info = GoodsSkus::where('id', $sku_id)->first();
510
+            $goods_info = Goods::where('id', $sku_info->goodsCode)->first();
525 511
             $params = array();
526 512
             $params['outerCode'] = $order['outerCode']+$k+1; //外部平台中子订单编码
527 513
             $params['outerParentCode'] = $order['outerCode']; //外部平台中订单编码
528
-            $params['goodsCode'] = $goods->code;// strstr($goods->code,'-',true); 
529
-            $params['skuCode'] = $goods->code; 
514
+            $params['goodsCode'] = $sku_info->goodsCode;// strstr($goods->code,'-',true); 
515
+            $params['skuCode'] = $sku_id; 
530 516
             #商品名称
531
-            $params['goodsName'] = DB::table('goods_category')->where('goods_id', $goods->goods_id)->pluck('goods_name');
517
+            $params['goodsName'] = $goods_info->name;
518
+            $params['propertiesName'] = $sku_info->propsName;
532 519
             //$params['goodsName'] = '海钓黄翅鱼';//$goods->code; 
533
-            $params['price'] = $goods->price;
534
-            $params['quantity'] = $v['num'];
520
+            $params['price'] = $sku_info->price;
521
+            $params['quantity'] = $gnum[$k];
535 522
             $params['discountFee'] = 0;
536 523
             $params['adjustFee'] = 0;
537 524
             $params['refundStatus'] = '正常';
538 525
             $order['skuList'][] = $params;
539 526
         }
540
-        */
541 527
 
542 528
         //卖家云添加订单
543
-        //$mj_add = Order::mjOrderAdd($order);
529
+        $mj_add = Order::mjOrderAdd($order);
530
+
531
+        //本系统订单额外参数
532
+        $order['goods_note'] = trim($request->input('goods_note'));
533
+        if($request->input('cost')) $order['cost'] = trim($request->input('cost'));  //成本
534
+        $order['logistics_id'] = trim($request->input('logistics_id')); //物流单号
535
+        $order['is_refund'] = (int)$request->input('is_refund'); //是否退过单
536
+        if($request->input('refund_price')) $order['refund_price'] = trim($request->input('refund_price')); //应该退补差价
537
+        $order['is_fugou'] = (int)$request->input('is_fugou'); //是否复购
538
+        $order['warehouse'] = (int)$request->input('warehouse'); //仓库
539
+        $order['delivery_date'] = !empty($request->input('delivery_date')) ? $request->input('delivery_date') : date('Y-m-d'); //发货日期
540
+        $order['order_status'] = (int)$request->input('order_status');
541
+        $order['payment_type'] = (int)$request->input('payment_type'); //支付方式
544 542
 
545
-        if(true){
543
+        if(!empty($mj_add)){
546 544
             #更新客户表
547 545
             $customer = array();
548 546
             $customers['name'] = $order['receiverName'];
@@ -564,10 +562,10 @@ class OrderController extends Controller
564 562
                 $in_c = DB::table('customers')->insert($customers);
565 563
             }
566 564
 
567
-            //$order_goods = $order['skuList'];
568
-            //unset($order['skuList']);
569
-            //DB::table('order_goods')->insert($order_goods);
570
-            //$order['orderCode'] = $mj_add['order']['code']; 
565
+            $order_goods = $order['skuList'];
566
+            unset($order['skuList']);
567
+           
568
+            $order['orderCode'] = $mj_add['order']['code']; 
571 569
             $admin_id = (int)$request->input('admin_id');   
572 570
             if($admin_id>0){
573 571
                 $admin_info = DB::table('admin')->select('realname', 'team_id')->where('id', $admin_id)->first();
@@ -581,6 +579,16 @@ class OrderController extends Controller
581 579
             }
582 580
             $res = DB::table('order')->insertGetId($order);
583 581
             if($res){
582
+                //订单商品插入
583
+                $order_skus = array();
584
+                foreach($order_goods as $k=>$sku){
585
+                    $order_skus[$k]['sku_id'] = $sku['skuCode'];
586
+                    $order_skus[$k]['order_id'] = $res;
587
+                    $order_skus[$k]['goods_id'] = $sku['goodsCode'];
588
+                    $order_skus[$k]['num'] = $sku['quantity'];
589
+                    $order_skus[$k]['price'] = $sku['price'];
590
+                }
591
+                $order_skus_insert = DB::table('order_goods_skus')->insert($order_skus);
584 592
                 #记录操作日志
585 593
                 $self_id = session('admin_id');
586 594
                 $self_name = session('real_name');

+ 1 - 0
app/Http/routes.php

@@ -158,6 +158,7 @@ Route::group(['prefix' => 'admin'], function(){
158 158
         Route::get('goods/edit/{id}', 'Admin\GoodsController@edit');
159 159
         Route::post('goods/update',   'Admin\GoodsController@update');
160 160
         Route::get('goods/delete/{id}',   'Admin\GoodsController@delete');
161
+        Route::get('goods/searchSkus',   'Admin\GoodsController@searchSkus');
161 162
     });
162 163
     
163 164
 });

+ 8 - 0
app/Order.php

@@ -26,6 +26,14 @@ class Order extends Model
26 26
      */
27 27
    	public static function mjOrderAdd($orderList){
28 28
    		$orderList["method"] = "maijiayun.order.add";
29
+      //status格式
30
+      $staus_arr = array(
31
+        0 => '待付款',
32
+        1 => '已付款待审核',
33
+        2 => '已审核待发货',
34
+        3 => '已发货',
35
+      );
36
+      $orderList['status'] = $staus_arr[$orderList['status']];
29 37
    		$result = self::mjApi($orderList);
30 38
    		return $result;
31 39
    	}

+ 55 - 24
resources/views/order/ordercreate.blade.php

@@ -135,24 +135,10 @@
135 135
             </div>
136 136
             @endif
137 137
 
138
-            <!--div class="row cl">
138
+            <div class="row cl">
139 139
                 <label class="form-label col-xs-4 col-sm-2">选择商品:</label>
140 140
                 <div class="formControls col-xs-6 col-sm-6">
141
-                    <span class="select-box">
142
-                        <select  size="1" name="category" id='category'>
143
-                            <option value="0" @if(old('category')=='') selected @endif>商品分类</option>
144
-                            @foreach($categorylist as $v)
145
-                                <option value="{{$v}}" @if(old('category')==$v) selected @endif>{{$v}}</option>
146
-                            @endforeach
147
-                        </select>
148
-
149
-                        <select id='goods' size="1" name="goods">
150
-                            <option value="0" @if(old('goods')=='') selected @endif>-- 选择商品 --</option>
151
-                        </select>
152
-
153
-                        &nbsp;&nbsp;商品数量:<input type="text" value="" placeholder="" name="num">
154
-                        &nbsp;&nbsp;<button type='button' onclick='add_goods()'> 确认</button>
155
-                    </span>
141
+                    <input type='text' name='goods_name'  value=''/> 
156 142
                 </div>               
157 143
             </div><br>
158 144
 
@@ -162,7 +148,7 @@
162 148
                 <div  id='goods_o' class="formControls col-xs-6 col-sm-6">
163 149
                      <input id='g_info' type='hidden' name='g_info' value=''/>
164 150
                 </div>
165
-            </div><br-->
151
+            </div><br>
166 152
 
167 153
             <div class="row cl">
168 154
                 <label class="form-label col-xs-4 col-sm-2">
@@ -346,14 +332,10 @@
346 332
             location.href='/admin/order/index';
347 333
         }
348 334
 
349
-        function add_goods(){
335
+        function add_goods(goods_id,sku_id,name,props_name,price){
350 336
             var id = $('#goods').val();
351
-            var goods_name = $("#goods option:selected").text();
352
-            var num = $("input[name=num]").val();
353
-            var str = "<p>"+goods_name+ " 数量:"+num+";<\/p>";
354
-            var g_info_val = $("#g_info").val();
355
-            g_info_val += id+':'+num+';';
356
-            $("#g_info").val(g_info_val);
337
+            var str = "<p>"+name+' '+props_name+' ¥'+price+"&nbsp; <input type='hidden' name='skus[]' value="+sku_id+" \/>数量:<input style='width:4%;' type=\'text\' name=\'gnum[]\' value=1 \/><\/p>";  
338
+
357 339
             $("#goods_o").append(str);
358 340
             return false;
359 341
         }
@@ -413,6 +395,24 @@
413 395
             }
414 396
         }
415 397
 
398
+        function getGoods(){
399
+            var name = $('input[name=goods_name]').val();
400
+            if(!name){
401
+                return false;
402
+            }
403
+            $.ajax({
404
+                    'url': '/admin/goods/searchSkus?name='+name,
405
+                    'type': 'get',
406
+                    'dateType': 'json',
407
+                    success:function(data){
408
+                        if(data != '0'){
409
+                            data = eval("("+data+")");
410
+
411
+                        }
412
+                    }
413
+                })
414
+        }
415
+
416 416
         function to_verify(){
417 417
 	        $(".btn").attr("disabled",true);
418 418
             $("input[name=status]").val('1');
@@ -430,6 +430,37 @@
430 430
             return true;
431 431
         }
432 432
 
433
+    $('input[name=goods_name]').on('keyup', function(){
434
+        var name = $('input[name=goods_name]').val();
435
+            if(!name){
436
+                return false;
437
+            }
438
+            $.ajax({
439
+                'url': '/admin/goods/searchSkus?name='+name,
440
+                'type': 'get',
441
+                'dateType': 'json',
442
+                success:function(data){
443
+                    if(data != '0'){
444
+                        data = eval("("+data+")");
445
+                        var str = '';
446
+                        for (var i = 0, l = data.length; i < l; i++) {
447
+                            var item = data[i];
448
+                            str += '<p onclick=\'add_goods('+item.goods_id+','+item.sku_id+',"'+item.name+'","'+item.propsName+'",'+item.price+');\'>'+ item.name+' '+item.propsName+' ¥'+item.price +'<\/p>';
449
+                        }
450
+                       
451
+                        layer.open({
452
+                          type: 1,
453
+                          area: ['600px', '360px'],
454
+                          shadeClose: true, //点击遮罩关闭
455
+                          content: str
456
+                        });
457
+                    }
458
+                }
459
+            })
460
+            
461
+        
462
+      });
463
+
433 464
 
434 465
     </script>
435 466
     </body>