mirror of
https://gitee.com/ShopeX/OMS
synced 2026-04-22 20:55:38 +08:00
1. 【新增】售后单售后原因类型支持搜索
2. 【新增】手工创建订单折扣可输入正数 3. 【优化】盘点申请单确认 4. 【修复】采购退货单模拟出库失败问题 5. 【新增】订单金额客户实付与结算金额 6. 【优化】仓库发货统计报表物料名称显示 7. 【优化】自有仓储虚拟发货逻辑 8. 【修复】基础物料分类管理问题
This commit is contained in:
89
app/erpapi/lib/shop/matrix/b2b/response/aftersale.php
Normal file
89
app/erpapi/lib/shop/matrix/b2b/response/aftersale.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
/**
|
||||
* @desc
|
||||
* @author:
|
||||
* @since:
|
||||
*/
|
||||
class erpapi_shop_matrix_b2b_response_aftersale extends erpapi_shop_response_aftersale {
|
||||
|
||||
protected function _formatAddParams($params) {
|
||||
|
||||
return $this->_formatdata($params);
|
||||
}
|
||||
|
||||
protected function _checkeditAftersale($tgReturn, $refund_version_change)
|
||||
{
|
||||
if ($tgReturn && $refund_version_change == true) {
|
||||
return false;
|
||||
} else {
|
||||
return $tgReturn;
|
||||
}
|
||||
}
|
||||
|
||||
protected function _formatLogisticsUpdate($params)
|
||||
{
|
||||
if (is_string($params['logistics_info'])) {
|
||||
$logistics_info = json_decode($params['logistics_info'], true);
|
||||
$process_data = array();
|
||||
$process_data['shipcompany'] = $logistics_info['logistics_company'];
|
||||
$process_data['logino'] = $logistics_info['logistics_no'];
|
||||
}
|
||||
$sdf = array(
|
||||
'order_bn' => $params['tid'],
|
||||
'return_bn' => $params['aftersale_id'],
|
||||
'process_data' => $process_data
|
||||
);
|
||||
return $sdf;
|
||||
}
|
||||
|
||||
function _formatdata($params){
|
||||
|
||||
// 售后物流
|
||||
if (is_string($params['logistics_info'])) {
|
||||
$logistics_info = json_decode($params['logistics_info'], true);
|
||||
if ($logistics_info) {
|
||||
$arrProcessData = array(
|
||||
'shipcompany' => $logistics_info['logistics_company'],
|
||||
'logino' => $logistics_info['logistics_no'],
|
||||
);
|
||||
$process_data = serialize($arrProcessData);
|
||||
}
|
||||
}
|
||||
|
||||
$return_product_items = array();
|
||||
$aftersale_items = json_decode($params['aftersale_items'], true);
|
||||
foreach ($aftersale_items as $key => $val){
|
||||
$return_product_items[] = array(
|
||||
'bn' => $val['sku_bn'],
|
||||
'name' => $val['sku_name'],
|
||||
'quantity' => $val['number'],
|
||||
'num' => $val['number'],
|
||||
'price' => $val['price'],
|
||||
);
|
||||
}
|
||||
|
||||
$sdf = array(
|
||||
'return_bn' => $params['aftersale_id'],
|
||||
'order_bn' => $params['tid'],
|
||||
'status' => $params['status'],
|
||||
'member_uname' => $params['buyer_name'],
|
||||
'return_product_items' => $return_product_items,
|
||||
'process_data' => $process_data,
|
||||
'attachment' => $params['attachment'] ? $params['attachment'] : null,
|
||||
'title' => $params['title'],
|
||||
'content' => $params['content'],
|
||||
'comment' => $params['messager'],
|
||||
'memo' => $params['memo'],
|
||||
'add_time' => $params['created'] ? kernel::single('ome_func')->date2time($params['created']) : time(),
|
||||
'source' => 'matrix',
|
||||
'shop_type' => $this->__channelObj->channel['shop_type'],
|
||||
'org_id' => $this->__channelObj->channel['org_id'],
|
||||
);
|
||||
|
||||
if ($params['status'] == '1' || $params['status'] == '5') {
|
||||
$sdf['refund_version_change'] = true;
|
||||
}
|
||||
|
||||
return $sdf;
|
||||
}
|
||||
}
|
||||
284
app/erpapi/lib/shop/matrix/b2b/response/aftersalev2.php
Normal file
284
app/erpapi/lib/shop/matrix/b2b/response/aftersalev2.php
Normal file
@@ -0,0 +1,284 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* 售后接口数据转换
|
||||
* Class erpapi_shop_matrix_b2b_response_aftersalev2
|
||||
*/
|
||||
class erpapi_shop_matrix_b2b_response_aftersalev2 extends erpapi_shop_response_aftersalev2
|
||||
{
|
||||
var $status = array(
|
||||
'apply' => array(
|
||||
'APPLY' => '0',
|
||||
'VERIFY' => '1',
|
||||
'SUCC' => '2',
|
||||
'REFUND' => '4',
|
||||
'FAIL' => '3',
|
||||
),
|
||||
'refund' => array(
|
||||
'SUCC' => 'succ',
|
||||
'FAILED' => 'failed',
|
||||
'CANCEL' => 'cancel',
|
||||
'ERROR' => 'error',
|
||||
'INVALID' => 'invalid',
|
||||
'PROGRESS' => 'progress',
|
||||
'TIMEOUT' => 'timeout',
|
||||
'READY' => 'ready',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
static public $aftersale_refund = [
|
||||
'0' => 'WAIT_SELLER_AGREE',
|
||||
'1' => 'WAIT_SELLER_AGREE',
|
||||
'2' => 'WAIT_BUYER_RETURN_GOODS',//卖家已经同意退款
|
||||
'3' => 'CLOSED',//卖家拒绝
|
||||
'4' => 'SUCCESS',//退款成功
|
||||
'succ' => 'WAIT_SELLER_AGREE',
|
||||
];
|
||||
|
||||
static public $aftersale_return = [
|
||||
'1' => 'WAIT_SELLER_AGREE',//待处理
|
||||
'2' => 'WAIT_SELLER_AGREE',//待处理
|
||||
'3' => 'WAIT_BUYER_RETURN_GOODS',//待退货
|
||||
'4' => 'SUCCESS',//退款成功
|
||||
'5' => 'CLOSED',//商家未收货拒绝退款或退货取消
|
||||
'9' => 'CLOSED',//拒绝退款
|
||||
];
|
||||
|
||||
/**
|
||||
* 售后退货 store.trade.aftersale.add
|
||||
* 退款 store.trade.refund.add
|
||||
* 外部直连是分别请求的,oms在mapping里转换成 shop.aftersalev2.add
|
||||
* 转接aftersale的请求至aftersalev2
|
||||
* 有aftersale_id为退货
|
||||
* 有refund_id为退款
|
||||
* @param $params
|
||||
* @return array
|
||||
* @author db
|
||||
* @date 2023-08-25 2:02 下午
|
||||
*/
|
||||
protected function _formatAddParams($params)
|
||||
{
|
||||
if (isset($params['method']) && $params['method'] == 'store.trade.aftersale.add') {
|
||||
return $this->_formatAddParamsReturn($params);
|
||||
} else {
|
||||
return $this->_formatAddParamsRefund($params);
|
||||
}
|
||||
}
|
||||
|
||||
public function _formatAddParamsReturn($params)
|
||||
{
|
||||
$sdf = parent::_formatAddParams($params);
|
||||
// 售后物流
|
||||
if (is_string($params['logistics_info'])) {
|
||||
$logistics_info = json_decode($params['logistics_info'], true);
|
||||
if ($logistics_info) {
|
||||
$params['logistics_company'] = $logistics_info['logistics_company'];
|
||||
$params['logistics_no'] = $logistics_info['logistics_no'];
|
||||
}
|
||||
}
|
||||
|
||||
if($params['original_order_bn']){
|
||||
$sdf['change_order_flag'] = true;
|
||||
|
||||
$params['oid'] = '';
|
||||
$sdf['memo'] = '换货订单转换生成,原订单号:'.$params['tid'];
|
||||
$this->_tranChangeItems($params);
|
||||
$refund_item_list= $params['refund_item_list'];
|
||||
}else{
|
||||
|
||||
$refund_item_list = [];
|
||||
$return_item = [];
|
||||
$aftersale_items = is_string($params['aftersale_items']) ? json_decode($params['aftersale_items'], true) : $params['aftersale_items'];
|
||||
foreach ($aftersale_items as $key => $val) {
|
||||
$return_item[] = array(
|
||||
'title' => $val['sku_name'],
|
||||
'price' => $val['price'],
|
||||
'oid' => $val['oid'],
|
||||
'modified' => time(),
|
||||
'num' => $val['number'],
|
||||
'item_id' => $val['sku_bn'],
|
||||
'outer_id' => '',
|
||||
'amount' => $val['amount'],
|
||||
'sku_uuid'=>$val['sku_uuid'],
|
||||
);
|
||||
}
|
||||
|
||||
if ($return_item) {
|
||||
$refund_item_list['return_item'] = $return_item;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
$d1mSdf = array(
|
||||
'order_bn' => $params['tid'],
|
||||
'refund_bn' => $params['aftersale_id'],
|
||||
'status' => self::$aftersale_return[$params['status']],//需要确认
|
||||
'source_status' => $params['status'],
|
||||
'refund_fee' => $params['refund_money'] ? sprintf('%.2f', $params['refund_money']) : 0,//申请退款金额
|
||||
'reason' => $params['memo'],//退货原因
|
||||
'modified' => time(),
|
||||
'created' => $params['created'] ? kernel::single('ome_func')->date2time($params['created']) : time(),//申请时间
|
||||
'buyer_nick' => $params['buyer_name'],//会员名
|
||||
'desc' => $params['messager'],//申请售后留言
|
||||
'logistics_company' => $params['logistics_company'] ? $params['logistics_company'] : '',
|
||||
'logistics_no' => $params['logistics_no'] ? $params['logistics_no'] : '',
|
||||
'has_good_return' => 'true',
|
||||
'refund_item_list' => $refund_item_list ? $refund_item_list : '',
|
||||
'org_id' => $this->__channelObj->channel['org_id'],
|
||||
'oid' => isset($refund_item_list['return_item']) ? $refund_item_list['return_item'][0]['oid'] : '', //未发货退款明细删除用
|
||||
'original_order_bn' => $params['original_order_bn'],
|
||||
'change_order_id' => isset($params['change_order_id']) ? $params['change_order_id'] : '',
|
||||
);
|
||||
|
||||
// 申请退运费金额
|
||||
$sdf['refund_shipping_fee'] = $params['refund_shipping_fee'] ?:0;
|
||||
return array_merge($sdf, $d1mSdf);
|
||||
}
|
||||
|
||||
public function _formatAddParamsRefund($params)
|
||||
{
|
||||
$sdf = parent::_formatAddParams($params);
|
||||
// 兼容套娃换货退款, 获取实际退款订单号
|
||||
$params['tid'] = $this->_getActualTid($params);
|
||||
|
||||
$refund_item_list = [];
|
||||
if ($params['items']) {
|
||||
$params['items'] = is_string($params['items']) ? json_decode($params['items'], true) : $params['items'];
|
||||
$order = app::get('ome')->model('orders')->db_dump(['order_bn' => $params['tid']], 'order_id');
|
||||
$objList = app::get('ome')->model('order_objects')->getList('*', ['order_id' => $order['order_id']]);
|
||||
$order_items = app::get('ome')->model('order_items')->getList('*', ['order_id' => $order['order_id']]);
|
||||
|
||||
if ($order_items) {
|
||||
$tmp_items = array();
|
||||
foreach ($order_items as $i_key => $i_val) {
|
||||
$tmp_items[$i_val['obj_id']][] = $i_val;
|
||||
}
|
||||
$order_items = NULL;
|
||||
}
|
||||
|
||||
if ($objList) {
|
||||
foreach ($objList as $o_key => &$o_val) {
|
||||
$o_val['order_items'] = $tmp_items[$o_val['obj_id']];
|
||||
}
|
||||
}
|
||||
$objList = array_column($objList, null, 'oid');
|
||||
|
||||
$return_item = [];
|
||||
foreach ($params['items'] as $key => $val) {
|
||||
if ($objList[$val['oid']]) {
|
||||
$obj = $objList[$val['oid']];
|
||||
$item = [
|
||||
'title' => $val['sku_name'],
|
||||
'price' => $val['price'] ?? $obj['sale_price'],
|
||||
'oid' => $val['oid'],
|
||||
'modified' => time(),
|
||||
'num' => $val['number'] ?? $obj['quantity'],
|
||||
'item_id' => $val['sku_bn'],
|
||||
'outer_id' => $val['oid'],
|
||||
'amount' => $val['amount'],
|
||||
'sku_uuid' =>$val['sku_uuid'],
|
||||
];
|
||||
$return_item[] = $item;
|
||||
}
|
||||
}
|
||||
$refund_item_list['return_item'] = $return_item;
|
||||
}
|
||||
|
||||
if (!$refund_item_list) {
|
||||
$this->__apilog['result']['msg'] = '缺少退款商品数据,不接受';
|
||||
return [];
|
||||
}
|
||||
|
||||
$status = $this->status[$params['refund_type']][$params['status']];
|
||||
$d1mSdf = array(
|
||||
'order_bn' => $params['tid'],
|
||||
'refund_bn' => $params['refund_id'],//退款单ID
|
||||
'status' => self::$aftersale_refund[$status],//退款不同
|
||||
'source_status' => self::$aftersale_refund[$status],
|
||||
'refund_fee' => $params['refund_fee'] ? sprintf('%.2f', $params['refund_fee']) : 0,
|
||||
'reason' => $params['memo'],//退款原因
|
||||
'modified' => time(),
|
||||
'created' => $params['created'] ? kernel::single('ome_func')->date2time($params['created']) : time(),//申请时间
|
||||
'buyer_nick' => $params['buyer_name'],//会员名
|
||||
'desc' => $params['messager'],//申请售后留言
|
||||
'refund_item_list' => $refund_item_list ? $refund_item_list : '',
|
||||
'org_id' => $this->__channelObj->channel['org_id'],
|
||||
);
|
||||
|
||||
return array_merge($sdf, $d1mSdf);
|
||||
}
|
||||
|
||||
protected function _formatAddItemList($sdf, $convert = array())
|
||||
{
|
||||
return parent::_formatAddItemList($sdf, $convert);
|
||||
}
|
||||
|
||||
protected function _getAddType($sdf)
|
||||
{
|
||||
return parent::_getAddType($sdf);
|
||||
}
|
||||
|
||||
protected function _getActualTid($params)
|
||||
{
|
||||
$refundApplyMdl = app::get('ome')->model('refund_apply');
|
||||
// 查询退款申请表是否有此单
|
||||
$filter = [
|
||||
'refund_apply_bn' => $params['refund_id'],
|
||||
'shop_id' => $this->__channelObj->channel['shop_id']
|
||||
];
|
||||
|
||||
$refundApply = $refundApplyMdl->dump($filter,'apply_id,refund_apply_bn,order_id,archive');
|
||||
|
||||
// 没有则原样返回
|
||||
if(!$refundApply){
|
||||
return $params['tid'];
|
||||
}
|
||||
|
||||
// 查订单号
|
||||
if($refundApply['archive']){
|
||||
$orderMdl = app::get('archive')->model('orders');
|
||||
}else{
|
||||
$orderMdl = app::get('ome')->model('orders');
|
||||
}
|
||||
|
||||
$order = $orderMdl->dump($refundApply['order_id'],'order_bn');
|
||||
|
||||
|
||||
// 没有则原样返回
|
||||
if(!$order){
|
||||
return $params['tid'];
|
||||
}
|
||||
|
||||
return $order['order_bn'];
|
||||
}
|
||||
|
||||
protected function _formatLogisticsUpdate($params)
|
||||
{
|
||||
if (is_string($params['logistics_info'])) {
|
||||
$logistics_info = json_decode($params['logistics_info'], true);
|
||||
$process_data = array();
|
||||
$process_data['shipcompany'] = $logistics_info['logistics_company'];
|
||||
$process_data['logino'] = $logistics_info['logistics_no'];
|
||||
}
|
||||
$sdf = array(
|
||||
'order_bn' => $params['tid'],
|
||||
'return_bn' => $params['aftersale_id'],
|
||||
'process_data' => $process_data
|
||||
);
|
||||
return $sdf;
|
||||
}
|
||||
|
||||
protected function _tranChangeItems(&$sdf){
|
||||
// 换货商品处理逻辑
|
||||
if ($sdf['exchange_bn']) {
|
||||
$change_items[] = array(
|
||||
'bn' => $sdf['exchange_bn'],
|
||||
'num' => $sdf['num'],
|
||||
'price' => floatval($sdf['price']),
|
||||
);
|
||||
$sdf['change_items'] = $change_items;
|
||||
}
|
||||
}
|
||||
}
|
||||
135
app/erpapi/lib/shop/matrix/b2b/response/exchange.php
Normal file
135
app/erpapi/lib/shop/matrix/b2b/response/exchange.php
Normal file
@@ -0,0 +1,135 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* B2B 换货
|
||||
* Class erpapi_shop_matrix_b2b_response_exchange
|
||||
*/
|
||||
class erpapi_shop_matrix_b2b_response_exchange extends erpapi_shop_response_exchange
|
||||
{
|
||||
protected function _formatAddParams($params)
|
||||
{
|
||||
$sdf = $params;
|
||||
$b2bSdf = array(
|
||||
'oid' => $sdf['tid'],//订单号
|
||||
'return_bn' => $sdf['dispute_id'],//换货单号ID
|
||||
'status' => $sdf['status'],//换货状态
|
||||
'reason' => $sdf['reason'],//换货原因申请理由
|
||||
'comment' => $sdf['desc'],//换货理由补充说明
|
||||
'modified' => $sdf['modified'] ? kernel::single('ome_func')->date2time($sdf['modified']) : '',//修改时间
|
||||
'created' => $sdf['created'] ? kernel::single('ome_func')->date2time($sdf['created']) : time(),//创建时间
|
||||
'buyer_name' => $sdf['buyer_name'],//买家名称
|
||||
'buyer_nick' => $sdf['buyer_nick'],//买家昵称
|
||||
'desc' => $sdf['desc'],//换货理由补充说明
|
||||
'logistics_no' => $sdf['buyer_logistic_no'] ? $sdf['buyer_logistic_no'] : '',//买家发货物流单号
|
||||
'buyer_address' => $sdf['buyer_address'] ? $sdf['buyer_address'] : '',//买家换货地址
|
||||
'logistics_company' => $sdf['buyer_logistic_name'] ? $sdf['buyer_logistic_name'] : '',//买家发货物流公司名称
|
||||
'buyer_phone' => $sdf['buyer_phone'] ? $sdf['buyer_phone'] : '',//买家联系方式
|
||||
'seller_address' => $sdf['address'] ? $sdf['address'] : '',//卖家换货地址
|
||||
'seller_logistic_no' => $sdf['seller_logistic_no'] ? $sdf['seller_logistic_no'] : '',//卖家发货快递单号
|
||||
'seller_logistic_name' => $sdf['seller_logistic_name'] ? $sdf['seller_logistic_name'] : '',//卖家发货物流公司名称
|
||||
'bought_bn' => $sdf['bought_bn'],//购买商品货号
|
||||
'title' => $sdf['title'],//商品名称
|
||||
'num' => $sdf['num'],//换货数量
|
||||
'price' => $sdf['price'],//换货价格
|
||||
'exchange_bn' => $sdf['exchange_bn'],//换货货号
|
||||
'time_out' => $sdf['time_out'],//换货业务超时时间
|
||||
'shop_type' => $this->__channelObj->channel['node_type'],
|
||||
'shop_id' => $this->__channelObj->channel['shop_id'],
|
||||
);
|
||||
|
||||
$formatSdf = parent::_formatAddParams($params);
|
||||
$b2bSdf = array_merge($formatSdf, $b2bSdf);
|
||||
$orders_detail = $this->getOrderByoid($this->__channelObj->channel['shop_id'], $sdf);
|
||||
if (!$orders_detail) {
|
||||
$this->__apilog['result']['msg'] = '订单不存在';
|
||||
return array();
|
||||
}
|
||||
$b2bSdf['order'] = array(//o.order_id,o.status,o.process_status,o.ship_status,o.pay_status
|
||||
'order_id' => $orders_detail['order_id'],
|
||||
'status' => $orders_detail['status'],
|
||||
'process_status' => $orders_detail['process_status'],
|
||||
'ship_status' => $orders_detail['ship_status'],
|
||||
'pay_status' => $orders_detail['pay_status'],
|
||||
'order_bn' => $orders_detail['order_bn'],
|
||||
);
|
||||
if ($orders_detail['tran_type'] == 'archive') {
|
||||
$b2bSdf['order']['tran_type'] = 'archive';
|
||||
}
|
||||
$return_items = array();
|
||||
foreach ($orders_detail['item_list'] as $o_v) {
|
||||
$price = round($o_v['divide_order_fee'] / $o_v['nums'], 2);
|
||||
$radio = $sdf['num'] / $o_v['quantity'];
|
||||
$return_items[] = array(
|
||||
'bn' => $o_v['item_bn'],
|
||||
'name' => $o_v['name'],
|
||||
'product_id' => $o_v['product_id'],
|
||||
'num' => $o_v['obj_type'] == 'pkg' ? (int)($radio * $o_v['nums']) : $sdf['num'],
|
||||
'price' => $price,//换货目前价格就为0
|
||||
'sendNum' => $o_v['sendnum'],
|
||||
'order_item_id' => $o_v['item_id'],
|
||||
'sku_uuid' => $sdf['sku_uuid'],
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
$change_items = array();
|
||||
|
||||
|
||||
if ($params['exchange_bn']) {
|
||||
$change_items[] = array(
|
||||
'bn' => $params['exchange_bn'],
|
||||
'num' => $params['num'],
|
||||
'price' => floatval($params['price']),
|
||||
);
|
||||
}
|
||||
$b2bSdf['change_items'] = $change_items;
|
||||
$b2bSdf['return_items'] = $return_items;
|
||||
return $b2bSdf;
|
||||
}
|
||||
|
||||
protected function _returnProductAdditional($sdf)
|
||||
{
|
||||
$ret = array(
|
||||
'model' => 'return_apply_special',
|
||||
'data' => array(
|
||||
'special' => json_encode(array(
|
||||
'shop_id' => $sdf['shop_id'],
|
||||
'buyer_nick' => $sdf['buyer_nick'],
|
||||
'buyer_logistic_no' => $sdf['logistics_no'],
|
||||
'buyer_address' => $sdf['buyer_address'],
|
||||
'buyer_logistic_name' => $sdf['logistics_company'],
|
||||
'buyer_phone' => $sdf['buyer_phone'],
|
||||
'seller_address' => $sdf['seller_address'],
|
||||
'seller_logistic_no' => $sdf['seller_logistic_no'],
|
||||
'seller_logistic_name' => $sdf['seller_logistic_name'],
|
||||
'exchange_sku' => $sdf['exchange_bn'],
|
||||
'current_phase_timeout' => $sdf['time_out'] ? strtotime($sdf['time_out']) : '',
|
||||
'refund_version' => $sdf['refund_version'],
|
||||
'refund_type' => 'change',
|
||||
'exchange_num' => $sdf['num'],
|
||||
'exchange_price' => floatval($sdf['price']),
|
||||
'oid' => $sdf['oid'],
|
||||
), JSON_UNESCAPED_UNICODE)
|
||||
)
|
||||
);
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public function getOrderByoid($shop_id, $sdf)
|
||||
{
|
||||
$orderModel = app::get('ome')->model('orders');
|
||||
$order = $orderModel->db->selectrow("SELECT o.order_bn,o.order_id,o.status,o.process_status,o.ship_status,o.pay_status FROM sdb_ome_orders as o WHERE o.order_bn='" . $sdf['tid'] . "' AND o.shop_id='" . $shop_id . "' ");
|
||||
if (!$order) {
|
||||
return false;
|
||||
}
|
||||
$items_list = $orderModel->db->select("SELECT ob.bn,ob.obj_type,ob.obj_id,ob.quantity,ob.sale_price,i.bn as item_bn,i.name,i.product_id,i.nums,i.sale_price,i.sendnum,i.divide_order_fee,i.item_id FROM sdb_ome_order_objects as ob left join sdb_ome_order_items as i on ob.obj_id=i.obj_id WHERE ob.order_id=" . $order['order_id'] . " AND ob.bn='" . $sdf['bought_bn'] . "' AND i.delete='false'");
|
||||
if (!$items_list) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$order['item_list'] = $items_list;
|
||||
|
||||
return $order;
|
||||
}
|
||||
|
||||
}
|
||||
23
app/erpapi/lib/shop/matrix/b2b/response/goods.php
Normal file
23
app/erpapi/lib/shop/matrix/b2b/response/goods.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
/**
|
||||
* 店铺商品同步
|
||||
*/
|
||||
class erpapi_shop_matrix_b2b_response_goods extends erpapi_shop_response_goods
|
||||
{
|
||||
protected function _formatAddParams($params)
|
||||
{
|
||||
$params['skus'] = $params['skus'] ? @json_decode($params['skus'], true) : [];
|
||||
return parent::_formatAddParams(['data'=>$params]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除店铺商品
|
||||
*
|
||||
* @return void
|
||||
* @author
|
||||
*/
|
||||
public function delete($params)
|
||||
{
|
||||
return parent::delete(['data' => $params]);
|
||||
}
|
||||
}
|
||||
73
app/erpapi/lib/shop/matrix/b2b/response/invoice.php
Normal file
73
app/erpapi/lib/shop/matrix/b2b/response/invoice.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
/**
|
||||
* @desc
|
||||
* @author:
|
||||
* @since:
|
||||
*/
|
||||
class erpapi_shop_matrix_b2b_response_invoice extends erpapi_shop_response_invoice {
|
||||
|
||||
/**
|
||||
* 获取数据
|
||||
*
|
||||
* @param array $params
|
||||
*
|
||||
* @return array:
|
||||
*/
|
||||
protected function _returnParams($params)
|
||||
{
|
||||
$sdf = $this->_formatParams($params);
|
||||
|
||||
$sdf['tax_no'] = $params['register_no']; // 发票号, 待确认是否要传
|
||||
$sdf['register_no'] = $params['register_no']; // 税务号 format函数缺失字段
|
||||
$sdf['tax_title'] = $params['company_title']; // 发票抬头 format函数缺失字段
|
||||
// 发票抬头 format函数缺失字段 todo 待确认是否调整文档
|
||||
// 文档:发票属性。可选值:0(公司),1(个人)
|
||||
// dbschema :可选值:0(个人),1(企业)
|
||||
$sdf['title_type'] = $params['invoice_attr'] ? '0' : '1';
|
||||
|
||||
// todo extend_arg字段后续未使用. order_invoice表没有字段;ome_event_trigger_shop_invoice::create_invoice_order 格式不正确
|
||||
return $sdf;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 格式化发票传输数据
|
||||
*
|
||||
* @param array $params
|
||||
*
|
||||
* @return array:
|
||||
*/
|
||||
protected function _formatMessagePush($params)
|
||||
{
|
||||
$sdf = array(
|
||||
'tid' => $params['tid'],
|
||||
'tax_title' => $params['company_title'],
|
||||
'register_no' => $params['register_no'],
|
||||
'title_type' => $params['invoice_attr'], //发票属性。可选值:0(公司),1(个人)
|
||||
'invoice_amount'=> $params['invoice_amount'],
|
||||
'extend_arg' => $params['extend_arg']
|
||||
);
|
||||
|
||||
//发票类型: 接口文档 1=电子发票,2=纸质发票,3=专票 && ERP 0=纸质发票,1=电子发票
|
||||
//兼容金税四期,专票调整为电子类型
|
||||
$invoiceKindMap = [
|
||||
'1' => 1,
|
||||
'2' => 2,
|
||||
'3' => 1,
|
||||
];
|
||||
|
||||
if(!isset($invoiceKindMap[$params['invoice_kind']])){
|
||||
$this->__apilog['result']['msg'] = '不支持的发票类型';
|
||||
return false;
|
||||
}
|
||||
$sdf['invoice_kind'] = $invoiceKindMap[$params['invoice_kind']];
|
||||
|
||||
// 专票兼容
|
||||
if($params['invoice_kind'] == '3'){
|
||||
$sdf['value_added_tax_invoice'] = true;
|
||||
}
|
||||
|
||||
return $sdf;
|
||||
}
|
||||
|
||||
}
|
||||
233
app/erpapi/lib/shop/matrix/b2b/response/order.php
Normal file
233
app/erpapi/lib/shop/matrix/b2b/response/order.php
Normal file
@@ -0,0 +1,233 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @category
|
||||
* @package
|
||||
* @author chenping<chenping@shopex.cn>
|
||||
* @version $Id: Z
|
||||
*/
|
||||
class erpapi_shop_matrix_b2b_response_order extends erpapi_shop_response_order
|
||||
{
|
||||
var $status = array('TRADE_ACTIVE' => 'active', 'TRADE_CLOSED' => 'dead', 'TRADE_FINISHED' => 'finish');
|
||||
var $pay_status = array('PAY_NO' => 0,
|
||||
'PAY_FINISH' => 1,
|
||||
'PAY_TO_MEDIUM' => 2,
|
||||
'PAY_PART' => 3,
|
||||
'REFUND_PART' => 4,
|
||||
'REFUND_ALL' => 5,
|
||||
'REFUNDING' => 6
|
||||
);
|
||||
var $ship_status = array('SHIP_NO' => 0,
|
||||
'SHIP_FINISH' => 1,
|
||||
'SHIP_PREPARE' => 1,
|
||||
'SHIP_PART' => 2,
|
||||
'RESHIP_PART' => 3,
|
||||
'RESHIP_ALL' => 4
|
||||
);
|
||||
|
||||
var $item_status = array(
|
||||
'TRADE_ACTIVE' => 'active',
|
||||
'TRADE_CLOSED' => 'close',
|
||||
'TRADE_FINISHED' => 'close',
|
||||
);
|
||||
|
||||
// 校验排除项
|
||||
protected $_checkExcludeList = [
|
||||
'item_movement_code', // 赠品明细movement_code
|
||||
//'pmt_discount_code' // discount_code
|
||||
];
|
||||
|
||||
protected function _analysis()
|
||||
{
|
||||
|
||||
$this->formatData();
|
||||
|
||||
$this->__apilog['result']['data'] = array('tid' => $this->_ordersdf['order_bn']);
|
||||
$this->__apilog['original_bn'] = $this->_ordersdf['order_bn'];
|
||||
|
||||
parent::_analysis();
|
||||
|
||||
|
||||
if(in_array($this->_ordersdf['trade_type'],array('step')) || in_array($this->_ordersdf['t_type'],array('step'))){
|
||||
$this->_ordersdf['order_type'] = 'presale';
|
||||
}
|
||||
foreach($this->_ordersdf['order_objects'] as $object){
|
||||
if($object['zhengji_status']){
|
||||
if(in_array($object['zhengji_status'],array('1','2'))){
|
||||
$this->_ordersdf['order_type'] = 'presale';
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function formatData(){
|
||||
$aData = $this->_ordersdf;
|
||||
unset($this->_ordersdf);
|
||||
|
||||
$order_sdf['order_bn'] = $aData['tid'];
|
||||
$order_sdf['status'] = $this->status[$aData['status']];
|
||||
$order_sdf['source_status'] = $aData['status'];
|
||||
$order_sdf['pay_status'] = $this->pay_status[$aData['pay_status']];
|
||||
$order_sdf['ship_status'] = $this->ship_status[$aData['ship_status']];
|
||||
$order_sdf['is_delivery'] = $aData['is_delivery'];
|
||||
|
||||
//配送信息 begin
|
||||
$shipping['shipping_id'] = $aData['shipping_tid'];
|
||||
$shipping['shipping_name'] = $aData['shipping_type'];
|
||||
$shipping['cost_shipping'] = $aData['shipping_fee'];
|
||||
$shipping['is_protect'] = $aData['is_protect'];
|
||||
$shipping['cost_protect'] = $aData['protect_fee'];
|
||||
$shipping['is_cod'] = $aData['is_cod'];
|
||||
//配送信息 end
|
||||
$order_sdf['shipping'] = $shipping;
|
||||
//支付方式信息 begin
|
||||
$payinfo['pay_name'] = $aData['payment_type'];
|
||||
$payinfo['cost_payment'] = $aData['pay_cost']; //支付费用
|
||||
|
||||
//支付方式信息 end
|
||||
$order_sdf['payinfo'] = $payinfo;
|
||||
$order_sdf['is_sh_ship'] = $aData['is_sh_ship'] ? $aData['is_sh_ship'] : '';#菜鸟自动流转订单
|
||||
$order_sdf['pay_bn'] = $aData['payment_tid'];
|
||||
$order_sdf['weight'] = $aData['total_weight'];
|
||||
$order_sdf['title'] = $aData['title'];
|
||||
$order_sdf['createtime'] = $aData['created'];
|
||||
// 收货人信息 begin
|
||||
$consignee['name'] = $aData['receiver_name'];
|
||||
$consignee['area_state'] = $aData['receiver_state'];
|
||||
$consignee['area_city'] = $aData['receiver_city'];
|
||||
$consignee['area_district'] = $aData['receiver_district'];
|
||||
$consignee['addr'] = $aData['receiver_address'];
|
||||
$consignee['zip'] = $aData['receiver_zip'];
|
||||
$consignee['telephone'] = $aData['receiver_phone'];
|
||||
$consignee['mobile'] = $aData['receiver_mobile'];
|
||||
$consignee['email'] = $aData['receiver_email'];
|
||||
$consignee['r_time'] = $aData['receiver_time'];
|
||||
//收货人信息 end
|
||||
$order_sdf['consignee'] = $consignee;
|
||||
//发货人信息 begin 暂时没有找到 用发货人信息代替
|
||||
$consigner['name'] = $aData['receiver_name'];
|
||||
$consigner['area_state'] = $aData['receiver_state'];
|
||||
$consigner['area_city'] = $aData['receiver_city'];
|
||||
$consigner['area_district'] = $aData['receiver_district'];
|
||||
$consigner['addr'] = $aData['receiver_address'];
|
||||
$consigner['zip'] = $aData['receiver_zip'];
|
||||
$consigner['telephone'] = $aData['receiver_phone'];
|
||||
$consigner['mobile'] = $aData['receiver_mobile'];
|
||||
$consigner['email'] = $aData['receiver_email'];
|
||||
//发货人信息 end
|
||||
$order_sdf['consigner'] = $consigner;
|
||||
|
||||
//买家会员信息 begin
|
||||
$member_info['uname'] = $aData['buyer_uname'];
|
||||
$member_info['name'] = $aData['buyer_name'];
|
||||
$member_info['alipay_no'] = $aData['buyer_alipay_no'];
|
||||
$member_info['area_state'] = $aData['buyer_state'];
|
||||
$member_info['area_city'] = $aData['buyer_city'];
|
||||
$member_info['area_district'] = $aData['buyer_district'];
|
||||
$member_info['addr'] = $aData['buyer_address'];
|
||||
$member_info['mobile'] = $aData['buyer_mobile'];
|
||||
$member_info['tel'] = $aData['buyer_phone'];
|
||||
$member_info['email'] = $aData['buyer_email'];
|
||||
$member_info['zip'] = $aData['buyer_zip'];
|
||||
|
||||
//买家会员信息 end
|
||||
$order_sdf['member_info'] = json_encode($member_info);
|
||||
//订单来源
|
||||
$order_sdf['order_source'] = $aData['order_source'];
|
||||
|
||||
if ($aData['order_source'] == 'app') {
|
||||
$order_sdf['order_source'] = 'I3';
|
||||
} else {
|
||||
$order_sdf['order_source'] = 'I';
|
||||
}
|
||||
|
||||
//订单优惠方案信息 begin
|
||||
$tmp_pmt_detail = json_decode($aData['promotion_details'], true);
|
||||
|
||||
$order_sdf['pmt_detail'] = array();
|
||||
$order_sdf['other_list'] = array();
|
||||
$k_count = 0;
|
||||
if ($tmp_pmt_detail) {
|
||||
foreach ((array)$tmp_pmt_detail as $k => $v) {
|
||||
$order_sdf['pmt_detail'][$k]['pmt_amount'] = $v['promotion_fee'] ? $v['promotion_fee'] : $v['pmt_amount'];
|
||||
$order_sdf['pmt_detail'][$k]['pmt_describe'] = $v['promotion_name'] ? $v['promotion_name'] : $v['pmt_describe'];
|
||||
$order_sdf['pmt_detail'][$k]['oid'] = $v['oid'];
|
||||
$order_sdf['pmt_detail'][$k]['promotion_id'] = $v['promotion_id'];
|
||||
$order_sdf['pmt_detail'][$k]['discount_code'] = isset($v['discount_code']) ? $v['discount_code'] :'';
|
||||
}
|
||||
}
|
||||
|
||||
$order_sdf['other_list'] = json_encode($aData['other_list']);
|
||||
|
||||
$order_sdf['t_type'] = empty($aData['tradetype']) ? 'fixed' : $aData['tradetype'];
|
||||
$order_sdf['is_yushou'] = $aData['is_yushou']; //全款预售标识 可选值:true(是),false(否)
|
||||
$order_sdf['trade_type'] = $aData['trade_type']; //定金预售标识。可选值:step(是)
|
||||
$order_sdf['step_trade_status'] = $aData['step_trade_status']; //分阶段付款状态
|
||||
$order_sdf['step_paid_fee'] = $aData['step_paid_fee']; //定金金额
|
||||
|
||||
$trade_memo = $aData['trade_memo'];
|
||||
|
||||
if($trade_memo=='内购订单'){
|
||||
$order_sdf['order_type'] = 'staff';
|
||||
}
|
||||
//订单优惠方案信息 end
|
||||
//支付单信息 新版本
|
||||
$aData['payment_lists'] = json_decode($aData['payment_lists'], true);
|
||||
|
||||
foreach ((array)$aData['payment_lists'] as $p_k => $p_v) {
|
||||
$payments[$p_k]['trade_no'] = $p_v['payment_id'];
|
||||
$payments[$p_k]['money'] = isset($p_v['currency_fee']) ? $p_v['currency_fee'] : $p_v['pay_fee'];
|
||||
$payments[$p_k]['pay_time'] = $p_v['pay_time'];
|
||||
$payments[$p_k]['account'] = $p_v['seller_account'];
|
||||
$payments[$p_k]['bank'] = $p_v['seller_bank'];
|
||||
$payments[$p_k]['pay_bn'] = $p_v['payment_id'];
|
||||
$payments[$p_k]['paycost'] = $p_v['paycost'];
|
||||
$payments[$p_k]['pay_account'] = $p_v['buyer_account'];
|
||||
$payments[$p_k]['paymethod'] = $p_v['payment_name'];
|
||||
$payments[$p_k]['memo'] = $p_v['memo'];
|
||||
$payments[$p_k]['outer_no'] = $p_v['outer_no']; //支付网关的内部交易单号
|
||||
}
|
||||
|
||||
$order_sdf['payments'] = $payments;
|
||||
//支付单信息 新版本
|
||||
$order_sdf['cost_item'] = $aData['total_goods_fee'];
|
||||
$order_sdf['currency'] = $aData['currency'];
|
||||
$order_sdf['cur_rate'] = $aData['currency_rate'];
|
||||
$order_sdf['score_u'] = $aData['point_fee'];
|
||||
$order_sdf['score_g'] = $aData['buyer_obtain_point_fee'];
|
||||
|
||||
$this->_ordersdf = $order_sdf;
|
||||
}
|
||||
|
||||
protected function _canCreate()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
protected function _canUpdate()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public function _canAccept()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
protected function get_update_plugins()
|
||||
{
|
||||
return array(
|
||||
'ome_plugin_order_update',
|
||||
);
|
||||
}
|
||||
|
||||
protected function get_update_components()
|
||||
{
|
||||
return array(
|
||||
'ome_plugin_order_update',
|
||||
);
|
||||
}
|
||||
}
|
||||
158
app/erpapi/lib/shop/matrix/b2b/response/refund.php
Normal file
158
app/erpapi/lib/shop/matrix/b2b/response/refund.php
Normal file
@@ -0,0 +1,158 @@
|
||||
<?php
|
||||
/**
|
||||
* @desc
|
||||
* @author:
|
||||
* @since:
|
||||
*/
|
||||
class erpapi_shop_matrix_b2b_response_refund extends erpapi_shop_response_refund {
|
||||
|
||||
var $status = array(
|
||||
'apply' => array(
|
||||
'APPLY' => '0',
|
||||
'VERIFY' => '1',
|
||||
'SUCC' => '2',
|
||||
'REFUND' => '4',
|
||||
'FAIL' => '3',
|
||||
),
|
||||
'refund' => array(
|
||||
'SUCC' => 'succ',
|
||||
'FAILED' => 'failed',
|
||||
'CANCEL' => 'cancel',
|
||||
'ERROR' => 'error',
|
||||
'INVALID' => 'invalid',
|
||||
'PROGRESS' => 'progress',
|
||||
'TIMEOUT' => 'timeout',
|
||||
'READY' => 'ready',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
protected function _formatAddParams($params)
|
||||
{
|
||||
// 兼容套娃换货退款, 获取实际退款订单号
|
||||
$params['tid'] = $this->_getActualTid($params);
|
||||
$this->__apilog['title'] = '店铺(' . $this->__channelObj->channel['name'] . ')退款业务处理[退款单:' . $params['refund_id'] . ']';
|
||||
$this->__apilog['original_bn'] = $params['tid'];
|
||||
$this->__apilog['result']['data'] = array('tid' => $params['tid'], 'refund_id' => $params['refund_id'], 'retry' => 'false');
|
||||
//todo check paymentype 检查支付方式是否已同步至退款申请单及退款单
|
||||
|
||||
$t_ready = $params['t_begin'] ? $params['t_begin'] : $params['t_sent'];
|
||||
$t_ready = kernel::single('ome_func')->date2time($t_ready);
|
||||
|
||||
$t_sent = $params['t_sent'] ? $params['t_sent'] : $params['t_ready'];
|
||||
$t_sent = kernel::single('ome_func')->date2time($t_sent);
|
||||
|
||||
$t_received = kernel::single('ome_func')->date2time($params['t_received']);
|
||||
$t_received = $t_received ?: time();
|
||||
|
||||
$sdf = array(
|
||||
'refund_bn' => $params['refund_id'],
|
||||
'order_bn' => $params['tid'],
|
||||
'status' => $this->status[$params['refund_type']][$params['status']],
|
||||
'refund_type' => $params['refund_type'],
|
||||
'money' => sprintf('%.2f', $params['refund_fee']),
|
||||
'cod_zero_accept' => false, //货到付款0元退款单是否接受
|
||||
'memo' => $params['memo'],
|
||||
'account' => $params['seller_account'],
|
||||
'bank' => $params['buyer_bank'],
|
||||
'pay_account' => $params['buyer_account'],
|
||||
'paycost' => 0,
|
||||
'cur_money' => $params['refund_fee'],
|
||||
'pay_type' => $params['pay_type'] ? $params['pay_type'] : 'online',
|
||||
'payment' => $params['payment_tid'],
|
||||
'paymethod' => $params['payment_type'],
|
||||
'trade_no' => $params['outer_no'],
|
||||
'oid' => $params['oid'],
|
||||
't_ready' => $t_ready ? $t_ready : time(),
|
||||
't_sent' => $t_sent ? $t_sent : time(),
|
||||
't_received' => $t_received,
|
||||
'update_order_payed' => true, //是否更新订单金额
|
||||
'version' => '',
|
||||
'refund_version_change' => false
|
||||
);
|
||||
if ($params['items']) {
|
||||
$params['items'] = json_decode($params['items'],true);
|
||||
$order = app::get('ome')->model('orders')->db_dump(['order_bn'=>$params['tid']],'order_id');
|
||||
$objList = app::get('ome')->model('order_objects')->getList('*',['order_id'=>$order['order_id']]);
|
||||
$order_items = app::get('ome')->model('order_items')->getList('*',['order_id'=>$order['order_id']]);
|
||||
|
||||
if ($order_items){
|
||||
$tmp_items = array();
|
||||
foreach ($order_items as $i_key=>$i_val){
|
||||
$tmp_items[$i_val['obj_id']][] = $i_val;
|
||||
}
|
||||
$order_items = NULL;
|
||||
}
|
||||
|
||||
if ($objList){
|
||||
foreach ($objList as $o_key=>&$o_val){
|
||||
$o_val['order_items'] = $tmp_items[$o_val['obj_id']];
|
||||
}
|
||||
}
|
||||
$objList = array_column($objList,null,'oid');
|
||||
|
||||
$productData = array();
|
||||
foreach ($params['items'] as $key => $val) {
|
||||
if ($objList[$val['oid']]) {
|
||||
$obj = $objList[$val['oid']];
|
||||
foreach ($obj['order_items'] as $itemKey => $itemVal) {
|
||||
$item = [];
|
||||
$item['order_item_id'] = $itemVal['item_id'];
|
||||
$item['num'] = $val['number'] ?? $itemVal['nums'];
|
||||
$item['product_id'] = $itemVal['product_id'];
|
||||
$item['bn'] = $val['sku_bn'] ?? $itemVal['bn'];
|
||||
$item['name'] = $val['sku_name'] ?? $itemVal['name'];
|
||||
$item['price'] = $val['price'] ?? $itemVal['sale_price'];
|
||||
$item['oid'] = $val['oid'];
|
||||
$item['item_type'] = $itemVal['item_type'];
|
||||
$item['obj_id'] = $itemVal['obj_id'];
|
||||
$item['divide_order_fee'] = $itemVal['divide_order_fee'];
|
||||
$productData[] = $item;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($productData) {
|
||||
$sdf['product_data'] = $productData;
|
||||
$sdf['bn'] = implode(',', array_column((array)$productData, 'bn'));
|
||||
$sdf['oid'] = implode(',', array_column((array)$productData, 'oid'));
|
||||
$sdf['obj_id'] = implode(',', array_column((array)$productData, 'obj_id'));
|
||||
}
|
||||
}
|
||||
return $sdf;
|
||||
}
|
||||
|
||||
protected function _getActualTid($params)
|
||||
{
|
||||
$refundApplyMdl = app::get('ome')->model('refund_apply');
|
||||
// 查询退款申请表是否有此单
|
||||
$filter = [
|
||||
'refund_apply_bn' => $params['refund_id'],
|
||||
'shop_id' => $this->__channelObj->channel['shop_id']
|
||||
];
|
||||
|
||||
$refundApply = $refundApplyMdl->dump($filter,'apply_id,refund_apply_bn,order_id,archive');
|
||||
|
||||
// 没有则原样返回
|
||||
if(!$refundApply){
|
||||
return $params['tid'];
|
||||
}
|
||||
|
||||
// 查订单号
|
||||
if($refundApply['archive']){
|
||||
$orderMdl = app::get('archive')->model('orders');
|
||||
}else{
|
||||
$orderMdl = app::get('ome')->model('orders');
|
||||
}
|
||||
|
||||
$order = $orderMdl->dump($refundApply['order_id'],'order_bn');
|
||||
|
||||
|
||||
// 没有则原样返回
|
||||
if(!$order){
|
||||
return $params['tid'];
|
||||
}
|
||||
|
||||
return $order['order_bn'];
|
||||
}
|
||||
|
||||
}
|
||||
42
app/erpapi/lib/shop/matrix/b2b/response/salesmaterial.php
Normal file
42
app/erpapi/lib/shop/matrix/b2b/response/salesmaterial.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
* @desc
|
||||
* @author:
|
||||
* @since:
|
||||
*/
|
||||
class erpapi_shop_matrix_b2b_response_salesmaterial extends erpapi_shop_response_salesmaterial {
|
||||
|
||||
public function getlist($params)
|
||||
{
|
||||
|
||||
$params = array_filter($params);
|
||||
$filter = array();
|
||||
|
||||
$start_time = $params['start_time'] ? strtotime($params['start_time']) : 0;
|
||||
$end_time = $params['end_time'] ? strtotime($params['end_time']) : time();
|
||||
|
||||
$filter = array(
|
||||
'last_modify|bthan' => $start_time,
|
||||
'last_modify|sthan' => $end_time,
|
||||
);
|
||||
|
||||
if (isset($params['shop_bn'])) {
|
||||
$shopModel = app::get('ome')->model('shop');
|
||||
$shopInfo = $shopModel->dump(array('shop_bn' => $params['shop_bn']), 'shop_id');
|
||||
if (empty($shopInfo)) {
|
||||
$this->__apilog['result']['msg'] = '销售物料归属渠道不存在';
|
||||
return false;
|
||||
}
|
||||
$filter['shop_id'] = $params['shop_id'];
|
||||
}
|
||||
|
||||
if (isset($params['sales_material_bn'])) {
|
||||
$filter['sales_material_bn'] = explode(',', $params['sales_material_bn']);
|
||||
}
|
||||
|
||||
$filter['page_no'] = intval($params['page_no']) > 0 ? intval($params['page_no']) : 1;
|
||||
$filter['page_size'] = (intval($params['page_size']) > 100 || intval($params['page_size']) <= 0) ? 100 : intval($params['page_size']);
|
||||
|
||||
return $filter;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user