Files
OMS/app/erpapi/lib/shop/response/process/goods.php
2026-01-04 19:08:31 +08:00

322 lines
11 KiB
PHP

<?php
/**
* Copyright 2012-2026 ShopeX (https://www.shopex.cn)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class erpapi_shop_response_process_goods {
/**
* 添加
* @param mixed $params 参数
* @return mixed 返回值
*/
public function add($params)
{
if (!$params['item']['jdp_delete']) {
return kernel::single('inventorydepth_event_receive_goods')->add($params);
} else {
return kernel::single('inventorydepth_event_receive_goods')->delete($params);
}
}
/**
* 删除
* @param mixed $params 参数
* @return mixed 返回值
*/
public function delete($params)
{
return kernel::single('inventorydepth_event_receive_goods')->delete($params);
}
/**
* sku_delete
* @param mixed $params 参数
* @return mixed 返回值
*/
public function sku_delete($params)
{
$skuMdl = app::get('inventorydepth')->model('shop_skus');
$skuMdl->delete(array('shop_iid'=>$params['iid'],'shop_sku_id'=>$params['sku_id'],'shop_id'=>$params['shop']['shop_id']));
return array('rsp'=>'succ','msg' => '删除成功');
}
/**
* [翱象系统]货品新建&更新结果回传
*
* @param array $params
* @return array
*/
public function aoxiang_update($params)
{
$axProductMdl = app::get('dchain')->model('aoxiang_product');
$shop_id = $params['shop_id'];
$dataList = $params['items'];
$msg = '';
//check
if(empty($shop_id)){
return array('rsp'=>'fail', 'msg'=>'更新失败:没有获取到店铺', 'result'=>0, 'data'=>$dataList);
}
if(empty($dataList)){
return array('rsp'=>'fail', 'msg'=>'更新失败:没有可更新的普通商品', 'result'=>0, 'data'=>$dataList);
}
//list
$succList = array();
$failList = array();
$result_error_msg = '';
foreach ($dataList as $key => $val)
{
$product_bn = $val['scItemId'];
if($val['success']){
$succList[] = $product_bn;
}else{
$failList[] = $product_bn;
$result_error_msg = ($val['bizMessage'] ? $val['bizMessage'] : '更新商品失败');
}
}
//succ
if($succList){
//update
$updateData = array('sync_status'=>'succ', 'last_modified'=>time());
$axProductMdl->update($updateData, array('shop_id'=>$shop_id, 'product_bn'=>$succList));
}
//error
if($failList){
//error_msg
$result_error_msg = stripslashes($result_error_msg);
$result_error_msg = str_replace(array('"', "'", '/'), '', $result_error_msg);
//update
$updateData = array('sync_status'=>'fail', 'last_modified'=>time(), 'sync_msg'=>$result_error_msg);
$axProductMdl->update($updateData, array('shop_id'=>$shop_id, 'product_bn'=>$failList));
}
//unset
unset($dataList, $succList, $failList);
//result
return array('rsp'=>'succ', 'msg'=>'更新普通商品成功', 'result'=>1, 'data'=>array());
}
/**
* [翱象系统]组合货品新建&更新结果回传
*
* @param array $params
* @return array
*/
public function aoxiang_combine_update($params)
{
$axProductMdl = app::get('dchain')->model('aoxiang_product');
$shop_id = $params['shop_id'];
$dataList = $params['items'];
$msg = '';
//check
if(empty($shop_id)){
return array('rsp'=>'fail', 'msg'=>'更新失败:没有获取到店铺', 'result'=>0, 'data'=>$dataList);
}
if(empty($dataList)){
return array('rsp'=>'fail', 'msg'=>'更新失败:没有可更新的组合商品', 'result'=>0, 'data'=>$dataList);
}
//list
$succList = array();
$failList = array();
$result_error_msg = '';
foreach ($dataList as $key => $val)
{
$product_bn = ($val['combineScItemId'] ? $val['combineScItemId'] : $val['scItemId']);
if($val['success']){
$succList[] = $product_bn;
}else{
$failList[] = $product_bn;
$result_error_msg = ($val['bizMessage'] ? $val['bizMessage'] : '更新组合商品失败');
}
}
//succ
if($succList){
//update
$updateData = array('sync_status'=>'succ', 'last_modified'=>time(), 'sync_msg'=>'');
$axProductMdl->update($updateData, array('shop_id'=>$shop_id, 'product_bn'=>$succList));
}
//error
if($failList){
//error_msg
$result_error_msg = stripslashes($result_error_msg);
$result_error_msg = str_replace(array('"', "'", '/'), '', $result_error_msg);
//update
$updateData = array('sync_status'=>'fail', 'last_modified'=>time(), 'sync_msg'=>$result_error_msg);
$axProductMdl->update($updateData, array('shop_id'=>$shop_id, 'product_bn'=>$failList));
}
//unset
unset($dataList, $succList, $failList);
//result
return array('rsp'=>'succ', 'msg'=>'更新组合商品成功', 'result'=>1, 'data'=>array());
}
/**
* [翱象系统]货品删除结果回传
*
* @param array $params
* @return array
*/
public function aoxiang_delete($params)
{
$axProductMdl = app::get('dchain')->model('aoxiang_product');
$shop_id = $params['shop_id'];
$product_bn = $params['product_bn'];
$msg = '';
//check
if($params['rsp'] == 'succ'){
//delete
$axProductMdl->delete(array('shop_id'=>$shop_id, 'product_bn'=>$product_bn));
$msg = '删除成功'. ($params['err_msg'] ? '('. $params['err_msg'] .')' : '');
}else{
$msg = '删除失败'. ($params['err_msg'] ? '('. $params['err_msg'] .')' : '');
}
return array('rsp'=>$params['rsp'], 'msg'=>$msg);
}
/**
* [翱象系统]商货品关联关系结果回传
*
* @param array $params
* @return array
*/
public function aoxiang_mapping($params)
{
$axProductMdl = app::get('dchain')->model('aoxiang_product');
$axSkuMdl = app::get('dchain')->model('aoxiang_skus');
$shop_id = $params['shop_id'];
$dataList = $params['items'];
$msg = '';
//check
if(empty($shop_id)){
return array('rsp'=>'fail', 'msg'=>'更新商品关系失败:没有获取到店铺', 'result'=>0, 'data'=>$dataList);
}
if(empty($dataList)){
return array('rsp'=>'fail', 'msg'=>'更新商品关系失败:没有可更新的组合商品', 'result'=>0, 'data'=>$dataList);
}
//list
$succList = array();
$failList = array();
foreach ($dataList as $key => $val)
{
if($val['success']){
$succList[] = array(
'product_bn' => $val['scItemId'], //product_bn
'shop_iid' => $val['itemId'], //shop_iid
'shop_sku_id' => $val['skuId'], //shop_sku_id
);
}else{
//error_msg
$error_msg = ($val['bizMessage'] ? $val['bizMessage'] : $val['bizCode']);
$error_msg = stripslashes($error_msg);
$error_msg = str_replace(array('"', "'", '/'), '', $error_msg);
$failList[] = array(
'product_bn' => $val['scItemId'], //product_bn
'shop_iid' => $val['itemId'], //shop_iid
'shop_sku_id' => $val['skuId'], //shop_sku_id
'error_msg' => $error_msg, //error_msg
);
}
}
//succ
if($succList){
$updateSku = array('mapping_status'=>'succ', 'mapping_time'=>time(), 'sync_msg'=>'');
$product_bns = array();
foreach ($succList as $key => $val)
{
//update sku
$filter = array('shop_id'=>$shop_id, 'product_bn'=>$val['product_bn'], 'shop_iid'=>$val['shop_iid']);
if($val['shop_sku_id']){
$filter['shop_sku_id'] = $val['shop_sku_id'];
}
$axSkuMdl->update($updateSku, $filter);
//product_bn
$product_bns[] = $val['product_bn'];
}
//update mapping_status
$updateProdcut = array('mapping_status'=>'succ', 'mapping_time'=>time(), 'sync_msg'=>'');
$axProductMdl->update($updateProdcut, array('shop_id'=>$shop_id, 'product_bn'=>$product_bns));
}
//error
if($failList){
$updateSku = array('mapping_status'=>'fail', 'last_modified'=>time());
$product_bns = array();
$error_msg = '';
foreach ($failList as $key => $val)
{
$error_msg = $val['error_msg'];
//sdf
$updateSku['sync_msg'] = $error_msg;
//update sku
$filter = array('shop_id'=>$shop_id, 'product_bn'=>$val['product_bn'], 'shop_iid'=>$val['shop_iid']);
if($val['shop_sku_id']){
$filter['shop_sku_id'] = $val['shop_sku_id'];
}
$axSkuMdl->update($updateSku, $filter);
//product_bn
$product_bns[] = $val['product_bn'];
}
//update mapping_status
$updateProdcut = array('mapping_status'=>'fail', 'last_modified'=>time(), 'sync_msg'=>$error_msg);
$axProductMdl->update($updateProdcut, array('shop_id'=>$shop_id, 'product_bn'=>$product_bns));
}
//unset
unset($dataList, $succList, $failList);
//result
return array('rsp'=>'succ', 'msg'=>'更新商品关系成功', 'result'=>1, 'data'=>array());
}
}