# EMS4j **Repository Path**: hexingmo/EMS4j ## Basic Information - **Project Name**: EMS4j - **Description**: EMS4j是在java优秀开源框架的基础上构建的。主要目的是解决公司中多个系统,每个系统都需要开发一套基础的员工,部门,权限的基础功能。这样做就提高了开发成本,EMS4j的目的就是为了做到这部分基础功能的复用,提高开发效率,和系统的可维护性。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 12 - **Created**: 2016-12-15 - **Last Updated**: 2024-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ##Employee Manager Service For Java系统文档(当前版本1.0.0) ##项目简介 Employee Manager Service For Java是一个把员工、部门、角色、权限、字典,一系列企业内常用系统功能做成服务模块的项目,简称EMS4J。使用者无需再次开发相关功能,直接调用服务接口拿数据即可。 ##项目架构图 ![](ems4j.png) ##项目架构说明: * Common为其他模块公共依赖,存放实体对象,工具类,常量定义等 * Dep-api定义员工部门服务接口 * Dep-service实现Dep-Api定义的接口,通过dubbo协议向外提供服务 * Dep-web提供员工部门web后台管理,通过dubbo与Dep-service通讯,Dep-web内部分后台部分和前台静态,后台部分向静态页面提供restful服务 ##业务特点说明: * service和web模块相对独立,默认无需配置可运行 * 员工部门模块可被多系统同时使用 * 可与微信,钉钉企业通讯同步员工部门信息 ##数据库设计说明 ##接口设计说明 * 提供当前系统角色和权限的信息;该接口推荐在系统启动时调用,返回json对象格式如下: { “appId”:”xxx”, “roleId”:{ “roleName”:”xxx”, “urlList”:[ {“url”:”xxx”,”desc”:”xxxx”}, {“url”:”xxx”,”desc”:”xxxx”} ], “menuList”:[ {“menu”:”xxx”,”name”:”xxx”}, {“menu”:”xxx”,”name”:”xxx”} ] }, “roleId”:{}, ... } * public String login(Integer appId, String username, String password);(登录接口) 登录接口,登录成功返回用户信息,json对象格式如下: { “result”:true, “userInfo”:{ “name”:”xxx”, “idCard”:”xxxxxxx”, “mobile”:”xxxxxxx”, “email”:”xxxxxx”, “agent”:”男/女”, “department”:{ “id”:”xxx”, “name”:”xxxx”, “telphone”:”xxx”, “address”:”xxxx”, “areaCode”:”xxxx” “appIds”:”[xxx,xxx,xxx]” ... }, “roleList”:[ {“id”:”xxxx”,”name”:”xxxx”}, {“id”:”xxxx”,”name”:”xxxx”} ], “urlList”:[ {“url”:”xxx”,”desc”:”xxxx”}, {“url”:”xxx”,”desc”:”xxxx”} ], “menuList”:[ {“menu”:”xxx”,”name”:”xxx”}, {“menu”:”xxx”,”name”:”xxx”} ] }, “appId”:”xxx” } 登录失败返回格式: { “result”:false, “msg”:”xxx”, “appId”:”xxx” } result true登录成功 userInfo 用户详细信息 name 用户姓名 idCard 身份证号 mobile 手机号 email 邮箱 agent 性别 department 所在部门详细信息 id 部门id name 部门名称 telphone 部门电话 appIds 允许访问的系统 roleList 拥有的角色信息 id 角色id name 角色名称 urlList 可访问的后台地址 url 地址 desc 描述信息 menuList 可访问的菜单 menu 地址 name 菜单名称 appId 所属应用id * public String updateEmployee(Employee emp);(修改用户信息) * 管理后台接口: * Public List getDepartmentListByParentId(Integer appId, Integer parentId);(查询子部门) * Public List getEmployeeListByDepId(Integer appId, Integer departmentId);(查询部门下员工) * Public List getMenuListByRole(Integer appId, Integer roleId);(查询角色对应的权限) * Public String addEmployee(Integer appId, Employee emp);(添加员工) * Public String addDepartment(Integer appId, Department dep);(添加部门) * Public String addRole(Integer appId, Role role);(添加角色) * Public String addMenu(Integer appId, Menu menu);(添加菜单或权限) * Public String updateDepartment(Integer appId, Department dep);(修改部门) * Public String updateRole(Integer appId, Role role);(修改角色权限) * public List getRoleList(Integer appId);(查询系统角色) * public List getMenuList(Integer appId);(查询系统所有菜单权限)