'用户昵称', 'integral' => '每日签到奖励', 'continuous_integral' => '连续签到奖励', 'days' => '连续签到天数', 'create_time' => '签到时间', ]; } /** * @notes 导出表名 * @return string * @author Tab * @date 2021/8/16 19:45 */ public function setFileName(): string { return '签到记录表'; } /** * @notes 设置搜索 * @return array * @author Tab * @date 2021/8/16 19:33 */ public function setSearch(): array { return [ '=' => ['u.sn', 'u.mobile'], '%like%' => ['u.nickname'], 'between_time' => 'sl.create_time' ]; } /** * @notes 签到记录列表 * @return array * @author Tab * @date 2021/8/16 19:35 */ public function lists(): array { $field = 'sl.id,sl.integral,sl.continuous_integral,sl.days,sl.create_time'; $field .= ',u.avatar,u.nickname'; $lists = SignLog::alias('sl') ->leftJoin('user u', 'u.id = sl.user_id') ->field($field) ->where($this->searchWhere) ->order('sl.id','desc') ->limit($this->limitOffset, $this->limitLength) ->select() ->toArray(); foreach($lists as &$item) { $item['avatar'] = FileService::getFileUrl($item['avatar']); } return $lists; } /** * @notes 签到记录数量 * @return int * @author Tab * @date 2021/8/16 19:41 */ public function count(): int { $count = SignLog::alias('sl') ->leftJoin('user u', 'u.id = sl.user_id') ->where($this->searchWhere) ->count(); return $count; } }