服务端的TigerApi 框架,基于.NET6 2024 版本
YangYuGang
2 天以前 83d775ba1de1913e51fb216bc24d91305811f9bf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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;
        }
    }
}