|
@@ -68,16 +68,24 @@ class UserPurchase extends Auth
|
|
|
$item=ShopPurchase::getItem($request['tab']);
|
|
|
|
|
|
$offerTable=$offer->getTable();
|
|
|
-// print_r($offerTable);
|
|
|
-// exit;
|
|
|
+
|
|
|
$status = $request['status'];
|
|
|
$offer->where("{$offerTable}.user_id",$user['id']);
|
|
|
+
|
|
|
if($request['status']==1){
|
|
|
//$offer->where('amount','=',0);
|
|
|
$offer->whereRaw('amount=0 or amount is NULL');
|
|
|
}elseif($request['status']==2){
|
|
|
- if ($request['tab']!=1){
|
|
|
$offer->where('amount','>',0);
|
|
|
+// if($request['tab']==1){
|
|
|
+// $item->whereNull("offer_id");
|
|
|
+// }
|
|
|
+ if ($request['tab']==1){
|
|
|
+ $offer->whereExists(
|
|
|
+ $item->where("id",Db::raw("{$offerTable}.item_id"))->whereNull('offer_id')->buildSql()
|
|
|
+ );
|
|
|
+ }
|
|
|
+ if ($request['tab']!=1){
|
|
|
$offer->whereNotExists(
|
|
|
$item->where("offer_id",Db::raw("{$offerTable}.id"))->buildSql()
|
|
|
);
|
|
@@ -89,37 +97,47 @@ class UserPurchase extends Auth
|
|
|
$item->where("offer_id",Db::raw("{$offerTable}.id"))->buildSql()
|
|
|
);
|
|
|
}
|
|
|
+
|
|
|
+// print_r($offer);
|
|
|
+// exit();
|
|
|
$offer->group($key);
|
|
|
$offer->order('id','desc');
|
|
|
+
|
|
|
$offer->whereExists(
|
|
|
ShopPurchase::getQuery($request['tab'])
|
|
|
- ->where(function ($query) use ($status,$request){
|
|
|
- if($request['tab'] == 1){
|
|
|
- if($status == 1){
|
|
|
- $query->whereExists('select * from shop_purchase_item where shop_purchase_item.purchase_id=shop_purchase.id and not exists(select * from shop_purchase_offer where shop_purchase_offer.item_id=shop_purchase_item.id)');
|
|
|
- }elseif ($status == 2){
|
|
|
- $query->whereExists('select * from shop_purchase_item where shop_purchase_item.purchase_id=shop_purchase.id and exists(select * from shop_purchase_offer where shop_purchase_offer.item_id=shop_purchase_item.id)');
|
|
|
- }elseif($status == 3){
|
|
|
- $query->whereExists('select * from shop_purchase_item where shop_purchase_item.purchase_id=shop_purchase.id and offer_id is not null');
|
|
|
- }else{
|
|
|
- $this->error('未知参数');
|
|
|
- }
|
|
|
- }else{
|
|
|
+ ->where(function ($query) use ($status){
|
|
|
+// if($request['tab'] == 1){
|
|
|
+// if($status == 1){
|
|
|
+// $query->whereExists('select * from shop_purchase_item where shop_purchase_item.purchase_id=shop_purchase.id and not exists(select * from shop_purchase_offer where shop_purchase_offer.item_id=shop_purchase_item.id)');
|
|
|
+// }elseif ($status == 2){
|
|
|
+// $query->whereExists('select * from shop_purchase_item where shop_purchase_item.purchase_id=shop_purchase.id and exists(select * from shop_purchase_offer where shop_purchase_offer.item_id=shop_purchase_item.id)');
|
|
|
+// }elseif($status == 3){
|
|
|
+// $query->whereExists('select * from shop_purchase_item where shop_purchase_item.purchase_id=shop_purchase.id and offer_id is not null');
|
|
|
+// }else{
|
|
|
+// $this->error('未知参数');
|
|
|
+// }
|
|
|
+// }else{
|
|
|
if ($status>2){
|
|
|
$query->where('status',$status);
|
|
|
}
|
|
|
- }
|
|
|
+// }
|
|
|
})
|
|
|
->where('id',"{$offerTable}.$key")->buildSql()
|
|
|
);
|
|
|
// $list = $offer->select();
|
|
|
// echo $offer->getLastSql();die;
|
|
|
$list=$offer->paginate($request['limit']?:15);
|
|
|
-
|
|
|
-
|
|
|
+// $this->success('',$list);
|
|
|
+// print_r($item);
|
|
|
+// exit();
|
|
|
foreach ($list as $k=>$item){
|
|
|
$with=['items'];
|
|
|
$order=ShopPurchase::getQuery($request['tab'])->with($with)->find($item[$key]);
|
|
|
+
|
|
|
+// $this->success('',$order);
|
|
|
+// print_r($item);
|
|
|
+// echo "</br>";
|
|
|
+// exit();
|
|
|
$order['status']=$request['status'];
|
|
|
if($request['tab']>1) {
|
|
|
$order['user_order'] = $order->offers()->where('user_id',$user['id'])->find();
|