05-微信油站管理系统-站点配置

        在上一文中,我们将原系统的部门管理改为了公司组织架构管理,并且为油站做了标识,但没有一个专门的模块来做油站信息维护和管理,本文将创建油站扩展表来管理油站的扩展信息。

站点配置功能分析

        对于一个油站来说,我们通常需要记录油站号、油站名称、联系人、联系电话、油站状态(停用/启用)、经纬度(微信定位使用)、地址、油枪数量这些基本信息,在组织架构中已有组织ID、组织名称、联系人、联系电话、邮箱、状态,这几个字段可以直接复用,那么另外我们需要创建一张扩展表来保存剩余的信息。

    对于站点配置这个功能来说,我们需要一个独立的菜单入口,同时也只有该操作权限的用户可以看到站点配置菜单,同时也只能查看和修改已授权的油站信息。

站点配置功能实现

1.添加代码模块

为了油站系统添加独立模块,将代码放在这个模块中,具体添加模块步骤请参考若依官网文档->后台手册->新增子模块章节,添加后的项目结构如图:

2.创建扩展表

根据上面的功能分析,需在数据库中创建扩展表,创建表语句整理如下:

CREATETABLE`biz_dept_ext`(

`dept_id`BIGINTNOTNULLCOMMENT'油站id',

`lng`DECIMAL(12,3)DEFAULTNULLCOMMENT'经度',

`lat`DECIMAL(12,3)DEFAULTNULLCOMMENT'纬度',

`address`VARCHAR(200)DEFAULT''COMMENT'油站地址',

`noz_cnt`INTDEFAULT'0'COMMENT'油枪数量',

`update_time`DATETIMEDEFAULTNULLCOMMENT'更新时间',

PRIMARYKEY(`dept_id`)

)ENGINE=INNODBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_general_ciCOMMENT='站点扩展信息'

3.生成业务代码

将数据表创建完成后,打开若依界面,选择系统工具->代码生成,点击“导入”按钮,在弹出框中选择刚创建的扩展表,如下图:

4.添加系统菜单

修改deptextMenu.sql文件,删除新增、删除、导出功能权限并执行,修改后结果如下:

-- 菜单 SQL

INSERTINTOsys_menu(menu_name,parent_id,order_num,path,component,is_frame,is_cache,menu_type,visible,STATUS,perms,icon,create_by,create_time,update_by,update_time,remark)

VALUES('站点设置','2000','1','deptext','nxx/deptext/index',1,0,'C','0','0','nxx:deptext:list','#','admin',SYSDATE(),'',NULL,'站点设置菜单');

-- 按钮父菜单ID

SELECT@parentId:=LAST_INSERT_ID();

-- 按钮 SQL

INSERTINTOsys_menu(menu_name,parent_id,order_num,path,component,is_frame,is_cache,menu_type,visible,STATUS,perms,icon,create_by,create_time,update_by,update_time,remark)

VALUES('站点设置查询',@parentId,'1','#','',1,0,'F','0','0','nxx:deptext:query','#','admin',SYSDATE(),'',NULL,'');

INSERTINTOsys_menu(menu_name,parent_id,order_num,path,component,is_frame,is_cache,menu_type,visible,STATUS,perms,icon,create_by,create_time,update_by,update_time,remark)

VALUES('站点设置修改',@parentId,'3','#','',1,0,'F','0','0','nxx:deptext:edit','#','admin',SYSDATE(),'',NULL,'');

5.添加业务代码

为了提高代码的复用度,将domain和mapper目录下的文件复制到ruoyi-nxx-dao项目中,将service和controller代码复制到ruoyi-nxx-mgr项目中,如图:

6.修改实体类和查询语句

修改BizDeptExt.java,添加已存在的站点字段,并修改BizDeotExtMapper.xml中的查询语句,结果如下:

@TableField(exist=false)

privateStringdeptName;

@TableField(exist=false)

privateStringleader;

@TableField(exist=false)

privateStringphone;

@TableField(exist=false)

privateStringemail;

@TableField(exist=false)

privateIntegerstatus;

SELECTd.dept_id,d.dept_name,d.`leader`,d.`phone`,d.`email`,d.`status`,de.*

FROMsys_dept d

LEFTJOINbiz_dept_ext deONd.dept_id=de.dept_id

d.`del_flag`='0'ANDd.`is_station`=1

andlocate(#{deptName},d.dept_name) >0

andlocate(#{address},de.address) >0

${params.dataScope}

7.添加数据权限注解

修改BizDeptExtServiceImpl.java中selectBizDeptExtList方法,添加数据权限注解,结果如下:

/**

* 查询站点设置列表

* @param bizDeptExt 站点设置

* @return 站点设置

*/

@Override

@DataScope(deptAlias="d")

publicListselectBizDeptExtList(BizDeptExtbizDeptExt) {

    returnbizDeptExtMapper.selectBizDeptExtList(bizDeptExt);

}

将生成代码中vue目录下的api和views目录复制到ruoyi-ui下src目录,修改nxx/deptext/index.vue页面,列表上方的批量操作按钮,并修改列表字段,效果如下:

至此,站点信息配置已完成,并且保留了数据权限控制。

你可能感兴趣的:(05-微信油站管理系统-站点配置)