Atitit. 订单管理 收银单持久化 功能设计 基于ecshop订单结构
Atitit. 订单管理 收银单持久化 功能设计 基于ecshop订单结构
2.3. 取得订单信息 function order_info($order_id, $order_sn = '')2
2.4. 取得订单商品function order_goods($order_id)2
2.5. 取得订单总金额 function order_amount($order_id, $include_gift = true)2
2.6. 修改订单 function update_order($order_id, $order)3
2.9. * 改变订单中商品库存change_order_goods_storage4
1. 54.order_info 订单 数据结构
参考备注
2. Ecshop 的订单api
2.1. 生成订单 code by
flow.php
/*------------------------------------------------------ */
//-- 完成所有订单操作,提交到数据库
/*------------------------------------------------------ */
elseif ($_REQUEST['step'] == 'done')
{
/* 插入订单表 */
$error_no = 0;
do
{
$order['order_sn'] = get_order_sn(); //获取新订单号
$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('order_info'), $order, 'INSERT');
2.2. 相关文件路径
D:\wamp\www\ecsx\includes\lib_order.php
/**
* 取得订单信息
* @param int $order_id 订单id(如果order_id > 0 就按id查,否则按sn查)
* @param string $order_sn 订单号
* @return array 订单信息(金额都有相应格式化的字段,前缀是formated_)
*/
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2.3. 取得订单信息 function order_info($order_id, $order_sn = '')
/**
* 取得订单商品
* @param int $order_id 订单id
* @return array 订单商品数组
*/
2.4. 取得订单商品function order_goods($order_id)
/**
* 取得订单总金额
* @param int $order_id 订单id
* @param bool $include_gift 是否包括赠品
* @return float 订单总金额
*/
2.5. 取得订单总金额 function order_amount($order_id, $include_gift = true)
{
$sql = "SELECT SUM(goods_price * goods_number) " .
"FROM " . $GLOBALS['ecs']->table('order_goods') .
" WHERE order_id = '$order_id'";
if (!$include_gift)
{
$sql .= " AND is_gift = 0";
}
return floatval($GLOBALS['db']->getOne($sql));
}
/**
* 修改订单
* @param int $order_id 订单id
* @param array $order key => value
* @return bool
*/
2.6. 修改订单 function update_order($order_id, $order)
{
return $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('order_info'),
$order, 'UPDATE', "order_id = '$order_id'");
}
/**
2.7. * 订单退款order_refund(
* @param array $order 订单
* @param int $refund_type 退款方式 1 到帐户余额 2 到退款申请(先到余额,再申请提款) 3 不处理
* @param string $refund_note 退款说明
* @param float $refund_amount 退款金额(如果为0,取订单已付款金额)
* @return bool
*/
function order_refund($order, $refund_type, $refund_note, $refund_amount = 0)
{
/**
2.8. * 合并订单merge_order
* @param string $from_order_sn 从订单号
* @param string $to_order_sn 主订单号
* @return 成功返回true,失败返回错误信息
*/
function merge_order($from_order_sn, $to_order_sn)
/**
2.9. * 改变订单中商品库存change_order_goods_storage
* @param int $order_id 订单号
* @param bool $is_dec 是否减少库存
* @param bool $storage 减库存的时机,1,下订单时;0,发货时;
*/
function change_order_goods_storage($order_id, $is_dec = true, $storage = 0)
3. Ati order api
3.1. 生成订单insert /save
来源于sql与orm的api继承。。
4. ---code
public class OrderService extends absService {
public static void main(String[] args) {
final long time_intFmt = new Date().getTime() / 1000;
System.out.println(time_intFmt);
OrderService os = IocX4casher.getBean(OrderService.class);
os.insert(new HashMap() {
{
this.put("good_amount", 12.50);
this.put("add_time", time_intFmt);
this.put("confirm_time", time_intFmt);
this.put("order_sn",filex.getUUidName());
}
});
System.out.println("--f");
}
@Inject
DBX dx;
public int insert(Map order) {
String sql = "insert into ecs_order_info(order_sn,order_status,shipping_status,pay_status,goods_amount,add_time,confirm_time,agency_id,inv_type,tax,discount)values('@order_sn@',1,1,1,@good_amount@,@add_time@,@confirm_time@,0,0,0,0) ";
sql = SqlFormatter.exe(sql, order);
System.out.println(sql);
// DBX IocX4casher.getBean(DBX.class)
dx.execSql(sql);
return 0;
}
5. 高级功能
错误的金额---- 太小,太大的的数
审核机制...(可以只使用在太小,太大金额或者别的异常的情形哈)
参考
ECSHOP 数据库结构说明 (适用版本v2.7.3).htm
Atitit. 订单管理 收银单持久化 功能设计 基于ecshop订单结构的更多相关文章
- Atitit.收银系统模块架构attilax 总结
Atitit.收银系统模块架构attilax 总结 1. 常规收银系统模块结构1 1.1. 商品管理1 1.2. 会员系统1 1.3. 报表系统1 1.4. 会员卡系统1 1.5. 库存管理1 2. ...
- RDIFramework.NET V3.3 WinForm版新增订单管理主从表事例
功能描述 无论什么系统,除了常规的单表处理外,主从表的应用都是非常普遍的,RDIFramework.NET V3.3 WinForm版本中新增了一个主从表的事例供大家参考.主从表的界面设计大同小异,主 ...
- Atitit.收银系统pos 以及打印功能的行业标准
Atitit.收银系统pos 以及打印功能的行业标准 1. ESC指令序列 Escape指令序列不同于ESC/POS指令 1 2. 打印标准OPOS POSPrinter 与 CashDrawer 驱 ...
- 原生tab切换(适用于购物商城中订单管理模块,例如:待付款/待发货/待收货等订单状态)
<!-- 头部tab栏切换 html部分--> <ul class="title-bar"> <li @click="changeStatu ...
- 浩瀚移动POS收银开单扫描解决方案PDA仓储系统,无线批发,移动批发,无线POS,无线销售APP-车销管理PDA
适用范围 各种业态的批发商铺.批发市场.订货会.展销会.配送中心仓库…… 产品简介 随着移动技术与智能PDA设备的迅猛发展,中国已经跨步进入移动信息化社会.移动商务是移动信息社会的重要载体与形式,它开 ...
- PDA移动POS开单扫描打票收银系统-带来零售批发 新的技术 新的手段!!
手持POS终端高清彩屏,清晰.美观.大方,适用于仓库.超市.服装.食品.批发零售.手机电脑等企业管理.可与管理软件灵活对接.1:员工记不住价格,产品名称,只要有PDA扫描,价格,库存,直接开销售单,打 ...
- 基于C#的超市收银管理系统
基于C#的超市收银管理系统 前序 一直在忙学习Qt有关的知识,非常有幸这学期学习了C#.让我也感觉到了一丝欣慰,欣慰的是感觉好上手啊,学了几天顿时懂了.好多控件的使用方法好类似,尽管平时上课没有怎么认 ...
- 互联网+下PDA移动智能手持POS超市收银开单软件
是一套专为中小超市.专卖店设计的收银管理软件,广泛应用于中小超市(百货商店).化妆品店.婴幼儿用品店.玩具店.保健品店.茶叶店. 电器.文具图书.手机通讯器材店等行业的中小型店面店铺.该系统具有完善的 ...
- 移动零售批发行业新的技术特色-智能PDA手持移动扫描打印销售开单收银仪!!
提起便利店或者超市,大家的第一印象一定是前台那个笨重的POS机和站在POS机后的收银员.传统的零售店中,笨重的POS机随处可见. 变革前,零售盘点多烦忧 一个顾客要结账,就需要通过POS机.小票打印机 ...
随机推荐
- shell head tail
head: 打印文件的前10行(默认) tail: 打印文件的后10行(默认) 如果你是个典型的开发或者部署人员,是不是觉得开始亲切起来.我们平时用的最多的命令 $tail -f cata ...
- 转 select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset ...
- IDEA的Maven项目找不到class
- [Atcoder Regular Contest 063] Tutorial
Link: ARC063 传送门 C: 将每种颜色的连续出现称为一段,寻找总段数即可 #include <bits/stdc++.h> using namespace std; ,len; ...
- 将千克转换成磅 Exercise05_03
/** * @author 冰樱梦 *题目:将千克转换成磅 *时间:2018年下半年 */ public class Exercise05_03 { public static void main(S ...
- vsftpd修改被动模式数据端口
pasv_enable=YES pasv_min_port=10000 pasv_max_port=20000 我厂只限一个端口段通讯,只能这样改下,否则永远是列出目录失败
- cssz中<a>标签鼠标选中去除选中边框
IE: <a href="#" hidefocus="true"></a> 非IE: a:focus { outline:none; } ...
- 【PHP手册】 PHP debug_backtrace() 函数
定义和用法 PHP debug_backtrace() 函数生成一个 backtrace(回溯信息). 该函数返回一个关联数组.下面是可能返回的元素: 名称 类型 描述 function 字符串 当前 ...
- jquery--动态篇
jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性.但是通过css直接修改是静态的布局,如果在代码执行的时候,一般是通过js控制元素的st ...
- CSS3:固定textarea文本域宽度
textarea在一些浏览器上可以被拖拉改变大小,为了保持美观,可以通过 CSS3 resize 属性禁掉 textarea{resize:none; //不允许用户调整元素大小}