|  | @@ -70,11 +70,12 @@ class Order extends Model
 | 
	
		
			
				|  |  |      const TYPE_ALL = 0; // 全部
 | 
	
		
			
				|  |  |      const TYPE_PAY = 1; // 待付款
 | 
	
		
			
				|  |  |      const TYPE_DELIVES = 2; // 待发货
 | 
	
		
			
				|  |  | -    const TYPE_RECEIVE = 3; // 待发货
 | 
	
		
			
				|  |  | +    const TYPE_RECEIVE = 3; // 待核销
 | 
	
		
			
				|  |  |      const TYPE_COMMENT = 4; // 待评价
 | 
	
		
			
				|  |  |      const TYPE_REFUND = 5; // 售后
 | 
	
		
			
				|  |  |      const TYPE_REFUSE = 6; // 拒绝退款
 | 
	
		
			
				|  |  |      const TYPE_OFF = 9; // 订单关闭
 | 
	
		
			
				|  |  | +    const TYPE_CANCEL = 20; //订单取消(已支付+未支付)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -165,16 +166,16 @@ class Order extends Model
 | 
	
		
			
				|  |  |              case $data['have_paid'] == self::PAID_NO && $data['status'] == self::STATUS_NORMAL:
 | 
	
		
			
				|  |  |                  $state = self::TYPE_PAY;
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  | -            case $data['have_delivered'] == self::DELIVERED_NO && $data['status'] == self::STATUS_NORMAL:
 | 
	
		
			
				|  |  | +            /*case $data['have_delivered'] == self::DELIVERED_NO && $data['status'] == self::STATUS_NORMAL:
 | 
	
		
			
				|  |  |                  $state = self::TYPE_DELIVES;
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | +                break;*/
 | 
	
		
			
				|  |  |              case $data['have_received'] == self::RECEIVED_NO && $data['status'] == self::STATUS_NORMAL:
 | 
	
		
			
				|  |  |                  $state = self::TYPE_RECEIVE;
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case $data['have_commented'] == self::COMMENTED_NO && $data['status'] == self::STATUS_NORMAL:
 | 
	
		
			
				|  |  |                  $state = self::TYPE_COMMENT;
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  | -            case $data['status'] == self::STATUS_REFUND && $data['refund_status'] == self::REFUND_STATUS_AGREE: // TODO 申请退款并且已通过同意,则订单为关闭状态
 | 
	
		
			
				|  |  | +/*            case $data['status'] == self::STATUS_REFUND && $data['refund_status'] == self::REFUND_STATUS_AGREE: // TODO 申请退款并且已通过同意,则订单为关闭状态
 | 
	
		
			
				|  |  |              case $data['status'] == self::STATUS_CANCEL:
 | 
	
		
			
				|  |  |                  $state = self::TYPE_OFF;
 | 
	
		
			
				|  |  |                  break;
 | 
	
	
		
			
				|  | @@ -183,6 +184,9 @@ class Order extends Model
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case $data['status'] == self::STATUS_REFUND:
 | 
	
		
			
				|  |  |                  $state = self::TYPE_REFUND;
 | 
	
		
			
				|  |  | +                break;*/
 | 
	
		
			
				|  |  | +            case $data['status'] == self::STATUS_CANCEL:
 | 
	
		
			
				|  |  | +                $state = self::TYPE_CANCEL;
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              default:
 | 
	
		
			
				|  |  |                  $state = self::TYPE_ALL;
 | 
	
	
		
			
				|  | @@ -319,7 +323,7 @@ class Order extends Model
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 获取我的订单
 | 
	
		
			
				|  |  |       * @param int $userId 用户id
 | 
	
		
			
				|  |  | -     * @param int $state 0=全部,1=待付款,2=待发货,3=待收货,4=待评价,5=售后
 | 
	
		
			
				|  |  | +     * @param int $state 0=全部,1=待付款,3=待核销,4=已完成,20=已取消
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      public function getOrdersByType($userId, $state = 0, $page = 1, $pageSize = 10)
 | 
	
		
			
				|  |  |      {
 | 
	
	
		
			
				|  | @@ -330,12 +334,12 @@ class Order extends Model
 | 
	
		
			
				|  |  |                  $condition['status'] = ['=', self::STATUS_NORMAL];
 | 
	
		
			
				|  |  |                  $orderBy = 'createtime';
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  | -            case self::TYPE_DELIVES:
 | 
	
		
			
				|  |  | +            /*case self::TYPE_DELIVES:
 | 
	
		
			
				|  |  |                  $condition['have_paid'] = ['>', self::PAID_NO];
 | 
	
		
			
				|  |  |                  $condition['have_delivered'] = ['=', self::DELIVERED_NO];
 | 
	
		
			
				|  |  |                  $condition['status'] = ['=', self::STATUS_NORMAL];
 | 
	
		
			
				|  |  |                  $orderBy = 'have_paid';
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | +                break;*/
 | 
	
		
			
				|  |  |              case self::TYPE_RECEIVE:
 | 
	
		
			
				|  |  |                  $condition['have_paid'] = ['>', self::PAID_NO];
 | 
	
		
			
				|  |  |                  $condition['have_delivered'] = ['>', self::DELIVERED_NO];
 | 
	
	
		
			
				|  | @@ -347,15 +351,20 @@ class Order extends Model
 | 
	
		
			
				|  |  |                  $condition['have_paid'] = ['>', self::PAID_NO];
 | 
	
		
			
				|  |  |                  $condition['have_delivered'] = ['>', self::DELIVERED_NO];
 | 
	
		
			
				|  |  |                  $condition['have_received'] = ['>', self::RECEIVED_NO];
 | 
	
		
			
				|  |  | -                $condition['have_commented'] = ['=', self::COMMENTED_NO];
 | 
	
		
			
				|  |  | +                $condition['have_commented'] = ['=', self::COMMENTED_NO]; //到底要不要注释?
 | 
	
		
			
				|  |  |                  $condition['status'] = ['=', self::STATUS_NORMAL];
 | 
	
		
			
				|  |  |                  $orderBy = 'have_received';
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  | -            case self::TYPE_REFUND:
 | 
	
		
			
				|  |  | +            /*case self::TYPE_REFUND:
 | 
	
		
			
				|  |  |                  $condition['have_paid'] = ['>', self::PAID_NO];
 | 
	
		
			
				|  |  |                  $condition['status'] = ['=', self::STATUS_REFUND];
 | 
	
		
			
				|  |  |                  $condition['refund_status'] = ['<>', self::REFUND_STATUS_AGREE];
 | 
	
		
			
				|  |  |                  $orderBy = 'createtime';
 | 
	
		
			
				|  |  | +                break;*/
 | 
	
		
			
				|  |  | +            case self::TYPE_CANCEL:
 | 
	
		
			
				|  |  | +//                $condition['have_paid'] = ['>', self::PAID_NO];
 | 
	
		
			
				|  |  | +                $condition['status'] = ['=', self::STATUS_CANCEL];
 | 
	
		
			
				|  |  | +                $orderBy = 'createtime';
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              default: //全部
 | 
	
		
			
				|  |  |                  $orderBy = 'createtime';
 | 
	
	
		
			
				|  | @@ -367,15 +376,15 @@ class Order extends Model
 | 
	
		
			
				|  |  |                  'products' => function($query) {
 | 
	
		
			
				|  |  |                      $query->field('id,title,image,number,price,spec,order_id,product_id');
 | 
	
		
			
				|  |  |                  },
 | 
	
		
			
				|  |  | -                'extend' => function($query) {
 | 
	
		
			
				|  |  | -                    $query->field('order_id,express_number,express_company');
 | 
	
		
			
				|  |  | -                },
 | 
	
		
			
				|  |  | -                'evaluate' => function($query) {
 | 
	
		
			
				|  |  | -                    $query->field('id,order_id,product_id');
 | 
	
		
			
				|  |  | -                },
 | 
	
		
			
				|  |  | -                'refundProducts' => function($query) {
 | 
	
		
			
				|  |  | -                    $query->field('id,order_id,order_product_id');
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | +                /* 'extend' => function($query) {
 | 
	
		
			
				|  |  | +                     $query->field('order_id,express_number,express_company');
 | 
	
		
			
				|  |  | +                 },
 | 
	
		
			
				|  |  | +                 'evaluate' => function($query) {
 | 
	
		
			
				|  |  | +                     $query->field('id,order_id,product_id');
 | 
	
		
			
				|  |  | +                 },
 | 
	
		
			
				|  |  | +                 'refundProducts' => function($query) {
 | 
	
		
			
				|  |  | +                     $query->field('id,order_id,order_product_id');
 | 
	
		
			
				|  |  | +                 }*/
 | 
	
		
			
				|  |  |              ])
 | 
	
		
			
				|  |  |              ->where($condition)
 | 
	
		
			
				|  |  |              ->order([$orderBy => 'desc'])
 | 
	
	
		
			
				|  | @@ -386,26 +395,28 @@ class Order extends Model
 | 
	
		
			
				|  |  |              $item->append(['order_id','state', 'refund_status_text']);
 | 
	
		
			
				|  |  |              $item = $item->toArray();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            $evaluate = array_column($item['evaluate'], 'product_id');
 | 
	
		
			
				|  |  | +            unset($item['pay_out_trade_no']);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            /*$evaluate = array_column($item['evaluate'], 'product_id');
 | 
	
		
			
				|  |  |              $refundProducts = array_column($item['refund_products'], 'order_product_id');
 | 
	
		
			
				|  |  |              unset($item['evaluate']);
 | 
	
		
			
				|  |  | -            unset($item['refund_products']);
 | 
	
		
			
				|  |  | +            unset($item['refund_products']);*/
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              foreach ($item['products'] as &$product) {
 | 
	
		
			
				|  |  |                  $product['image'] = Config::getImagesFullUrl($product['image']);
 | 
	
		
			
				|  |  |                  // 是否已评论
 | 
	
		
			
				|  |  | -                if (in_array($product['id'], $evaluate)) {
 | 
	
		
			
				|  |  | +                /*if (in_array($product['id'], $evaluate)) {
 | 
	
		
			
				|  |  |                      $product['evaluate'] = true;
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      $product['evaluate'] = false;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | +                }*/
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  // 是否退货
 | 
	
		
			
				|  |  | -                if ($item['refund_status'] == self::REFUND_STATUS_AGREE && in_array($product['order_product_id'], $refundProducts)) {
 | 
	
		
			
				|  |  | +                /*if ($item['refund_status'] == self::REFUND_STATUS_AGREE && in_array($product['order_product_id'], $refundProducts)) {
 | 
	
		
			
				|  |  |                      $product['refund'] = true;
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      $product['refund'] = false;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | +                }*/
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          }
 |