Esempio n. 1
0
 public static function getOrderlist($params)
 {
     $payment = $params['Payment'];
     $BuyerName = $params['BuyerName'];
     $Status = $params['Status'];
     $EvaStatus = $params['EvaStatus'];
     $OrderSN = $params['search_text'];
     $starttime = $params['starttime'];
     $endtime = $params['endtime'];
     $pageSize = $params['pageSize'] ? $params['pageSize'] : 10;
     $criteria = new CDbCriteria();
     $criteria->order = "t.CreateTime desc";
     $criteria->condition = "t.SellerID = {$params['OrganID']} and t.IsDelete=0";
     //订单类型
     if ($payment && in_array($payment, array(1, 2))) {
         $criteria->addCondition("t.Payment = {$payment}", "AND");
     }
     //买家查询
     if ($BuyerName) {
         $BuyerName = EvaluateService::checkKey(urldecode($BuyerName));
         $model = self::getOrgan(array('OrganName' => $BuyerName));
         $idArr = array();
         foreach ($model as $v) {
             $idArr[] = $v->ID;
         }
         $criteria->addInCondition("t.BuyerID", $idArr);
     }
     //订单状态
     if ($Status && in_array($Status, array(1, 2, 3, 5, 9, 10))) {
         if ($Status == 5) {
             $criteria->addCondition("t.Status = 3 and t.ReturnStatus!=0", "AND");
         } else {
             if ($Status == 3) {
                 $criteria->addCondition("t.Status = 3 and t.ReturnStatus=0", "AND");
             } else {
                 $criteria->addCondition("t.Status = {$Status}", "AND");
             }
         }
     } else {
         if ($params['SendStatus']) {
             $criteria->addCondition("t.Status in(1,2)", "AND");
         }
     }
     //订单评价
     if ($EvaStatus && $EvaStatus == 1) {
         $criteria->addCondition("t.EvaStatus in(0,15) and t.Status=9", "AND");
     } else {
         if ($EvaStatus == 2) {
             $criteria->addCondition("t.EvaStatus in(16,20) and t.Status=9", "AND");
         }
     }
     //订单号
     if ($OrderSN) {
         $OrderSN = EvaluateService::checkKey(urldecode($OrderSN));
         $criteria->addCondition("t.OrderSN like '%{$OrderSN}%'");
     }
     //下单时间
     if ($starttime && $endtime) {
         $criteria->addCondition("t.CreateTime > {$starttime} and t.CreateTime < {$endtime}+3600*24", 'AND');
     } else {
         if ($starttime) {
             $criteria->addCondition("t.CreateTime > {$starttime}", 'AND');
         } else {
             if ($endtime) {
                 $criteria->addCondition("t.CreateTime < {$endtime}+3600*24", 'AND');
             }
         }
     }
     $data = new CActiveDataProvider('PapOrder', array('criteria' => $criteria, 'pagination' => array('pageSize' => $pageSize)));
     $datas = $data->getData();
     foreach ($datas as $vv) {
         foreach ($vv->goodsinfo as $v) {
             $v = self::getVersionGoods($v);
         }
     }
     $data->setData($datas);
     return $data;
 }