关于给ecshop增加商家付款后减少库存功能
2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家
最近忙客户ecshop商城的维护 我们发现:ecshop后台减少库存的时机默认只有下订单时和发货时,不能满足各种客户需求啊,要增加一个商家付款后就能减少库存,先解决方法如下
1. includes/inc_constant.php 文件 大约207行 加上
1
|
define( 'SDT_PAY' , 2); // 支付时减少库 |
languages/zh-cn/admin/shop_config.php 文件 大约338行加上
1
|
$_LANG [ 'cfg_range' ][ 'stock_dec_time' ][ '2' ] = '商家付款后' ; |
给 数据表 ship_config 中 id 为 423 的行 store_range 增加 2
2. includes/lib_order.php 文件 大约2207行 增加如下代码
1
2
3
4
|
case 2 : $sql = "SELECT goods_id, SUM(goods_number) AS num, MAX(extension_code) AS extension_code, product_id FROM " . $GLOBALS [ 'ecs' ]->table( 'order_goods' ) . " WHERE order_id = '$order_id' AND is_real = 1 GROUP BY goods_id, product_id" ; break ; |
includes/lib_payment.php 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
/* 修改订单状态为已付款 */ $sql = 'UPDATE ' . $GLOBALS [ 'ecs' ]->table( 'order_info' ) . " SET order_status = '" . OS_CONFIRMED . "', " . " confirm_time = '" . gmtime() . "', " . " pay_status = '$pay_status', " . " pay_time = '" .gmtime(). "', " . " money_paid = order_amount," . " order_amount = 0 " . "WHERE order_id = '$order_id'" ; $GLOBALS [ 'db' ]->query( $sql ); //在这段之后增加 include_once (ROOT_PATH . 'includes/lib_order.php' ); /* 如果使用库存,且付款时减库存,则减少库存 by sid*/ if ( $_CFG [ 'use_storage' ] == '1' && $_CFG [ 'stock_dec_time' ] == SDT_PAY){ change_order_goods_storage( $order [ 'order_id' ], true, SDT_PAY); } |
3. admin/order.php 文件
1
2
3
4
5
6
7
8
9
10
|
/* 如果使用库存,且下订单时减库存,则增加库存 */ if ( $_CFG [ 'use_storage' ] == '1' && $_CFG [ 'stock_dec_time' ] == SDT_PLACE) { change_order_goods_storage( $order_id , false, SDT_PLACE); } //在这段之后增加 //无效与取消时加库存 if ( $_CFG [ 'use_storage' ] == '1' && $_CFG [ 'stock_dec_time' ] == SDT_PAY){ change_order_goods_storage( $order_id , false, SDT_PAY); } |
4. flow.php 文件
1
2
3
4
5
6
7
8
|
/* 如果订单金额为0 处理虚拟卡 */ if ( $order [ 'order_amount' ] <= 0) { //在这段之后加上 //扣库存 if ( $_CFG [ 'use_storage' ] == '1' && $_CFG [ 'stock_dec_time' ] == SDT_PAY){ change_order_goods_storage( $order [ 'order_id' ], true, SDT_PAY); } |
admin/order.php 文件
1
2
3
4
5
6
7
8
9
10
11
12
|
$payment = payment_info( $order [ 'pay_id' ]); if ( $payment [ 'is_cod' ]) { $arr [ 'shipping_status' ] = SS_RECEIVED; $order [ 'shipping_status' ] = SS_RECEIVED; } update_order( $order_id , $arr ); //在这段之后增加 //扣库存 if ( $_CFG [ 'use_storage' ] == '1' && $_CFG [ 'stock_dec_time' ] == SDT_PAY){ change_order_goods_storage( $order [ 'order_id' ], true, SDT_PAY); } |
1
2
3
4
5
6
7
8
9
10
|
/* 如果使用库存,且下订单时减库存,则增加库存 */ if ( $_CFG [ 'use_storage' ] == '1'
最近更新常用插件
ecshop热门问答ecshop热门资料
ecshopecmall积分功能
ecshop京东模板
ecshop几个问题
ecshop狐狸
ecshop聚合
ecshop结算中心小数
ecshop网店系统
ecshop欧莱诺
ecshop硅橡胶
ecshop祝福
ecshop宣布
ecshop商品库存数量
ecshop财付通付款
ecshop邮箱格式
ecshop325718846
ecshop用户登录
ecshop商品详细页
ecshop失所
ecshop醒目
ecshop重设
ecshop网上购物
ecshop唯一
ecshop迅雷下载
ecshop网页出问题
ecshopmedium
ecshop上货
ecshop1114
ecshopUCHOME
ecshop家园
ecshop免费域名
|