|
@@ -45,17 +45,26 @@ class ImportOrderFromCAnalysisData extends Command
|
|
|
$val = Validate::rule([
|
|
|
'platform_code|平台订单号' => 'require',
|
|
|
'platform_time|平台下单时间' => 'require|date',
|
|
|
- 'sale_source|销售渠道' => 'require',
|
|
|
+ 'sale_source|销售渠道' => 'require|checkSaleSource:',
|
|
|
'plat_code|平台商品编号' => 'require',
|
|
|
'price|单价' => 'require|float',
|
|
|
- 'num|数量' => 'require|number',
|
|
|
- 'before_discount_all_price|优惠前总金额' => 'require|float',
|
|
|
- 'mode|收费模式' => 'require',
|
|
|
+ 'num|数量' => 'require|number|gt:0',
|
|
|
+ 'before_discount_all_price|总金额' => 'require|float',
|
|
|
+ 'mode|收费模式' => 'require|in:卡券支付,现金支付,混合支付',
|
|
|
'contactor|收货人' => 'require',
|
|
|
'mobile|联系电话' => 'require',
|
|
|
'addr|联系地址' => 'require',
|
|
|
]);
|
|
|
|
|
|
+ //校验销售渠道
|
|
|
+ $val->extend('checkSaleSource', function ($val) {
|
|
|
+ $temp = Db::name('platform_source')
|
|
|
+ ->field('id')
|
|
|
+ ->where(['source' => $val, 'is_del' => 0])
|
|
|
+ ->find();
|
|
|
+ return empty($temp) ? '销售渠道不存在' : true;
|
|
|
+ });
|
|
|
+
|
|
|
$update_c_data = [
|
|
|
'updatetime' => date('Y-m-d H:i:s'),
|
|
|
'updateid' => 0,
|
|
@@ -63,7 +72,7 @@ class ImportOrderFromCAnalysisData extends Command
|
|
|
];
|
|
|
if (!$val->check($rs)) {
|
|
|
$update_c_data['status'] = OIFCModel::$status_wait_confirm;
|
|
|
- $update_c_data['remark'] = '数据格式不对,' . $val->getError();
|
|
|
+ $update_c_data['remark'] = '数据错误,' . $val->getError();
|
|
|
}
|
|
|
|
|
|
$extend_insert_data = [
|
|
@@ -82,14 +91,17 @@ class ImportOrderFromCAnalysisData extends Command
|
|
|
'mobile' => $rs['mobile'],
|
|
|
'addr' => $rs['addr'],
|
|
|
'type' => 1,//1系统解析,2用户确认
|
|
|
- 'addtime' => date('Y-m-d H:i:s')
|
|
|
+ 'addtime' => date('Y-m-d H:i:s'),
|
|
|
+ 'sale_source' => $rs['sale_source'],
|
|
|
+ 'mode' => $rs['mode'],
|
|
|
+
|
|
|
];
|
|
|
|
|
|
|
|
|
//销售渠道
|
|
|
- $extend_insert_data['sale_source'] = Db::name('platform_source')
|
|
|
- ->where(['source' => $rs['sale_source'], 'is_del' => 0])
|
|
|
- ->value('source', '');
|
|
|
+// $extend_insert_data['sale_source'] = Db::name('platform_source')
|
|
|
+// ->where(['source' => $rs['sale_source'], 'is_del' => 0])
|
|
|
+// ->value('source', '');
|
|
|
|
|
|
//组织extend的数据
|
|
|
$good_platform_info = Db::name('good_platform')
|
|
@@ -105,7 +117,7 @@ class ImportOrderFromCAnalysisData extends Command
|
|
|
$extend_insert_data['plat_code'] = $good_platform_info['plat_code'];
|
|
|
|
|
|
$good_info = Db::name('good')
|
|
|
- ->field('good_name,companyNo,supplierNo')
|
|
|
+ ->field('id,good_name,companyNo,supplierNo')
|
|
|
->where(['is_del' => 0])
|
|
|
->where('spuCode', $extend_insert_data['spuCode'])
|
|
|
->find();
|
|
@@ -118,6 +130,30 @@ class ImportOrderFromCAnalysisData extends Command
|
|
|
$update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',在上线商品表中查不到spuCode对应的商品信息' : '在上线商品表中查不到spuCode对应的商品信息';
|
|
|
}
|
|
|
|
|
|
+ //商品价格和总价
|
|
|
+ $good_ladder = Db::name("good_ladder")
|
|
|
+ ->field('id,sale_price')
|
|
|
+ ->where(["skuCode" => $good_platform_info['spuCode'], "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']) {
|
|
|
+ $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'];
|
|
|
+ }
|
|
|
+
|
|
|
+ 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'] . ',导入总价错误' : '导入总价错误';
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
$update_c_data['status'] = OIFCModel::$status_wait_confirm;
|
|
|
$update_c_data['remark'] = isset($update_c_data['remark']) ? $update_c_data['remark'] . ',在商品平台表中查不到平台商品编号对应的spuCode' : '在商品平台表中查不到平台商品编号对应的spuCode';
|
|
@@ -125,14 +161,22 @@ class ImportOrderFromCAnalysisData extends Command
|
|
|
|
|
|
//活动信息
|
|
|
if ($rs['activity_name']) {
|
|
|
- $extend_insert_data['activity_code'] = Db::name('good_activity')
|
|
|
+ $activity_info = Db::name('good_activity')
|
|
|
+ ->field('id,activity_name,activity_code')
|
|
|
->where(['activity_name' => $rs['activity_name'], 'is_del' => 0])
|
|
|
- ->value('activity_code', '');
|
|
|
- $extend_insert_data['activity_name'] = $extend_insert_data['activity_code'] ? $rs['activity_name'] : '';
|
|
|
+ ->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'] . ',该活动不存在' : '该活动不存在';
|
|
|
+ } else {
|
|
|
+ $extend_insert_data['activity_code'] = $activity_info['activity_code'];
|
|
|
+ $extend_insert_data['activity_name'] = $activity_info['activity_name'];
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//收费模式
|
|
|
- $extend_insert_data['mode'] = in_array($rs['mode'], ['卡券支付', '现金支付', '混合支付']) ? $rs['mode'] : '';
|
|
|
+// $extend_insert_data['mode'] = in_array($rs['mode'], ['卡券支付', '现金支付', '混合支付']) ? $rs['mode'] : '';
|
|
|
|
|
|
//企业客户
|
|
|
$co = Db::name('good_platform')
|