/**
  * 详细
  */
 public function detail()
 {
     $id = $this->_getid('id', 0);
     $orderSn = $this->_get('order_sn', '');
     if (!$id && !$orderSn) {
         showError('参数丢失');
     }
     if ($orderSn) {
         $where = array('order_sn' => $orderSn);
     } else {
         $where = array('order_id' => $id);
     }
     $rs = M('ste_order')->where($where)->find();
     if (!$rs) {
         showError('订单不存在');
     }
     if (parent::_checkIsPresident()) {
         //社长
         if ($rs['service_id'] != steadmin::$adminInfo['service_id']) {
             showError('没有操作权限!');
         }
     } elseif (!parent::_checkIsAdmin()) {
         showError('没有操作权限');
     }
     $rs['serviceName'] = isset($this->serviceData[$rs['service_id']]) ? $this->serviceData[$rs['service_id']]['stitle'] : '';
     $rs['userName'] = getUser($rs['uid']);
     $rs['villageName'] = parent::getVillageName($rs['village_id']);
     $rs['service_user'] = parent::_getAdminName($rs['service_uid'], 'real_name');
     $rs['deployment_user'] = parent::_getAdminName($rs['deployment_uid'], 'real_name');
     $rs['worker_user'] = parent::_getAdminName($rs['worker_uid'], 'real_name');
     $orderRefund = array();
     if ($rs['status'] == 10) {
         //有退款的
         $orderRefund = M('ste_order_refund')->where(array('order_id' => $rs['order_id']))->find();
         $orderRefund['actualUserNmae'] = parent::_getAdminName($orderRefund['user_id']);
     }
     $comment = array();
     if ($rs['status'] == 11) {
         //已评价
         $comment = M('ste_order_comment')->where(array('order_id' => $rs['order_id']))->find();
         $comment['complainList'] = $comment['complain'] ? explode(',', $comment['complain']) : array();
     }
     //订单商品数据
     $goods = M('ste_order_goods')->where(array('order_id' => $rs['order_id']))->findAll(false);
     foreach ($goods as $k => $v) {
         $goods[$k]['shopName'] = parent::_getShopName($v['shop_id']);
     }
     //        z($rs);
     $this->assign(array('rs' => $rs, 'orderRefund' => $orderRefund, 'isEdit' => in_array($rs['status'], array(2, 7, 9, 10, 11)) ? 0 : 1, 'goods' => $goods, 'setting' => $this->steSetting, 'comment' => $comment));
     $this->display();
 }
 private function _getOrderData(&$rs)
 {
     $printer = F('steward/print_city_' . steadmin::$adminInfo['city_id']);
     if (!$printer) {
         parent::setPrintCache();
         $printer = F('steward/print_city_' . steadmin::$adminInfo['city_id']);
         if (!$printer) {
             showError('没有打印机信息');
         }
     }
     $tmpData = array();
     //先按店铺取商品数据
     foreach ($rs['items'] as $val) {
         if (!isset($tmpData[$val['shop_id']])) {
             $tmpData[$val['shop_id']] = array('items' => array(), 'order_amount' => 0);
         }
         $tmpData[$val['shop_id']]['items'][] = array('goods_name' => $val['goods_name'], 'goods_spec' => $val['goods_spec'], 'goods_counts' => $val['goods_counts'], 'goods_price' => $val['goods_price'], 'goods_number' => $val['goods_number']);
         $tmpData[$val['shop_id']]['order_amount'] += $val['goods_counts'] * $val['goods_price'];
     }
     //        $_getDeploymentUsers = array();
     foreach ($tmpData as $key => $val) {
         $tmpData[$key]['order_amount'] = priceFormat($tmpData[$key]['order_amount']);
         $tmpData[$key]['shop_name'] = parent::_getShopName($key);
         //            $tmpData[$key]['deployment'] = $this->_getDeploymentUser($key);
         $tmpData[$key]['print'] = isset($printer['shop'][$key]) ? $printer['shop'][$key][array_rand($printer['shop'][$key], 1)] : '';
         if (!$tmpData[$key]['print']) {
             showError('店铺' . $tmpData[$key]['shop_name'] . '没有打印机信息');
         }
         //            $_getDeploymentUsers[] = $tmpData[$key]['deployment'];
     }
     $objData = array('info' => array('order_id' => $rs['order_id'], 'order_sn' => $rs['order_sn'], 'address' => $rs['address'], 'phone' => $rs['phone'], 'username' => $rs['username'], 'desc' => $rs['desc'], 'order_time' => outTime($rs['order_time']), 'arrive_date' => outTime($rs['arrive_date'], 2), 'arrive_time' => $rs['arrive_time'], 'order_amount' => $rs['order_amount'], 'shipping_fee' => $rs['shipping_fee'], 'offset' => $rs['credit_offset'] + $rs['coupon_offset'] + $rs['sales_offset'], 'printCounts' => count($tmpData), 'order_no' => sprintf("%04d", D('steorder')->where(array('status[>=]' => 3, 'status[<=]' => 11, 'arrive_date' => $rs['arrive_date'], 'service_id' => $rs['service_id']))->count() + 1)), 'print' => isset($printer['zone'][$rs['service_id']]) ? $printer['zone'][$rs['service_id']][array_rand($printer['zone'][$rs['service_id']], 1)] : '', 'order' => $tmpData);
     if (!$objData['print']) {
         showError('该服务点没有打印机信息');
     }
     //        F('test_order_data',$objData);
     //        z($objData);
     return $objData;
 }
 function preview()
 {
     $id = $this->_getid('id', 0);
     if (!$id) {
         showError('参数丢失');
     }
     $rs = M('ste_goods')->where(array('gid' => $id))->find();
     if (!$rs) {
         showError('商品不存在');
     }
     steadmin::$adminInfo['city_id'] = 3301;
     $goodPic = $rs['goods_pic'];
     $rs['goods_tips'] = parent::_getTipsGroupList($this->steSetting['goods_tips'], $rs['goods_tips']);
     $rs['goods_pic'] = getImgUrl(getThumb($goodPic, 0));
     $rs['orig_pic'] = getImgUrl(getThumb($goodPic, 2));
     if ($rs['is_realtime'] && $rs['booked_time']) {
         $rs['goods_desc'] = '<p><img src="' . getImgUrl('statics/default/images/steward/2015/presell_' . $rs['booked_time'] . '.png') . '"/></p><br/>' . $rs['goods_desc'];
     }
     $rs['goods_desc'] = htmlspecialchars_decode($rs['goods_desc']);
     $rs['is_delay'] = parent::_getShopName($rs['shop_id'], 'is_delay');
     $rs['cate_name'] = parent::_getCateName($rs['cate_id']);
     $rs['shop_name'] = parent::_getShopName($rs['shop_id'], 'shop_name');
     $rs['order_counts'] = $rs['order_counts'] * 3;
     ////2015-03-31 新增刷新销量
     $list = explode(',', 'is_delay,gid,cate_id,shop_id,shop_name,goods_name,goods_subtitle,goods_spec,goods_tips,goods_pic,orig_pic,original_price,price_pre,price,goods_desc,order_counts,sale_counts,storage_counts,is_realtime,is_hot,is_new,is_recommend,is_limited,limit_counts');
     foreach ($list as $val) {
         $rs['goodsData'][$val] = $rs[$val];
     }
     $rs['goodsData'] = json_encode($rs['goodsData']);
     if (!$rs['status'] || $rs['status'] == 2) {
         $rs['sale_status'] = 0;
     }
     if ($rs['start_times'] <= TIME) {
         if ($rs['end_times'] < TIME) {
             $rs['sale_status'] = 0;
         } elseif ($rs['end_times'] >= TIME) {
             $rs['sale_status'] = 1;
         }
     } else {
         $rs['sale_status'] = 2;
     }
     $rs['sale_time'] = outTime($rs['start_times']);
     //        z($rs);
     $this->assign(array('id' => $id, 'rs' => $rs, 'vid' => 0));
     $this->display();
 }