Sfoglia il codice sorgente

Merge branch 'dev_wf' of wugg/phpstock into version1.5

wufeng 2 anni fa
parent
commit
89df3e306a

+ 116 - 26
app/admin/controller/OrderImport.php

@@ -41,7 +41,7 @@ class OrderImport extends Base
                 'before_discount_all_price|优惠前总金额' => 'require|float',
                 'discount_price|优惠金额' => 'require|float',
                 'after_price|商品优惠后金额' => 'require|float',
-                'activity_name|优惠活动名称' => 'require|length:0,255',
+                'activity_name|优惠活动名称' => 'length:0,255',
                 'mode|收费模式' => 'require|length:0,255',
                 'order_remark|订单备注' => 'length:0,255',
                 'contactor|收货人' => 'require|length:0,255',
@@ -119,7 +119,6 @@ class OrderImport extends Base
     //查看订单录入详情
     public function getImportInfo()
     {
-
         $id = $this->request->post('id/d', 0, 'trim');
 
         $info = OIFCModel::alias('c')
@@ -139,25 +138,25 @@ class OrderImport extends Base
         $info['addr_name'] = GetAddr($info['addr_code']);
 
         //导入字段
-        $res['import']=[
-            'platform_code'=>$info['platform_code'],
-            'platform_time'=>$info['platform_time'],
-            'plat_code'=>$info['plat_code'],
-            'sale_source'=>$info['sale_source'],
-            'price'=>$info['price'],
-            'num'=>$info['num'],
-            'before_discount_all_price'=>$info['before_discount_all_price'],
-            'activity_name'=>$info['activity_name'],
-            'discount_price'=>$info['discount_price'],
-            'after_price'=>$info['after_price'],
-            'mode'=>$info['mode'],
-            'order_remark'=>$info['order_remark'],
-            'contactor'=>$info['contactor'],
-            'mobile'=>$info['mobile'],
-            'addr'=>$info['addr'],
+        $res['import'] = [
+            'platform_code' => $info['platform_code'],
+            'platform_time' => $info['platform_time'],
+            'plat_code' => $info['plat_code'],
+            'sale_source' => $info['sale_source'],
+            'price' => $info['price'],
+            'num' => $info['num'],
+            'before_discount_all_price' => $info['before_discount_all_price'],
+            'activity_name' => $info['activity_name'],
+            'discount_price' => $info['discount_price'],
+            'after_price' => $info['after_price'],
+            'mode' => $info['mode'],
+            'order_remark' => $info['order_remark'],
+            'contactor' => $info['contactor'],
+            'mobile' => $info['mobile'],
+            'addr' => $info['addr'],
         ];
         //确认字段
-        $res['confirm']=$info;
+        $res['confirm'] = $info;
 
         return app_show(0, '请求成功', $res);
 
@@ -179,32 +178,123 @@ class OrderImport extends Base
     {
         //解析信息存到extend表,其中customer_code字段根据订单编号去customer_info查,其他根据商品编号查询
 
-        $list = OIFCModel::where(['status'=>OIFCModel::$status_wait_validate])
+        $order_import_from_c_db = Db::name('order_import_from_c');
+
+        $good_platform_db = Db::name('good_platform')->field('id,spuCode,platform_code')->where(['is_del' => 0]);
+
+        $good_db = Db::name('good')->field('good_name,companyNo,supplierNo,is_stock')->where(['is_del' => 0]);
+
+        $order_import_from_c_extend_db = Db::name('order_import_from_c_extend');
+        $good_stock_db = Db::name('good_stock');
+//        $customer_info_db = Db::name('customer_info')->field('companyNo')->where(['is_del' => 0]);
+
+        $list = $order_import_from_c_db
+            ->where([
+                'is_del' => OIFCModel::$is_del_normal,
+                'status' => OIFCModel::$status_wait_validate
+            ])
             ->limit(10)
             ->cursor();
 
-        foreach ($list as $value){
+        foreach ($list as $value) {
+
+            Db::startTrans();
+
+            try {
+
+                $extend_insert_data = [
+                    'order_import_from_c_id' => $value->id,
+                    'createrid' => 0,
+                    'creater' => 'system',
+                ];
+                //1.解析数据
+                $good_platform_info = $good_platform_db->where('plat_code', $value->plat_code)->find();
+                if (!empty($good_platform_info)) {
+                    $extend_insert_data['spuCode'] = $good_platform_info['spuCode'];
+                    $extend_insert_data['platform_code'] = $good_platform_info['platform_code'];
+                } else {
+                    $order_import_from_c_db->where('id', $value->id)->update(['updatetime' => date('Y-m-d H:i:s'), 'status' => OIFCModel::$status_wait_confirm, 'remark' => '在商品平台表中查不到平台商品编号对应的spuCode']);
+                    Db::commit();
+                    continue;
+                }
+
+                $good_info = $good_db->where('spuCode', $extend_insert_data['spuCode'])->find();
+                if (!empty($good_info)) {
+                    $extend_insert_data['companyNo'] = $good_info['companyNo'];
+                    $extend_insert_data['supplierNo'] = $good_info['supplierNo'];
+                    $extend_insert_data['good_name'] = $good_info['good_name'];
+                } else {
+                    $order_import_from_c_db->where('id', $value->id)->update(['updatetime' => date('Y-m-d H:i:s'), 'status' => OIFCModel::$status_wait_confirm, 'remark' => '在上线商品表中查不到spuCode对应的商品信息']);
+                    Db::commit();
+                    continue;
+                }
 
-            //1.解析数据
+//            $extend_insert_data['customer_code'] = $good_info['companyNo'];
 
-            //2.判断是否库存品
+                $extend_insert_data['discount_reason'] = $value->activity_name;
 
-            //3.判断库存
+                $order_import_from_c_extend_db->insertGetId($extend_insert_data);
 
-            //4.处理
+                //2.判断是否库存品
+                if ($good_info['is_stock'] == 1) {
+                    //库存品,查询可用库存数量
+                    $usable_stock = $good_stock_db
+                        ->where('spuCode', $extend_insert_data['spuCode'])
+                        ->sum('usable_stock');
 
+                    if ($usable_stock < $value->num) {
+                        $order_import_from_c_db->where('id', $value->id)->update(['updatetime' => date('Y-m-d H:i:s'), 'status' => OIFCModel::$status_wait_confirm, 'remark' => '库存不足']);
+                        Db::commit();
+                        continue;
+                    }
+
+                }
+
+                //3.判断库存
+
+                //4.处理
+                Db::commit();
+
+            } catch (\think\Exception $exception) {
+                Db::rollback();
+                return error_show(1005, $exception->getMessage());
 
+            }
         }
 
         return '123123123wwafa';
 
 
-
     }
 
     //【辅助1】获取线上商品详情
+    public function getOnlineGoodInfoByPlatcode()
+    {
+
+        $plat_code = $this->request->post('plat_code', '', 'trim');
+
+        if (!$plat_code) return error_show(1004, '平台商品编号不能为空');
+
+        $res = Db::name('good_platform')
+            ->alias('gp')
+            ->field('gp.platform_code,gp.plat_code,g.*')
+            ->where(['gp.plat_code' => $plat_code, 'gp.is_del' => 0])
+            ->leftJoin('good g', 'g.spuCode=gp.spuCode AND g.is_del=0')
+            ->find();
+
+        if ($res) return app_show(0, '', $res);
+        else return error_show(1005, '该平台商品编号不存在对应商品');
+
+    }
 
     //【辅助2】接口2-获取销售渠道备选数据:入参所在平台Id,响应:销售渠道备选数据
+    public function getSourceDataByPlatformId(){
+
+        $platform_id = $this->request->post('platform_id/d',0,'trim');
+
+
+
+    }
 
 
 }

+ 3 - 3
app/admin/model/OrderImportFromC.php

@@ -16,9 +16,9 @@ class OrderImportFromC extends Model
     public static $is_del_normal = 0;
     public static $is_del_delete = 1;
 
-    public static $status_wait_validate = 1;//系统验证数据中
-    public static $status_wait_confirm = 2;//待确认订单信息
-    public static $status_wait_relation = 3;//信息已确认待关联库存
+    public static $status_wait_validate = 1;//系统验证
+    public static $status_wait_confirm = 2;//待用户确认订单信息
+    public static $status_wait_relation = 3;//待关联库存(有可能库存不足)
     public static $status_success = 4;//订单录入成功
 
 }

+ 2 - 1
app/admin/route/app.php

@@ -470,4 +470,5 @@ Route::rule("plancheck","admin/Version/planCheck");
 Route::rule('getdata','admin/Data/index');//数据看板,获取相关统计数据
 Route::rule('orderimport','admin/OrderImport/import');//C端订单导入
 Route::rule('orderimportlist','admin/OrderImport/getImportList');//C端订单列表
-Route::rule('orderimportinfo','admin/OrderImport/getImportInfo');//C端订单详情
+Route::rule('orderimportinfo','admin/OrderImport/getImportInfo');//C端订单详情
+Route::rule('getonlinegoodinfo','admin/OrderImport/getOnlineGoodInfoByPlatcode');//获取线上商品详情