TG.WXCRM.V4/DAL/Ww/Ww_huser_Dal.cs

1267 lines
61 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Common;
using MySql.Data.MySqlClient;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Linq;
using WX.CRM.Common;
using WX.CRM.Common.Layui;
using WX.CRM.Model.crmModel;
using WX.CRM.Model.Entity;
using WX.CRM.Model.Enum;
using WX.CRM.Model.Ww;
namespace WX.CRM.DAL.Ww
{
public class wwUserinfoExinfo
{
public string thumb_avatar { get; set; }
public string avatar { get; set; }
}
public class Ww_huser_Dal
{
public List<Ww_Extuser> GeExtUsertList(string corpid, string name, ref Pager pager)
{
List<Ww_Extuser> corp = new List<Ww_Extuser>();
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
List<MySqlParameter> parameters = new List<MySqlParameter>();
string sql = @"select sql_calc_found_rows userid,corpid,ctime,name,avatar,unionid from ww_extuser where 1=1";
if (!string.IsNullOrEmpty(corpid))
{
sql += " and corpid in(" + corpid + ")";
}
if (!string.IsNullOrEmpty(name))
{
sql += " and ( name like @name or exinfo like @name )";
parameters.Add(new MySqlParameter() { DbType = DbType.String, Value = string.Format("%{0}%", name), ParameterName = "name" });
}
sql += " order by ctime desc limit @pageIndex,@pageSize;select found_rows() scc; ";
parameters.Add(new MySqlParameter() { DbType = DbType.Int32, Value = pager.rows * (pager.page - 1), ParameterName = "pageIndex" });
parameters.Add(new MySqlParameter() { DbType = DbType.Int32, Value = pager.rows, ParameterName = "pageSize" });
DataSet table = helper.ExecuteDataTable(sql, parameters.ToArray());
foreach (DataRow item in table.Tables[0].Rows)
{
Ww_Extuser model = new Ww_Extuser();
model.avatar = item["avatar"].ToString();
model.corpid = item["corpid"].ToString();
model.ctime = Convert.ToDateTime(item["ctime"]);
model.name = item["name"].ToString();
model.userid = item["userid"].ToString();
model.unionid = item["unionid"].ToString();
corp.Add(model);
}
pager.totalRows = Convert.ToInt32(table.Tables[1].Rows[0]["scc"]);
}
catch (Exception e)
{
throw;
}
return corp;
}
public List<Ww_Corp> Corp_Get()
{
List<Ww_Corp> corp = new List<Ww_Corp>();
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
List<MySqlParameter> parameters = new List<MySqlParameter>();
DataTable table = helper.ExecuteDataTable("select corpid,corpname,companycode,deptid from ww_corp", parameters.ToArray()).Tables[0];
foreach (DataRow item in table.Rows)
{
Ww_Corp model = new Ww_Corp();
model.corpid = item["corpid"].ToString();
model.corpname = item["corpname"].ToString();
model.companycode = item["companycode"].ToString();
model.deptid = item["deptid"].ToString();
corp.Add(model);
}
}
catch (Exception e)
{
throw;
}
return corp;
}
public Ww_hhuser HHuser_Get(string userid)
{
Ww_hhuser model = null;
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
List<MySqlParameter> parameters = new List<MySqlParameter>() { new MySqlParameter() { DbType = DbType.String, Value = userid, ParameterName = "userid" } };
DataTable table = helper.ExecuteDataTable("select userid,corpid,uname,exinfo,lmsgtime,deptid,fmsgtime,lastupdate,alias,mobile,email from ww_hhuser where userid=@userid;", parameters.ToArray()).Tables[0];
foreach (DataRow item in table.Rows)
{
model = new Ww_hhuser();
model.corpid = item["corpid"].ToString();
if (item["deptid"] != DBNull.Value)
{
model.deptid = Convert.ToInt32(item["deptid"]);
}
model.exinfo = item["exinfo"].ToString();
if (item["lmsgtime"] != DBNull.Value)
model.lmsgtime = Convert.ToDateTime(item["lmsgtime"]);
model.uname = item["uname"].ToString();
model.userid = item["userid"].ToString();
}
}
catch (Exception e)
{
throw;
}
return model;
}
public Ww_hhuser HHuser_Get(string userid, string corpid)
{
Ww_hhuser model = null;
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
List<MySqlParameter> parameters = new List<MySqlParameter>()
{
new MySqlParameter() { DbType = DbType.String, Value = userid, ParameterName = "userid" } ,
new MySqlParameter() { DbType = DbType.String, Value = corpid, ParameterName = "corpid" }
};
DataTable table = helper.ExecuteDataTable("select userid,corpid,uname,exinfo,lmsgtime,deptid,fmsgtime,lastupdate,alias,mobile,email from ww_hhuser where userid=@userid and corpid=@corpid;", parameters.ToArray()).Tables[0];
foreach (DataRow item in table.Rows)
{
model = new Ww_hhuser();
model.corpid = item["corpid"].ToString();
if (item["deptid"] != DBNull.Value)
{
model.deptid = Convert.ToInt32(item["deptid"]);
}
model.exinfo = item["exinfo"].ToString();
if (item["lmsgtime"] != DBNull.Value)
model.lmsgtime = Convert.ToDateTime(item["lmsgtime"]);
model.uname = item["uname"].ToString();
model.userid = item["userid"].ToString();
}
}
catch (Exception e)
{
throw;
}
return model;
}
public Ww_Extuser ExtUserGet(string userid)
{
Ww_Extuser model = null;
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
List<MySqlParameter> parameters = new List<MySqlParameter>() { new MySqlParameter() { DbType = DbType.String, Value = userid, ParameterName = "userid" } };
DataTable table = helper.ExecuteDataTable(@"
SELECT userid, corpid, ctime, lastupdate, errnums, name, avatar, remoteid, exinfo, unionid FROM ww_extuser where userid = @userid", parameters.ToArray()).Tables[0];
foreach (DataRow item in table.Rows)
{
model = new Ww_Extuser();
model.userid = item["userid"].ToString();
model.corpid = item["corpid"].ToString();
model.name = item["name"].ToString();
model.avatar = item["avatar"].ToString();
if (item["ctime"] != DBNull.Value)
model.ctime = Convert.ToDateTime(item["ctime"]);
model.exinfo = item["exinfo"].ToString();
model.unionid = item["unionid"].ToString();
if (item["lastupdate"] != DBNull.Value)
model.lastupdate = Convert.ToDateTime(item["lastupdate"]);
}
}
catch (Exception e)
{
throw;
}
return model;
}
public List<Ww_Extuser> WorkListGet(string nickname, string unionid, string remark, IList<string> kfid = null)
{
List<Ww_Extuser> corp = new List<Ww_Extuser>();
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
List<MySqlParameter> parameters = new List<MySqlParameter>();
string sql = @"select distinct a.* from ww_extuser a inner join ww_user_extuser b on a.corpid=b.corpid and a.userid=b.extuserid where 1=1";
if (kfid != null && kfid.Count() > 0)
{
sql += " and b.userid in ('" + string.Join("','", kfid) + "')";
}
if (!string.IsNullOrEmpty(nickname))
{
sql += " and a.name = @nickname";
parameters.Add(new MySqlParameter() { DbType = DbType.String, Value = nickname, ParameterName = "nickname" });
}
if (!string.IsNullOrEmpty(unionid))
{
sql += " and (a.unionid = @unionid or a.userid=@unionid)";
parameters.Add(new MySqlParameter() { DbType = DbType.String, Value = unionid, ParameterName = "unionid" });
}
if (!string.IsNullOrEmpty(remark))
{
sql += " and b.remark like @remark";
parameters.Add(new MySqlParameter() { DbType = DbType.String, Value = string.Format("%{0}%", remark), ParameterName = "remark" });
}
DataSet table = helper.ExecuteDataTable(sql, parameters.ToArray());
foreach (DataRow item in table.Tables[0].Rows)
{
Ww_Extuser model = new Ww_Extuser();
model.avatar = item["avatar"].ToString();
model.corpid = item["corpid"].ToString();
model.ctime = Convert.ToDateTime(item["ctime"]);
model.name = item["name"].ToString();
model.userid = item["userid"].ToString();
model.unionid = item["unionid"].ToString();
corp.Add(model);
}
}
catch (Exception e)
{
throw;
}
return corp;
}
/// <summary>
/// 根据工号获取企业微信账号列表
/// </summary>
/// <param name="Eid"></param>
/// <returns></returns>
public List<Ww_hhuserModel> WorkListGetByEid(decimal Eid, string name)
{
List<Ww_hhuserModel> hhuserList = new List<Ww_hhuserModel>();
using (var db = new crmContext())
{
var list = db.WW_HHUSER_EID.Where(m => m.EID == Eid);
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
List<MySqlParameter> parameters = new List<MySqlParameter>();
string sql = "";
int i = 0;
foreach (var item in list)
{
i++;
if (i == 1)
sql += $@"select a.corpid,a.deptid,b.corpname,a.exinfo ,a.uname,a.userid,a.lmsgtime,a.mobile,a.email from ww_hhuser a
join ww_corp b on a.corpid = b.corpid where a.userid=@userid{i} and a.corpid=@corpid{i} ";
else
sql += $@"union
select a.corpid,a.deptid,b.corpname,a.exinfo ,a.uname,a.userid,a.lmsgtime,a.mobile,a.email from ww_hhuser a
join ww_corp b on a.corpid = b.corpid where a.userid=@userid{i} and a.corpid=@corpid{i} ";
if (!string.IsNullOrEmpty(name))
{
sql += " and (a.uname like @name or a.mobile like @name or a.userid like @name) ";
}
parameters.Add(new MySqlParameter() { ParameterName = $"userid{i}", Value = item.USERID });
parameters.Add(new MySqlParameter() { ParameterName = $"corpid{i}", Value = item.CORPID });
}
if (!string.IsNullOrEmpty(name))
{
parameters.Add(new MySqlParameter() { ParameterName = $"name", Value = $"%{name}%" });
}
if (string.IsNullOrWhiteSpace(sql))
return hhuserList;
var set = helper.ExecuteDataTable(sql, parameters.ToArray());
List<Ww_hhuserModel> orderCorp = new List<Ww_hhuserModel>();
foreach (DataRow item in set.Tables[0].Rows)
{
Ww_hhuserModel model = new Ww_hhuserModel();
model.corpid = item["corpid"].ToString();
model.corpname = item["corpname"].ToString();
if (item["deptid"] != DBNull.Value)
model.deptid = Convert.ToInt32(item["deptid"]);
model.exinfo = item["exinfo"].ToString();
if (item["lmsgtime"] != DBNull.Value)
model.lmsgtime = Convert.ToDateTime(item["lmsgtime"]);
model.userid = item["userid"].ToString();
model.uname = item["uname"].ToString();
model.mobile = item["mobile"].ToString();
model.email = item["email"].ToString();
try
{
var json = JsonConvert.DeserializeObject<wwUserinfoExinfo>(item["exinfo"].ToString());
if (json != null)
{
model.thumb_avatar = json.thumb_avatar ?? json.avatar;
}
}
catch (Exception e)
{
}
model.exinfo = "";
hhuserList.Add(model);//加了组织结构过滤条件
}
}
return hhuserList;
}
/// <summary>
/// 获取企业微信成员列表
/// </summary>
/// <param name="v_name"></param>
/// <param name="v_corpid"></param>
/// <param name="v_deptid"></param>
/// <returns></returns>
public List<Ww_hhuserModel> WorList_Get(ref Laypage page, Ww_IndexQueryModel dto, List<decimal> ALLdeptIDS, List<decimal> ALLgidS)
{
List<Ww_hhuserModel> corp = new List<Ww_hhuserModel>();
List<WW_HHUSER_EID> ls = new List<WW_HHUSER_EID>();//企业微信 和 员工绑定关系
List<decimal> myuserIdList = new List<decimal>();
try
{
bool isShowAll = true;
bool beside = false;
using (var db = new crmContext())
{
var queryData = db.WW_HHUSER_EID.AsQueryable();
if (!string.IsNullOrWhiteSpace(dto.fiterUser))
{
var userfilter = dto.fiterUser.Split(';').ToList();
queryData = queryData.Where(m => userfilter.Contains(m.USERID));
}
if (dto.assignStatus > -1)
{
isShowAll = false;
queryData = queryData.Where(m => m.ASSIGNSTATUS == dto.assignStatus);
if (dto.assignStatus == 0)
{
beside = true; //没有数据绑定
}
}
if (dto.Status > -1)
{
isShowAll = false;
queryData = queryData.Where(m => m.STATUS == dto.Status);
}
if (!string.IsNullOrWhiteSpace(dto.txt_userId) || dto.seid.HasValue)
{
isShowAll = false;
if (!string.IsNullOrWhiteSpace(dto.txt_userId))
{
var userfilter = dto.txt_userId.Split(',').Select(n => Convert.ToDecimal(n)).ToList();
queryData = queryData.Where(m => userfilter.Contains(m.INNERUSERID));
}
if (dto.seid.HasValue)
queryData = queryData.Where(m => m.EID == dto.seid.Value);
}
if (dto.bindStatus != 2 && !string.IsNullOrEmpty(dto.txt_groupIds))
{
isShowAll = false;
var _groupids = OperationUtil.ConvertToDecimal(dto.txt_groupIds.Split(','));
queryData = (from a in queryData
join b in db.BAS_INNERUSERGROUP on a.INNERUSERID equals b.INNERUSERID
where _groupids.Contains(b.GID.Value)
select a);
}
else if (dto.bindStatus != 2 && !string.IsNullOrEmpty(dto.txt_deptId))
{
isShowAll = false;
var depts = OperationUtil.ConvertToDecimal(dto.txt_deptId.Split(','));
queryData = (from a in queryData
join b in db.BAS_INNERUSERGROUP on a.INNERUSERID equals b.INNERUSERID
//join g in db.BAS_INNERGROUP on b.GID equals g.GID
where ALLdeptIDS.Contains(b.DEPTID.Value) || ALLgidS.Contains(b.GID.Value)
select a);
}
else if (dto.txt_companyId.HasValue)
{
isShowAll = false;
queryData = (from a in queryData
join b in db.BAS_INNERUSERGROUP on a.INNERUSERID equals b.INNERUSERID
join g in db.BAS_INNERGROUP on b.GID equals g.GID
join m in db.BAS_SALESDEPARTMENT on g.SALEDEPTID equals m.SALEDEPTID
where m.COMPANYID == dto.txt_companyId.Value
select a);
}
if (dto.bindStatus.HasValue)
{
isShowAll = false;
switch (dto.bindStatus)
{
case 1:
queryData = queryData.Where(n => n.EID > 0);
break;
case 2:
beside = true;
queryData = queryData.Where(n => n.EID > 0 || n.DEPTID > 0);
break;
case 3:
queryData = queryData.Where(n => (n.EID == null || n.EID == 0) && n.DEPTID > 0);
break;
}
}
ls = queryData.ToList();
}
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
List<MySqlParameter> parameters = new List<MySqlParameter>();
var relFiler = "ctime >= CURDATE()";
if (dto.xstime.HasValue)
{
relFiler = $" ctime >= '{dto.xstime.Value.ToString("yyyy-MM-dd")}'";
}
if (dto.xetime.HasValue)
{
if (relFiler == null)
{
relFiler = $" ctime < '{dto.xetime.Value.AddDays(1).ToString("yyyy-MM-dd")}'";
}
else
{
relFiler += $" and ctime < '{dto.xetime.Value.AddDays(1).ToString("yyyy-MM-dd")}'";
}
}
var deptSql = @"select deptid,corpid,deptname,parentid from ww_dept where 1=1";
var cropFilter = "";
if (!string.IsNullOrEmpty(dto.corp))
{
cropFilter = $"{string.Join(",", dto.corp.Split(',').Select(n => $"'{n}'"))}";
deptSql += $" and corpid in ( {cropFilter} )";
}
var wxDeptList = helper.QueryEntitys<Ww_hhDeptModel>(deptSql);
string sql = $@"select a.corpid,a.deptid,b.corpname,'' exinfo ,a.uname,a.userid,a.lmsgtime,a.mobile,a.email,c.deptname,d.newAdd from ww_hhuser a
join ww_corp b on a.corpid = b.corpid
left join ww_dept c on a.deptid=c.deptid and a.corpid=c.corpid
left join ( select userId,sum(numbers) newAdd from ww_user_extuser_temp where {relFiler} group by userId) d on a.userid = d.userId
where 1=1
";
string where = "";
if (!string.IsNullOrEmpty(dto.name))
{
where += " and (a.uname like @uname or a.userid like @uname or a.mobile like @uname)";
parameters.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "uname", Value = string.Format("%{0}%", dto.name) });
}
if (!string.IsNullOrEmpty(dto.corp))
{
where += $" and a.corpid in ({cropFilter}) and a.deptid is not null";
}
List<SelfDept> deptidsnew = new List<SelfDept>();
string alldeptSql = "select deptid,corpid from ww_dept";
if (!string.IsNullOrEmpty(dto.deptid))
{
var sqlWhere = "";
var deptFilter = dto.deptid.Split(';').ToList();
var alldeptCorp = dto.corp.Split(',').ToList();
foreach (var item in deptFilter)
{
var deptStr = item.Split('_').LastOrDefault();
int[] ids = Newtonsoft.Json.JsonConvert.DeserializeObject<int[]>(deptStr);
var corpiditem = item.Split('_').FirstOrDefault();
alldeptCorp = alldeptCorp.Where(n => n != corpiditem).ToList();
var itemdeptArray = GetAllCildDept(helper, ids, corpiditem);
if (!string.IsNullOrWhiteSpace(sqlWhere))
{
sqlWhere += $" or";
}
else
{
sqlWhere += $" where ";
}
sqlWhere += $" (corpid = '{corpiditem}' and deptid in ({string.Join($",", itemdeptArray)})) ";
}
if (alldeptCorp.Count > 0)
{
alldeptCorp = alldeptCorp.Select(n => $"'{n}'").ToList();
if (!string.IsNullOrWhiteSpace(sqlWhere))
{
sqlWhere += $"or";
}
else
{
sqlWhere += $"where ";
}
sqlWhere += $" (corpid in ({string.Join(",", alldeptCorp)}))";
}
alldeptSql += sqlWhere;
}
else
{
if (!string.IsNullOrEmpty(dto.corp))
{
alldeptSql = $"select deptid,corpid from ww_dept where corpid in ({cropFilter}) ";
}
}
var selfDepts = helper.QueryEntitys<SelfDept>(alldeptSql);
deptidsnew = selfDepts.ToList();
//sql += where + " order by a.lmsgtime desc limit @page,@limit;";//查询列表
sql += where + " order by a.lmsgtime desc";//查询列表
//parameters.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "page", Value = page.page });
//parameters.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "limit", Value = page.limit });
var set = helper.ExecuteDataTable(sql, parameters.ToArray());
List<Ww_hhuserModel> orderCorp = new List<Ww_hhuserModel>();
foreach (DataRow item in set.Tables[0].Rows)
{
Ww_hhuserModel model = new Ww_hhuserModel();
model.corpid = item["corpid"].ToString();
model.corpname = item["corpname"].ToString();
if (item["deptid"] != DBNull.Value)
model.deptid = Convert.ToInt32(item["deptid"]);
model.exinfo = item["exinfo"].ToString();
if (item["lmsgtime"] != DBNull.Value)
model.lmsgtime = Convert.ToDateTime(item["lmsgtime"]);
model.userid = item["userid"].ToString();
model.uname = item["uname"].ToString();
model.mobile = item["mobile"].ToString();
model.email = item["email"].ToString();
model.deptname = item["deptname"].ToString();
if (item["newAdd"] != DBNull.Value)
model.newAdd = Convert.ToInt32(item["newAdd"]);
if (item["deptid"] != DBNull.Value)
{
model.isMyController = deptidsnew.Where(n => n.Corpid == model.corpid).Select(n => n.Deptid).Contains(model.deptid.Value) ? 1 : 2;
}
WW_HHUSER_EID huid = ls.FirstOrDefault(m => m.USERID == model.userid && m.CORPID == model.corpid);
if (huid != null)
{
model.eid = huid.EID;
model.assignStatus = huid.ASSIGNSTATUS.HasValue ? Convert.ToInt32(huid.ASSIGNSTATUS) : 0;
model.Status = huid.STATUS.HasValue ? Convert.ToInt32(huid.STATUS) : 1;
model.errorcode = huid.ERRORCODE.HasValue ? Convert.ToInt32(huid.ERRORCODE) : (int?)null;
}
model.assignStatusName = EnumHelper.GetEnumDescription((AssignstatusEnum)model.assignStatus);
model.StatusName = EnumHelper.GetEnumDescription((WeworkStatusEnum)model.Status);
if (isShowAll)
{
corp.Add(model);//如果显示全部,就全部显示
continue;
}
if (beside && huid == null) //未绑定
{
corp.Add(model);
}
else if (!beside && huid != null)
{
corp.Add(model);//加了组织结构过滤条件
}
}
if (dto.orderType == 2)
{
corp = corp.OrderByDescending(n => n.isMyController).ToList();
}
else
{
corp = corp.OrderBy(n => n.isMyController).ToList();
}
if (!string.IsNullOrWhiteSpace(page.order))
{
if (page.order == "asc")
corp = corp.OrderBy(x => x.newAdd).ToList();
else if (page.order == "desc")
corp = corp.OrderByDescending(x => x.newAdd).ToList();
}
page.count = corp.Count;
corp = corp.Skip((page.page - 1) * page.limit).Take(page.limit).ToList();//重新分页
var deptidList = corp.Where(n => n.deptid != null).Select(n => $"{n.deptid}_{n.corpid}").ToList();
var deptDic = BuildDeptName(wxDeptList.Distinct().ToList(), deptidList);
foreach (var item in corp)
{
var deptStr = $"{item.deptid}_{item.corpid}";
if (item.deptid == null)
{
continue;
}
if (deptDic.ContainsKey(deptStr))
{
item.deptname = deptDic.FirstOrDefault(n => n.Key == deptStr).Value;
}
}
//匹配员工企业号的客户信息
//使用分页后的结果查询
//减少需赛选的数据量
//20220218
var showIds = corp.Select(m => m.userid);
var relSql = $"select userId,count(1) extUser from ww_user_extuser where userid in ('{string.Join("','", showIds)}') group by userId;";
var userExtuserSet = helper.ExecuteDataTable(relSql);
// var userExtuserDic = helper.ExecuteDataDictionary(relSql);
foreach (DataRow item in userExtuserSet.Tables[0].Rows)
{
var userId = item["userId"].ToString();
var corpItem = corp.FirstOrDefault(m => m.userid == userId);
if (corpItem != null)
{
//更新 客户总数与 今日新增
corpItem.myExtuser = Convert.ToInt32(item["extUser"].ToString());
//corpItem.newAdd = Convert.ToInt32(item["newAdd"].ToString());
}
}
}
catch (Exception e)
{
throw;
}
return corp;
}
public List<My_hhuserModel> MyWeUser_Get(ref Laypage page, MyWeUserDto myWeUserDto, List<decimal> ALLdeptIDS, List<decimal> ALLgidS)
{
List<My_hhuserModel> res = new List<My_hhuserModel>();
using (var db = new crmContext())
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
var queryData = db.RES_CUSTOMERQW_EID.AsQueryable();
if (myWeUserDto.txt_userId.HasValue)
{
queryData = queryData.Where(m => m.INNERUSERID == myWeUserDto.txt_userId);
}
if (!string.IsNullOrEmpty(myWeUserDto.txt_groupIds))
{
var _groupids = OperationUtil.ConvertToDecimal(myWeUserDto.txt_groupIds.Split(','));
queryData = (from a in queryData
join b in db.BAS_INNERUSERGROUP on a.INNERUSERID equals b.INNERUSERID
where _groupids.Contains(b.GID.Value)
select a);
}
else if (!string.IsNullOrEmpty(myWeUserDto.txt_deptId))
{
var depts = OperationUtil.ConvertToDecimal(myWeUserDto.txt_deptId.Split(','));
queryData = (from a in queryData
join b in db.BAS_INNERUSERGROUP on a.INNERUSERID equals b.INNERUSERID
where ALLdeptIDS.Contains(b.DEPTID.Value) || ALLgidS.Contains(b.GID.Value)
select a);
}
var customerQuery = db.RES_CUSTOMERQW.AsQueryable();
//
if (!string.IsNullOrWhiteSpace(myWeUserDto.corp))
{
customerQuery = customerQuery.Where(n => n.APPID == myWeUserDto.corp);
}
if (!string.IsNullOrWhiteSpace(myWeUserDto.resid))
{
customerQuery = customerQuery.Where(n => n.RESID == myWeUserDto.resid);
}
//来源 todo
if (myWeUserDto.addway.HasValue)
{
customerQuery = customerQuery.Where(n => n.SCENETYPE == myWeUserDto.addway);
}
if (!string.IsNullOrWhiteSpace(myWeUserDto.activeName))
{
customerQuery = customerQuery.Where(n => n.SCENE == myWeUserDto.activeName);
}
if (myWeUserDto.xstime.HasValue)
{
customerQuery = customerQuery.Where(n => n.CREATETIME >= myWeUserDto.xstime);
}
if (myWeUserDto.xetime.HasValue)
{
var endtime = myWeUserDto.xetime.Value.AddDays(1);
customerQuery = customerQuery.Where(n => n.CREATETIME < endtime);
}
//昵称
if (!string.IsNullOrWhiteSpace(myWeUserDto.name))
{
var nameSql = @"select a.userid,a.unionid,a.name,a.avatar,a.corpid,b.corpname from ww_extuser
a left join ww_corp b on a.corpid = b.corpid where a.name = @name and a.userid is not null
and a.unionid is not null and a.name is not null";
List<MySqlParameter> nameparameters = new List<MySqlParameter>();
nameparameters.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "name", Value = myWeUserDto.name.Trim() });
var set = helper.QueryEntitys<MyWeUserQueryModel>(nameSql, nameparameters.ToArray());
var resIdFilter = set.Select(n => n.unionid).Union(set.Select(n => n.userid)).ToList();
customerQuery = customerQuery.Where(n => resIdFilter.Contains(n.RESID));
}
var customerQw = from n in customerQuery
join e in queryData
on n.APPUSERID equals e.APPUSERID
join b in db.BAS_INNERUSERGROUP
on e.INNERUSERID equals b.INNERUSERID
join c in db.BAS_SALESDEPARTMENT
on b.DEPTID equals c.SALEDEPTID
join u in db.BAS_INNERUSER
on e.INNERUSERID equals u.PKID
select new
{
APPID = n.APPID,
RESID = n.RESID,
CREATETIME = n.CREATETIME,
SCENETYPENAME = n.SCENETYPENAME,
SCENENAME = n.SCENETYPENAME,
deptName = c.DEPTNAME,
uname = u.UNAME,
eid = e.EID,
CTIME = n.CTIME,
APPUSERID = n.APPUSERID
};
//var w = customerQw.ToList();
page.count = customerQw.Count();
if (page.count == 0)
{
return res;
}
customerQw = customerQw.OrderByDescending(n => n.CTIME);
var list = customerQw.Skip((page.page - 1) * page.limit).Take(page.limit).ToList();//重新分页
var unionList = string.Join(",", list.Select(n => "'" + n.RESID + "'").ToList());
var corpSql = @"select corpid,corpname from ww_corp ";
List<MySqlParameter> corpsqlparams = new List<MySqlParameter>();
var cropList = helper.QueryEntitys<MyWeUserQueryModel>(corpSql, corpsqlparams.ToArray());
var sql = @"select userid,unionid,name,avatar,corpid from ww_extuser
where userid in (" + unionList + ") or unionid in (" + unionList + ")";
List<MySqlParameter> sqlparams = new List<MySqlParameter>();
//sqlparams.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "fiter", Value = unionList });
var weList = helper.QueryEntitys<MyWeUserQueryModel>(sql, sqlparams.ToArray());
foreach (var item in list)
{
var dbItem = cropList.FirstOrDefault(n => n.corpid == item.APPID);
var detail = weList.FirstOrDefault(n => n.unionid == item.RESID || n.userid == item.RESID);
My_hhuserModel my_HhuserModel = new My_hhuserModel
{
company = dbItem?.corpname,
unionid = item.APPID,
resId = item.RESID,
avatar = detail == null ? "" : detail.avatar,
name = detail == null ? "" : detail.name,
createTime = item.CREATETIME,
addway = item.SCENETYPENAME,
activeName = item.SCENENAME,
deptName = item.deptName, //deptInfo == null? "":deptInfo.deptName,
userName = item.uname + $"-({item.eid})" // deptInfo ==null? "" :deptInfo.uname +$"-({deptInfo.eid})"
};
res.Add(my_HhuserModel);
}
}
return res;
}
private Dictionary<string, string> BuildDeptName(List<Ww_hhDeptModel> deptList, List<string> listId)
{
listId = listId.Distinct().ToList();
Dictionary<string, string> result = new Dictionary<string, string>();
foreach (var id in listId)
{
var res = BuildDeptName(id, deptList, "");
result.Add(id, res.Trim('/'));
}
return result;
}
public string BuildDeptName(string id, List<Ww_hhDeptModel> deptList, string name)
{
var deptid = id.Split('_').FirstOrDefault();
var corpid = id.Split('_').LastOrDefault();
var dept = deptList.FirstOrDefault(n => n.deptid.ToString() == deptid && n.corpid == corpid);
if (dept != null)
{
name = $"{dept.deptname}/{name}";
return BuildDeptName($"{dept.parentid}_{corpid}", deptList, name);
}
return name;
}
#region
/// <summary>
/// 找出配置里面所有的部门ID
/// </summary>
/// <param name="companycode"></param>
/// <returns></returns>
public Dictionary<string, List<int>> GetAllCorpDept(string companycode)
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
List<Ww_Corp> list = Corp_Get();
Dictionary<string, List<int>> dic = new Dictionary<string, List<int>>();
if (!string.IsNullOrEmpty(companycode))
{
string companycodeFormat = string.Format("[{0}]", companycode);
list = list.Where(m => m.companycode.Contains(companycodeFormat)).ToList();
foreach (var item in list)
{
int[] deptid = new int[] { };
if (!string.IsNullOrEmpty(item.deptid))
{
JObject obj = (JObject)Newtonsoft.Json.Linq.JObject.Parse(item.deptid);
deptid = JsonConvert.DeserializeObject<int[]>(obj[companycode].ToString());
}
dic.Add(item.corpid, GetAllCildDept(helper, deptid, item.corpid).ToList());
}
}
return dic;
}
public int[] GetAllCildDept(MySqlDbHelper helper, int[] deptids, string corpid)
{
if (deptids.Count() == 0 || string.IsNullOrEmpty(corpid))
{
return deptids;
}
Dictionary<int, int> dicdptlist = new Dictionary<int, int>();
foreach (var item in deptids)
{
if (!dicdptlist.ContainsKey(item))
dicdptlist.Add(item, item);
}
foreach (var item in deptids)
{
GetChildDept(helper, dicdptlist, corpid, item);
}
return dicdptlist.Select(m => m.Key).ToArray();
}
public void GetChildDept(MySqlDbHelper helper, Dictionary<int, int> dplist, string corpid, int id)
{
//List<Ww_Dept> deptlist = _crmContext.Ww_Dept.Where(m => m.parentid == id && m.corpid == corpid).ToList();
string sql = "select * from ww_dept where parentid=@parentid and corpid=@corpid ";
List<MySqlParameter> parameters = new List<MySqlParameter>()
{
new MySqlParameter() { DbType = DbType.String, ParameterName = "parentid", Value = id },
new MySqlParameter() { DbType = DbType.String, ParameterName = "corpid", Value = corpid }
};
//DataSet set = MySqlDbHelper.ExecuteDataTable(helper.GetConnecionString(MySqlDbHelper.DatabaseType.MysqlQWConn), CommandType.Text, sql, parameters.ToArray());
DataSet set = helper.ExecuteDataTable(sql, parameters.ToArray());
if (set != null && set.Tables.Count > 0 && set.Tables[0].Rows.Count > 0)
{
foreach (DataRow dp in set.Tables[0].Rows)
{
if (dp["deptid"] != DBNull.Value)
{
int deptid = Convert.ToInt32(dp["deptid"]);
if (!dplist.ContainsKey(deptid))
{
dplist.Add(deptid, deptid);
GetChildDept(helper, dplist, corpid, deptid);
}
}
}
}
}
#endregion
public List<Hg_KeyWord> GetKeyWordAll(bool showAll = false)
{
List<Hg_KeyWord> list = new List<Hg_KeyWord>();
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
string sql = "select keyword,ctime,status from hg_keyword where status=1 order by ctime desc";
if (showAll == true)
sql = "select keyword,ctime,status from hg_keyword order by ctime desc";
DataTable tab = helper.ExecuteDataTable(sql).Tables[0];
foreach (DataRow item in tab.Rows)
{
Hg_KeyWord model = new Hg_KeyWord();
model.keyword = item["keyword"].ToString();
model.status = Convert.ToInt32(item["status"]);
model.ctime = Convert.ToDateTime(item["ctime"]);
list.Add(model);
}
return list;
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
throw;
}
}
/// <summary>
/// 修改关键字
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool UpdateKeyWord(Hg_KeyWordAllModel model, ref string message)
{
bool result = false;
try
{
model.keywords = model.keywords.Replace("", ";").Replace("\n\r", "").Replace("\r", "").Replace("\n", "");
List<Ww_Corp> corp = Corp_Get();//企业微信号列表
List<Hg_KeyWord> keys = GetKeyWordAll(true);//所有的关键词
List<Hg_Man_Config> manconfig = GetMainConfig();//当前主线程执行顺序
List<string> keylist2 = model.keywords.Split(';').ToList();
List<string> keylist = new List<string>();
foreach (var item in keylist2)
{
if (!string.IsNullOrEmpty(item))
keylist.Add(item);
}
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
string addmessage = "";
string delmessage = "";
string pici = DateTime.Now.ToString("yyyyMMddHHmmssfff");
foreach (string item1 in keylist)
{
string item = item1.Trim();
if (string.IsNullOrEmpty(item))
continue;
Hg_KeyWord word = keys.FirstOrDefault(m => m.keyword == item);
if (word == null)//如果没有数据,则新增
{
addmessage += string.Format("{0};", item);
helper.ExecuteNonQuery("insert into hg_keyword(keyword,status)values(@keyword, 1);", new MySqlParameter() { DbType = DbType.String, ParameterName = "keyword", Value = item });//插入数据
foreach (var co in corp)
{
var en = manconfig.FirstOrDefault(m => m.corpid == co.corpid);
if (en == null || en.seq == 0)//如果主线程都没有执行,就不用新增 补充数据指令了
{
continue;
}
else
{
//插入待执行表, 最大值为当前执行的位置
helper.ExecuteNonQuery("insert into hg_make_up(corpid,keyword,seq,maxseq,status,pici)values(@corpid,@keyword, 0,@maxseq,90,@pici);",
new MySqlParameter() { DbType = DbType.String, ParameterName = "corpid", Value = en.corpid },
new MySqlParameter() { DbType = DbType.String, ParameterName = "keyword", Value = item },
new MySqlParameter() { DbType = DbType.Int32, ParameterName = "maxseq", Value = en.seq },
new MySqlParameter() { DbType = DbType.String, ParameterName = "pici", Value = pici }
);//有记录则插入补充记录
}
}
}
else
{
if (word.status == 0)//有数据,切已经被删除了,则修改会正常状态
{
addmessage += string.Format("{0};", item);
helper.ExecuteNonQuery("update hg_keyword set status=1 where keyword=@keyword;", new MySqlParameter() { DbType = DbType.String, ParameterName = "keyword", Value = item });//插入数据
foreach (var co in corp)
{
var en = manconfig.FirstOrDefault(m => m.corpid == co.corpid);
if (en == null || en.seq == 0)//如果主线程都没有执行,就不用新增 补充数据指令了
{
continue;
}
else
{
//插入待执行表, 最大值为当前执行的位置
helper.ExecuteNonQuery("insert into hg_make_up(corpid,keyword,seq,maxseq,status,pici)values(@corpid,@keyword, 0,@maxseq,90,@pici);",
new MySqlParameter() { DbType = DbType.String, ParameterName = "corpid", Value = en.corpid },
new MySqlParameter() { DbType = DbType.String, ParameterName = "keyword", Value = item },
new MySqlParameter() { DbType = DbType.Int32, ParameterName = "maxseq", Value = en.seq },
new MySqlParameter() { DbType = DbType.String, ParameterName = "pici", Value = pici }
);//有记录则插入补充记录
}
}
}
}
}
var delkeyword = keys.Where(m => !keylist.Contains(m.keyword)).ToList();
foreach (var item in delkeyword)
{
delmessage += string.Format("{0};", item.keyword);
helper.ExecuteNonQuery("update hg_keyword set status=0 where keyword=@keyword;", new MySqlParameter() { DbType = DbType.String, ParameterName = "keyword", Value = item.keyword });//将关键字 修改成
helper.ExecuteNonQuery("update hg_make_up set status=120 where keyword=@keyword and status=90;", new MySqlParameter() { DbType = DbType.String, ParameterName = "keyword", Value = item.keyword });//修改成取消状态
}
if (!string.IsNullOrEmpty(addmessage))
{
message += "新增关键字:“" + addmessage + "”\n";
}
if (!string.IsNullOrEmpty(delmessage))
{
message += "删除关键字:“" + delmessage + "”\n";
}
if (string.IsNullOrEmpty(message))
{
message = "无变动!";
}
result = true;
}
catch (Exception e)
{
message = "系统错误!";
LogHelper.Error(e.ToString());
}
return result;
}
public List<Hg_Man_Config> GetMainConfig()
{
List<Hg_Man_Config> list = new List<Hg_Man_Config>();
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
DataTable tab = helper.ExecuteDataTable("select corpid,tablename,seq from hg_man_config").Tables[0];
foreach (DataRow item in tab.Rows)
{
Hg_Man_Config model = new Hg_Man_Config();
model.corpid = item["corpid"].ToString();
model.tablename = item["tablename"].ToString();
model.seq = Convert.ToInt32(item["seq"]);
list.Add(model);
}
return list;
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
throw;
}
}
public bool SetKeyWords(string keywords, ref ValidationErrors erro)
{
bool result = false;
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
DataTable tab = helper.ExecuteDataTable("select count(*)count from bas_parameter where parakey='WeiXin_IllegalKewords'").Tables[0];
if (Convert.ToInt32(tab.Rows[0]["count"]) == 0)
{
helper.ExecuteNonQuery("insert into bas_parameter (parakey,paravalue,remark) values('WeiXin_IllegalKewords',@paravalue,'关键词配置')", new MySqlParameter() { DbType = DbType.String, ParameterName = "paravalue", Value = keywords });
}
else
{
helper.ExecuteNonQuery("update bas_parameter set paravalue=@paravalue where parakey='WeiXin_IllegalKewords' ", new MySqlParameter() { DbType = DbType.String, ParameterName = "paravalue", Value = keywords });
}
result = true;
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
erro.Add(e.ToString());
}
return result;
}
public List<Hg_MessageModel> GetHg_Message(ref Pager pager, string userNames, DateTime? msgstime, DateTime? msgetime, DateTime? stime, DateTime? etime, string keyword, string kefid, string userid, int? status)
{
List<Hg_MessageModel> list = new List<Hg_MessageModel>();
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
string sql = "select SQL_CALC_FOUND_ROWS id,seq,msgid,msgtype,action,fromer,tolist,roomid,ext,content,nfile,msgtime,ctime,hgstatus,hgtime,issend,kehuname,cusname,corpid from hg_message x where 1=1 ";
List<MySqlParameter> para = new List<MySqlParameter>();
if (!string.IsNullOrEmpty(userNames))//客服ID
{
sql += " and fromer in(" + userNames + ")";
}
if (msgstime.HasValue)//消息开始时间
{
sql += " and msgtime>=@msgstime";
para.Add(new MySqlParameter() { ParameterName = "@msgstime", MySqlDbType = MySqlDbType.DateTime, Value = msgstime.Value });
}
if (msgetime.HasValue)//消息结束时间
{
msgetime = msgetime.Value.AddDays(1);//加一天
sql += " and msgtime<@msgetime";
para.Add(new MySqlParameter() { ParameterName = "@msgetime", MySqlDbType = MySqlDbType.DateTime, Value = msgetime.Value });
}
if (stime.HasValue)//系统操作开始时间
{
sql += " and ctime>=@stime";
para.Add(new MySqlParameter() { ParameterName = "@stime", MySqlDbType = MySqlDbType.DateTime, Value = stime.Value });
}
if (etime.HasValue)//系统操作结束时间
{
etime = etime.Value.AddDays(1);//加一天
sql += " and ctime<@etime";
para.Add(new MySqlParameter() { ParameterName = "@etime", MySqlDbType = MySqlDbType.DateTime, Value = etime.Value });
}
if (!string.IsNullOrEmpty(kefid))//客服ID
{
sql += " and fromer=@fromer";
para.Add(new MySqlParameter() { ParameterName = "@fromer", MySqlDbType = MySqlDbType.String, Value = kefid });
}
if (!string.IsNullOrEmpty(userid))//客户ID
{
sql += " and tolist=@userid";
para.Add(new MySqlParameter() { ParameterName = "@userid", MySqlDbType = MySqlDbType.String, Value = userid });
}
if (status.HasValue)
{
sql += " and hgstatus=@hgstatus";
para.Add(new MySqlParameter() { ParameterName = "@hgstatus", MySqlDbType = MySqlDbType.String, Value = status.Value });
}
if (!string.IsNullOrEmpty(keyword))//关键词
{
sql += " and exists(select 1 from hg_message_word a where a.msgid=x.msgid and a.keyword in(" + keyword + "))";
}
if (!string.IsNullOrEmpty(pager.sort) && !string.IsNullOrEmpty(pager.order) && pager.sort != "null" && pager.order != "null")
{
sql += string.Format(" order by {0} {1}", pager.sort, pager.order);//排序
}
sql += " limit @pagestart,@endpage ; ";
para.Add(new MySqlParameter() { ParameterName = "@pagestart", MySqlDbType = MySqlDbType.Int32, Value = ((pager.page - 1) * pager.rows) });
para.Add(new MySqlParameter() { ParameterName = "@endpage", MySqlDbType = MySqlDbType.Int32, Value = pager.rows });
sql += " SELECT FOUND_ROWS() rowcount;";//查询总行数
DataSet tab = helper.ExecuteDataTable(sql, para.ToArray());
pager.totalRows = Convert.ToInt32(tab.Tables[1].Rows[0]["rowcount"]);
//序列化为字符串
string t = JsonConvert.SerializeObject(tab.Tables[0]);
//反序列化为对象
list = JsonConvert.DeserializeObject<List<Hg_MessageModel>>(t);//将数据进行转换
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
}
return list;
}
/// <summary>
/// 将合规信息修改成已读
/// </summary>
/// <param name="msgid"></param>
/// <returns></returns>
public bool Read(string msgid)
{
bool isok = false;
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
string sql = "update hg_message set hgstatus=200,hgtime=now() where msgid=@msgid";
int x = helper.ExecuteNonQuery(sql, new MySqlParameter() { ParameterName = "@msgid", Value = msgid, DbType = DbType.String });
isok = x > 0;//执行是否成功
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
}
return isok;
}
/// <summary>
/// 已经违规
/// </summary>
/// <param name="msgid"></param>
/// <returns></returns>
public bool Violations(string msgid)
{
bool isok = false;
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
string sql = "update hg_message set hgstatus=500,hgtime=now() where msgid=@msgid";
int x = helper.ExecuteNonQuery(sql, new MySqlParameter() { ParameterName = "@msgid", Value = msgid, DbType = DbType.String });
isok = x > 0;//执行是否成功
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
}
return isok;
}
/// <summary>
/// 获取单条数据
/// </summary>
/// <param name="msgid"></param>
/// <returns></returns>
public Hg_MessageModel GetMsgById(string msgid)
{
Hg_MessageModel model = null;
try
{
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
string sql = "select id,seq,msgid,msgtype,action,fromer,tolist,roomid,ext,content,nfile,msgtime,ctime,hgstatus,hgtime,issend,kehuname,cusname,corpid from hg_message where msgid=@msgid";
DataSet tab = helper.ExecuteDataTable(sql, new MySqlParameter() { ParameterName = "@msgid", MySqlDbType = MySqlDbType.String, Value = msgid });
if (tab.Tables[0].Rows.Count == 0)
return model;
string t = JsonConvert.SerializeObject(tab.Tables[0]);
model = JsonConvert.DeserializeObject<List<Hg_MessageModel>>(t).FirstOrDefault();//将数据进行转换
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
}
return model;
}
public List<Hg_Message_WordModel> GetMsgWordList(params string[] msgids)
{
List<Hg_Message_WordModel> list = new List<Hg_Message_WordModel>();
try
{
if (msgids == null || msgids.Length == 0)
return list;
MySqlDbHelper helper = new MySqlDbHelper("MysqlQWConn");
string msgid = string.Format("'{0}'", string.Join("','", msgids));
string sql = "select msgid,keyword from hg_message_word where msgid in(" + msgid + ")";
DataSet tab = helper.ExecuteDataTable(sql);
string t = JsonConvert.SerializeObject(tab.Tables[0]);
list = JsonConvert.DeserializeObject<List<Hg_Message_WordModel>>(t);//将数据进行转换
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
}
return list;
}
public Ww_Extuser GetExtUserByUnionId(string unionid)
{
var list = new List<Ww_Extuser>();
try
{
var helper = new MySqlDbHelper("MysqlQWConn");
var parameters = new List<MySqlParameter>();
parameters.Add(new MySqlParameter() { ParameterName = "@unionid", MySqlDbType = MySqlDbType.String, Value = unionid });
//DataTable table = helper.ExecuteDataTable("select * from ww_extuser where exinfo like '%" + unionid + "%'", parameters.ToArray()).Tables[0];
DataTable table = helper.ExecuteDataTable("select * from ww_extuser where unionid = @unionid", parameters.ToArray()).Tables[0];
foreach (DataRow item in table.Rows)
{
var model = new Ww_Extuser
{
userid = item["userid"].ToString(),
corpid = item["corpid"].ToString(),
name = item["name"].ToString(),
avatar = item["avatar"].ToString()
};
list.Add(model);
}
}
catch (Exception e)
{
throw;
}
return list.FirstOrDefault();
}
public List<Ww_User_Extuser> GetUserExtUserByUserId(string userid)
{
var list = new List<Ww_User_Extuser>();
try
{
var helper = new MySqlDbHelper("MysqlQWConn");
var parameters = new List<MySqlParameter>();
parameters.Add(new MySqlParameter() { ParameterName = "@userid", MySqlDbType = MySqlDbType.String, Value = userid });
DataTable table = helper.ExecuteDataTable("select * from ww_user_extuser where extuserid = @userid", parameters.ToArray()).Tables[0];
foreach (DataRow item in table.Rows)
{
var model = new Ww_User_Extuser
{
userid = item["userid"].ToString(),
corpid = item["corpid"].ToString(),
extuserid = item["extuserid"].ToString()
};
list.Add(model);
}
}
catch (Exception e)
{
throw;
}
return list;
}
}
}