=', strtotime($start)]; } if($end) { $map[] = ['a.add_time', '<=', strtotime($end)]; } $map[] = ['a.room_guild_id', '>', 0]; // dump($map);die; $list = db::name('user_send_gift')->alias('a') ->field('a.*,b.room_name,b.room_number,b.room_owner_uid,c.guild_name,c.base64_guild_name,c.uid') ->leftJoin('yy_room b', 'a.rid = b.rid') ->leftJoin('yy_guild c', 'a.room_guild_id = c.id') ->where($map)->order('a.add_time', 'desc')->page($page, $limit)->select(); $uid_arr = $receive_uid_arr = []; foreach ($list as $val) { $uid_arr[] = $val['uid']; $receive_uid_arr[] = $val['receive_uid']; } $uid_arr = array_merge($uid_arr, $receive_uid_arr); $user_list = Db::name('user')->whereIn('uid', $uid_arr)->column('nick_name', 'uid'); foreach ($list as $k => &$v) { $v['guild_name'] = mb_convert_encoding(base64_decode($v['base64_guild_name']), 'UTF-8', 'UTF-8'); $v['send_nick_name'] = $user_list[$v['uid']] ?? ''; $v['receive_nick_name'] = $user_list[$v['receive_uid']] ?? ''; } $data = []; $data['count'] = db::name('user_send_gift')->alias('a')->where($map)->count(); $data['list'] = $list; $gift_total_price = Db::name('user_send_gift')->alias('a')->where($map)->sum('gift_total_price'); $totalRowData = ['gift_total_price' => $gift_total_price]; $data['totalRow'] = $totalRowData; // $data['totalRow'] = ['gift_total_price' => strval($gift_total_price)]; return ['code' => 200, 'msg' => '获取成功', 'data' => $data]; } public function get_guild_room_money_log_list($guild_id, $rid, $start, $end, $page, $limit) { $rid_arr = []; if($rid) { $rid_arr = [$rid]; } // else { // $rid_arr = $this->get_guild_room_list($guild_id); // } // dump($rid_arr);die; $map = []; if(!empty($rid_arr)) { $map[] = ['a.rid', 'in', $rid_arr]; } if($start) { $map[] = ['a.add_time', '>=', strtotime($start)]; } if($end) { $map[] = ['a.add_time', '<=', strtotime($end)]; } if($guild_id > 0) { $map[] = ['a.room_guild_id', '=', $guild_id]; } $map[] = ['a.room_guild_id', '>', 0]; $list = db::name('user_send_gift')->alias('a') ->field('a.*,b.room_name,b.base64_room_name,b.room_number,b.room_owner_uid,c.guild_name,c.base64_guild_name,c.uid') ->leftJoin('yy_room b', 'a.rid = b.rid') ->leftJoin('yy_guild c', 'a.room_guild_id = c.id') ->where($map)->order('a.add_time', 'desc')->page($page, $limit)->select(); $uid_arr = $receive_uid_arr = []; foreach ($list as $val) { $uid_arr[] = $val['uid']; $receive_uid_arr[] = $val['receive_uid']; } $uid_arr = array_merge($uid_arr, $receive_uid_arr); $user_list = Db::name('user')->whereIn('uid', $uid_arr)->column('nick_name', 'uid'); foreach ($list as $k => &$v) { $v['guild_name'] = mb_convert_encoding(base64_decode($v['base64_guild_name']), 'UTF-8', 'UTF-8'); $v['send_nick_name'] = $user_list[$v['uid']] ?? ''; $v['receive_nick_name'] = $user_list[$v['receive_uid']] ?? ''; $v['room_name'] = mb_convert_encoding(base64_decode($v['base64_room_name']), 'UTF-8', 'UTF-8'); } $data = []; $data['count'] = db::name('user_send_gift')->alias('a')->where($map)->count(); $data['list'] = $list; $totalRowData = Db::name('user_send_gift')->alias('a') ->field('SUM(gift_total_price) as gift_total_price, SUM(room_owner_profit) as room_owner_profit') ->where($map)->find(); $data['totalRow'] = $totalRowData; // $data['totalRow'] = ['gift_total_price' => strval($gift_total_price)]; return ['code' => 200, 'msg' => '获取成功', 'data' => $data]; } //获取工会签约房间列表 public function get_guild_room_list($guild_id = 0, $is_move = 0) { $map = []; if($guild_id) { $map[] = ['guild_id', '=', $guild_id]; } if($is_move) { $map[] = ['is_delete', '=', $is_move]; } $map[] = ['status', '=', 1]; $uid = Db::name('user_guild')->where($map)->column('uid'); $uid_arr = Db::name('user')->where(['uid' => $uid, 'is_sign' => 1])->column('uid'); $rid_arr = Db::name('room')->where(['room_owner_uid' => $uid_arr, 'room_status' => 1])->column('rid'); return $rid_arr; } //获取工会签约房间列表 public function get_guild_room_list_by_guild_id($guild_id) { $map = [ ['a.guild_id', '=', $guild_id], ['a.status', '=', 1], ['b.is_sign', '=', 1], ]; $list = Db::name('user_guild')->alias('a') ->leftJoin('yy_user b', 'a.uid = b.uid') ->leftJoin('yy_room c', 'a.uid = c.room_owner_uid') ->field('a.is_delete,c.rid,c.base64_room_name') ->where($map) ->select(); foreach ($list as &$val) { $val['room_name'] = mb_convert_encoding(base64_decode($val['base64_room_name']), 'UTF-8', 'UTF-8'); $val['is_delete_title'] = $val['is_delete'] == 1 ? '未离开' : '离开'; } return $list; } }