JeeSite 4.x

Spring Boot 最好的快速开发平台

用户类型、扩展类型(如:员工、会员、单位)

概述

用户(user)是能够登录平台的账号集合,即登录用户。其最基本的属性为用户名、密码、手机号和邮箱等等(主表),另外还有很多附加属性如:

  • 内部员工(employee):归属部门、归属公司、入职时间、岗位、在职状态、学历等等。
  • 会员用户(member):注册时间、姓名、等级、积分、地址等等。
  • 往来单位(btype):单位名称、单位电话、负责人、类型等等。
  • 专家用户(expert):专业、擅长领域、技术专长、熟悉程度等等。

从上可以看出,各种用户类型的附加属性都是不同的,所以需要建立不同的表(附表)来存储。

下面咱们来看下,主表和附表之间的关系是什么:

用户主表 用户表/sys_user 用户类型/user_type 引用编码/ref_code 引用名称/ref_name
员工附表 员工表/sys_employee 员工/employee 员工编码/emp_code 员工姓名/emp_name
会员附表 会员表/sys_member 会员/member 会员编码/member_code 会员姓名/member_name
单位附表 单位表/sys_btype 往来单位/btype 单位编码/btype_code 单位姓名/btype_name
专家附表 专家表/sys_expert 往来单位/expert 单位编码/expert_code 单位姓名/expert_name

解释: 1)用户类型:区分用户表中的数据,归属用户类型是什么。 2)引用编码和名称: 如果用户类型是员工,则存储的是员工编码和员工名称;如果引用类型是会员,则是会员编码、会员名称;

自定义用户类型

菜单中的员工管理,其实就是 JeeSite 已经默认实现一种数据类型:员工类型,表名:sys_employee,剩下的类型还需要你根据业务需要,模仿员工,进行扩充实现。

步骤:

敬请期待:模仿员工,进行扩充实现

新建配置

# 用户相关
user:

  # 用户类型配置信息(employee员工,member会员,btype往来单位,persion个人,expert专家,...),JSON 格式说明如下:
  # {"用户类型":{"dao":"Dao的Bean名称","loginView":"登录页面视图","indexView":"主框架页面视图,支持 redirect: 前缀"}}
  userTypeMap: >
    {
      "employee":{"dao":"employeeDao","loginView":"","indexView":"modules/sys/sysIndex"},
      "member":{"dao":"memberDao","loginView":"","indexView":"modules/sys/sysIndexMember"},
      "btype":{"dao":"btypeInfoDao","loginView":"","indexView":"modules/sys/sysIndexBtype"},
      "expert":{"dao":"expertDao","loginView":"","indexView":"modules/sys/sysIndexExpert"}
    }

代码生成,Member 主子表增删改查

拷贝 EmpUser 到 MemUser,查找替换 Employee 为 Member

删掉无用的 JoinTable、ExcelField 等代码。

修改 Member 的 JoinTable on 关联条件

拷贝 EmpUserDao 到 MemUserDao,替换 EmpUser 为 MemUser

拷贝 EmpUserService 到 MemUserService EmpUser 为 MemUser


阿里云【爆款特惠】精选爆款产品低至0.95折

关注 JeeSite 公众号,了解最新动态