您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程

ecshop支付时减库存的实现方法

含玉2025-01-06Ecshop商城教程已有人查阅

导读ecshop后台减少库存的时机默认只有下订单时和发货时,不能满足各种客户需求啊,要增加一个商家付款后就能减少库存,先解决方法如下

ecshop后台减少库存的时机默认只有下订单时和发货时,不能满足各种客户需求啊,要增加一个商家付款后就能减少库存,先解决方法如下
1. includes/inc_constant.php 文件 大约207行 加上
define('SDT_PAY', 2); // 支付时减少库
languages/zh-cn/admin/shop_config.php 文件 大约338行加上
$_LANG['cfg_range']['stock_dec_time']['2'] = '商家付款后';
给 数据表 ship_config 中 id 为 423 的行 store_range 增加 2
2. includes/lib_order.php 文件 大约2207行 增加如下代码
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 文件
/* 修改订单状态为已付款 */
$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 文件
/* 如果使用库存,且下订单时减库存,则增加库存 */
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 文件
/* 如果订单金额为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 文件
$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);
}
/* 如果使用库存,且下订单时减库存,则增加库存 */
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);
}
继续往下
/* 如果使用库存,且下订单时减库存,则增加库存 */
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);
}
如此,一个完整的ecshop商家付款后减少库存的功能就实现了!!
bug:这个教程是有bug的,当你下订单后先不要支付,然后返回用户中心切换支付方式或者使用余额支付,库存不减。希望能完善。

本文标签:

很赞哦! ()

相关源码

  • (PC+WAP)房屋建造建筑工程房地产建材行pbootcms网站模板下载本模板基于PbootCMS内核开发,为房屋建造、建筑工程及房地产建材类企业设计。通过本模板可快速搭建具有行业特色的企业官网,只需替换文字与图片内容即可适配其他行业使用。查看源码
  • 帝国cms7.5模板情感文学名言名句心情文章类源码下载带手机本模板基于帝国CMS7.5开发,为情感文学类网站设计。整体风格温馨雅致,布局合理清晰,特别适合建设情书分享、文学作品展示类网站。模板采用响应式设计,能够自动适配各种终端设备。查看源码
  • (PC+WAP)蓝色电子半导体电子设备网站pbootcms源码下载本模板基于PbootCMS内核开发,为半导体和电子科技行业设计,特别适合电子元器件、集成电路、半导体设备及相关技术产品展示。查看源码
  • (自适应)html5导航目录索引工具类网站源码下载本模板基于PbootCMS开发,为站长导航、网址导航类网站设计。采用HTML5+CSS3技术构建,适配PC端和移动端,提供流畅的浏览体验。适用于个人站长、资源导航平台等场景查看源码
  • 帝国cms7.5女性护肤搭配美妆潮流网站源码带数据4.5G本模板专为女性美容护肤行业设计,提供美容护肤、发型设计、女性健康、时尚化妆、娱乐新闻、服饰搭配等女性潮流资讯内容展示。采用帝国CMS7.5开发,同步生成电脑端和手机端,满足用户对美容时尚信息的获取需求。查看源码
  • (PC+WAP)门窗门业家居定制铝合金产品pbootcms模板下载基于PbootCMS内核开发的门窗门业企业专用模板,采用响应式设计结构,数据一次录入即可同步适配电脑与手机端浏览。通过简洁大气的视觉呈现,帮助门窗企业快速建立专业线上展示平台,有效传递产品价值与服务优势。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐