From edc9a6674eb9b40e33a74c5f022d279712ed3b7c Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 30 十二月 2024 17:01:13 +0800 Subject: [PATCH] 添加许可工具 --- se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java | 198 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 185 insertions(+), 13 deletions(-) diff --git a/se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java b/se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java index be2de32..cbb4fa7 100644 --- a/se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java +++ b/se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java @@ -1,41 +1,213 @@ package com.se.system.controller; +import com.se.common.core.utils.StringUtils; +import com.se.common.core.utils.ip.IpUtils; +import com.se.common.core.web.controller.BaseController; +import com.se.common.core.web.domain.AjaxResult; +import com.se.common.core.web.page.TableDataInfo; +import com.se.common.log.annotation.Log; +import com.se.common.log.enums.BusinessType; +import com.se.common.security.utils.SecurityUtils; +import com.se.system.api.domain.SysLogininfor; +import com.se.system.api.domain.SysOperLog; +import com.se.system.api.model.LoginUser; +import com.se.system.domain.SysMenu; +import com.se.system.service.IndexService; +import com.se.system.service.impl.SysMenuServiceImpl; +import com.se.system.service.inte.ISysLogininforService; +import com.se.system.service.inte.ISysOperLogService; +import org.omg.PortableInterceptor.SYSTEM_EXCEPTION; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; @RestController @RequestMapping("/index") @SuppressWarnings("ALL") -public class IndexController { +public class IndexController extends BaseController { + @Resource + IndexService indexService; + + @Resource + SysMenuServiceImpl menuService; + + @Resource + ISysOperLogService operLogService; + + @Resource + ISysLogininforService logininforService; + + private SysMenu sysMenu = new SysMenu(); + + public IndexController() { + sysMenu.setMark("index"); + } + + // 鈶燩V缁熻锛歅V锛圥age View锛夛細椤甸潰娴忚閲忔垨鐐瑰嚮閲忥紝鍗崇綉绔欐墍鏈夐〉闈㈣璁块棶鐨勬�绘鏁般�� + // 姣忔墦寮�鎴栧埛鏂颁竴涓〉闈紝PV灏变細澧炲姞涓�娆★紝澶氭鎵撳紑鎴栧埛鏂板悓涓�椤甸潰鍒欐祻瑙堥噺绱銆� + // PV鍙嶆槧浜嗙綉绔欑敤鎴疯闂殑缃戦〉鏁伴噺锛屾槸琛¢噺缃戠珯娴侀噺鐨勯噸瑕佹寚鏍囦箣涓� + @Log(title = "PV缁熻", businessType = BusinessType.OTHER) + @GetMapping("/pvCount") + public Map<String, Object> pvCount(Integer day) { + if (null == day || day < 1) day = 15; + if (day > 365) day = 365; + + Map<String, Object> map = new HashMap<>(); + map.put("pvCount", indexService.pvCount(day)); + + return map; + } + + // 鈶¤闂暟閲忥細UV锛圲nique Visitor锛夛細鐙珛璁垮鏁帮紝鎸囪闂綉绔欑殑鐙珛鐢ㄦ埛鏁般�備竴澶╁唴鍚屼竴璁垮澶氭璁块棶鍙绠椾竴娆°�� + // 鍙互鐞嗚В鎴愯闂煇缃戠珯鐨勭數鑴戠殑鏁伴噺銆傜綉绔欏垽鏂潵璁跨數鑴戠殑韬唤鏄�氳繃鏉ヨ鐢佃剳鐨刢ookies瀹炵幇鐨勩�� + // 濡傛灉鏇存崲浜咺P鍚庝絾涓嶆竻闄ookies锛屽啀璁块棶鐩稿悓缃戠珯锛岃缃戠珯鐨勭粺璁′腑UV鏁版槸涓嶅彉鐨勩�� + @Log(title = "UV缁熻", businessType = BusinessType.OTHER) + @GetMapping("/uvCount") + public Map<String, Object> uvCount(Integer day) { + if (null == day || day < 1) day = 15; + if (day > 365) day = 365; + + Map<String, Object> map = new HashMap<>(); + map.put("uvCount", indexService.uvCount(day)); + + return map; + } + + // 鈶㈡柊澧炵敤鎴风粺璁★細涓�娈垫椂闂村唴鏂版敞鍐岀殑鐢ㄦ埛鏁伴噺銆傜洰鍓嶅畾涓轰竴鍛ㄥ唴鐨勬柊澧炵敤鎴锋暟閲忋�� + @Log(title = "鏂板鐢ㄦ埛缁熻", businessType = BusinessType.OTHER) + @GetMapping("/newUserCount") + public Map<String, Object> newUserCount(Integer day) { + if (null == day || day < 1) day = 15; + if (day > 365) day = 365; + + Map<String, Object> map = new HashMap<>(); + map.put("newUserCount", indexService.newUserCount(day)); + + return map; + } + + @Log(title = "鏁版嵁缁熻", businessType = BusinessType.OTHER) + @GetMapping("/dataCount") + public Map<String, Object> dataCount(Integer day) { + if (null == day || day < 1) day = 15; + if (day > 365) day = 365; + + Map<String, Object> map = new HashMap<>(); + map.put("pvCount", indexService.pvCount(day)); + map.put("uvCount", indexService.uvCount(day)); + map.put("newUserCount", indexService.newUserCount(day)); + + return map; + } + + // 鈶g敤鎴风櫥褰曚俊鎭細浠ヤ竴瀹氬舰寮忓睍绀烘柊鐧诲綍鎴栭��鍑虹櫥褰曠殑鐢ㄦ埛璐︽埛鍙婃椂闂淬�� + @Log(title = "鐢ㄦ埛鐧诲綍淇℃伅", businessType = BusinessType.OTHER) + @GetMapping("/lastLogin") + public TableDataInfo lastLogin(SysLogininfor logininfor) { + startPage(); + List<SysLogininfor> list = logininforService.selectLogininforList(logininfor); + + return getDataTable(list); + } + + // 鈶ょ敤鎴风粺璁℃帓琛岋紙娲昏穬鐢ㄦ埛锛夛細浠ヤ竴瀹氭椂闂存鍐呯殑鐧诲綍鏃堕棿鎴栫櫥褰曟鏁版帓鍚嶏紝灞曠ず鍓嶄簲鍚嶇殑鐢ㄦ埛淇℃伅 + @Log(title = "鐢ㄦ埛缁熻鎺掕", businessType = BusinessType.OTHER) + @GetMapping("/userCountList") + public List<Map<String, Object>> userCountList(Integer day, Integer amount) { + if (null == day || day < 1) day = 15; + if (day > 365) day = 365; + if (null == amount) amount = 5; + if (amount > 100) amount = 100; + + return indexService.userCountList(day, amount); + } + + // 鈶ュ父鐢ㄧ郴缁熷睍绀�/鍚勭郴缁熻闂俊鎭細鍩轰簬鐢ㄦ埛璁块棶娆℃暟鎺掑悕锛屽睍绀哄墠浜斾釜绯荤粺鐨勬帓鍚� + // 骞跺睍绀哄悇涓郴缁熶竴澶╁唴銆佷笁澶╁唴銆佷竴鍛ㄥ唴鐨勮闂鏁般�傘�愬彲鑰冭檻鎸夊叾浠栨寚鏍囪繘琛屾帓鍚嶅睍绀恒�� + @Log(title = "甯哥敤绯荤粺灞曠ず", businessType = BusinessType.OTHER) + @GetMapping("/sysVisitList") + public List<Map<String, Object>> sysVisitList(Integer day, Integer amount) { + if (null == day || day < 1) day = 15; + if (day > 365) day = 365; + if (null == amount) amount = 5; + if (amount > 100) amount = 100; + + return indexService.sysVisitList(day, amount); + } + + @Log(title = "杩愮淮鐩戞帶", businessType = BusinessType.OTHER) @GetMapping("/monitor") public Map<String, Object> monitor() { Map<String, Object> map = new HashMap<>(); + map.put("cpu", "50%"); + map.put("mem", "65%"); + map.put("ratio", "40%"); return map; } - @GetMapping("/userList") - public Map<String, Object> userList() { - Map<String, Object> map = new HashMap<>(); + @GetMapping("/getAllPerms") + public AjaxResult getAllPerms() { + try { + List<SysMenu> menus = menuService.selectMenuList(sysMenu, 1L); - return map; + return success(menuService.buildMenus(menus)); + } catch (Exception ex) { + logger.error(ex.getMessage(), ex); + return error(ex.getMessage()); + } } - @GetMapping("/uvCount") - public Map<String, Object> uvCount() { - Map<String, Object> map = new HashMap<>(); + @GetMapping("/getMyPerms") + public AjaxResult getMyPerms() { + try { + Long userId = SecurityUtils.getUserId(); + List<SysMenu> menus = menuService.selectMenuList(sysMenu, userId); - return map; + return success(menuService.buildMenus(menus)); + } catch (Exception ex) { + logger.error(ex.getMessage(), ex); + return error(ex.getMessage()); + } } - @GetMapping("/pvCount") - public Map<String, Object> pvCount() { - Map<String, Object> map = new HashMap<>(); + @GetMapping("/addAccessLog") + public AjaxResult addAccessLog(String title, Integer status) { + long start = System.currentTimeMillis(); + if (null == status || status < 0) status = 0; - return map; + SysOperLog log = new SysOperLog(); + log.setTitle(title); + // 0=鍏跺畠,1=鏂板,2=淇敼,3=鍒犻櫎,4=鎺堟潈,5=瀵煎嚭,6=瀵煎叆,7=寮洪��,8=鐢熸垚浠g爜,9=娓呯┖鏁版嵁,14=鏈巿鏉� + log.setBusinessType(0); + // ServletUtils.getRequest().getMethod() + log.setMethod("com.se.system.controller.IndexController.addAccessLog()"); + log.setRequestMethod("GET"); + log.setOperatorType(1); + + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (null != loginUser) { + log.setOperName(loginUser.getUsername()); + log.setDeptName(loginUser.getSysUser().getDept().getDeptName()); + } + // StringUtils.substring(ServletUtils.getRequest().getRequestURI(), 0, 255) + log.setOperUrl("/index/addAccessLog"); + log.setOperIp(IpUtils.getIpAddr()); + log.setOperParam("{\"title\":\"" + title + "\"}"); + + log.setJsonResult(String.format("{\"msg\":\"%s\",\"code\":%d}", 0 == status ? "鎴愬姛" : "澶辫触", 0 == status ? 200 : 400)); + log.setStatus(status); + log.setOperTime(new Date()); + log.setCostTime(System.currentTimeMillis() - start + 10); + + int rows = operLogService.insertOperlog(log); + + return toAjax(rows); } } -- Gitblit v1.9.3