using Rhea.Common;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tiger.IBusiness;
using Tiger.Model;
namespace Tiger.Business.MengQi
{
///
/// 用户
///
public partial class Users : IUser
{
///
/// 获取用户信息
///
///
///
///
public async Task> GetUserInfo(PageAble pageList)
{
RefAsync total = 0;
pageList.data = await Biz.Db.Queryable().WhereIF(!string.IsNullOrEmpty(pageList.sqlcmd), x => x.UserCode.Contains(pageList.sqlcmd)).ToPageListAsync(pageList.pageIndex, pageList.pageSize, total);
pageList.totals = total;
return pageList;
}
///
/// 用户登录
///
///
///
public async Task> Login(User userInfo)
{
var res = new ApiAction();
try
{
string usercode = userInfo.UserCode;
if (userInfo.UserCode == "品质用户")
{
var user = await Biz.Db.Queryable().Where(x => x.RoleCode == "品质").FirstAsync();
if (user != null) { usercode = user.UserCode; }
}
if (!Biz.Db.Queryable().Where(x => x.UserCode == usercode && x.Password == userInfo.Password).Any())
{
//result = new(Result.Flags.Failed, "用户没有权限或者用户名和密码错误!");
userInfo = new();
}
else
{
userInfo = await Biz.Db.Queryable().Where(x => x.UserCode == usercode && x.Password == userInfo.Password).FirstAsync();
}
res.Data = userInfo;
}
catch (Exception ex)
{
res.CatchExceptionWithLog(ex, "登录异常");
}
return res;
}
///
///
///
///
///
public async Task SaveImportUserInfo(DataTable dt)
{
Result result = new Result(Result.Flags.Success, $"导入成功");
List list = new();
for (int i = 0; i < dt.Rows.Count; i++)
{
User item = new()
{
id = Guid.NewGuid().ToString("N"),
UserCode = dt.Rows[i]["用户ID"].ToString(),
UserName = dt.Rows[i]["用户名称"].ToString(),
RoleCode = dt.Rows[i]["用户角色"].ToString(),
};
var info = Biz.Db.Queryable().Where(x => x.UserCode == dt.Rows[i]["用户ID"].ToString()).First();
if (info != null)
{
item.id = info.id;
}
list.Add(item);
}
//更新机型记录
var db = Biz.Db;
var dbTran = await db.UseTranAsync(async () =>
{
await db.Saveable(list).ExecuteCommandAsync();
});
if (!dbTran.IsSuccess)
{
result.Flag = Result.Flags.Failed;
result.Message = $"导入异常";
}
return result;
}
///
/// 保存用户
///
///
///
public async Task SaveUser(User user)
{
var result = new ApiAction();
try
{
var db = Biz.Db;
var dbTran = db.UseTran(() =>
{
var y = db.Storageable(user)
.WhereColumns(t => new { t.UserCode })
.ToStorage();
y.AsInsertable.ExecuteCommand();
y.AsUpdateable.ExecuteCommand();
});
if (!dbTran.IsSuccess)
{
result.IsSuccessed = false;
result.Message = $"导入异常";
}
}
catch (Exception ex)
{
result.CatchExceptionWithLog(ex, "保存用户异常");
}
return result;
}
}
}