ECMall 退款流程2
来源:互联网 发布:js 解码ccitt.t6 编辑:程序博客网 时间:2024/04/29 01:12
这两天写的是买家的退款流程,
其中分为待发货退款和已发货退款,
分别要考虑到买家向卖家,买家向管理员,卖家向买家同意、不同意退款,管理员向买家同意、不同意退款。
function dispose_text($array) //正则取出退款信息的数据方法
/*
*
*退款处理方法
*/
function tkcl()
{
$model_tkinfo =& m('tkinfo');
$order_id = isset($_GET['order_id']) ? intval($_GET['order_id']) : 0;
$model_order =& m('order');
//$order_info = $model_order->get("order_id={$order_id} AND buyer_id=" . $this->visitor->get('user_id'));
$order_info = $model_order->get(array(
'fields' => "*, order.add_time as order_add_time",
'conditions' => "order_id={$order_id} AND buyer_id=" . $this->visitor->get('user_id'),
'join' => 'belongs_to_store',
));
if (!$order_info)
{
$this->show_warning('no_such_order');
return;
}
//待发货/已发货 状态处理:
if (IS_POST)
{
$tkinfo = $model_tkinfo->get("order_id ={$order_id}");
$str = 'money_'.$_POST['money'].'_sfth_'.$_POST['istuihuo'].'_sfdh_'.$_POST['isdaohuo'].'_addtime_'. time() .'_text_'.$_POST['text'];
//待发、已发退款,向卖家都修改textbtos;向管理员都修改textbtoa;
if($order_info['status'] == ORDER_TKDFTOS || $order_info['status'] ==ORDER_TKYFTOS){
$model_tkinfo->edit($tkinfo['tk_id'] , array('textbtos' => $str));
}else if ($order_info['status'] ==ORDER_TKDFTOA || $order_info['status'] == ORDER_TKYFTOA || $order_info['status'] ==ORDER_TKDFSN || $order_info['status'] == ORDER_TKYFSN){
//卖家不同意时可以提交向管理员申请,向管理员申请也可以修改申请理由
$model_tkinfo->edit($tkinfo['tk_id'] , array('textbtoa' => $str));
if($order_info['status'] ==ORDER_TKDFSN){
$model_order->edit($order_id, array('status' => ORDER_TKDFTOA));
}else if($order_info['status'] == ORDER_TKYFSN){
$model_order->edit($order_id, array('status' => ORDER_TKYFTOA));
}
}
// 添加退款信息:修改订单状态,待发/已发
if($order_info['status'] == ORDER_ACCEPTED){
$model_order->edit($order_id, array('status' => ORDER_TKDFTOS));
$model_tkinfo->add(array(
'order_id' => $order_id,
'tk_status'=> ORDER_TKDFTOS,
'textbtos' => $str
));
}else if ($order_info['status'] == ORDER_SHIPPED){
$model_order->edit($order_id, array('status' => ORDER_TKYFTOS));
$model_tkinfo->add(array(
'order_id' => $order_id,
'tk_status'=> ORDER_TKYFTOS,
'textbtos' => $str,
));
}
}
//初始化上传组件
if($order_info['status'] == ORDER_TKDFTOS || $order_info['status'] ==ORDER_TKYFTOS || $order_info['status'] == ORDER_ACCEPTED || $order_info['status'] ==ORDER_SHIPPED){
$belong = BELONG_TKIMGBTOS;
} else {
$belong = BELONG_TKIMGBTOA;
}
$this->import_resource(array('script' => 'jquery.plugins/jquery.validate.js,change_upload.js'));
$this->assign('build_upload', $this->_build_upload(array('upload_url'=> "index.php?app=swfuploadtk",'belong' => $belong, 'item_id' => $order_id))); // 构建swfupload上传组件
$order_info = $model_order->get("order_id={$order_id} AND buyer_id=" . $this->visitor->get('user_id'));
$tkinfo = $model_tkinfo->get("order_id ={$order_id}");
//如果存在退款信息
if ($tkinfo)
{
//刷新退款信息,并输出退款信息 AND tk_status=".ORDER_TKDFTOS
$this->assign('tkinfo', $this->dispose_text($tkinfo));
//输出附件信息
$this->_uploadedfile_mod = & m('uploadedfile');
$tkimg = $this->_uploadedfile_mod->find("item_id={$order_id} AND belong=".BELONG_TKIMGBTOS);
$this->assign('files_belong_btos', $tkimg);
$tkimg = $this->_uploadedfile_mod->find("item_id={$order_id} AND belong=".BELONG_TKIMGSTOB);
$this->assign('files_belong_stob', $tkimg);
$tkimg = $this->_uploadedfile_mod->find("item_id={$order_id} AND belong=".BELONG_TKIMGBTOA);
$this->assign('files_belong_btoa', $tkimg);
$tkimg = $this->_uploadedfile_mod->find("item_id={$order_id} AND belong=".BELONG_TKIMGATOB);
$this->assign('files_belong_atob', $tkimg);
}
/* 当前位置 */
$this->_curlocal(LANG::get('member_center'), 'index.php?app=member',
LANG::get('my_order'), 'index.php?app=buyer_order',
LANG::get('view_order'));
/* 当前用户中心菜单 */
$this->_curitem('my_order');
$this->_config_seo('title', Lang::get('member_center') . ' - ' . Lang::get('order_detail'));
/* 调用相应的订单类型,获取整个订单详情数据 */
$order_type =& ot($order_info['extension']);
$order_detail = $order_type->get_order_detail($order_id, $order_info);
foreach ($order_detail['data']['goods_list'] as $key => $goods)
{
empty($goods['goods_image']) && $order_detail['data']['goods_list'][$key]['goods_image'] = Conf::get('default_goods_image');
}
$this->assign('order', $order_info);
$this->assign($order_detail['data']);
$this->display('buyer_order.tkcl.html');
}
- ECMall 退款流程2
- ECMall退款流程开发1
- ECMALL买家取消退款
- 退款流程
- Ecmall购物流程解析
- 微信小程序支付及退款流程详解
- 微信小程序的支付和退款流程
- ECMall模块开发2
- ecmall语言文件的加载使用流程
- 研究ecmall一些流程、结构笔记
- ecmall后台判断登录的流程
- ecmall发布商品全流程sql语句
- 支付宝即时到帐付款/退款流程
- 退款业务
- paypal退款
- laravel 退款
- ecmall 数据库关系模型的实现2
- ecmall 结构图
- pomelo源码分析(三)
- javascript加强4
- x86保护模式下GDT表
- 准备从事编程职业的大学生应该学些什么?
- ubuntu切换默认输入法
- ECMall 退款流程2
- 程序员愿景,拉力与阻力
- Ibatis#加载和解析SqlMapConfig.xml
- 两种思路用javascript实现实现简单的数字滚动动画
- 优秀程序员共通的优秀习惯
- android TabHost小结
- 基于Linux下的UDP编程
- 裁员、危机感与保持清醒的头脑
- 感悟资产、负债与幸福感