diff --git a/screen-vue/src/api/bizMenu.js b/screen-vue/src/api/bizMenu.js new file mode 100644 index 0000000..c523c93 --- /dev/null +++ b/screen-vue/src/api/bizMenu.js @@ -0,0 +1,12 @@ +import request from '@/utils/request' + +/** + * 获取指标信息列表 + */ +export function getHomeMenuList(params) { + return request({ + url: '/biz/homeMenu/list', + method: 'get', + params: params + }) +} \ No newline at end of file diff --git a/screen-vue/src/api/bizUser.js b/screen-vue/src/api/bizUser.js new file mode 100644 index 0000000..8c03087 --- /dev/null +++ b/screen-vue/src/api/bizUser.js @@ -0,0 +1,12 @@ +import request from '@/utils/request' + +/** + * 获取指标信息列表 + */ +export function getHomeUserList(params) { + return request({ + url: '/biz/homeUser/list', + method: 'get', + params: params + }) +} \ No newline at end of file diff --git a/screen-vue/src/assets/logo.png b/screen-vue/src/assets/logo.png new file mode 100644 index 0000000..0c9c06d Binary files /dev/null and b/screen-vue/src/assets/logo.png differ diff --git a/screen-vue/src/components/Layout/editPswd.vue b/screen-vue/src/components/Layout/editPswd.vue new file mode 100644 index 0000000..cbeae28 --- /dev/null +++ b/screen-vue/src/components/Layout/editPswd.vue @@ -0,0 +1,142 @@ + + + + + \ No newline at end of file diff --git a/screen-vue/src/components/Layout/index.vue b/screen-vue/src/components/Layout/index.vue new file mode 100644 index 0000000..ed9b575 --- /dev/null +++ b/screen-vue/src/components/Layout/index.vue @@ -0,0 +1,767 @@ + + + + + \ No newline at end of file diff --git a/screen-vue/src/router/index.js b/screen-vue/src/router/index.js index 9835e39..56d585c 100644 --- a/screen-vue/src/router/index.js +++ b/screen-vue/src/router/index.js @@ -1,33 +1,85 @@ import { createRouter, createWebHistory } from 'vue-router' import Login from '@/views/Login.vue' +import Page404 from '@/views/error/404.vue' +import Layout from '@/components/Layout/index.vue' import Dashboard from '@/views/desktop/index.vue' +import bigScreen from '@/views/screen/index.vue' + +// 扫描规则保持不变 +const modules = import.meta.glob('../views/**/index.vue', { + eager: false, + import: 'default' +}) + +const generateRoutes = () => { + const routes = [] + + Object.entries(modules).forEach(([filePath, module]) => { + const excludePaths = [ + 'views/Login.vue', + 'views/desktop/index.vue', + 'views/error/', + 'views/screen/', + ] + if (excludePaths.some(path => filePath.includes(path))) { + return + } + + const routePath = filePath + .replace('../views', '') + .replace('.vue', '') + .toLowerCase() + + const routeName = routePath + .split('/') + .filter(Boolean) + .map(seg => seg.charAt(0).toUpperCase() + seg.slice(1)) + .join('') + + routes.push({ + path: routePath, + name: routeName || 'SystemRoleIndex', + component: module + }) + }) + + return routes +} -// 路由规则 const routes = [ { path: '/', - redirect: '/login' // 默认跳登录页 + redirect: '/login' }, { path: '/login', name: 'Login', component: Login, - meta: { - isPublic: true // 标记为公开页面,无需登录 - } + meta: { isPublic: true } }, { - path: '/dashboard', - name: 'Dashboard', - component: Dashboard, - meta: { - requiresAuth: true // 需要登录验证 - } + path: '/bigScreen', + name: 'bigScreen', + component: bigScreen, + meta: { requiresAuth: true } + }, + { + path: '/', + component: Layout, + meta: { requiresAuth: true }, + children: [ + { + path: 'dashboard', + name: 'Dashboard', + component: Dashboard + }, + ...generateRoutes() + ] }, - // 关键补充:404兜底路由(匹配所有未定义的前端路由) { path: '/:pathMatch(.*)*', - redirect: '/login' // 未知路径重定向到登录页 + name: 'Page404', + component: Page404 } ] @@ -39,15 +91,12 @@ const router = createRouter({ } }) -// 路由守卫:验证登录状态(优化版,增加容错) router.beforeEach((to, from, next) => { - // 公开页面直接放行 if (to.meta.isPublic) { next() return } - // 非公开页面校验token try { const token = localStorage.getItem('token') if (token && token.trim() !== '') { diff --git a/screen-vue/src/views/Login.vue b/screen-vue/src/views/Login.vue index 47d1dd9..d98765d 100644 --- a/screen-vue/src/views/Login.vue +++ b/screen-vue/src/views/Login.vue @@ -68,13 +68,13 @@ const handleLogin = async () => { isLoading.value = true; const res = await login(loginForm.value); localStorage.setItem('token', res.token); - localStorage.setItem('userName', res.userName); + localStorage.setItem('loginUser', JSON.stringify(res.loginUser)); ElMessage.success('登录成功!'); setTimeout(() => { router.push('/dashboard'); }, 3000); } catch (error) { - ElMessage.error(res.msg); + console.log(error); }finally{ isLoading.value = false; } diff --git a/screen-vue/src/views/desktop/index.vue b/screen-vue/src/views/desktop/index.vue index 08ef3f1..3dc7c35 100644 --- a/screen-vue/src/views/desktop/index.vue +++ b/screen-vue/src/views/desktop/index.vue @@ -1,356 +1,17 @@ - - \ No newline at end of file diff --git a/screen-vue/src/views/error/404.vue b/screen-vue/src/views/error/404.vue new file mode 100644 index 0000000..1e83e07 --- /dev/null +++ b/screen-vue/src/views/error/404.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/screen-vue/src/views/desktop/screen/Erp/components/ChartV01.vue b/screen-vue/src/views/screen/Erp/components/ChartV01.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/ChartV01.vue rename to screen-vue/src/views/screen/Erp/components/ChartV01.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/components/ChartV02.vue b/screen-vue/src/views/screen/Erp/components/ChartV02.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/ChartV02.vue rename to screen-vue/src/views/screen/Erp/components/ChartV02.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/components/ChartV03.vue b/screen-vue/src/views/screen/Erp/components/ChartV03.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/ChartV03.vue rename to screen-vue/src/views/screen/Erp/components/ChartV03.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/components/ChartV04.vue b/screen-vue/src/views/screen/Erp/components/ChartV04.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/ChartV04.vue rename to screen-vue/src/views/screen/Erp/components/ChartV04.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/components/ChartV05.vue b/screen-vue/src/views/screen/Erp/components/ChartV05.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/ChartV05.vue rename to screen-vue/src/views/screen/Erp/components/ChartV05.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/components/ChartV06.vue b/screen-vue/src/views/screen/Erp/components/ChartV06.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/ChartV06.vue rename to screen-vue/src/views/screen/Erp/components/ChartV06.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/components/ChartV07.vue b/screen-vue/src/views/screen/Erp/components/ChartV07.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/ChartV07.vue rename to screen-vue/src/views/screen/Erp/components/ChartV07.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/components/ChartV08.vue b/screen-vue/src/views/screen/Erp/components/ChartV08.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/ChartV08.vue rename to screen-vue/src/views/screen/Erp/components/ChartV08.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/components/ChartV09.vue b/screen-vue/src/views/screen/Erp/components/ChartV09.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/ChartV09.vue rename to screen-vue/src/views/screen/Erp/components/ChartV09.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/components/detail/indexV01.vue b/screen-vue/src/views/screen/Erp/components/detail/indexV01.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/components/detail/indexV01.vue rename to screen-vue/src/views/screen/Erp/components/detail/indexV01.vue diff --git a/screen-vue/src/views/desktop/screen/Erp/index.vue b/screen-vue/src/views/screen/Erp/index.vue similarity index 100% rename from screen-vue/src/views/desktop/screen/Erp/index.vue rename to screen-vue/src/views/screen/Erp/index.vue diff --git a/screen-vue/src/views/screen/Home/components/user/form.vue b/screen-vue/src/views/screen/Home/components/user/form.vue new file mode 100644 index 0000000..72bd7dc --- /dev/null +++ b/screen-vue/src/views/screen/Home/components/user/form.vue @@ -0,0 +1,288 @@ + + + + + \ No newline at end of file diff --git a/screen-vue/src/views/desktop/screen/Home/components/user/index.vue b/screen-vue/src/views/screen/Home/components/user/index.vue similarity index 57% rename from screen-vue/src/views/desktop/screen/Home/components/user/index.vue rename to screen-vue/src/views/screen/Home/components/user/index.vue index 517e0a8..1c2bfc6 100644 --- a/screen-vue/src/views/desktop/screen/Home/components/user/index.vue +++ b/screen-vue/src/views/screen/Home/components/user/index.vue @@ -3,41 +3,33 @@
- + + + + + - + - - - - - - - - + + +
@@ -70,6 +62,7 @@ empty-text="暂无相关数据" class="data-table" v-loading="loading" + loading-text="正在加载数据..." :header-cell-style="{ background: 'rgba(10, 30, 60, 0.8)', color: '#a0cfff', @@ -86,17 +79,49 @@ borderBottom: '1px solid rgba(64, 158, 255, 0.2)' }" > - - - - - + + + + + + + - -
@@ -115,27 +140,43 @@ /> + + + + + + + \ No newline at end of file diff --git a/screen-vue/src/views/system/index.vue b/screen-vue/src/views/system/index.vue new file mode 100644 index 0000000..bbd935d --- /dev/null +++ b/screen-vue/src/views/system/index.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/screen-vue/src/views/system/menu/index.vue b/screen-vue/src/views/system/menu/index.vue new file mode 100644 index 0000000..02409e3 --- /dev/null +++ b/screen-vue/src/views/system/menu/index.vue @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/screen-vue/src/views/system/role/index.vue b/screen-vue/src/views/system/role/index.vue new file mode 100644 index 0000000..02409e3 --- /dev/null +++ b/screen-vue/src/views/system/role/index.vue @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/screen-vue/src/views/system/user/index.vue b/screen-vue/src/views/system/user/index.vue new file mode 100644 index 0000000..02409e3 --- /dev/null +++ b/screen-vue/src/views/system/user/index.vue @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/src/main/java/com/mini/mybigscreen/Auth/routeController.java b/src/main/java/com/mini/mybigscreen/Auth/routeController.java index ffa14de..33f84bf 100644 --- a/src/main/java/com/mini/mybigscreen/Auth/routeController.java +++ b/src/main/java/com/mini/mybigscreen/Auth/routeController.java @@ -2,6 +2,8 @@ package com.mini.mybigscreen.Auth; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; @Controller public class routeController { @@ -10,9 +12,15 @@ public class routeController { /** * 路由跳转 */ - @GetMapping({"/", "/login", "/dashboard"}) + @GetMapping({"/", "/login", "/bigScreen", "/dashboard"}) public String forwardToIndex() { return "forward:/index.html"; } + + @RequestMapping(value = "/**/{path:[^.]*}") + public String redirect(@PathVariable String path) { + return "forward:/index.html"; + } + } diff --git a/src/main/java/com/mini/mybigscreen/Auth/userController.java b/src/main/java/com/mini/mybigscreen/Auth/userController.java index f2d6d62..3938aca 100644 --- a/src/main/java/com/mini/mybigscreen/Auth/userController.java +++ b/src/main/java/com/mini/mybigscreen/Auth/userController.java @@ -3,6 +3,8 @@ package com.mini.mybigscreen.Auth; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mini.mybigscreen.Model.LoginRequest; import com.mini.mybigscreen.Model.Result; +import com.mini.mybigscreen.Model.loginUser; +import com.mini.mybigscreen.Model.userInfo; import com.mini.mybigscreen.biz.domain.HomeUser; import com.mini.mybigscreen.biz.service.HomeUserService; import com.mini.mybigscreen.utils.AesUtil; @@ -32,11 +34,11 @@ public class userController { .eq("password", AesUtil.encrypt(loginRequest.getPassword())); HomeUser user = userService.getOne(queryWrapper, true); if (user != null) { - String token = KeyUtil.ObjKey(125,0); + String token = KeyUtil.ObjKey(125, 0); HttpSession session = request.getSession(true); session.setAttribute("userName", user.getUserName()); session.setAttribute("token", token); - return Result.success(token); + return Result.success(new userInfo(token, new loginUser(user.getUname(), user.getUserId(), user.getRoleId(), user.getUserName()))); } return Result.error("账号或密码错误"); } diff --git a/src/main/java/com/mini/mybigscreen/Config/WebConfig.java b/src/main/java/com/mini/mybigscreen/Config/WebConfig.java index 78f9d80..a9f7c33 100644 --- a/src/main/java/com/mini/mybigscreen/Config/WebConfig.java +++ b/src/main/java/com/mini/mybigscreen/Config/WebConfig.java @@ -19,6 +19,7 @@ public class WebConfig implements WebMvcConfigurer { .addPathPatterns("/**") // 拦截所有路径 .excludePathPatterns( "/", + "/login", "/index.html", "/userLogin" ) diff --git a/src/main/java/com/mini/mybigscreen/Model/Menu.java b/src/main/java/com/mini/mybigscreen/Model/Menu.java new file mode 100644 index 0000000..6f13cf7 --- /dev/null +++ b/src/main/java/com/mini/mybigscreen/Model/Menu.java @@ -0,0 +1,36 @@ +package com.mini.mybigscreen.Model; + +import com.mini.mybigscreen.biz.domain.HomeMenu; +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +@Data +public class Menu implements Serializable { + + private String menuId; + private String parentId; + private String menuName; + private String menuType; + private String path; + private String menuIcon; + private Integer sort; + private Integer isIframe; + // 子菜单列表 + private List children; + + + public Menu(String menuId,String parentId, String menuName, String menuType, String path,String menuIcon, Integer sort, Integer isIframe,List children) { + this.menuId = menuId; + this.parentId = parentId; + this.menuName = menuName; + this.menuType = menuType; + this.path = path; + this.menuIcon = menuIcon; + this.sort = sort; + this.isIframe = isIframe; + this.children = children; + } +} diff --git a/src/main/java/com/mini/mybigscreen/Model/PageResult.java b/src/main/java/com/mini/mybigscreen/Model/PageResult.java index ad179b8..dfbe8b1 100644 --- a/src/main/java/com/mini/mybigscreen/Model/PageResult.java +++ b/src/main/java/com/mini/mybigscreen/Model/PageResult.java @@ -12,4 +12,12 @@ public class PageResult implements Serializable { private Integer currentPage; // 当前页码 private Integer pageSize; // 每页条数 private Integer total; // 总记录数 + + + public PageResult(List list,Integer currentPage,Integer pageSize,Integer total){ + this.list = list; + this.currentPage = currentPage; + this.pageSize = pageSize; + this.total = total; + } } diff --git a/src/main/java/com/mini/mybigscreen/Model/loginUser.java b/src/main/java/com/mini/mybigscreen/Model/loginUser.java new file mode 100644 index 0000000..46579ea --- /dev/null +++ b/src/main/java/com/mini/mybigscreen/Model/loginUser.java @@ -0,0 +1,21 @@ +package com.mini.mybigscreen.Model; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class loginUser implements Serializable { + + private String uname; + private String userId; + private String roleId; + private String userName; + + public loginUser(String uname, String userId, String roleId, String userName) { + this.uname = uname; + this.userId = userId; + this.roleId = roleId; + this.userName = userName; + } +} diff --git a/src/main/java/com/mini/mybigscreen/Model/userInfo.java b/src/main/java/com/mini/mybigscreen/Model/userInfo.java new file mode 100644 index 0000000..d9af591 --- /dev/null +++ b/src/main/java/com/mini/mybigscreen/Model/userInfo.java @@ -0,0 +1,19 @@ +package com.mini.mybigscreen.Model; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +@Data +public class userInfo implements Serializable { + + private String token; + private loginUser loginUser; + + public userInfo(String token, loginUser loginUser) { + this.token = token; + this.loginUser = loginUser; + } +} diff --git a/src/main/java/com/mini/mybigscreen/biz/controller/ErpTransactionFlowController.java b/src/main/java/com/mini/mybigscreen/biz/controller/ErpTransactionFlowController.java index dde55cc..f622706 100644 --- a/src/main/java/com/mini/mybigscreen/biz/controller/ErpTransactionFlowController.java +++ b/src/main/java/com/mini/mybigscreen/biz/controller/ErpTransactionFlowController.java @@ -40,13 +40,8 @@ public class ErpTransactionFlowController { .eq(StrUtil.isNotBlank(transactionType), "transaction_type", transactionType) .orderByDesc("create_time"); List flowList = flowService.list(query); - PageUtil pageUtil = new PageUtil<>(pageNum, pageSize, flowList); - List pageData = pageUtil.OkData(); - PageResult result = new PageResult<>(); - result.setList(pageData); // 当前页数据 - result.setCurrentPage(pageNum); // 当前页码 - result.setPageSize(pageSize); // 每页条数 - result.setTotal(flowList.size()); // 总条数 + PageUtil util = new PageUtil<>(pageNum, pageSize, flowList); + PageResult result = new PageResult<>(util.OkData(), pageNum, pageSize, flowList.size()); return Result.success(result); } } diff --git a/src/main/java/com/mini/mybigscreen/biz/controller/HomeMenuController.java b/src/main/java/com/mini/mybigscreen/biz/controller/HomeMenuController.java new file mode 100644 index 0000000..d1b1a6f --- /dev/null +++ b/src/main/java/com/mini/mybigscreen/biz/controller/HomeMenuController.java @@ -0,0 +1,61 @@ +package com.mini.mybigscreen.biz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.mini.mybigscreen.Model.Menu; +import com.mini.mybigscreen.Model.Result; +import com.mini.mybigscreen.biz.domain.HomeMenu; +import com.mini.mybigscreen.biz.service.HomeMenuService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 菜单表 前端控制器 + *

+ * + * @author gaoxq + * @since 2026-03-01 + */ +@RestController +@RequestMapping("/biz/homeMenu") +public class HomeMenuController { + + + @Resource + private HomeMenuService menuService; + + + @GetMapping("list") + public Result getList() { + List menuList = new ArrayList<>(); + QueryWrapper query = new QueryWrapper<>(); + query.eq("ustatus", "1") + .eq("parent_id", "0") + .orderByAsc("sort"); + List pMenus = menuService.list(query); + for (HomeMenu menu : pMenus) { + QueryWrapper childQuery = new QueryWrapper<>(); + childQuery.eq("parent_id", menu.getMenuId()); + List childMenus = menuService.list(childQuery); + menuList.add(new Menu( + menu.getMenuId(), + menu.getParentId(), + menu.getMenuName(), + menu.getMenuType(), + menu.getPath(), + menu.getMenuIcon(), + menu.getSort(), + menu.getIsIframe(), + childMenus + )); + } + return Result.success(menuList); + } + + +} diff --git a/src/main/java/com/mini/mybigscreen/biz/controller/HomeUserController.java b/src/main/java/com/mini/mybigscreen/biz/controller/HomeUserController.java index 9c626a7..049890a 100644 --- a/src/main/java/com/mini/mybigscreen/biz/controller/HomeUserController.java +++ b/src/main/java/com/mini/mybigscreen/biz/controller/HomeUserController.java @@ -1,11 +1,22 @@ package com.mini.mybigscreen.biz.controller; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.mini.mybigscreen.Model.PageResult; +import com.mini.mybigscreen.Model.Result; +import com.mini.mybigscreen.biz.domain.HomeUser; +import com.mini.mybigscreen.biz.service.HomeUserService; +import com.mini.mybigscreen.utils.PageUtil; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author gaoxq @@ -15,4 +26,23 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/biz/homeUser") public class HomeUserController { + + @Resource + private HomeUserService userService; + + + @GetMapping("list") + public Result getList(Integer pageNum, Integer pageSize, + String userName, String uname, String ustatus) { + QueryWrapper query = new QueryWrapper<>(); + query.like(StrUtil.isNotBlank(uname), "uname", uname) + .eq(StrUtil.isNotBlank(ustatus), "ustatus", ustatus) + .eq(StrUtil.isNotBlank(userName), "user_name", userName) + .orderByDesc("create_time"); + List userList = userService.list(query); + PageUtil util = new PageUtil<>(pageNum, pageSize, userList); + PageResult result = new PageResult<>(util.OkData(), pageNum, pageSize, userList.size()); + return Result.success(result); + } + } diff --git a/src/main/java/com/mini/mybigscreen/biz/domain/HomeMenu.java b/src/main/java/com/mini/mybigscreen/biz/domain/HomeMenu.java new file mode 100644 index 0000000..f597419 --- /dev/null +++ b/src/main/java/com/mini/mybigscreen/biz/domain/HomeMenu.java @@ -0,0 +1,77 @@ +package com.mini.mybigscreen.biz.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 菜单表 + *

+ * + * @author gaoxq + * @since 2026-03-01 + */ +@Getter +@Setter +@TableName("biz_home_menu") +public class HomeMenu implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableField("create_time") + private LocalDateTime createTime; + + @TableId(value = "menu_id", type = IdType.AUTO) + private String menuId; + + /** + * 父菜单ID(0为顶级菜单) + */ + @TableField("parent_id") + private String parentId; + + /** + * 菜单名称 + */ + @TableField("menu_name") + private String menuName; + + /** + * 菜单类型(M=目录,C=菜单,F=按钮) + */ + @TableField("menu_type") + private String menuType; + + /** + * 路由路径 + */ + @TableField("path") + private String path; + + /** + * 排序号 + */ + @TableField("sort") + private Integer sort; + + /** + * 是否外链(0=否,1=是) + */ + @TableField("is_iframe") + private Integer isIframe; + + /** + * 菜单图标 + */ + @TableField("menu_icon") + private String menuIcon; + + @TableField("ustatus") + private Integer ustatus; +} diff --git a/src/main/java/com/mini/mybigscreen/biz/domain/HomeUser.java b/src/main/java/com/mini/mybigscreen/biz/domain/HomeUser.java index 5a1ebf4..e699766 100644 --- a/src/main/java/com/mini/mybigscreen/biz/domain/HomeUser.java +++ b/src/main/java/com/mini/mybigscreen/biz/domain/HomeUser.java @@ -4,18 +4,20 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; + import lombok.Getter; import lombok.Setter; /** *

- * + * *

* * @author gaoxq - * @since 2026-02-25 + * @since 2026-02-28 */ @Getter @Setter @@ -25,7 +27,7 @@ public class HomeUser implements Serializable { private static final long serialVersionUID = 1L; @TableField("create_time") - private LocalDateTime createTime; + private String createTime; @TableId(value = "user_id", type = IdType.AUTO) private String userId; @@ -40,26 +42,50 @@ public class HomeUser implements Serializable { private String uname; /** - * 租户id + * 性别 */ - @TableField("f_tenant_id") - private String fTenantId; + @TableField("sex") + private Integer sex; /** - * 流程id + * 电子邮件 */ - @TableField("f_flow_id") - private String fFlowId; + @TableField("email") + private String email; /** - * 流程任务主键 + * 电话号码 */ - @TableField("f_flow_task_id") - private String fFlowTaskId; + @TableField("phone") + private String phone; /** - * 流程任务状态 + * 角色编号 */ - @TableField("f_flow_state") - private Integer fFlowState; + @TableField("role_id") + private String roleId; + + /** + * 模块名称 + */ + @TableField("group_module_id") + private String groupModuleId; + + /** + * 用户状态 + */ + @TableField("ustatus") + private String ustatus; + + /** + * 累计登录次数 + */ + @TableField("login_count") + private Integer loginCount; + + /** + * 最后登录IP + */ + @TableField("last_login_ip") + private String lastLoginIp; } diff --git a/src/main/java/com/mini/mybigscreen/biz/mapper/HomeMenuMapper.java b/src/main/java/com/mini/mybigscreen/biz/mapper/HomeMenuMapper.java new file mode 100644 index 0000000..2a3c234 --- /dev/null +++ b/src/main/java/com/mini/mybigscreen/biz/mapper/HomeMenuMapper.java @@ -0,0 +1,16 @@ +package com.mini.mybigscreen.biz.mapper; + +import com.mini.mybigscreen.biz.domain.HomeMenu; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 菜单表 Mapper 接口 + *

+ * + * @author gaoxq + * @since 2026-03-01 + */ +public interface HomeMenuMapper extends BaseMapper { + +} diff --git a/src/main/java/com/mini/mybigscreen/biz/mapper/HomeUserMapper.java b/src/main/java/com/mini/mybigscreen/biz/mapper/HomeUserMapper.java index db92cbe..e4c743a 100644 --- a/src/main/java/com/mini/mybigscreen/biz/mapper/HomeUserMapper.java +++ b/src/main/java/com/mini/mybigscreen/biz/mapper/HomeUserMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; *

* * @author gaoxq - * @since 2026-02-25 + * @since 2026-02-28 */ public interface HomeUserMapper extends BaseMapper { diff --git a/src/main/java/com/mini/mybigscreen/biz/service/HomeMenuService.java b/src/main/java/com/mini/mybigscreen/biz/service/HomeMenuService.java new file mode 100644 index 0000000..34afc68 --- /dev/null +++ b/src/main/java/com/mini/mybigscreen/biz/service/HomeMenuService.java @@ -0,0 +1,16 @@ +package com.mini.mybigscreen.biz.service; + +import com.mini.mybigscreen.biz.domain.HomeMenu; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 菜单表 服务类 + *

+ * + * @author gaoxq + * @since 2026-03-01 + */ +public interface HomeMenuService extends IService { + +} diff --git a/src/main/java/com/mini/mybigscreen/biz/service/impl/HomeMenuServiceImpl.java b/src/main/java/com/mini/mybigscreen/biz/service/impl/HomeMenuServiceImpl.java new file mode 100644 index 0000000..08f8558 --- /dev/null +++ b/src/main/java/com/mini/mybigscreen/biz/service/impl/HomeMenuServiceImpl.java @@ -0,0 +1,20 @@ +package com.mini.mybigscreen.biz.service.impl; + +import com.mini.mybigscreen.biz.domain.HomeMenu; +import com.mini.mybigscreen.biz.mapper.HomeMenuMapper; +import com.mini.mybigscreen.biz.service.HomeMenuService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 菜单表 服务实现类 + *

+ * + * @author gaoxq + * @since 2026-03-01 + */ +@Service +public class HomeMenuServiceImpl extends ServiceImpl implements HomeMenuService { + +} diff --git a/src/main/java/com/mini/mybigscreen/mybatis/demo.java b/src/main/java/com/mini/mybigscreen/mybatis/demo.java index ab07076..c0fc235 100644 --- a/src/main/java/com/mini/mybigscreen/mybatis/demo.java +++ b/src/main/java/com/mini/mybigscreen/mybatis/demo.java @@ -29,7 +29,7 @@ public class demo { .pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "/src/main/resources/mapper")); }) .strategyConfig(builder -> { - builder.addInclude("erp_category") + builder.addInclude("biz_home_menu") .addTablePrefix("biz_") .entityBuilder() .enableLombok() diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 22f365c..5a08dfd 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -10,6 +10,7 @@ spring.servlet.multipart.enabled=true spring.servlet.multipart.max-file-size=200MB spring.servlet.multipart.max-request-size=1000MB spring.servlet.multipart.file-size-threshold=10MB +spring.mvc.pathmatch.matching-strategy=ant_path_matcher ## MySQL spring.datasource.url=jdbc:mysql://192.168.31.189:33069/work?useSSL=false&serverTimezone=UTC&characterEncoding=utf8 spring.datasource.username=dream diff --git a/src/main/resources/mapper/HomeMenuMapper.xml b/src/main/resources/mapper/HomeMenuMapper.xml new file mode 100644 index 0000000..b8856a4 --- /dev/null +++ b/src/main/resources/mapper/HomeMenuMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + create_time, menu_id, parent_id, menu_name, menu_type, path, sort, is_iframe, menu_icon, ustatus + + + diff --git a/src/main/resources/mapper/HomeUserMapper.xml b/src/main/resources/mapper/HomeUserMapper.xml index 143c051..27762e9 100644 --- a/src/main/resources/mapper/HomeUserMapper.xml +++ b/src/main/resources/mapper/HomeUserMapper.xml @@ -9,6 +9,14 @@ + + + + + + + + @@ -17,7 +25,7 @@ - create_time, user_id, user_name, password, uname, f_tenant_id, f_flow_id, f_flow_task_id, f_flow_state + create_time, user_id, user_name, password, uname, sex, email, phone, role_id, group_module_id, ustatus, login_count, last_login_ip, f_tenant_id, f_flow_id, f_flow_task_id, f_flow_state