汇通day03

今日内容:

  一.角色管理模块的增删改查

  二.对用户进行角色的分配

1.相关数据表的设计与分析

  角色表:

      create table ROLE_P
      (
      ROLE_ID varchar(40) not null,
      NAME varchar(30),
      REMARKS varchar(100),
      ORDER_NO int,
      CREATE_BY varchar(40),
      CREATE_DEPT varchar(40),
      CREATE_TIME timestamp,
      UPDATE_BY varchar(40),
      UPDATE_TIME timestamp,
      primary key (ROLE_ID)
      );

  角色权限
      create table ROLE_MODULE_P
      (
      MODULE_ID varchar(40),
      ROLE_ID varchar(40)
      );

  数据表之间的关系:两者为多对多关系 

2.角色管理模块的增删改查

  由于此模块和用户增删改查基本一样所以不做代码分析,可以借鉴day02的用户增删改查模块。

3.对用户进行角色的分配

  流程为:

    用户选中需要分配角色的用户复选框,然后点击角色按钮进入角色的展示页面,然后选中需要分配的角色后,保存即可。如下图:

      

      

   由于展示用户角色用到了zTree插件,所以先对ztree插件进行介绍:  

      zTree树能够将数据以树形结构的方式进行展现的一大段js,但是传递给插件的必须为json格式的数据

      zTree树的格式要求

      复杂格式:[{id:"  ",pId:" ",name:"  ",checked:"true/false"}]

      属性如下:

        1.id:唯一标号当前对象

        2. pId:表示上级ID 切记 I字母一定要大写

        3.name:表示节点名称

        4.checked: 节点是否被选中

        如下JSON:

        [

          {id:1,name:"小短剑",pId:0},

          {id:2,name:"十字镐",pId:1,checked:"true"},

          {id:3,name:"暴风巨剑",pId:1},

          {id:4,name:"负极斗篷",pId:1}

        ]

      因为要对角色表的进行展示,所以要将实体类转换为josn串。方法如下:

        使用ObjcetMapper对象

         1.引入jar包,在pom.xml中引入

         版本定义 <jackson.version>2.4.2</jackson.version>

          <!-- Jackson Json处理工具包 -->

          <dependency>

          <groupId>com.fasterxml.jackson.core</groupId>

          <artifactId>jackson-databind</artifactId>

          <version>${jackson.version}</version>

          </dependency>

      

         2.实现转化   

            ObjectMapper objectMapper = new ObjectMapper();            //把所有角色的集合 转化为json字符串            String jsonString = objectMapper.writeValueAsString(roles);            System.out.println(jsonString);         

           3.改造方法

            为了满足zTree树的要求,需要手动修改方法,在role的实体类中加入如下的get方法,否则获取不到id,只能获取到role_id。

              public String getId(){

                return roleId;

              }   

         

4.使用zTree完成用户角色分配

思路:

  1. 在用户列表页面添加一个角色的按钮点击跳转到分配角色的页面
  2. 实现分配角色的页面 通过zTree显示所有待分配的角色,通过checkbox选中要分配的角色
  3. 保存用户和角色之间的关系
  4. 当再次给某个用户分配角色的时候 需要显示之前所分配的角色信息

1.在userList页面中添加按钮

<li id="new"><a href="#" onclick="formSubmit(‘role‘,‘_self‘);this.blur();">角色</a></li>

2.处理请求,转向到分配页面

    1.接收userId,

    2,准备roleList信息

    3.将list集合转化为JSON

    4.进行转向

  

       

3.用户选中角色入库操作

    

    将表单域中的userid和roleids传入,将其保存。

    

    在controller层实现保存方法:

    

 

4.用户重复提交问题

多对多关联插入时,可能会造成重复数据.这时应该先删除之前的数据.之后再插入.

5.回显角色数据

思路:

1.根据userId查询当前用户的全部角色信息

2.将用户的角色Id,与全部角色列表做比较.如果ID一致.应该为checked设置为true

3.将转化后的list集合 经过工具类转化为JSON串,回显页面.

  

这样,角色的分配就大致完成了。源码在如下地址:

   https://gitee.com/smeb1/HuiTongday02

    

原文地址:https://www.cnblogs.com/AprilMonth/p/8206661.html

时间: 2024-07-30 06:54:43

汇通day03的相关文章

PHP 通过单号查询快递( 申通、EMS、顺丰、圆通、中通、韵达、天天、汇通、全峰、德邦、宅急送)

<?php header('content-type:text/html;charset=utf-8'); /** * @param $url String * @param array $post * @param array $options * @return mixed at most json */ function curl_get($url, array $post = NULL, array $options = array()) { $defaults = array( CUR

乐汇通项目总结

1. 项目背景 乐汇通一个将吃喝玩乐融于一体的app应用,类似美团和糯米的团购应用.其最大的不同在于此款app只在拉萨使用.这是一个小市场的app应用. 2. 项目技术 这个项目主要用到的技术是混合编程的思想,ios端和android端都用到了[BeeFramework]这个框架.这个框架采用了混合式编程的思想,它封装好了很多优秀的第三方的库.界面布局以xml和css的方式来编写. 后台用到了开源的Ecshop框架来编写,采用此框架的优点在于开发周期短. 2.1 BeeFramework简介 简

新汇通购物商城-专业批发品牌机,组装机,平板手机,数码,办公耗材,全线IT产品 www.xhtdiy.com

http://www.xhtdiy.com 新汇通购物商城-专业批发品牌机,组装机,平板手机,数码,办公耗材,全线IT产品 www.xhtdiy.com 公司地址:西安市雁塔路中段百脑汇电脑城12楼12A19室 公司座机:029-6299-6526 公司商务座机: 029-6850-7430 029-6850-7260 029-6880-0500

百世汇通快递地区选择插件,单独剥离

项目相关地址 源码:https://github.com/easonjim/RegionSelection bug提交:https://github.com/easonjim/RegionSelection/issues

ECSHOP和SHOPEX快递单号查询中通插件V8.6专版

发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅急送快递.德邦物流.百世快递.汇通快递.中通快递.天天快递等知名快递订单查询服务, 另有全球各国邮局邮政.国内国际小包等接口查询, 现已很好的整合在ECSHOP里,只要简单三步即可实现SHOPEX商城用户实时查看订单物流信息,有效的增加了客户体验! 安装方法 第1步:申请授权KEY 本插件采用曲阜市

ECSHOP和SHOPEX快递单号查询申通插件V8.6专版

发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅急送快递.德邦物流.百世快递.汇通快递.中通快递.天天快递等知名快递订单查询服务, 另有全球各国邮局邮政.国内国际小包等接口查询, 现已很好的整合在ECSHOP里,只要简单三步即可实现SHOPEX商城用户实时查看订单物流信息,有效的增加了客户体验! 安装方法 第1步:申请授权KEY 本插件采用曲阜市

C#如何拿到从http上返回JSON数据?

在实际开发中,我们经常会使用到API,所谓API一般就是一个地址,我们称之为接口.然后我们通过用C#对这地址发送请求,请求后,服务器就会给我们返回数据,一般是XML或者JSON,这里我们主要讲述的是JSON. 为了演示,我们这里准备了一个接口,这是一个查询物流的接口.(读者读到这篇文章的时候,接口可能有效,也可能失效,因为接口是网上找的,不是笔者自己写的,但是原理是一样的.) 接口:  http://www.kuaidi100.com/query?type=快递公司编码&postid=物流单号

(转)接口100

关键字:微信公众平台 微接口 接口100 API100 接口大全 作者:方倍工作室 在本文中,我们列出微信公众平台上可以使用的API接口以及举例如何在微信公众平台调用这些接口实现相应的功能. 接口调用说明:① Appkey请使用的微信公众号,不要使用默认的trailuser② 接口返回类型为文本.图文.及音乐三种基本消息③ 请在所有消息底部主动加上"技术支持 方倍工作室"④ JSON验证网址 http://pro.jsonlint.com/⑤ 接口将不定期增加或更新,欢迎指出错误⑥ 如

C#:根据银行卡卡号推断银行名称

原文:C#:根据银行卡卡号推断银行名称 原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,不足之处请多多包涵. 根据银行卡号判断所属银行,依据是卡号的前6位数,称之为bin号. 我们把bin号转化为长整形,再把各个银行卡的bin号做成有序表.通过二分查找的方法,找到bin号在有序表的位置,然后读出银行卡的信息. 1.创建项目:BankInfoDemo(控制台应用程序) 2.新建类:BankInfo.cs 1 /// <summar