package cc.mrbird.febs.monitor.controller; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.monitor.entity.ActiveUser; import cc.mrbird.febs.monitor.service.ISessionService; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author MrBird */ @RestController @RequestMapping("session") @RequiredArgsConstructor public class SessionController { private final ISessionService sessionService; @GetMapping("list") @RequiresPermissions("online:view") public FebsResponse list(String username) { List list = sessionService.list(username); Map data = new HashMap<>(2); data.put("rows", list); data.put("total", CollectionUtils.size(list)); return new FebsResponse().success().data(data); } @GetMapping("delete/{id}") @RequiresPermissions("user:kickout") public FebsResponse forceLogout(@PathVariable String id) { sessionService.forceLogout(id); return new FebsResponse().success(); } }