|
@@ -5,6 +5,7 @@ import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -40,13 +41,13 @@ public class AuthService {
|
|
|
StringBuilder sql=new StringBuilder();
|
|
|
|
|
|
sql.append("select distinct tm.* from tsys_menu tm inner join ( ");
|
|
|
- sql.append("select rm.menu_id,m.menu_name,m.assist_code from tsys_user_role ur ");
|
|
|
- sql.append("inner join tsys_role_menu rm on ur.role_id=rm.role_id ");
|
|
|
- sql.append("inner join tsys_menu m on rm.menu_id=m.menu_id ");
|
|
|
- sql.append("where ur.user_id=? ");
|
|
|
- sql.append(") tf on tf.assist_code like concat(tm.assist_code,'%') ");
|
|
|
+ sql.append(" select rm.menu_id,m.menu_name,m.assist_code from tsys_user_role ur ");
|
|
|
+ sql.append(" inner join tsys_role_menu rm on ur.role_id=rm.role_id ");
|
|
|
+ sql.append(" inner join tsys_menu m on rm.menu_id=m.menu_id ");
|
|
|
+ sql.append(" where ur.user_id=? ");
|
|
|
+ sql.append(" ) tf on tf.assist_code like concat(tm.assist_code,'%') ");
|
|
|
sql.append(" where tm.del_if=false");
|
|
|
- sql.append("order by display_num ");
|
|
|
+ sql.append(" order by display_num ");
|
|
|
|
|
|
return dao.queryForList(sql.toString(), usId);
|
|
|
}
|
|
@@ -95,29 +96,54 @@ public class AuthService {
|
|
|
dao.executeBatchUpdate(datas, preSQL);
|
|
|
}
|
|
|
|
|
|
- public List<Map<String,Object>> loadRoleAuth(String roleId){
|
|
|
- String sql="select menu_id id from tsys_role_menu where role_id=? and del_if=false";
|
|
|
- return dao.queryForList(sql,roleId);
|
|
|
+ public Set<String> loadRoleMenus(String roleId){
|
|
|
+ String sql="select menu_id,role_id from tsys_role_menu where role_id=?";
|
|
|
+ Map<String,Object> mapping=dao.queryForMapping(sql, "menu_id", "role_id", roleId);
|
|
|
+ return mapping!=null&&mapping.size()>0?mapping.keySet():null;
|
|
|
}
|
|
|
|
|
|
- public void saveRoleAuth(String roleId,String authIds){
|
|
|
+ public Set<String> loadRoleDataAuth(String roleId){
|
|
|
+ String sql="select data_id,role_id from tsys_role_data_auth where role_id=?";
|
|
|
+ Map<String,Object> mapping=dao.queryForMapping(sql, "data_id", "role_id", roleId);
|
|
|
+ return mapping!=null&&mapping.size()>0?mapping.keySet():null;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void saveRoleMenu(String roleId,String authIds,String curUsName){
|
|
|
String sql="delete from tsys_role_menu where role_id=?";
|
|
|
- dao.getJdbcTemplate().update(sql, roleId);
|
|
|
+ dao.exeUpdate(sql, roleId);
|
|
|
String[] ids=authIds.split(",");
|
|
|
List<Map<String,Object>> datas=new ArrayList<Map<String,Object>>(ids.length);
|
|
|
UUIDHexGenerator uuid=UUIDHexGenerator.getInstance();
|
|
|
Map<String,Object> d=null;
|
|
|
- SessionUser su=SessionThreadLocal.getSessionUser();
|
|
|
for(String id : ids){
|
|
|
d=new HashMap<String,Object>();
|
|
|
d.put("recordId", uuid.generate());
|
|
|
d.put("roleId", roleId);
|
|
|
d.put("menuId", id);
|
|
|
d.put("modifyTime", new Date());
|
|
|
- d.put("modifyBy", su!=null?su.getUserName():null);
|
|
|
+ d.put("modifyBy",curUsName);
|
|
|
datas.add(d);
|
|
|
}
|
|
|
PreparedSQLArgs preSQL=UpdateHandler.getInsertPreparedSQL(datas.get(0), "tsys_role_menu");
|
|
|
dao.executeBatchUpdate(datas, preSQL);
|
|
|
}
|
|
|
+
|
|
|
+ public void saveRoleData(String roleId,String authIds,String curUsName){
|
|
|
+ dao.exeUpdate("delete from tsys_role_data_auth where role_id=?", roleId);
|
|
|
+ String[] ids=authIds.split(",");
|
|
|
+ List<Map<String,Object>> datas=new ArrayList<Map<String,Object>>(ids.length);
|
|
|
+ UUIDHexGenerator uuid=UUIDHexGenerator.getInstance();
|
|
|
+ Map<String,Object> d=null;
|
|
|
+ for(String id : ids){
|
|
|
+ d=new HashMap<String,Object>();
|
|
|
+ d.put("recordId", uuid.generate());
|
|
|
+ d.put("roleId", roleId);
|
|
|
+ d.put("dataId", id);
|
|
|
+ d.put("modifyTime", new Date());
|
|
|
+ d.put("modifyBy", curUsName);
|
|
|
+ datas.add(d);
|
|
|
+ }
|
|
|
+ PreparedSQLArgs preSQL=UpdateHandler.getInsertPreparedSQL(datas.get(0), "tsys_role_data_auth");
|
|
|
+ dao.executeBatchUpdate(datas, preSQL);
|
|
|
+ }
|
|
|
}
|