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
|
{
|
/// <summary>
|
/// 用户
|
/// </summary>
|
public partial class Users : IUser
|
{
|
/// <summary>
|
/// 获取用户信息
|
/// </summary>
|
/// <param name="pageList"></param>
|
/// <returns></returns>
|
/// <exception cref="NotImplementedException"></exception>
|
public async Task<PageAble<User>> GetUserInfo(PageAble<User> pageList)
|
{
|
RefAsync<int> total = 0;
|
pageList.data = await Biz.Db.Queryable<User>().WhereIF(!string.IsNullOrEmpty(pageList.sqlcmd), x => x.UserCode.Contains(pageList.sqlcmd)).ToPageListAsync(pageList.pageIndex, pageList.pageSize, total);
|
pageList.totals = total;
|
return pageList;
|
}
|
|
/// <summary>
|
/// 用户登录
|
/// </summary>
|
/// <param name="userInfo"></param>
|
/// <returns></returns>
|
public async Task<ApiAction<User>> Login(User userInfo)
|
{
|
var res = new ApiAction<User>();
|
try
|
{
|
string usercode = userInfo.UserCode;
|
if (userInfo.UserCode == "品质用户")
|
{
|
var user = await Biz.Db.Queryable<User>().Where(x => x.RoleCode == "品质").FirstAsync();
|
if (user != null) { usercode = user.UserCode; }
|
}
|
if (!Biz.Db.Queryable<User>().Where(x => x.UserCode == usercode && x.Password == userInfo.Password).Any())
|
{
|
//result = new(Result.Flags.Failed, "用户没有权限或者用户名和密码错误!");
|
userInfo = new();
|
}
|
else
|
{
|
userInfo = await Biz.Db.Queryable<User>().Where(x => x.UserCode == usercode && x.Password == userInfo.Password).FirstAsync();
|
}
|
res.Data = userInfo;
|
}
|
catch (Exception ex)
|
{
|
res.CatchExceptionWithLog(ex, "登录异常");
|
}
|
return res;
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="dt"></param>
|
/// <returns></returns>
|
public async Task<Result> SaveImportUserInfo(DataTable dt)
|
{
|
|
Result result = new Result(Result.Flags.Success, $"导入成功");
|
List<User> 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<User>().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;
|
}
|
|
/// <summary>
|
/// 保存用户
|
/// </summary>
|
/// <param name="user"></param>
|
/// <returns></returns>
|
public async Task<ApiAction> 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;
|
}
|
}
|
}
|