예제 #1
0
 public static function ucenter_order()
 {
     $siteConfig = new Config('site_config');
     $order_cancel_time = $siteConfig->order_cancel_time !== "" ? intval($siteConfig->order_cancel_time) : 7;
     $order_finish_time = $siteConfig->order_finish_time !== "" ? intval($siteConfig->order_finish_time) : 20;
     $orderModel = new IModel('order');
     $orderCancelData = $order_cancel_time >= 0 ? $orderModel->query(" if_del = 0 and pay_type != 0 and status in(1) and datediff(NOW(),create_time) >= {$order_cancel_time} ", "id,order_no,4 as type_data") : array();
     $orderCreateData = $order_finish_time >= 0 ? $orderModel->query(" if_del = 0 and distribution_status = 1 and status in(1,2) and datediff(NOW(),send_time) >= {$order_finish_time} ", "id,order_no,5 as type_data") : array();
     $resultData = array_merge($orderCreateData, $orderCancelData);
     if ($resultData) {
         foreach ($resultData as $key => $val) {
             $type = $val['type_data'];
             $order_id = $val['id'];
             $order_no = $val['order_no'];
             //oerder表的对象
             $tb_order = new IModel('order');
             $tb_order->setData(array('status' => $type, 'completion_time' => ITime::getDateTime()));
             $tb_order->update('id=' . $order_id);
             //生成订单日志
             $tb_order_log = new IModel('order_log');
             //订单自动完成
             if ($type == '5') {
                 $action = '完成';
                 $note = '订单【' . $order_no . '】完成成功';
                 //完成订单并且进行支付
                 Order_Class::updateOrderStatus($order_no);
                 //增加用户评论商品机会
                 Order_Class::addGoodsCommentChange($order_id);
                 $logObj = new log('db');
                 $logObj->write('operation', array("系统自动", "订单更新为完成", '订单号:' . $order_no));
             } else {
                 $action = '作废';
                 $note = '订单【' . $order_no . '】作废成功';
                 //订单重置取消
                 Order_class::resetOrderProp($order_id);
                 $logObj = new log('db');
                 $logObj->write('operation', array("系统自动", "订单更新为作废", '订单号:' . $order_no));
             }
             $tb_order_log->setData(array('order_id' => $order_id, 'user' => "系统自动", 'action' => $action, 'result' => '成功', 'note' => $note, 'addtime' => ITime::getDateTime()));
             $tb_order_log->add();
         }
     }
 }
예제 #2
0
 public function order_status()
 {
     $op = IFilter::act(IReq::get('op'));
     $id = IFilter::act(IReq::get('order_id'), 'int');
     $model = new IModel('order');
     switch ($op) {
         case "cancel":
             $model->setData(array('status' => 3));
             if ($model->update("id = " . $id . " and distribution_status = 0 and status = 1 and user_id = " . $this->user['user_id'])) {
                 //修改红包状态
                 $prop_obj = $model->getObj('id=' . $id, 'prop');
                 $prop_id = isset($prop_obj['prop']) ? $prop_obj['prop'] : '';
                 if ($prop_id != '') {
                     $prop = new IModel('prop');
                     $prop->setData(array('is_close' => 0));
                     $prop->update('id=' . $prop_id);
                 }
             }
             break;
         case "confirm":
             $model->setData(array('status' => 5, 'completion_time' => date('Y-m-d h:i:s')));
             if ($model->update("id = " . $id . " and distribution_status = 1 and user_id = " . $this->user['user_id'])) {
                 $orderRow = $model->getObj('id = ' . $id);
                 //确认收货后进行支付
                 Order_Class::updateOrderStatus($orderRow['order_no']);
                 //增加用户评论商品机会
                 Order_Class::addGoodsCommentChange($id);
                 //确认收货以后直接跳转到评论页面
                 $this->redirect('evaluation');
             }
             break;
     }
     $this->redirect("order_detail/id/{$id}");
 }
예제 #3
0
 public function order_status()
 {
     $op = IReq::get('op');
     $id = IFilter::act(IReq::get('order_id'), 'int');
     $model = new IModel('order');
     switch ($op) {
         case "cancel":
             $model->setData(array('status' => 3));
             break;
         case "confirm":
             $model->setData(array('status' => 5, 'completion_time' => date('Y-m-d h:i:s')));
             break;
     }
     //修改订单状态并且判断订单的所有者权限
     if ($model->update("id = " . $id . " and user_id = " . $this->user['user_id'])) {
         switch ($op) {
             //取消订单
             case "cancel":
                 //修改红包状态
                 $prop_obj = $model->getObj('id=' . $id, 'prop');
                 $prop_id = isset($prop_obj['prop']) ? $prop_obj['prop'] : '';
                 if ($prop_id != '') {
                     $prop = new IModel('prop');
                     $prop->setData(array('is_close' => 0));
                     $prop->update('id=' . $prop_id);
                 }
                 break;
             case "confirm":
                 //增加用户评论商品机会
                 Order_Class::addGoodsCommentChange($id);
                 break;
         }
     }
     $this->redirect("order_detail/id/{$id}");
 }
예제 #4
0
 /**
  * @brief 完成或作废订单页面
  **/
 public function order_complete()
 {
     //去掉左侧菜单和上部导航
     $this->layout = '';
     $order_id = IFilter::act(IReq::get('id'), 'int');
     $type = IFilter::act(IReq::get('type'), 'int');
     $order_no = IFilter::act(IReq::get('order_no'));
     //oerder表的对象
     $tb_order = new IModel('order');
     $tb_order->setData(array('status' => $type, 'completion_time' => ITime::getDateTime()));
     $tb_order->update('id=' . $order_id);
     //生成订单日志
     $tb_order_log = new IModel('order_log');
     $action = '作废';
     $note = '订单【' . $order_no . '】作废成功';
     if ($type == '5') {
         $action = '完成';
         $note = '订单【' . $order_no . '】完成成功';
         //完成订单并且进行支付
         Order_Class::updateOrderStatus($order_no);
         //增加用户评论商品机会
         Order_Class::addGoodsCommentChange($order_id);
         $logObj = new log('db');
         $logObj->write('operation', array("管理员:" . ISafe::get('admin_name'), "订单更新为完成", '订单号:' . $order_no));
     } else {
         Order_class::resetOrderProp($order_id);
         $logObj = new log('db');
         $logObj->write('operation', array("管理员:" . ISafe::get('admin_name'), "订单更新为作废", '订单号:' . $order_no));
     }
     $tb_order_log->setData(array('order_id' => $order_id, 'user' => $this->admin['admin_name'], 'action' => $action, 'result' => '成功', 'note' => $note, 'addtime' => ITime::getDateTime()));
     $tb_order_log->add();
     die('success');
 }
예제 #5
0
 /**
  * @brief 完成或作废订单页面
  **/
 public function order_complete()
 {
     //去掉左侧菜单和上部导航
     $this->layout = '';
     $order_id = IFilter::act(IReq::get('id'), 'int');
     $type = IFilter::act(IReq::get('type'), 'int');
     $order_no = IFilter::act(IReq::get('order_no'));
     //oerder表的对象
     $tb_order = new IModel('order');
     $tb_order->setData(array('status' => $type, 'completion_time' => date('Y-m-d H:i:s')));
     $tb_order->update('id=' . $order_id);
     //生成订单日志
     $tb_order_log = new IModel('order_log');
     $action = '作废';
     $note = '订单【' . $order_no . '】作废成功';
     if ($type == '5') {
         $action = '完成';
         $note = '订单【' . $order_no . '】完成成功';
         //增加用户评论商品机会
         Order_Class::addGoodsCommentChange($order_id);
         $logObj = new log('db');
         $logObj->write('operation', array("管理员:" . ISafe::get('admin_name'), "订单更新为完成", '订单号:' . $order_no));
     } else {
         //作废订单-还原红包
         $prop = 'id = ' . $order_id . ' and pay_status =0 and prop is not null';
         $order_info = $tb_order->query($prop);
         if ($order_info) {
             $tb_prop = new IModel('prop');
             foreach ($order_info as $value) {
                 $tb_prop->setData(array('is_close' => 0));
                 if ($value['prop']) {
                     $tb_prop->update('id=' . $value['prop']);
                 }
             }
         }
         $logObj = new log('db');
         $logObj->write('operation', array("管理员:" . ISafe::get('admin_name'), "订单更新为作废", '订单号:' . $order_no));
     }
     $tb_order_log->setData(array('order_id' => $order_id, 'user' => $this->admin['admin_name'], 'action' => $action, 'result' => '成功', 'note' => $note, 'addtime' => date('Y-m-d H:i:s')));
     $tb_order_log->add();
     echo 'success';
 }