Beispiel #1
0
        /// <summary>
        /// 更新用户信息
        /// </summary>
        /// <param name="id">用户ID</param>
        /// <param name="user">用户数据对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult UpdateUserInfo(string id, SYS_User user)
        {
            const string action = "3BC17B61-327D-4EAA-A0D7-7F825A6C71DB";
            var          verify = new SessionVerify();

            if (!verify.CompareAsID(action, id))
            {
                return(verify.Result);
            }

            var reset = Update(user);

            if (!reset.HasValue)
            {
                return(verify.Result.NotFound());
            }

            if (!reset.Value)
            {
                return(verify.Result.DataBaseError());
            }

            SessionManage.UpdateSession(user);
            return(verify.Result);
        }
Beispiel #2
0
        /// <summary>
        /// 会话合法性验证
        /// </summary>
        /// <returns>JsonResult</returns>
        public JsonResult Verification()
        {
            var verify = new SessionVerify();

            verify.Compare();
            return(verify.Result);
        }
Beispiel #3
0
        /// <summary>
        /// 为指定的登录账号设置用户状态
        /// </summary>
        /// <param name="account">登录账号</param>
        /// <param name="validity">可用状态</param>
        /// <returns>JsonResult</returns>
        public JsonResult SetUserStatus(string account, bool validity)
        {
            var action = validity ? "369548E9-C8DB-439B-A604-4FDC07F3CCDD" : "0FA34D43-2C52-4968-BDDA-C9191D7FCE80";
            var verify = new SessionVerify();

            if (!verify.Compare(action, account))
            {
                return(verify.Result);
            }

            var reset = Update(verify.Guid, validity);

            if (!reset.HasValue)
            {
                return(verify.Result.NotFound());
            }

            if (!reset.Value)
            {
                return(verify.Result.DataBaseError());
            }

            SessionManage.SetValidity(account, validity);
            return(verify.Result);
        }
Beispiel #4
0
        /// <summary>
        /// 根据对象实体数据新增一个用户
        /// </summary>
        /// <param name="account">登录账号</param>
        /// <param name="user">用户对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddUser(string account, SYS_User user)
        {
            const string action = "60D5BE64-0102-4189-A999-96EDAD3DA1B5";
            var          verify = new SessionVerify();

            // 用户注册,验证用户签名
            if (verify.Basis == null)
            {
                var session = verify.Session;
                var sign    = Hash(session.LoginName + user.LoginName + user.Password);
                if (sign != session.Signature)
                {
                    return(verify.Result.InvalidAuth());
                }

                if (!InsertData(user))
                {
                    return(verify.Result.DataBaseError());
                }

                // 返回用于验证的Key
                session.Signature = Hash(account.ToUpper() + user.Password);
                session           = SessionManage.GetSession(session);
                return(verify.Result.Created(CreateKey(session)));
            }

            // 管理员添加用户,验证管理员身份及鉴权
            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(InsertData(user) ? verify.Result.Created() : verify.Result.DataBaseError());
        }
Beispiel #5
0
        /// <summary>
        /// 根据传入参数获取编码方案预览
        /// </summary>
        /// <param name="name">编码方案名称</param>
        /// <param name="id">业务记录ID</param>
        /// <param name="mark">标识符</param>
        /// <returns>JsonResult</returns>
        public JsonResult GetCode(string name, string id, string mark)
        {
            var verify = new SessionVerify();

            if (!verify.Compare())
            {
                return(verify.Result);
            }

            Guid oid;

            if (!Guid.TryParse(id, out oid))
            {
                return(verify.Result.InvalidGuid());
            }

            var session = verify.Session;

            using (var context = new BaseEntities())
            {
                var scheme = context.SYS_Code_Scheme.SingleOrDefault(s => s.Name == name);
                if (scheme == null)
                {
                    General.LogToLogServer("001101", $"不存在名称为:【{name}】的编码方案", "编码规则", "生成编码");
                    return(verify.Result.ServiceUnavailable());
                }

                var code = GetCode(scheme.ID, null, session.UserId, oid, null, mark);
                return(code == null?verify.Result.DataBaseError() : verify.Result.Success(code.ToString()));
            }
        }
Beispiel #6
0
        /// <summary>
        /// 带鉴权的会话合法性验证
        /// </summary>
        /// <param name="action">需要鉴权的操作ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult Authorization(string action)
        {
            var verify = new SessionVerify();

            verify.Compare(action);
            return(verify.Result);
        }
Beispiel #7
0
        /// <summary>
        /// 会话合法性验证并校验支付密码
        /// </summary>
        /// <returns>JsonResult</returns>
        public JsonResult Confirmation(string paykey)
        {
            var verify = new SessionVerify();

            verify.Confirm(paykey);
            return(verify.Result);
        }
Beispiel #8
0
        /// <summary>
        /// 根据ID删除用户组
        /// </summary>
        /// <param name="id">用户组ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult RemoveGroup(string id)
        {
            const string action = "E46B7A1C-A8B0-49B5-8494-BF1B09F43452";
            var          verify = new SessionVerify();

            if (!verify.ParseIdAndCompare(id, action))
            {
                return(verify.Result);
            }

            return(DeleteGroup(verify.Guid) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #9
0
        /// <summary>
        /// 根据ID删除组织机构节点
        /// </summary>
        /// <param name="id">节点ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult RemoveOrg(string id)
        {
            const string action = "71803766-97FE-4E6E-82DB-D5C90D2B7004";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(DeleteOrg(verify.Guid) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #10
0
        /// <summary>
        /// 根据对象实体数据更新组织机构信息
        /// </summary>
        /// <param name="id"></param>
        /// <param name="obj">组织节点对象</param>
        /// <param name="index">原序号</param>
        /// <returns>JsonResult</returns>
        public JsonResult UpdateOrg(string id, SYS_Organization obj, int index)
        {
            const string action = "542D5E28-8102-40C6-9C01-190D13DBF6C6";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(Update(obj) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #11
0
        /// <summary>
        /// 根据ID集合删除职位成员关系
        /// </summary>
        /// <param name="ids">职位成员关系ID集合</param>
        /// <returns>JsonResult</returns>
        public JsonResult RemoveOrgMember(List <Guid> ids)
        {
            const string action = "70AC8EEB-F920-468D-8C8F-2DBA049ADAE9";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(DeleteOrgMember(ids) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #12
0
        /// <summary>
        /// 根据对象实体数据更新用户组信息
        /// </summary>
        /// <param name="group">用户组对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult UpdateGroup(SYS_UserGroup group)
        {
            const string action = "6910FD14-5654-4CF0-B159-8FE1DF68619F";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(Update(group) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #13
0
        /// <summary>
        /// 根据参数组集合批量插入职位成员关系
        /// </summary>
        /// <param name="id">节点ID</param>
        /// <param name="uids">用户ID集合</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddOrgMember(string id, List <Guid> uids)
        {
            const string action = "1F29DDEA-A4D7-4EF9-8136-0D4AFE88CB08";
            var          verify = new SessionVerify();

            if (!verify.ParseIdAndCompare(id, action))
            {
                return(verify.Result);
            }

            return(InsertData(verify.Basis.UserId, verify.Guid, uids) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #14
0
        /// <summary>
        /// 根据对象实体数据更新组织机构表ParentId字段
        /// </summary>
        /// <param name="id"></param>
        /// <param name="org">组织节点对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult SetOrgParent(string id, SYS_Organization org)
        {
            const string action = "DB1A4EA2-1B3E-41AD-91FA-A3945AB7D901";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(Update(org) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #15
0
        /// <summary>
        /// 根据ID集合删除用户组成员关系
        /// </summary>
        /// <param name="ids">户组成员关系ID集合</param>
        /// <returns>JsonResult</returns>
        public JsonResult RemoveMember(List <Guid> ids)
        {
            const string action = "686C115A-CE2E-4E84-8F25-B63C15AC173C";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(DeleteMember(ids) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #16
0
        /// <summary>
        /// 根据ID删除用户
        /// </summary>
        /// <param name="id">用户ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult RemoveUser(string id)
        {
            const string action = "BE2DE9AB-C109-418D-8626-236DEF8E8504";
            var          verify = new SessionVerify();

            if (!verify.CompareAsID(action, id))
            {
                return(verify.Result);
            }

            return(DeleteUser(verify.Basis.UserId) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #17
0
        /// <summary>
        /// 根据对象实体数据新增一条组织机构节点合并记录
        /// </summary>
        /// <param name="org">组织节点合并对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddOrgMerger(SYS_OrgMerger org)
        {
            const string action = "DAE7F2C5-E379-4F74-8043-EB616D4A5F8B";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(InsertData(verify.Basis.UserId, org) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #18
0
        /// <summary>
        /// 根据参数组集合批量插入用户组成员关系
        /// </summary>
        /// <param name="id">用户组ID</param>
        /// <param name="uids">用户ID集合</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddGroupMember(string id, List <Guid> uids)
        {
            const string action = "6C41724C-E118-4BCD-82AD-6B13D05C7894";
            var          verify = new SessionVerify();

            if (!verify.ParseIdAndCompare(id, action))
            {
                return(verify.Result);
            }

            return(AddGroupMember(verify.Basis.UserId, verify.Guid, uids) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #19
0
        /// <summary>
        /// 获取组织机构树
        /// </summary>
        /// <returns>JsonResult</returns>
        public JsonResult GetOrgTree()
        {
            const string action = "928C7527-A2F7-49A3-A548-12B3834D8822";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var data = GetOrgList();

            return(data.Rows.Count > 0 ? verify.Result.Success(Serialize(data)) : verify.Result.NoContent());
        }
Beispiel #20
0
        /// <summary>
        /// 根据ID获取用户对象实体
        /// </summary>
        /// <param name="id">用户ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult GetUser(string id)
        {
            const string action = "3BC17B61-327D-4EAA-A0D7-7F825A6C71DB";
            var          verify = new SessionVerify();

            if (!verify.CompareAsID(action, id))
            {
                return(verify.Result);
            }

            var user = GetUser(verify.Guid);

            return(user == null?verify.Result.NotFound() : verify.Result.Success(user));
        }
Beispiel #21
0
        /// <summary>
        /// 根据ID获取组成员之外的全部用户
        /// </summary>
        /// <param name="id">用户组ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult GetOtherUser(string id)
        {
            const string action = "B5992AA3-4AD3-4795-A641-2ED37AC6425C";
            var          verify = new SessionVerify();

            if (!verify.ParseIdAndCompare(id, action))
            {
                return(verify.Result);
            }

            var data = GetOtherUser(verify.Guid);

            return(data.Rows.Count > 0 ? verify.Result.Success(data) : verify.Result.NoContent());
        }
Beispiel #22
0
        /// <summary>
        /// 获取全部用户组的所有成员信息
        /// </summary>
        /// <returns>JsonResult</returns>
        public JsonResult GetGroupMembers()
        {
            const string action = "B5992AA3-4AD3-4795-A641-2ED37AC6425C";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var data = GetMemberList();

            return(data.Rows.Count > 0 ? verify.Result.Success(data) : verify.Result.NoContent());
        }
Beispiel #23
0
        /// <summary>
        /// 根据对象实体数据新增一个用户组
        /// </summary>
        /// <param name="group">用户组对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddGroup(SYS_UserGroup group)
        {
            const string action = "6E80210E-6F80-4FF7-8520-B602934D635C";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var id = InsertData(verify.Basis.UserId, group);

            return(id == null?verify.Result.DataBaseError() : verify.Result.Created());
        }
Beispiel #24
0
        /// <summary>
        /// 根据对象实体数据新增一个组织机构节点
        /// </summary>
        /// <param name="org">组织节点对象</param>
        /// <param name="index">原序号</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddOrg(SYS_Organization org, int index)
        {
            const string action = "88AC97EF-52A3-4F7F-8121-4C311206535F";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var result = verify.Result;

            return(InsertData(verify.Basis.UserId, org, index) ? result.Created() : result.DataBaseError());
        }
Beispiel #25
0
        /// <summary>
        /// 获取职位成员之外的所有用户
        /// </summary>
        /// <param name="id">节点ID</param>
        public JsonResult GetOtherOrgMember(string id)
        {
            const string action = "928C7527-A2F7-49A3-A548-12B3834D8822";
            var          verify = new SessionVerify();

            if (!verify.ParseIdAndCompare(id, action))
            {
                return(verify.Result);
            }

            var data = GetOtherOrgMember(verify.Guid);

            return(data.Rows.Count > 0 ? verify.Result.Success(Serialize(data)) : verify.Result.NoContent());
        }
Beispiel #26
0
        /// <summary>
        /// 根据ID获取用户组对象实体
        /// </summary>
        /// <param name="id">用户组ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult GetGroup(string id)
        {
            const string action = "6910FD14-5654-4CF0-B159-8FE1DF68619F";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var data = GetGroup(verify.Guid);

            return(data == null?verify.Result.NoContent() : verify.Result.Success(data));
        }
Beispiel #27
0
        /// <summary>
        /// 根据ID获取机构对象实体
        /// </summary>
        /// <param name="id">节点ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult GetOrg(string id)
        {
            const string action = "928C7527-A2F7-49A3-A548-12B3834D8822";
            var          verify = new SessionVerify();

            if (!verify.ParseIdAndCompare(id, action))
            {
                return(verify.Result);
            }

            var org = GetOrg(verify.Guid);

            return(org == null?verify.Result.NotFound() : verify.Result.Success(Serialize(org)));
        }
Beispiel #28
0
        /// <summary>
        /// 获取当前在线状态的全部内部用户的Session
        /// </summary>
        /// <param name="type">用户类型</param>
        /// <returns>JsonResult</returns>
        public JsonResult GetSessions(string type)
        {
            const string action = "331BF752-CDB7-44DE-9631-DF2605BB527E";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var list = SessionManage.GetSessions(Convert.ToInt32(type));

            return(list.Count > 0 ? verify.Result.Success(list) : verify.Result.NoContent());
        }
Beispiel #29
0
        /// <summary>
        /// 设置指定用户的登录状态为离线
        /// </summary>
        /// <param name="account">用户账号</param>
        /// <returns>JsonResult</returns>
        public JsonResult UserSignOut(string account)
        {
            var action = "331BF752-CDB7-44DE-9631-DF2605BB527E";
            var verify = new SessionVerify();

            if (verify.Basis.LoginName == account)
            {
                action = null;
            }

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            SessionManage.Offline(account);
            return(verify.Result);
        }
Beispiel #30
0
        /// <summary>
        /// 用户重置登录密码
        /// </summary>
        /// <param name="account">登录账号</param>
        /// <param name="password">新密码</param>
        /// <param name="code">短信验证码</param>
        /// <returns>JsonResult</returns>
        public JsonResult ResetSignature(string account, string password, string code)
        {
            var verify  = new SessionVerify();
            var session = verify.Basis;

            if (session == null)
            {
                return(verify.Result.NotFound());
            }

            var sign = Hash(session.LoginName.ToUpper() + code + password);

            if (verify.Session.Signature != sign)
            {
                return(verify.Result.InvalidAuth());
            }

            // 验证短信验证码
            var mobile = session.LoginName;

            SmsCodes.RemoveAll(c => c.FailureTime < DateTime.Now);
            var record = SmsCodes.FirstOrDefault(c => c.Mobile == mobile && c.Code == code && c.Type == 2);

            if (record == null)
            {
                return(verify.Result.SMSCodeError());
            }

            SmsCodes.RemoveAll(c => c.Mobile == mobile && c.Type == 2);

            // 更新用户登录密码
            var reset = Update(account, password);

            if (reset == null || !reset.Value)
            {
                return(verify.Result.DataBaseError());
            }

            session.Signature = Hash(account.ToUpper() + password);
            return(verify.Result.Success(CreateKey(session)));
        }