search(['uid' => $uid,'is_del' => 0,'paid' => 0],0)->count(); } /** * @param array $where * @return \think\db\BaseQuery * @author xaboy * @day 2020/6/9 */ public function search(array $where,$is_points = null) { $isWithGoods = $where['is_with_goods'] ?? 0; $query = StoreGroupOrder::getDB() ->when(isset($where['paid']) && $where['paid'] !== '',function($query) use ($where){ $query->where('paid',$where['paid']); }) ->when($isWithGoods == 1,function($query) use ($where){ $query->whereNotIn('activity_type',[30,31,32,33,34,36,37,38]); },function($query) use ($where){ $query->whereNotIn('activity_type',[30,31,32,33,34,35,36,37,38]); }) ->when(isset($where['paid']) && $where['paid'] !== '',function($query) use ($where){ $query->where('paid',$where['paid']); }) ->when(isset($where['uid']) && $where['uid'] !== '',function($query) use ($where){ $query->where('uid',$where['uid']); }) ->when(isset($where['with_goods_mer_id']) && $where['with_goods_mer_id'] !== '',function($query) use ($where){ if(is_array($where['with_goods_mer_id'] )) $query->whereIn('with_goods_mer_id',$where['with_goods_mer_id']); else $query->where('with_goods_mer_id',$where['with_goods_mer_id']); }) ->when(!is_null($is_points),function($query) use ($is_points){ if($is_points){ $query->where('activity_type',20); } else{ $query->where('activity_type','<>',20); } }) ->when(isset($where['is_del']) && $where['is_del'] !== '',function($query) use ($where){ $query->where('is_del',$where['is_del']); },function($query){ $query->where('is_del',0); }); return $query->order('create_time DESC'); } /** * @param $time * @param bool $is_remind * @return array * @author xaboy * @day 2020/6/9 */ public function getTimeOutIds($time, $is_remind = false) { return StoreGroupOrder::getDB()->where('is_del', 0)->where('paid', 0) ->when($is_remind, function ($query) { $query->where('is_remind', 0); })->where('create_time', '<=', $time)->column('group_order_id'); } public function isRemind($id) { return StoreGroupOrder::getDB()->where('group_order_id', $id)->update(['is_remind' => 1]); } public function totalNowMoney($uid) { return StoreGroupOrder::getDB()->where('pay_type', 0)->where('uid', $uid)->sum('pay_price') ?: 0; } }