Browse Source

平台订单导入,有活动的话校验活动价,而非标准价

wufeng 2 years ago
parent
commit
3e4df453fb
1 changed files with 59 additions and 35 deletions
  1. 59 35
      app/command/ImportOrderFromCAnalysisData.php

+ 59 - 35
app/command/ImportOrderFromCAnalysisData.php

@@ -116,31 +116,72 @@ class ImportOrderFromCAnalysisData extends Command
 
                 //商品价格和总价
                 if ($rs['price'] > 0) {
-                    $good_ladder = Db::name("good_ladder")
-                        ->field('id,sale_price')
-                        ->where(["skuCode" => $good_platform_info['skuCode'], "is_del" => 0, "status" => 1])
-                        ->where([["min_num", "<=", $rs['num']]])
-                        ->order("min_num desc")
-                        ->find();
-                    if (empty($good_ladder)) {
-                        $update_c_data['status'] = OIFCModel::$status_wait_confirm;
-                        $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',找不到商品售价' : '找不到商品售价';
-                    } else {
-
-                        if ($rs['price'] < $good_ladder['sale_price']) {
+                    //活动
+                    if ($rs['activity_name']) {
+                        $activity_info = Db::name('good_activity')
+                            ->alias('ga')
+                            ->field('ga.id,ga.activity_name,ga.activity_code,a.moq_num,a.activity_price')
+                            ->where(['ga.activity_name' => $rs['activity_name'], 'ga.is_del' => 0])
+                            ->leftJoin('activity_info a', 'a.activity_code=ga.activity_code AND a.is_del=0')
+                            ->find();
+                        if (empty($activity_info)) {
                             $update_c_data['status'] = OIFCModel::$status_wait_confirm;
-                            $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',售价低于系统标准价' . $good_ladder['sale_price'] : '售价低于系统标准价' . $good_ladder['sale_price'];
-                            $extend_insert_data['price'] = 0;//价格错误
-                            $extend_insert_data['before_discount_all_price'] = 0;//总价也错误
+                            $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',该活动不存在' : '该活动不存在';
+                            $extend_insert_data['activity_code'] = '';
+                            $extend_insert_data['activity_name'] = '';
+                            $extend_insert_data['price'] = 0;
+                            $extend_insert_data['before_discount_all_price'] = 0;
+                        } else {
+                            $extend_insert_data['activity_code'] = $activity_info['activity_code'];
+                            $extend_insert_data['activity_name'] = $activity_info['activity_name'];
+
+                            //是否满足活动的起订量和价格
+                            if ($rs['num'] < $activity_info['moq_num']) {
+                                $update_c_data['status'] = OIFCModel::$status_wait_confirm;
+                                $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',不满足活动的最小起订量' . $activity_info['moq_num'] : '不满足活动的最小起订量' . $activity_info['moq_num'];
+                                $extend_insert_data['num'] = 0;
+                            }
+
+                            if ($rs['price'] < $activity_info['activity_price']) {
+                                $update_c_data['status'] = OIFCModel::$status_wait_confirm;
+                                $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',不满足活动价' . $activity_info['activity_price'] : '不满足活动价' . $activity_info['activity_price'];
+                                $extend_insert_data['price'] = 0;
+                                $extend_insert_data['before_discount_all_price'] = 0;
+                            }
+
                         }
 
-                        if (($rs['num'] * $rs['price']) != $rs['before_discount_all_price']) {
+                    } else {
+
+
+                        $good_ladder = Db::name("good_ladder")
+                            ->field('id,sale_price')
+                            ->where(["skuCode" => $good_platform_info['skuCode'], "is_del" => 0, "status" => 1])
+                            ->where([["min_num", "<=", $rs['num']]])
+                            ->order("min_num desc")
+                            ->find();
+                        if (empty($good_ladder)) {
                             $update_c_data['status'] = OIFCModel::$status_wait_confirm;
-                            $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',导入总价错误' : '导入总价错误';
-                            $extend_insert_data['before_discount_all_price'] = 0;
+                            $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',找不到商品售价' : '找不到商品售价';
+                        } else {
+
+                            if ($rs['price'] < $good_ladder['sale_price']) {
+                                $update_c_data['status'] = OIFCModel::$status_wait_confirm;
+                                $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',售价低于系统标准价' . $good_ladder['sale_price'] : '售价低于系统标准价' . $good_ladder['sale_price'];
+                                $extend_insert_data['price'] = 0;//价格错误
+                                $extend_insert_data['before_discount_all_price'] = 0;//总价也错误
+                            }
+
                         }
+                    }
 
+                    //判断总价是否计算正确
+                    if (($rs['num'] * $rs['price']) != $rs['before_discount_all_price']) {
+                        $update_c_data['status'] = OIFCModel::$status_wait_confirm;
+                        $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',导入总价错误' : '导入总价错误';
+                        $extend_insert_data['before_discount_all_price'] = 0;
                     }
+
                 } else {
                     $update_c_data['status'] = OIFCModel::$status_wait_confirm;
                     $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',售价不能为0' : '售价不能为0';
@@ -159,23 +200,6 @@ class ImportOrderFromCAnalysisData extends Command
                     $extend_insert_data['sale_source'] = '';
                 }
 
-                //活动信息
-                if ($rs['activity_name']) {
-                    $activity_info = Db::name('good_activity')
-                        ->field('id,activity_name,activity_code')
-                        ->where(['activity_name' => $rs['activity_name'], 'is_del' => 0])
-                        ->find();
-                    if (empty($activity_info)) {
-                        $update_c_data['status'] = OIFCModel::$status_wait_confirm;
-                        $update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',该活动不存在' : '该活动不存在';
-                        $extend_insert_data['activity_code'] = '';
-                        $extend_insert_data['activity_name'] = '';
-                    } else {
-                        $extend_insert_data['activity_code'] = $activity_info['activity_code'];
-                        $extend_insert_data['activity_name'] = $activity_info['activity_name'];
-                    }
-
-                }
 
             } else {
                 $update_c_data['status'] = OIFCModel::$status_wait_confirm;