You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
405 lines
15 KiB
405 lines
15 KiB
9 months ago
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Linq;
|
||
|
using System.Text;
|
||
|
|
||
|
using System.Data;
|
||
|
using MySql.Data.MySqlClient;
|
||
|
|
||
|
namespace FangYar.OracleDAL.TBL
|
||
|
{
|
||
|
public class SysUSerRulesDAL : FangYar.IDAL.TBL.SysUSerRulesIDAL
|
||
|
{
|
||
|
|
||
|
#region 私有方法
|
||
|
/// <summary>
|
||
|
/// DataRow转model实体类对象
|
||
|
/// </summary>
|
||
|
/// <param name="dr"></param>
|
||
|
/// <returns></returns>
|
||
|
private void DataRowToModel(Model.TBL.TBL_SYS_USERSRULES_Model model, DataRow dr)
|
||
|
{
|
||
|
if (!DBNull.Value.Equals(dr["ID"]))
|
||
|
model.ID = dr["ID"].ToString();
|
||
|
if (!DBNull.Value.Equals(dr["USERS_UID"]))
|
||
|
model.USERS_UID = dr["USERS_UID"].ToString();
|
||
|
if (!DBNull.Value.Equals(dr["APP_ID"]))
|
||
|
model.APP_ID = dr["APP_ID"].ToString();
|
||
|
if (!DBNull.Value.Equals(dr["RULES_TYPE"]))
|
||
|
model.RULES_TYPE = dr["RULES_TYPE"].ToString();
|
||
|
if (!DBNull.Value.Equals(dr["RULES_ID"]))
|
||
|
model.RULES_ID = dr["RULES_ID"].ToString();
|
||
|
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// DataRow转model实体类对象
|
||
|
/// </summary>
|
||
|
/// <param name="dr"></param>
|
||
|
/// <returns></returns>
|
||
|
private Model.TBL.TBL_SYS_USERSRULES_Model DataRowToModel(DataRow dr)
|
||
|
{
|
||
|
Model.TBL.TBL_SYS_USERSRULES_Model model = new Model.TBL.TBL_SYS_USERSRULES_Model();
|
||
|
if (!DBNull.Value.Equals(dr["ID"]))
|
||
|
model.ID = dr["ID"].ToString();
|
||
|
if (!DBNull.Value.Equals(dr["USERS_UID"]))
|
||
|
model.USERS_UID = dr["USERS_UID"].ToString();
|
||
|
if (!DBNull.Value.Equals(dr["APP_ID"]))
|
||
|
model.APP_ID = dr["APP_ID"].ToString();
|
||
|
if (!DBNull.Value.Equals(dr["RULES_TYPE"]))
|
||
|
model.RULES_TYPE = dr["RULES_TYPE"].ToString();
|
||
|
if (!DBNull.Value.Equals(dr["RULES_ID"]))
|
||
|
model.RULES_ID = dr["RULES_ID"].ToString();
|
||
|
return model;
|
||
|
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 把DataTable行转成实体类List集合
|
||
|
/// </summary>
|
||
|
private List<FangYar.Model.TBL.TBL_SYS_USERSRULES_Model> DataTableToList(DataTable dt)
|
||
|
{
|
||
|
List<FangYar.Model.TBL.TBL_SYS_USERSRULES_Model> modellist = new List<Model.TBL.TBL_SYS_USERSRULES_Model>();
|
||
|
if (dt.Rows.Count > 0)
|
||
|
{
|
||
|
foreach (DataRow myRow in dt.Rows)
|
||
|
{
|
||
|
modellist.Add(DataRowToModel(myRow));
|
||
|
}
|
||
|
}
|
||
|
return modellist;
|
||
|
|
||
|
}
|
||
|
#endregion
|
||
|
#region 基本方法
|
||
|
/// <summary>
|
||
|
/// 根据UID获取model
|
||
|
/// </summary>
|
||
|
public FangYar.Model.TBL.TBL_SYS_USERSRULES_Model GetModelByID(string ID)
|
||
|
{
|
||
|
Model.TBL.TBL_SYS_USERSRULES_Model model = null;
|
||
|
string sql = "select * from TBL_SYS_USERSRULES where ID=@ID";
|
||
|
MySqlParameter[] paras ={
|
||
|
new MySqlParameter("@ID",MySqlDbType.VarChar,36)
|
||
|
};
|
||
|
paras[0].Value = ID;
|
||
|
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql, paras);
|
||
|
if (dt.Rows.Count > 0)
|
||
|
{
|
||
|
model = new Model.TBL.TBL_SYS_USERSRULES_Model();
|
||
|
DataRowToModel(model, dt.Rows[0]);
|
||
|
return model;
|
||
|
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 添加
|
||
|
/// </summary>
|
||
|
public bool Add(FangYar.Model.TBL.TBL_SYS_USERSRULES_Model model)
|
||
|
{
|
||
|
|
||
|
StringBuilder strsql = new StringBuilder();
|
||
|
strsql.Append("insert into TBL_SYS_USERSRULES (USERS_UID,APP_ID,RULES_TYPE,RULES_ID,ID)");
|
||
|
strsql.Append("values");
|
||
|
strsql.Append("(@USERS_UID,@APP_ID,@RULES_TYPE,@RULES_ID,@ID)");
|
||
|
MySqlParameter[] paras ={
|
||
|
new MySqlParameter("@USERS_UID",model.USERS_UID),
|
||
|
new MySqlParameter("@APP_ID",model.APP_ID),
|
||
|
new MySqlParameter("@RULES_TYPE",model.RULES_TYPE),
|
||
|
new MySqlParameter("@RULES_ID",model.RULES_ID),
|
||
|
new MySqlParameter("@ID",Guid.NewGuid().ToString("N")),
|
||
|
};
|
||
|
int i = FangYar.Common.MySqlHelper.ExecuteSql(strsql.ToString(), paras);
|
||
|
if (i > 0)
|
||
|
{
|
||
|
return true;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 删除
|
||
|
/// </summary>
|
||
|
public bool Delete(string IDList)
|
||
|
{
|
||
|
string sql = "delete from TBL_SYS_USERSRULES where ID in('" + IDList + "')";
|
||
|
try
|
||
|
{
|
||
|
FangYar.Common.MySqlHelper.ExecuteSql(sql);
|
||
|
return true;
|
||
|
}
|
||
|
catch
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 删除
|
||
|
/// </summary>
|
||
|
public bool Delete(string userORroleID,string ruleType)
|
||
|
{
|
||
|
string sql = "";
|
||
|
if (ruleType == "1")
|
||
|
{
|
||
|
sql = "delete from TBL_SYS_USERSRULES where USERS_UID ='" + userORroleID + "' and RULES_TYPE =" + ruleType;
|
||
|
}
|
||
|
else if (ruleType == "2") {
|
||
|
sql = "delete from TBL_SYS_USERSRULES where USERS_UID ='" + userORroleID + "' and RULES_TYPE =" + ruleType;
|
||
|
}
|
||
|
try
|
||
|
{
|
||
|
FangYar.Common.MySqlHelper.ExecuteSql(sql);
|
||
|
return true;
|
||
|
}
|
||
|
catch
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 根据角色ID删除
|
||
|
/// </summary>
|
||
|
public bool DeleteByRulesId(string userORroleID, string ruleType)
|
||
|
{
|
||
|
string sql = "delete from TBL_SYS_USERSRULES where RULES_ID ='" + userORroleID + "' and RULES_TYPE =" + ruleType;
|
||
|
try
|
||
|
{
|
||
|
FangYar.Common.MySqlHelper.ExecuteSql(sql);
|
||
|
return true;
|
||
|
}
|
||
|
catch
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 编辑
|
||
|
/// </summary>
|
||
|
public bool Edit(FangYar.Model.TBL.TBL_SYS_USERSRULES_Model model)
|
||
|
{
|
||
|
StringBuilder strsql = new StringBuilder();
|
||
|
strsql.Append("update TBL_SYS_USERSRULES set ");
|
||
|
strsql.Append("USERS_UID=@USERS_UID,");
|
||
|
strsql.Append("APP_ID=@APP_ID,");
|
||
|
strsql.Append("RULES_TYPE=@RULES_TYPE,");
|
||
|
strsql.Append("RULES_ID=@RULES_ID ");
|
||
|
strsql.Append(" where ID=@ID");
|
||
|
MySqlParameter[] paras ={
|
||
|
new MySqlParameter("@USERS_UID",model.USERS_UID),
|
||
|
new MySqlParameter("@APP_ID",model.APP_ID),
|
||
|
new MySqlParameter("@RULES_TYPE",model.RULES_TYPE),
|
||
|
new MySqlParameter("@RULES_ID",model.RULES_ID),
|
||
|
new MySqlParameter("@ID",model.ID)
|
||
|
};
|
||
|
int i = FangYar.Common.MySqlHelper.ExecuteSql(strsql.ToString(), paras);
|
||
|
if (i > 0) { return true; }
|
||
|
else { return false; }
|
||
|
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取记录数
|
||
|
/// </summary>
|
||
|
public int Count(string strwhere)
|
||
|
{
|
||
|
string sql = "select count(1) from TBL_SYS_USERSRULES ";
|
||
|
if (strwhere != null && strwhere != "")
|
||
|
{
|
||
|
sql += " where " + strwhere;
|
||
|
}
|
||
|
try
|
||
|
{
|
||
|
|
||
|
return FangYar.Common.MySqlHelper.GetCount(sql);
|
||
|
|
||
|
}
|
||
|
catch
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
//当前用户下的角色或者权限
|
||
|
public DataTable getUserRules(string UsersUid, string appid, string rulesTypes)
|
||
|
{
|
||
|
StringBuilder strsql = new StringBuilder();
|
||
|
if (rulesTypes == "1")
|
||
|
{
|
||
|
strsql.Append("select * from TBL_SYS_PERM t ");
|
||
|
|
||
|
}
|
||
|
else if (rulesTypes == "2")
|
||
|
{
|
||
|
strsql.Append("select * from TBL_SYS_ROLE t ");
|
||
|
}
|
||
|
strsql.Append("left join");
|
||
|
strsql.AppendFormat("(select RULES_TYPE,RULES_ID from TBL_SYS_USERSRULES where app_ID='{0}' and USERS_UID ='{1}' )", appid, UsersUid);
|
||
|
strsql.Append(" b on t.id=b.RULES_ID ");
|
||
|
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(strsql.ToString());
|
||
|
if (dt.Rows.Count > 0)
|
||
|
{
|
||
|
return dt;
|
||
|
}
|
||
|
else { return null; }
|
||
|
|
||
|
}
|
||
|
//当前用户下的角色或者权限 , 根据机构判断
|
||
|
public DataTable getUserRules(string UsersUid, string appid, string rulesTypes, string org_id)
|
||
|
{
|
||
|
StringBuilder strsql = new StringBuilder();
|
||
|
if (rulesTypes == "1") {
|
||
|
strsql.Append("select * from TBL_SYS_PERM t ");
|
||
|
|
||
|
}
|
||
|
else if (rulesTypes == "2") {
|
||
|
strsql.Append("select * from TBL_SYS_ROLE t ");
|
||
|
}
|
||
|
strsql.Append("left join");
|
||
|
strsql.AppendFormat("(select RULES_TYPE,RULES_ID from TBL_SYS_USERSRULES where app_ID='{0}' and USERS_UID ='{1}' )", appid, UsersUid);
|
||
|
strsql.Append(" b on t.id=b.RULES_ID where org_id ='"+ org_id + "'");
|
||
|
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(strsql.ToString());
|
||
|
if (dt.Rows.Count > 0)
|
||
|
{
|
||
|
return dt;
|
||
|
}
|
||
|
else { return null; }
|
||
|
|
||
|
}
|
||
|
//当前角色下绑定的用户
|
||
|
public DataTable ChooseUSer(string AppId, string RuleID) {
|
||
|
StringBuilder strsql = new StringBuilder();
|
||
|
strsql.Append("select t.users_uid,t.users_name,b.USERS_UID as rules_user from TBL_SYS_USERS t ");
|
||
|
strsql.Append("left join");
|
||
|
strsql.AppendFormat("(select USERS_UID from TBL_SYS_USERSRULES where APP_ID='{0}' and RULES_ID ='{1}' )", AppId, RuleID);
|
||
|
strsql.Append(" b on t.USERS_UID=b.USERS_UID ");
|
||
|
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(strsql.ToString());
|
||
|
if (dt.Rows.Count > 0)
|
||
|
{
|
||
|
return dt;
|
||
|
}
|
||
|
else { return null; }
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
#endregion
|
||
|
#region 分页
|
||
|
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public string QueryJsonList(int PageIndex, int PageSize, string strwhere)
|
||
|
{
|
||
|
|
||
|
return FangYar.Common.JsonHelper.ToJson(QueryPage(PageIndex, PageSize, strwhere));
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public string QueryJsonList(int PageIndex, int PageSize, string strwhere, string order)
|
||
|
{
|
||
|
|
||
|
return FangYar.Common.JsonHelper.ToJson(QueryPage(PageIndex, PageSize, strwhere, order));
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public List<FangYar.Model.TBL.TBL_SYS_USERSRULES_Model> QueryList(int PageIndex, int PageSize, string strwhere)
|
||
|
{
|
||
|
|
||
|
return DataTableToList(QueryPage(PageIndex, PageSize, strwhere));
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public List<FangYar.Model.TBL.TBL_SYS_USERSRULES_Model> QueryList(int PageIndex, int PageSize, string strwhere, string order)
|
||
|
{
|
||
|
|
||
|
return DataTableToList(QueryPage(PageIndex, PageSize, strwhere, order));
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public DataTable QueryPage(int PageIndex, int PageSize, string strwhere)
|
||
|
{
|
||
|
|
||
|
return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_USERSRULES", strwhere);
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <param name="strwhere">排序</param>
|
||
|
/// <returns></returns>
|
||
|
public DataTable QueryPage(int PageIndex, int PageSize, string strwhere, string order)
|
||
|
{
|
||
|
|
||
|
return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_USERSRULES", strwhere, order);
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 存储过程分页
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <param name="strwhere">排序</param>
|
||
|
/// <returns></returns>
|
||
|
public void QueryProc(int PageIndex, int PageSize, string strwhere, string order)
|
||
|
{
|
||
|
int totalcount = 0;
|
||
|
FangYar.Common.SqlPagerHelperOra.Select(PageSize, PageIndex, out totalcount, "TBL_SYS_USERSRULES", "*", null, null, null);
|
||
|
|
||
|
|
||
|
}
|
||
|
#endregion
|
||
|
/// <summary>
|
||
|
/// 根据账号删除用户角色表
|
||
|
/// </summary>
|
||
|
/// <param name="USERS_UID"></param>
|
||
|
/// <returns></returns>
|
||
|
public bool DeleteByUid(string USERS_UID)
|
||
|
{
|
||
|
string sql = "delete from TBL_SYS_USERSRULES where USERS_UID = '" + USERS_UID + "'";
|
||
|
try
|
||
|
{
|
||
|
FangYar.Common.MySqlHelper.ExecuteSql(sql);
|
||
|
return true;
|
||
|
}
|
||
|
catch
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|