|
@@ -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');
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|