1.M
1.1 M_pojo
分页
package com.fh.entity;
import com.fh.util.Const;
import com.fh.util.PageData;
import com.fh.util.Tools;
public class Page {
private int showCount; //每页显示记录数
private int totalPage; //总页数
private int totalResult; //总记录数
private int currentPage; //当前页
private int currentResult; //当前记录起始索引
private boolean entityOrField; //true:需要分页的地方,传入的参数就是Page实体;false:需要分页的地方,传入的参数所代表的实体拥有Page属性
private String pageStr; //最终页面显示的底部翻页导航,详细见:getPageStr();
private PageData pd = new PageData();
public Page(){
try {
this.showCount = Integer.parseInt(Tools.readTxtFile(Const.PAGE));
} catch (Exception e) {
this.showCount = 15;
}
}
public int getTotalPage() {
if(totalResult%showCount==0)
totalPage = totalResult/showCount;
else
totalPage = totalResult/showCount+1;
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getTotalResult() {
return totalResult;
}
public void setTotalResult(int totalResult) {
this.totalResult = totalResult;
}
public int getCurrentPage() {
if(currentPage<=0)
currentPage = 1;
if(currentPage>getTotalPage())
currentPage = getTotalPage();
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public String getPageStr() {
StringBuffer sb = new StringBuffer();
if(totalResult>0){
sb.append(" <ul>\n");
if(currentPage==1){
sb.append(" <li><a>共<font color=red>"+totalResult+"</font>条</a></li>\n");
sb.append(" <li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></li>\n");
sb.append(" <li style=\"cursor:pointer;\"><a οnclick=\"toTZ();\" class=\"btn btn-mini btn-success\">跳转</a></li>\n");
sb.append(" <li><a>首页</a></li>\n");
sb.append(" <li><a>上页</a></li>\n");
}else{
sb.append(" <li><a>共<font color=red>"+totalResult+"</font>条</a></li>\n");
sb.append(" <li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></li>\n");
sb.append(" <li style=\"cursor:pointer;\"><a οnclick=\"toTZ();\" class=\"btn btn-mini btn-success\">跳转</a></li>\n");
sb.append(" <li style=\"cursor:pointer;\"><a οnclick=\"nextPage(1)\">首页</a></li>\n");
sb.append(" <li style=\"cursor:pointer;\"><a οnclick=\"nextPage("+(currentPage-1)+")\">上页</a></li>\n");
}
int showTag = 5;//分页标签显示数量
int startTag = 1;
if(currentPage>showTag){
startTag = currentPage-1;
}
int endTag = startTag+showTag-1;
for(int i=startTag; i<=totalPage && i<=endTag; i++){
if(currentPage==i)
sb.append("<li><a><font color='#808080'>"+i+"</font></a></li>\n");
else
sb.append(" <li style=\"cursor:pointer;\"><a οnclick=\"nextPage("+i+")\">"+i+"</a></li>\n");
}
if(currentPage==totalPage){
sb.append(" <li><a>下页</a></li>\n");
sb.append(" <li><a>尾页</a></li>\n");
}else{
sb.append(" <li style=\"cursor:pointer;\"><a οnclick=\"nextPage("+(currentPage+1)+")\">下页</a></li>\n");
sb.append(" <li style=\"cursor:pointer;\"><a οnclick=\"nextPage("+totalPage+")\">尾页</a></li>\n");
}
sb.append(" <li><a>第"+currentPage+"页</a></li>\n");
sb.append(" <li><a>共"+totalPage+"页</a></li>\n");
sb.append(" <li><select title='显示条数' style=\"width:55px;float:left;\" οnchange=\"changeCount(this.value)\">\n");
sb.append(" <option value='"+showCount+"'>"+showCount+"</option>\n");
sb.append(" <option value='10'>10</option>\n");
sb.append(" <option value='20'>20</option>\n");
sb.append(" <option value='30'>30</option>\n");
sb.append(" <option value='40'>40</option>\n");
sb.append(" <option value='50'>50</option>\n");
sb.append(" <option value='60'>60</option>\n");
sb.append(" <option value='70'>70</option>\n");
sb.append(" <option value='80'>80</option>\n");
sb.append(" <option value='90'>90</option>\n");
sb.append(" <option value='99'>99</option>\n");
sb.append(" </select>\n");
sb.append(" </li>\n");
sb.append("</ul>\n");
sb.append("<script type=\"text/javascript\">\n");
//换页函数
sb.append("function nextPage(page){");
sb.append(" top.jzts();");
sb.append(" if(true && document.forms[0]){\n");
sb.append(" var url = document.forms[0].getAttribute(\"action\");\n");
sb.append(" if(url.indexOf('?')>-1){url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
sb.append(" else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
sb.append(" url = url + page + \"&" +(entityOrField?"showCount":"page.showCount")+"="+showCount+"\";\n");
sb.append(" document.forms[0].action = url;\n");
sb.append(" document.forms[0].submit();\n");
sb.append(" }else{\n");
sb.append(" var url = document.location+'';\n");
sb.append(" if(url.indexOf('?')>-1){\n");
sb.append(" if(url.indexOf('currentPage')>-1){\n");
sb.append(" var reg = /currentPage=\\d*/g;\n");
sb.append(" url = url.replace(reg,'currentPage=');\n");
sb.append(" }else{\n");
sb.append(" url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";\n");
sb.append(" }\n");
sb.append(" }else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
sb.append(" url = url + page + \"&" +(entityOrField?"showCount":"page.showCount")+"="+showCount+"\";\n");
sb.append(" document.location = url;\n");
sb.append(" }\n");
sb.append("}\n");
//调整每页显示条数
sb.append("function changeCount(value){");
sb.append(" top.jzts();");
sb.append(" if(true && document.forms[0]){\n");
sb.append(" var url = document.forms[0].getAttribute(\"action\");\n");
sb.append(" if(url.indexOf('?')>-1){url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
sb.append(" else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
sb.append(" url = url + \"1&" +(entityOrField?"showCount":"page.showCount")+"=\"+value;\n");
sb.append(" document.forms[0].action = url;\n");
sb.append(" document.forms[0].submit();\n");
sb.append(" }else{\n");
sb.append(" var url = document.location+'';\n");
sb.append(" if(url.indexOf('?')>-1){\n");
sb.append(" if(url.indexOf('currentPage')>-1){\n");
sb.append(" var reg = /currentPage=\\d*/g;\n");
sb.append(" url = url.replace(reg,'currentPage=');\n");
sb.append(" }else{\n");
sb.append(" url += \"1&"+(entityOrField?"currentPage":"page.currentPage")+"=\";\n");
sb.append(" }\n");
sb.append(" }else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");
sb.append(" url = url + \"&" +(entityOrField?"showCount":"page.showCount")+"=\"+value;\n");
sb.append(" document.location = url;\n");
sb.append(" }\n");
sb.append("}\n");
//跳转函数
sb.append("function toTZ(){");
sb.append("var toPaggeVlue = document.getElementById(\"toGoPage\").value;");
sb.append("if(toPaggeVlue == ''){document.getElementById(\"toGoPage\").value=1;return;}");
sb.append("if(isNaN(Number(toPaggeVlue))){document.getElementById(\"toGoPage\").value=1;return;}");
sb.append("nextPage(toPaggeVlue);");
sb.append("}\n");
sb.append("</script>\n");
}
pageStr = sb.toString();
return pageStr;
}
public void setPageStr(String pageStr) {
this.pageStr = pageStr;
}
public int getShowCount() {
return showCount;
}
public void setShowCount(int showCount) {
this.showCount = showCount;
}
public int getCurrentResult() {
currentResult = (getCurrentPage()-1)*getShowCount();
if(currentResult<0)
currentResult = 0;
return currentResult;
}
public void setCurrentResult(int currentResult) {
this.currentResult = currentResult;
}
public boolean isEntityOrField() {
return entityOrField;
}
public void setEntityOrField(boolean entityOrField) {
this.entityOrField = entityOrField;
}
public PageData getPd() {
return pd;
}
public void setPd(PageData pd) {
this.pd = pd;
}
}
用户
public class User {
private String USER_ID; //用户id
private String USERNAME; //用户名
private String PASSWORD; //密码
private String NAME; //姓名
private String RIGHTS; //权限
private String ROLE_ID; //角色id
private String LAST_LOGIN; //最后登录时间
private String IP; //用户登录ip地址
private String STATUS; //状态
private Role role; //角色对象
private Page page; //分页对象
private String SKIN; //皮肤
public class Menu {
private String MENU_ID;
private String MENU_NAME;
private String MENU_URL;
private String PARENT_ID;
private String MENU_ORDER;
private String MENU_ICON;
private String MENU_TYPE;
private String target;
private Menu parentMenu;
private List<Menu> subMenu;
private boolean hasMenu = false;
public class Role {
private String ROLE_ID;
private String ROLE_NAME;
private String RIGHTS;
private String PARENT_ID;
private String ADD_QX;
private String DEL_QX;
private String EDIT_QX;
private String CHA_QX;
private String QX_ID;
1.2 M_DAO
基本接口
package com.fh.dao;
public interface DAO {
/**
* 保存对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object save(String str, Object obj) throws Exception;
/**
* 修改对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object update(String str, Object obj) throws Exception;
/**
* 删除对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object delete(String str, Object obj) throws Exception;
/**
* 查找对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object findForObject(String str, Object obj) throws Exception;
/**
* 查找对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object findForList(String str, Object obj) throws Exception;
/**
* 查找对象封装成Map
* @param s
* @param obj
* @return
* @throws Exception
*/
public Object findForMap(String sql, Object obj, String key , String value) throws Exception;
}
基本实现接口
package com.fh.dao;
import java.util.List;
import javax.annotation.Resource;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.stereotype.Repository;
@Repository("daoSupport")
public class DaoSupport implements DAO {
@Resource(name = "sqlSessionTemplate")
private SqlSessionTemplate sqlSessionTemplate;
/**
* 保存对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object save(String str, Object obj) throws Exception {
return sqlSessionTemplate.insert(str, obj);
}
/**
* 批量更新
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object batchSave(String str, List objs )throws Exception{
return sqlSessionTemplate.insert(str, objs);
}
/**
* 修改对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object update(String str, Object obj) throws Exception {
return sqlSessionTemplate.update(str, obj);
}
/**
* 批量更新
* @param str
* @param obj
* @return
* @throws Exception
*/
public void batchUpdate(String str, List objs )throws Exception{
SqlSessionFactory sqlSessionFactory = sqlSessionTemplate.getSqlSessionFactory();
//批量执行器
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH,false);
try{
if(objs!=null){
for(int i=0,size=objs.size();i<size;i++){
sqlSession.update(str, objs.get(i));
}
sqlSession.flushStatements();
sqlSession.commit();
sqlSession.clearCache();
}
}finally{
sqlSession.close();
}
}
/**
* 批量更新
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object batchDelete(String str, List objs )throws Exception{
return sqlSessionTemplate.delete(str, objs);
}
/**
* 删除对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object delete(String str, Object obj) throws Exception {
return sqlSessionTemplate.delete(str, obj);
}
/**
* 查找对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object findForObject(String str, Object obj) throws Exception {
return sqlSessionTemplate.selectOne(str, obj);
}
/**
* 查找对象
* @param str
* @param obj
* @return
* @throws Exception
*/
public Object findForList(String str, Object obj) throws Exception {
return sqlSessionTemplate.selectList(str, obj);
}
public Object findForMap(String str, Object obj, String key, String value) throws Exception {
return sqlSessionTemplate.selectMap(str, obj, key);
}
}
DAO映射实现-->基本
用户Mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="UserMapper">
<sql id="userColumns">USERNAME,NAME,PASSWORD,RIGHTS,STATUS,ROLE_ID</sql>
<resultMap type="User" id="userAndRoleResultMap">
<id column="USER_ID" property="USER_ID"/>
<result column="USERNAME" property="USERNAME"/>
<result column="PASSWORD" property="PASSWORD"/>
<result column="NAME" property="NAME"/>
<result column="RIGHTS" property="RIGHTS"/>
<result column="LAST_LOGIN" property="LAST_LOGIN"/>
<result column="IP" property="IP"/>
<result column="STATUS" property="STATUS"/>
<result column="SKIN" property="SKIN"/>
<association property="role" column="ROLE_ID" javaType="Role">
<id column="ROLE_ID" property="ROLE_ID"/>
<result column="ROLE_NAME" property="ROLE_NAME"/>
<result column="ROLE_RIGHTS" property="RIGHTS"/>
</association>
</resultMap>
<resultMap type="User" id="userResultMap">
<id column="USER_ID" property="USER_ID"/>
<result column="USERNAME" property="USERNAME"/>
<result column="PASSWORD" property="PASSWORD"/>
<result column="NAME" property="NAME"/>
<result column="RIGHTS" property="RIGHTS"/>
<result column="LAST_LOGIN" property="LAST_LOGIN"/>
<result column="IP" property="IP"/>
<result column="STATUS" property="STATUS"/>
<result column="ROLE_ID" property="ROLE_ID"/>
<result column="SKIN" property="SKIN"/>
</resultMap>
<!-- 判断用户名和密码 -->
<select id="getUserInfo" parameterType="User" resultMap="userResultMap">
select * from SYS_USER
where 1=1
<if test="USERNAME!=null and PASSWORD!=null">
and USERNAME = #{USERNAME} and PASSWORD=#{PASSWORD}
</if>
<if test="USER_ID!=null and USER_ID>0">
and USER_ID = #{USER_ID}
</if>
</select>
<select id="getUserAndRoleById" parameterType="String" resultMap="userAndRoleResultMap">
select u.USER_ID,
u.USERNAME,
u.NAME,
u.RIGHTS as USER_RIGHTS,
u.PASSWORD,
u.SKIN,
r.ROLE_ID,
r.ROLE_NAME,
r.RIGHTS as ROLE_RIGHTS
from SYS_USER u
left join SYS_ROLE r
on u.ROLE_ID=r.ROLE_ID
where u.STATUS=0
and u.USER_ID=#{USER_ID}
</select>
<update id="updateLastLogin" parameterType="User">
update SYS_USER set
LAST_LOGIN=#{LAST_LOGIN}
where USER_ID=#{USER_ID}
</update>
</mapper>
菜单Mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="MenuMapper">
<resultMap type="Menu" id="menuResultMap">
<id column="MENU_ID" property="MENU_ID"/>
<result column="MENU_NAME" property="MENU_NAME"/>
<result column="MENU_URL" property="MENU_URL"/>
<result column="PARENT_ID" property="PARENT_ID"/>
<result column="MENU_ORDER" property="MENU_ORDER"/>
<result column="MENU_ICON" property="MENU_ICON"/>
<result column="MENU_TYPE" property="MENU_TYPE"/>
</resultMap>
<!-- ztree -->
<resultMap type="Menu" id="menuZtreeResultMap">
<id column="MENU_ID" property="MENU_ID"/>
<result column="MENU_NAME" property="MENU_NAME"/>
<result column="MENU_URL" property="MENU_URL"/>
<result column="PARENT_ID" property="PARENT_ID"/>
<result column="MENU_ORDER" property="MENU_ORDER"/>
<result column="MENU_ICON" property="MENU_ICON"/>
<result column="MENU_TYPE" property="MENU_TYPE"/>
<result column="target" property="target"></result>
</resultMap>
<select id="findMaxId" parameterType="pd" resultType="pd">
select MAX(MENU_ID) MID FROM SYS_MENU
</select>
<select id="listAllParentMenu" resultMap="menuResultMap">
select * from SYS_MENU
where PARENT_ID = '0' order by MENU_ORDER
</select>
<select id="listSubMenuByParentId" parameterType="String" resultMap="menuResultMap">
select * from SYS_MENU
where PARENT_ID = #{parentId} order by MENU_ORDER
</select>
<select id="getMenuById" parameterType="pd" resultType="pd">
select MENU_ID,
MENU_NAME,
MENU_URL,
PARENT_ID,
MENU_ORDER,
MENU_TYPE
from SYS_MENU
where MENU_ID=#{MENU_ID}
</select>
<insert id="insertMenu" parameterType="Menu">
insert into SYS_MENU (
MENU_ID,
MENU_NAME,
MENU_URL,
PARENT_ID,
MENU_ORDER,
MENU_TYPE
) values (
#{MENU_ID},
#{MENU_NAME},
#{MENU_URL},
#{PARENT_ID},
#{MENU_ORDER},
#{MENU_TYPE}
)
</insert>
<update id="updateMenu" parameterType="Menu">
update SYS_MENU set
MENU_NAME =#{MENU_NAME},
MENU_URL =#{MENU_URL} ,
PARENT_ID =#{PARENT_ID},
MENU_ORDER=#{MENU_ORDER},
MENU_TYPE =#{MENU_TYPE}
where
MENU_ID=#{MENU_ID}
</update>
<update id="editicon" parameterType="Menu">
update SYS_MENU set
MENU_ICON=#{MENU_ICON}
where MENU_ID=#{MENU_ID}
</update>
<update id="editType" parameterType="Menu">
update SYS_MENU set
MENU_TYPE=#{MENU_TYPE}
where PARENT_ID=#{MENU_ID}
</update>
<delete id="deleteMenuById" parameterType="String">
delete from SYS_MENU
where MENU_ID=#{MENU_ID}
or PARENT_ID=#{MENU_ID}
</delete>
</mapper>
角色Mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="RoleMapper">
<resultMap type="Role" id="roleResultMap">
<id column="ROLE_ID" property="ROLE_ID"/>
<result column="ROLE_NAME" property="ROLE_NAME"/>
<result column="RIGHTS" property="RIGHTS"/>
</resultMap>
<!-- 权限 -->
<update id="c1" parameterType="pd">
update SYS_USER_QX
set C1=#{value}
where U_ID=#{kefu_id}
</update>
<!-- 列出二级角色信息 -->
<select id="listAllERRoles" resultMap="roleResultMap">
select
ROLE_ID,
ROLE_NAME,
RIGHTS,
PARENT_ID,
ADD_QX,
DEL_QX,
EDIT_QX,
CHA_QX,
QX_ID
from SYS_ROLE
where
PARENT_ID != '0'
and
PARENT_ID != '7'
</select>
<!-- 列出会员二级角色信息 -->
<select id="listAllappERRoles" resultMap="roleResultMap">
select
ROLE_ID,
ROLE_NAME,
RIGHTS,
PARENT_ID,
ADD_QX,
DEL_QX,
EDIT_QX,
CHA_QX,
QX_ID
from SYS_ROLE
where
PARENT_ID = '7'
</select>
<!-- 列出此角色下的所有用户 -->
<select id="listAllUByRid" parameterType="pd" resultType="pd" >
select USER_ID
from SYS_USER
where
ROLE_ID = #{ROLE_ID}
</select>
<!-- 列出此角色下的所有会员 -->
<select id="listAllAppUByRid" parameterType="pd" resultType="pd" >
select USER_ID
from SYS_APP_USER
where
ROLE_ID = #{ROLE_ID}
</select>
<!-- 通过当前登录用的角色id获取管理权限数据 -->
<select id="findGLbyrid" parameterType="pd" resultType="pd" >
SELECT
b.GL_ID,
b.ROLE_ID,
b.FX_QX,
b.FW_QX,
b.QX1,
b.QX2,
b.QX3,
b.QX4
from SYS_ROLE a, SYS_GL_QX b, SYS_USER c
where
a.QX_ID = b.GL_ID
and
a.ROLE_ID = c.ROLE_ID
and
c.ROLE_ID = '${ROLE_ID}'
limit 0,1
</select>
<!-- 通过当前登录用的角色id获取用户权限数据 -->
<select id="findYHbyrid" parameterType="pd" resultType="pd" >
SELECT
b.U_ID,
b.C1,
b.C2,
b.C3,
b.C4,
b.Q1,
b.Q2,
b.Q3,
b.Q4
from SYS_ROLE a, SYS_USER_QX b, SYS_USER c
where
a.QX_ID = b.U_ID
and
a.ROLE_ID = c.ROLE_ID
and
c.ROLE_ID = '${ROLE_ID}'
limit 0,1
</select>
<!-- 列出K权限表里的数据 -->
<select id="listAllkefu" parameterType="pd" resultType="pd" >
select
GL_ID,
ROLE_ID,
FX_QX,
FW_QX,
QX1,
QX2,
QX3,
QX4
from SYS_GL_QX
</select>
<!-- 列出G权限表里的数据 -->
<select id="listAllGysQX" parameterType="pd" resultType="pd" >
select
U_ID,
C1,
C2,
C3,
C4,
Q1,
Q2,
Q3,
Q4
from SYS_USER_QX
</select>
<!-- 给全部子职位加菜单权限 -->
<update id="setAllRights" parameterType="pd">
update SYS_ROLE
set RIGHTS=#{rights}
where PARENT_ID=#{roleId}
</update>
<update id="add_qx" parameterType="pd">
update SYS_ROLE
set ADD_QX=#{value}
where ROLE_ID=#{ROLE_ID}
</update>
<update id="del_qx" parameterType="pd">
update SYS_ROLE
set DEL_QX=#{value}
where ROLE_ID=#{ROLE_ID}
</update>
<update id="edit_qx" parameterType="pd">
update SYS_ROLE
set EDIT_QX=#{value}
where ROLE_ID=#{ROLE_ID}
</update>
<update id="cha_qx" parameterType="pd">
update SYS_ROLE
set CHA_QX=#{value}
where ROLE_ID=#{ROLE_ID}
</update>
<update id="kfqx1" parameterType="pd">
update SYS_GL_QX
set QX1=#{value}
where GL_ID=#{kefu_id}
</update>
<update id="kfqx2" parameterType="pd">
update SYS_GL_QX
set QX2=#{value}
where GL_ID=#{kefu_id}
</update>
<update id="fxqx" parameterType="pd">
update SYS_GL_QX
set FX_QX=#{value}
where GL_ID=#{kefu_id}
</update>
<update id="fwqx" parameterType="pd">
update SYS_GL_QX
set FW_QX=#{value}
where GL_ID=#{kefu_id}
</update>
<select id="listAllRoles" resultMap="roleResultMap">
select
ROLE_ID,
ROLE_NAME,
RIGHTS,
PARENT_ID,
ADD_QX,
DEL_QX,
EDIT_QX,
CHA_QX,
QX_ID
from SYS_ROLE
where PARENT_ID = '0'
ORDER BY ROLE_ID
</select>
<select id="listAllRolesByPId" resultMap="roleResultMap">
select
ROLE_ID,
ROLE_NAME,
RIGHTS,
PARENT_ID,
ADD_QX,
DEL_QX,
EDIT_QX,
CHA_QX,
QX_ID
from SYS_ROLE
where
PARENT_ID = #{ROLE_ID}
ORDER BY ROLE_ID
</select>
<select id="getRoleById" parameterType="String" resultMap="roleResultMap">
select * from SYS_ROLE
where ROLE_ID=#{roleId}
</select>
<update id="updateRoleRights" parameterType="Role">
update SYS_ROLE
set RIGHTS=#{RIGHTS}
where ROLE_ID=#{ROLE_ID}
</update>
<delete id="deleteRoleById" parameterType="String">
delete from SYS_ROLE
where ROLE_ID=#{ROLE_ID}
</delete>
<!-- 删除K权限表里对应的数据 -->
<delete id="deleteKeFuById" parameterType="String">
delete from SYS_GL_QX
where GL_ID = #{ROLE_ID}
</delete>
<!-- 删除G权限表里对应的数据 -->
<delete id="deleteGById" parameterType="String">
delete from SYS_USER_QX
where U_ID = #{ROLE_ID}
</delete>
<!-- 保存K权限 -->
<insert id="saveKeFu" parameterType="pd">
insert into SYS_GL_QX (
GL_ID,
ROLE_ID,
FX_QX,
FW_QX,
QX1,
QX2,
QX3,
QX4
) values (
#{GL_ID},
#{ROLE_ID},
#{FX_QX},
#{FW_QX},
#{QX1},
#{QX2},
#{QX3},
#{QX4}
)
</insert>
<!-- 保存G权限 -->
<insert id="saveGYSQX" parameterType="pd">
insert into SYS_USER_QX (
U_ID,
C1,
C2,
C3,
C4,
Q1,
Q2,
Q3,
Q4
) values (
#{U_ID},
#{C1},
#{C2},
#{C3},
#{C4},
#{Q1},
#{Q2},
#{Q3},
#{Q4}
)
</insert>
<!-- 添加 -->
<insert id="insert" parameterType="pd">
insert into SYS_ROLE (
ROLE_ID,
ROLE_NAME,
RIGHTS,
PARENT_ID,
ADD_QX,
DEL_QX,
EDIT_QX,
CHA_QX,
QX_ID
) values (
#{ROLE_ID},
#{ROLE_NAME},
#{RIGHTS},
#{PARENT_ID},
#{ADD_QX},
#{DEL_QX},
#{EDIT_QX},
#{CHA_QX},
#{QX_ID}
)
</insert>
<!-- 通过id查找 -->
<select id="findObjectById" parameterType="pd" resultType="pd">
select
ROLE_ID,
ROLE_NAME,
RIGHTS,
PARENT_ID,
ADD_QX,
DEL_QX,
EDIT_QX,
CHA_QX
from SYS_ROLE
where ROLE_ID = #{ROLE_ID}
</select>
<!-- 编辑角色 -->
<update id="edit" parameterType="pd">
update SYS_ROLE
set ROLE_NAME = #{ROLE_NAME}
where ROLE_ID = #{ROLE_ID}
</update>
</mapper>
1.3 M_service
业务接口
不用了
业务实现
业务实现--用户
package com.fh.service.system.user;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.fh.dao.DaoSupport;
import com.fh.entity.Page;
import com.fh.entity.system.User;
import com.fh.util.PageData;
@Service("userService")
public class UserService {
@Resource(name = "daoSupport")
private DaoSupport dao;
//======================================================================================
/*
* 通过id获取数据
*/
public PageData findByUiId(PageData pd)throws Exception{
return (PageData)dao.findForObject("UserXMapper.findByUiId", pd);
}
/*
* 通过loginname获取数据
*/
public PageData findByUId(PageData pd)throws Exception{
return (PageData)dao.findForObject("UserXMapper.findByUId", pd);
}
/*
* 通过邮箱获取数据
*/
public PageData findByUE(PageData pd)throws Exception{
return (PageData)dao.findForObject("UserXMapper.findByUE", pd);
}
/*
* 通过编号获取数据
*/
public PageData findByUN(PageData pd)throws Exception{
return (PageData)dao.findForObject("UserXMapper.findByUN", pd);
}
/*
* 保存用户
*/
public void saveU(PageData pd)throws Exception{
dao.save("UserXMapper.saveU", pd);
}
/*
* 修改用户
*/
public void editU(PageData pd)throws Exception{
dao.update("UserXMapper.editU", pd);
}
/*
* 换皮肤
*/
public void setSKIN(PageData pd)throws Exception{
dao.update("UserXMapper.setSKIN", pd);
}
/*
* 删除用户
*/
public void deleteU(PageData pd)throws Exception{
dao.delete("UserXMapper.deleteU", pd);
}
/*
* 批量删除用户
*/
public void deleteAllU(String[] USER_IDS)throws Exception{
dao.delete("UserXMapper.deleteAllU", USER_IDS);
}
/*
*用户列表(用户组)
*/
public List<PageData> listPdPageUser(Page page)throws Exception{
return (List<PageData>) dao.findForList("UserXMapper.userlistPage", page);
}
/*
*用户列表(全部)
*/
public List<PageData> listAllUser(PageData pd)throws Exception{
return (List<PageData>) dao.findForList("UserXMapper.listAllUser", pd);
}
/*
*用户列表(供应商用户)
*/
public List<PageData> listGPdPageUser(Page page)throws Exception{
return (List<PageData>) dao.findForList("UserXMapper.userGlistPage", page);
}
/*
* 保存用户IP
*/
public void saveIP(PageData pd)throws Exception{
dao.update("UserXMapper.saveIP", pd);
}
/*
* 登录判断
*/
public PageData getUserByNameAndPwd(PageData pd)throws Exception{
return (PageData)dao.findForObject("UserXMapper.getUserInfo", pd);
}
/*
* 跟新登录时间
*/
public void updateLastLogin(PageData pd)throws Exception{
dao.update("UserXMapper.updateLastLogin", pd);
}
/*
*通过id获取数据
*/
public User getUserAndRoleById(String USER_ID) throws Exception {
return (User) dao.findForObject("UserMapper.getUserAndRoleById", USER_ID);
}
}
业务实现--菜单
package com.fh.service.system.menu;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.fh.dao.DaoSupport;
import com.fh.entity.system.Menu;
import com.fh.util.PageData;
@Service("menuService")
public class MenuService{
@Resource(name = "daoSupport")
private DaoSupport dao;
public void deleteMenuById(String MENU_ID) throws Exception {
dao.save("MenuMapper.deleteMenuById", MENU_ID);
}
public PageData getMenuById(PageData pd) throws Exception {
return (PageData) dao.findForObject("MenuMapper.getMenuById", pd);
}
//取最大id
public PageData findMaxId(PageData pd) throws Exception {
return (PageData) dao.findForObject("MenuMapper.findMaxId", pd);
}
public List<Menu> listAllParentMenu() throws Exception {
return (List<Menu>) dao.findForList("MenuMapper.listAllParentMenu", null);
}
public void saveMenu(Menu menu) throws Exception {
if(menu.getMENU_ID()!=null && menu.getMENU_ID() != ""){
//dao.update("MenuMapper.updateMenu", menu);
dao.save("MenuMapper.insertMenu", menu);
}else{
dao.save("MenuMapper.insertMenu", menu);
}
}
public List<Menu> listSubMenuByParentId(String parentId) throws Exception {
return (List<Menu>) dao.findForList("MenuMapper.listSubMenuByParentId", parentId);
}
public List<Menu> listAllMenu() throws Exception {
List<Menu> rl = this.listAllParentMenu();
for(Menu menu : rl){
List<Menu> subList = this.listSubMenuByParentId(menu.getMENU_ID());
menu.setSubMenu(subList);
}
return rl;
}
public List<Menu> listAllSubMenu() throws Exception{
return (List<Menu>) dao.findForList("MenuMapper.listAllSubMenu", null);
}
/**
* 编辑
*/
public PageData edit(PageData pd) throws Exception {
return (PageData)dao.findForObject("MenuMapper.updateMenu", pd);
}
/**
* 保存菜单图标 (顶部菜单)
*/
public PageData editicon(PageData pd) throws Exception {
return (PageData)dao.findForObject("MenuMapper.editicon", pd);
}
/**
* 更新子菜单类型菜单
*/
public PageData editType(PageData pd) throws Exception {
return (PageData)dao.findForObject("MenuMapper.editType", pd);
}
}
业务实现--角色
package com.fh.service.system.role;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.fh.dao.DaoSupport;
import com.fh.entity.system.Role;
import com.fh.util.PageData;
@Service("roleService")
public class RoleService{
@Resource(name = "daoSupport")
private DaoSupport dao;
public List<Role> listAllERRoles() throws Exception {
return (List<Role>) dao.findForList("RoleMapper.listAllERRoles", null);
}
public List<Role> listAllappERRoles() throws Exception {
return (List<Role>) dao.findForList("RoleMapper.listAllappERRoles", null);
}
public List<Role> listAllRoles() throws Exception {
return (List<Role>) dao.findForList("RoleMapper.listAllRoles", null);
}
//通过当前登录用的角色id获取管理权限数据
public PageData findGLbyrid(PageData pd) throws Exception {
return (PageData) dao.findForObject("RoleMapper.findGLbyrid", pd);
}
//通过当前登录用的角色id获取用户权限数据
public PageData findYHbyrid(PageData pd) throws Exception {
return (PageData) dao.findForObject("RoleMapper.findYHbyrid", pd);
}
//列出此角色下的所有用户
public List<PageData> listAllUByRid(PageData pd) throws Exception {
return (List<PageData>) dao.findForList("RoleMapper.listAllUByRid", pd);
}
//列出此角色下的所有会员
public List<PageData> listAllAppUByRid(PageData pd) throws Exception {
return (List<PageData>) dao.findForList("RoleMapper.listAllAppUByRid", pd);
}
/**
* 列出此部门的所有下级
*/
public List<Role> listAllRolesByPId(PageData pd) throws Exception {
return (List<Role>) dao.findForList("RoleMapper.listAllRolesByPId", pd);
}
//列出K权限表里的数据
public List<PageData> listAllkefu(PageData pd) throws Exception {
return (List<PageData>) dao.findForList("RoleMapper.listAllkefu", pd);
}
//列出G权限表里的数据
public List<PageData> listAllGysQX(PageData pd) throws Exception {
return (List<PageData>) dao.findForList("RoleMapper.listAllGysQX", pd);
}
//删除K权限表里对应的数据
public void deleteKeFuById(String ROLE_ID) throws Exception {
dao.delete("RoleMapper.deleteKeFuById", ROLE_ID);
}
//删除G权限表里对应的数据
public void deleteGById(String ROLE_ID) throws Exception {
dao.delete("RoleMapper.deleteGById", ROLE_ID);
}
public void deleteRoleById(String ROLE_ID) throws Exception {
dao.delete("RoleMapper.deleteRoleById", ROLE_ID);
}
public Role getRoleById(String roleId) throws Exception {
return (Role) dao.findForObject("RoleMapper.getRoleById", roleId);
}
public void updateRoleRights(Role role) throws Exception {
dao.update("RoleMapper.updateRoleRights", role);
}
/**
* 权限(增删改查)
*/
public void updateQx(String msg,PageData pd) throws Exception {
dao.update("RoleMapper."+msg, pd);
}
/**
* 客服权限
*/
public void updateKFQx(String msg,PageData pd) throws Exception {
dao.update("RoleMapper."+msg, pd);
}
/**
* Gc权限
*/
public void gysqxc(String msg,PageData pd) throws Exception {
dao.update("RoleMapper."+msg, pd);
}
/**
* 给全部子职位加菜单权限
*/
public void setAllRights(PageData pd) throws Exception {
dao.update("RoleMapper.setAllRights", pd);
}
/**
* 添加
*/
public void add(PageData pd) throws Exception {
dao.findForList("RoleMapper.insert", pd);
}
/**
* 保存客服权限
*/
public void saveKeFu(PageData pd) throws Exception {
dao.findForList("RoleMapper.saveKeFu", pd);
}
/**
* 保存G权限
*/
public void saveGYSQX(PageData pd) throws Exception {
dao.findForList("RoleMapper.saveGYSQX", pd);
}
/**
* 通过id查找
*/
public PageData findObjectById(PageData pd) throws Exception {
return (PageData)dao.findForObject("RoleMapper.findObjectById", pd);
}
/**
* 编辑角色
*/
public PageData edit(PageData pd) throws Exception {
return (PageData)dao.findForObject("RoleMapper.edit", pd);
}
}
2.C
登录功能
package com.fh.controller.system.login;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.fh.controller.base.BaseController;
import com.fh.entity.system.Menu;
import com.fh.entity.system.Role;
import com.fh.entity.system.User;
import com.fh.service.system.menu.MenuService;
import com.fh.service.system.role.RoleService;
import com.fh.service.system.user.UserService;
import com.fh.util.AppUtil;
import com.fh.util.Const;
import com.fh.util.DateUtil;
import com.fh.util.PageData;
import com.fh.util.RightsHelper;
import com.fh.util.Tools;
/*
* 总入口
*/
@Controller
public class LoginController extends BaseController {
@Resource(name="userService") //用户
private UserService userService;
@Resource(name="menuService") //菜单
private MenuService menuService;
@Resource(name="roleService") //角色
private RoleService roleService;
/**
* 获取登录用户的IP
* @throws Exception
*/
public void getRemortIP(String USERNAME) throws Exception {
PageData pd = new PageData();
HttpServletRequest request = this.getRequest();
String ip = "";
if (request.getHeader("x-forwarded-for") == null) {
ip = request.getRemoteAddr();
}else{
ip = request.getHeader("x-forwarded-for");
}
pd.put("USERNAME", USERNAME);
pd.put("IP", ip);
userService.saveIP(pd);
}
/**
* 访问登录页
* @return
*/
@RequestMapping(value="/login_toLogin")
public ModelAndView toLogin()throws Exception{
ModelAndView mv = this.getModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); //读取系统名称
mv.setViewName("system/admin/login");
mv.addObject("pd",pd);
return mv;
}
/**
* 请求登录,验证用户
*/
@RequestMapping(value="/login_login" ,produces="application/json;charset=UTF-8")
@ResponseBody
public Object login()throws Exception{
Map<String,String> map = new HashMap<String,String>();
PageData pd = new PageData();
pd = this.getPageData();
String errInfo = "";
String KEYDATA[] = pd.getString("KEYDATA").replaceAll("qq313596790fh", "").replaceAll("QQ978336446fh", "").split(",fh,");
if(null != KEYDATA && KEYDATA.length == 3){
//shiro管理的session
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String sessionCode = (String)session.getAttribute(Const.SESSION_SECURITY_CODE); //获取session中的验证码
String code = KEYDATA[2];
if(null == code || "".equals(code)){
errInfo = "nullcode"; //验证码为空
}else{
String USERNAME = KEYDATA[0];
String PASSWORD = KEYDATA[1];
pd.put("USERNAME", USERNAME);
if(Tools.notEmpty(sessionCode) && sessionCode.equalsIgnoreCase(code)){
String passwd = new SimpleHash("SHA-1", USERNAME, PASSWORD).toString(); //密码加密
pd.put("PASSWORD", passwd);
pd = userService.getUserByNameAndPwd(pd);
if(pd != null){
pd.put("LAST_LOGIN",DateUtil.getTime().toString());
userService.updateLastLogin(pd);
User user = new User();
user.setUSER_ID(pd.getString("USER_ID"));
user.setUSERNAME(pd.getString("USERNAME"));
user.setPASSWORD(pd.getString("PASSWORD"));
user.setNAME(pd.getString("NAME"));
user.setRIGHTS(pd.getString("RIGHTS"));
user.setROLE_ID(pd.getString("ROLE_ID"));
user.setLAST_LOGIN(pd.getString("LAST_LOGIN"));
user.setIP(pd.getString("IP"));
user.setSTATUS(pd.getString("STATUS"));
session.setAttribute(Const.SESSION_USER, user);
session.removeAttribute(Const.SESSION_SECURITY_CODE);
//shiro加入身份验证
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(USERNAME, PASSWORD);
try {
subject.login(token);
} catch (AuthenticationException e) {
errInfo = "身份验证失败!";
}
}else{
errInfo = "usererror"; //用户名或密码有误
}
}else{
errInfo = "codeerror"; //验证码输入有误
}
if(Tools.isEmpty(errInfo)){
errInfo = "success"; //验证成功
}
}
}else{
errInfo = "error"; //缺少参数
}
map.put("result", errInfo);
return AppUtil.returnObject(new PageData(), map);
}
/**
* 访问系统首页
*/
@RequestMapping(value="/main/{changeMenu}")
public ModelAndView login_index(@PathVariable("changeMenu") String changeMenu){
ModelAndView mv = this.getModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
try{
//shiro管理的session
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
User user = (User)session.getAttribute(Const.SESSION_USER);
if (user != null) {
User userr = (User)session.getAttribute(Const.SESSION_USERROL);
if(null == userr){
user = userService.getUserAndRoleById(user.getUSER_ID());
session.setAttribute(Const.SESSION_USERROL, user);
}else{
user = userr;
}
Role role = user.getRole();
String roleRights = role!=null ? role.getRIGHTS() : "";
//避免每次拦截用户操作时查询数据库,以下将用户所属角色权限、用户权限限都存入session
session.setAttribute(Const.SESSION_ROLE_RIGHTS, roleRights); //将角色权限存入session
session.setAttribute(Const.SESSION_USERNAME, user.getUSERNAME()); //放入用户名
List<Menu> allmenuList = new ArrayList<Menu>();
if(null == session.getAttribute(Const.SESSION_allmenuList)){
allmenuList = menuService.listAllMenu();
if(Tools.notEmpty(roleRights)){
for(Menu menu : allmenuList){
menu.setHasMenu(RightsHelper.testRights(roleRights, menu.getMENU_ID()));
if(menu.isHasMenu()){
List<Menu> subMenuList = menu.getSubMenu();
for(Menu sub : subMenuList){
sub.setHasMenu(RightsHelper.testRights(roleRights, sub.getMENU_ID()));
}
}
}
}
session.setAttribute(Const.SESSION_allmenuList, allmenuList); //菜单权限放入session中
}else{
allmenuList = (List<Menu>)session.getAttribute(Const.SESSION_allmenuList);
}
//切换菜单=====
List<Menu> menuList = new ArrayList<Menu>();
//if(null == session.getAttribute(Const.SESSION_menuList) || ("yes".equals(pd.getString("changeMenu")))){
if(null == session.getAttribute(Const.SESSION_menuList) || ("yes".equals(changeMenu))){
List<Menu> menuList1 = new ArrayList<Menu>();
List<Menu> menuList2 = new ArrayList<Menu>();
//拆分菜单
for(int i=0;i<allmenuList.size();i++){
Menu menu = allmenuList.get(i);
if("1".equals(menu.getMENU_TYPE())){
menuList1.add(menu);
}else{
menuList2.add(menu);
}
}
session.removeAttribute(Const.SESSION_menuList);
if("2".equals(session.getAttribute("changeMenu"))){
session.setAttribute(Const.SESSION_menuList, menuList1);
session.removeAttribute("changeMenu");
session.setAttribute("changeMenu", "1");
menuList = menuList1;
}else{
session.setAttribute(Const.SESSION_menuList, menuList2);
session.removeAttribute("changeMenu");
session.setAttribute("changeMenu", "2");
menuList = menuList2;
}
}else{
menuList = (List<Menu>)session.getAttribute(Const.SESSION_menuList);
}
//切换菜单=====
if(null == session.getAttribute(Const.SESSION_QX)){
session.setAttribute(Const.SESSION_QX, this.getUQX(session)); //按钮权限放到session中
}
//FusionCharts 报表
String strXML = "<graph caption='前12个月订单销量柱状图' xAxisName='月份' yAxisName='值' decimalPrecision='0' formatNumberScale='0'><set name='2013-05' value='4' color='AFD8F8'/><set name='2013-04' value='0' color='AFD8F8'/><set name='2013-03' value='0' color='AFD8F8'/><set name='2013-02' value='0' color='AFD8F8'/><set name='2013-01' value='0' color='AFD8F8'/><set name='2012-01' value='0' color='AFD8F8'/><set name='2012-11' value='0' color='AFD8F8'/><set name='2012-10' value='0' color='AFD8F8'/><set name='2012-09' value='0' color='AFD8F8'/><set name='2012-08' value='0' color='AFD8F8'/><set name='2012-07' value='0' color='AFD8F8'/><set name='2012-06' value='0' color='AFD8F8'/></graph>" ;
mv.addObject("strXML", strXML);
//FusionCharts 报表
mv.setViewName("system/admin/index");
mv.addObject("user", user);
mv.addObject("menuList", menuList);
}else {
mv.setViewName("system/admin/login");//session失效后跳转登录页面
}
} catch(Exception e){
mv.setViewName("system/admin/login");
logger.error(e.getMessage(), e);
}
pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); //读取系统名称
mv.addObject("pd",pd);
return mv;
}
/**
* 进入tab标签
* @return
*/
@RequestMapping(value="/tab")
public String tab(){
return "system/admin/tab";
}
/**
* 进入首页后的默认页面
* @return
*/
@RequestMapping(value="/login_default")
public String defaultPage(){
return "system/admin/default";
}
/**
* 用户注销
* @param session
* @return
*/
@RequestMapping(value="/logout")
public ModelAndView logout(){
ModelAndView mv = this.getModelAndView();
PageData pd = new PageData();
//shiro管理的session
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
session.removeAttribute(Const.SESSION_USER);
session.removeAttribute(Const.SESSION_ROLE_RIGHTS);
session.removeAttribute(Const.SESSION_allmenuList);
session.removeAttribute(Const.SESSION_menuList);
session.removeAttribute(Const.SESSION_QX);
session.removeAttribute(Const.SESSION_userpds);
session.removeAttribute(Const.SESSION_USERNAME);
session.removeAttribute(Const.SESSION_USERROL);
session.removeAttribute("changeMenu");
//shiro销毁登录
Subject subject = SecurityUtils.getSubject();
subject.logout();
pd = this.getPageData();
String msg = pd.getString("msg");
pd.put("msg", msg);
pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); //读取系统名称
mv.setViewName("system/admin/login");
mv.addObject("pd",pd);
return mv;
}
/**
* 获取用户权限
*/
public Map<String, String> getUQX(Session session){
PageData pd = new PageData();
Map<String, String> map = new HashMap<String, String>();
try {
String USERNAME = session.getAttribute(Const.SESSION_USERNAME).toString();
pd.put(Const.SESSION_USERNAME, USERNAME);
String ROLE_ID = userService.findByUId(pd).get("ROLE_ID").toString();
pd.put("ROLE_ID", ROLE_ID);
PageData pd2 = new PageData();
pd2.put(Const.SESSION_USERNAME, USERNAME);
pd2.put("ROLE_ID", ROLE_ID);
pd = roleService.findObjectById(pd);
pd2 = roleService.findGLbyrid(pd2);
if(null != pd2){
map.put("FX_QX", pd2.get("FX_QX").toString());
map.put("FW_QX", pd2.get("FW_QX").toString());
map.put("QX1", pd2.get("QX1").toString());
map.put("QX2", pd2.get("QX2").toString());
map.put("QX3", pd2.get("QX3").toString());
map.put("QX4", pd2.get("QX4").toString());
pd2.put("ROLE_ID", ROLE_ID);
pd2 = roleService.findYHbyrid(pd2);
map.put("C1", pd2.get("C1").toString());
map.put("C2", pd2.get("C2").toString());
map.put("C3", pd2.get("C3").toString());
map.put("C4", pd2.get("C4").toString());
map.put("Q1", pd2.get("Q1").toString());
map.put("Q2", pd2.get("Q2").toString());
map.put("Q3", pd2.get("Q3").toString());
map.put("Q4", pd2.get("Q4").toString());
}
map.put("adds", pd.getString("ADD_QX"));
map.put("dels", pd.getString("DEL_QX"));
map.put("edits", pd.getString("EDIT_QX"));
map.put("chas", pd.getString("CHA_QX"));
//System.out.println(map);
this.getRemortIP(USERNAME);
} catch (Exception e) {
logger.error(e.toString(), e);
}
return map;
}
}
3.V
4
5
6