name', 'like', '%'.$get['goods'].'%']; } if (!empty($get['datetime']) and $get['datetime']) { list($start, $end) = explode(' - ', $get['datetime']); $where[] = ['kaituan_time', '>=', strtotime($start.' 00:00:00')]; $where[] = ['kaituan_time', '<=', strtotime($end.' 23:59:59')]; } $model = new TeamFound(); $lists = $model->alias('TF')->field(['TF.*,U.nickname,U.sn,U.avatar']) ->join('user U', 'U.id = TF.user_id') ->order('id desc') ->where($where) ->paginate([ 'page' => $get['page'] ?? 1, 'list_rows' => $get['limit'] ?? 20, 'var_page' => 'page' ])->toArray(); foreach ($lists['data'] as &$item) { $item['peopleJoin'] = $item['people'] . '/' . $item['join']; $item['kaituan_time'] = date('Y-m-d H:i:s', $item['kaituan_time']); $item['invalid_time'] = date('Y-m-d H:i:s', $item['invalid_time']); $item['goods_snap'] = json_decode($item['goods_snap'], true); $item['status_text'] = TeamEnum::getStatusDesc($item['status']); $item['avatar'] = UrlServer::getFileUrl($item['avatar']); } return ['count'=>$lists['total'], 'lists'=>$lists['data']]; } catch (Exception $e) { static::$error = $e->getMessage(); return false; } } /** * @Notes: 数据统计 * @Author: 张无忌 * @return mixed */ public static function statistics() { $model = new TeamFound(); $detail['total'] = $model->count(); $detail['stayStatus'] = $model->where(['status'=>0])->count(); $detail['successStatus'] = $model->where(['status'=>1])->count(); $detail['failStatus'] = $model->where(['status'=>2])->count(); return $detail; } /** * @Notes: 拼团详细 * @Author: 张无忌 * @param $id * @return array */ public static function detail($id) { $teamFound = (new TeamFound())->alias('TF') ->field(['TF.*,U.sn,U.nickname,U.mobile']) ->join('user U', 'U.id = TF.user_id') ->where('TF.id', '=', intval($id)) ->findOrEmpty()->toArray(); $teamFound['kaituan_time'] = date('Y-m-d H:i:s', $teamFound['kaituan_time']); $teamFound['invalid_time'] = date('Y-m-d H:i:s', $teamFound['invalid_time']); $teamFound['team_end_time'] = date('Y-m-d H:i:s', $teamFound['team_end_time']); $teamFound['status_text'] = TeamEnum::getStatusDesc($teamFound['status']); return ['teamFound'=>$teamFound]; } /** * @Notes: 参团列表 * @Author: 张无忌 * @param $get * @return array|bool */ public static function join($get) { try { $where[] = ['TJ.team_id', '=', $get['team_id']]; $model = new TeamJoin(); $lists = $model->alias('TJ')->field(['TJ.*,U.sn,U.nickname,U.avatar']) ->join('user U', 'U.id = TJ.user_id') ->where($where) ->paginate([ 'page' => $get['page'] ?? 1, 'list_rows' => $get['limit'] ?? 20, 'var_page' => 'page' ])->toArray(); $orderModel = new Order(); foreach ($lists['data'] as &$item) { $item['identity'] = $item['identity'] == 1 ? '团长' : '团员'; $item['order'] = $orderModel->field([ 'id,order_sn,order_type,order_status, refund_status,pay_status,order_amount,create_time' ]) ->with(['orderGoods']) ->findOrEmpty($item['order_id'])->toArray(); $item['order']['order_status'] = OrderEnum::getOrderStatus($item['order']['order_status']); $item['order']['pay_status'] = OrderEnum::getPayStatus($item['order']['pay_status']); $item['order']['refund_status'] = OrderEnum::getRefundStatus($item['order']['refund_status']); $item['avatar'] = UrlServer::getFileUrl($item['avatar']); } return ['count'=>$lists['total'], 'lists'=>$lists['data']]; } catch (Exception $e) { static::$error = $e->getMessage(); return false; } } }