您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

ecshop自动分成二次开发实例

2024/5/6 2:48:37发布22次查看
自动分成功能在ecshop系统自带是没有的,如果我们需要对一单添加分成功能我们是需要进入二次开发的,下面小编来为各位介绍一个例子。
大概逻辑:
后台操作一个订单发货的时候进行自动分成,后台取消发货,退货,改为未发货的时候去掉自动分成部分。
核心代码:lib_common.php
//分成积分计算
getrow(select * from . $globals['ecs']->table('users') . u . where u.shopid = . $order['parent_shopid'] . and u.usertype=1); //获取pid $up_uid = $row['user_id']; if (!empty($up_uid) && $up_uid > 0) { $money = $point = 0; $point = fenchenjifen(1, $integral['custom_points']); // $info = sprintf($globals['_lang']['separate_info'], $order['order_sn'], $money, $point); $info = 订单 . $order['order_sn'] . 分成获得积分: . $point; log_account_change($up_uid, $money, 0, ($type) * $point, ($type) * $point, $info); //var_dump($info); if ($type == 1) { write_affiliate_log1($order_id, $up_uid, $row['user_name'], $money, $point, $separate_by); } else { rollback_affiliate_log($order_id); } $orderupdate['is_separate'] = $type == 1 ? $separate_by : 0; $globals['db']->autoexecute($globals['ecs']->table('order_info') , $orderupdate, 'update', order_id = '$order_id'); } break; case '3': $row = $globals['db']->getall(select u.shopid,u.user_id,u.usertype, u.user_name from . $globals['ecs']->table('users') . u . where u.shopid= . $order['parent_shopid'] . and u.usertype in (1,2)); foreach ($row as $val) { // 经销商和财务获得分成 if ($val['usertype'] == 1) { $pointf = fenchenjifen(1, $integral['custom_points']); } if ($val['usertype'] == 2) { $pointf = fenchenjifen(2, $integral['custom_points']); } $up_uid = $val['user_id']; //$info = sprintf($globals['_lang']['separate_info'], $order['order_sn'], $money, $pointf); $info = 订单 . $order['order_sn'] . 分成获得积分: . $pointf; log_account_change($up_uid, $money, 0, ($type) * $pointf, ($type) * $pointf, $info); if ($type == 1) { write_affiliate_log1($order_id, $up_uid, $val['user_name'], $money, $pointf, $separate_by); } else { rollback_affiliate_log($order_id); } $orderupdate['is_separate'] = $type == 1 ? $separate_by : 0; $globals['db']->autoexecute($globals['ecs']->table('order_info') , $orderupdate, 'update', order_id = '$order_id'); } break; } return true;}/** * * @param undefined $oid * @param undefined $uid * @param undefined $username * @param undefined $money * @param undefined $point * @param undefined $separate_by * 写入订单分成 log */function write_affiliate_log1($oid, $uid, $username, $money, $point, $separate_by) { $time = gmtime(); $sql = insert into . $globals['ecs']->table('affiliate_log') . ( order_id, user_id, user_name, time, money, point, separate_type) . values ( '$oid', '$uid', '$username', '$time', '$money', '$point', $separate_by); if ($oid) { $globals['db']->query($sql); }}//撤销订单分成function rollback_affiliate_log($order_id, $falg = - 2) { $sql = update . $globals['ecs']->table('affiliate_log') . set separate_type = '$falg' . where order_id = '$order_id'; $globals['db']->query($sql);}
需要注意的点:后台发货程序在admin / order . php需要修改的地方有:发货866行,取消发货1035行改为未发货3961行退货4132行。本代码只计算分成部分。自己下单部分另外。这个代码是按照店铺id分成,多商户的。为ecshop二次开发版。无法用于原版。调用分成:fun_fencheng_change($order, $user, $integral, 1);
取消分成:fun_fencheng_change($order, $user, $integral, -1);
永久地址:
转载随意~请带上教程地址吧^^
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product