Ejemplo n.º 1
0
        /// <summary>
        /// 修改T_Users数据
        /// </summary>
        /// <param name="requestObject">返回响应结果对象,包括响应代码,修改操作结果</param>
        /// <returns></returns>
        public async Task <ResponseObject <TUsersModel, bool> > PutAsync(RequestObject <TUsersModel> requestObject)
        {
            try
            {
                //执行结果
                var result = false;
                //没有修改信息,返回错误信息
                if (requestObject.PostDataList == null && requestObject.PostData == null)
                {
                    return(ResponseUtil <TUsersModel, bool> .FailResult(requestObject, false, "PostData,PostDataList不能都为null"));
                }
                //批量更新优先级高于单记录更新
                if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
                {
                    requestObject.PostDataList.ForEach(x =>
                    {
                        x.Salt     = RandCodeCreate.GenerateRandomNumber(32);
                        x.LoginPwd = EncryptUtil.EnAESBykey(x.LoginPwd, Encoding.UTF8, x.Salt);
                    });

                    //批量更新
                    result = await _db.Instance.Updateable(requestObject.PostDataList).ExecuteCommandAsync() > 0;
                }
                else
                {
                    requestObject.PostData.Salt     = RandCodeCreate.GenerateRandomNumber(32);
                    requestObject.PostData.LoginPwd = EncryptUtil.EnAESBykey(requestObject.PostData.LoginPwd, Encoding.UTF8, requestObject.PostData.Salt);

                    //单记录更新
                    result = await _db.Instance.Updateable(requestObject.PostData).ExecuteCommandAsync() > 0;
                }

                //返回执行结果
                if (result)
                {
                    return(ResponseUtil <TUsersModel, bool> .SuccessResult(requestObject, true));
                }
                return(ResponseUtil <TUsersModel, bool> .FailResult(requestObject, false, "修改数据失败!"));
            }
            catch (Exception ex)
            {
                //返回异常结果
                return(ResponseUtil <TUsersModel, bool> .FailResult(requestObject, false, ex.Message));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 个人设置修改密码
        /// </summary>
        /// <param name="requestObject"></param>
        /// <param name="UserID"></param>
        /// <returns></returns>
        public async Task <ResponseObject <TSMUserAccountPassWord, bool> > ModifyPassWordAsync(RequestObject <TSMUserAccountPassWord> requestObject, int UserID)
        {
            try
            {
                if (requestObject.PostData == null)
                {
                    return(ResponseUtil <TSMUserAccountPassWord, bool> .FailResult(requestObject, false, "PostData不能为null"));
                }

                var entity = requestObject.PostData;

                var enditModel = await _db.Instance.Queryable <TSMUserAccountDbModel>().Where(p => p.ID == UserID).FirstAsync();



                string Passwd = EncryptUtil.DeAESbyKey(enditModel.Passwd, enditModel.Salt);

                if (!string.Equals(Passwd, entity.OldPasswd))
                {
                    return(ResponseUtil <TSMUserAccountPassWord, bool> .FailResult(requestObject, false, "原密码不正确"));
                }
                else
                {
                    enditModel.Salt   = RandCodeCreate.GenerateRandomNumber(32);
                    enditModel.Passwd = EncryptUtil.EnAESBykey(entity.Passwd, enditModel.Salt);
                }

                _db.Instance.Updateable <TSMUserAccountDbModel>(enditModel).UpdateColumns(p => new { p.Salt, p.Passwd }).ExecuteCommand();

                return(ResponseUtil <TSMUserAccountPassWord, bool> .SuccessResult(requestObject, true));
            }
            catch (Exception ex)
            {
                //返回查询异常结果
                return(ResponseUtil <TSMUserAccountPassWord, bool> .FailResult(requestObject, false, ex.Message));
            }
        }
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="requestObject">返回响应结果对象,包括响应代码,修改操作结果</param>
        /// <returns></returns>
        public async Task <ResponseObject <TSMUserResetPassWordModel, bool> > ResetPassWd(RequestObject <TSMUserResetPassWordModel> requestObject)
        {
            try
            {
                //执行结果
                var result = false;
                //没有修改信息,返回错误信息
                if (requestObject.PostDataList == null && requestObject.PostData == null)
                {
                    return(ResponseUtil <TSMUserResetPassWordModel, bool> .FailResult(requestObject, false, "PostData不能都为null"));
                }
                //批量更新优先级高于单记录更新
                if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
                {
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(requestObject.PostData.EmailAccount) && string.IsNullOrWhiteSpace(requestObject.PostData.TelAccount))
                    {
                        return(ResponseUtil <TSMUserResetPassWordModel, bool> .FailResult(requestObject, false, "邮箱和手机号必须填写一个"));
                    }

                    TSMUserAccountDbModel tempDB = null;
                    if (!string.IsNullOrWhiteSpace(requestObject.PostData.TelAccount))
                    {
                        tempDB = _db.Instance.Queryable <TSMUserAccountDbModel>().Where(p => p.TelAccount == requestObject.PostData.TelAccount).First();
                    }
                    else
                    {
                        if (!string.IsNullOrWhiteSpace(requestObject.PostData.EmailAccount))
                        {
                            tempDB = _db.Instance.Queryable <TSMUserAccountDbModel>().Where(p => p.EmailAccount == requestObject.PostData.EmailAccount).First();
                        }
                    }

                    if (tempDB != null)
                    {
                        tempDB.Salt   = RandCodeCreate.GenerateRandomNumber(32);
                        tempDB.Passwd = EncryptUtil.EnAESBykey(requestObject.PostData.Passwd, tempDB.Salt);

                        if (string.IsNullOrWhiteSpace(tempDB.EmailAccount))
                        {
                            tempDB.EmailAccount = null;
                        }

                        if (string.IsNullOrWhiteSpace(tempDB.TelAccount))
                        {
                            tempDB.TelAccount = null;
                        }



                        result = await _db.Instance.Updateable(tempDB).ExecuteCommandAsync() > 0;
                    }
                    else
                    {
                        return(ResponseUtil <TSMUserResetPassWordModel, bool> .FailResult(requestObject, false, "用户不存在,不能修改"));
                    }
                }

                //返回执行结果
                if (result)
                {
                    return(ResponseUtil <TSMUserResetPassWordModel, bool> .SuccessResult(requestObject, true));
                }
                return(ResponseUtil <TSMUserResetPassWordModel, bool> .FailResult(requestObject, false, "修改数据失败!"));
            }
            catch (Exception ex)
            {
                //返回异常结果
                return(ResponseUtil <TSMUserResetPassWordModel, bool> .FailResult(requestObject, false, ex.Message));
            }
        }
        /// <summary>
        /// 修改T_SM_UserAccount数据
        /// </summary>
        /// <param name="requestObject">返回响应结果对象,包括响应代码,修改操作结果</param>
        /// <returns></returns>
        public async Task <ResponseObject <TSMUserAccountEditModel, bool> > PutAsync(RequestObject <TSMUserAccountEditModel> requestObject)
        {
            try
            {
                //执行结果
                var result = false;
                //没有修改信息,返回错误信息
                if (requestObject.PostDataList == null && requestObject.PostData == null)
                {
                    return(ResponseUtil <TSMUserAccountEditModel, bool> .FailResult(requestObject, false, "PostData,PostDataList不能都为null"));
                }
                //批量更新优先级高于单记录更新
                if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
                {
                    if (requestObject.PostDataList.Any(p => string.IsNullOrWhiteSpace(p.TelAccount) && string.IsNullOrWhiteSpace(p.EmailAccount)))
                    {
                        return(ResponseUtil <TSMUserAccountEditModel, bool> .FailResult(requestObject, false, "邮箱和手机号必须填写一个"));
                    }

                    //批量更新
                    var editList = _mapper.Map <List <TSMUserAccountEditModel>, List <TSMUserAccountDbModel> >(requestObject.PostDataList);
                    List <TSMUserAccountDbModel> editDBLiat = new List <TSMUserAccountDbModel>();

                    editList.ForEach(x => {
                        TSMUserAccountDbModel tempDB = null;

                        if (!string.IsNullOrWhiteSpace(x.TelAccount))
                        {
                            tempDB = _db.Instance.Queryable <TSMUserAccountDbModel>().Where(p => p.TelAccount == x.TelAccount).First();
                        }
                        else
                        {
                            if (!string.IsNullOrWhiteSpace(x.EmailAccount))
                            {
                                tempDB = _db.Instance.Queryable <TSMUserAccountDbModel>().Where(p => p.EmailAccount == x.EmailAccount).First();
                            }
                        }

                        if (tempDB != null)
                        {
                            tempDB.Salt   = RandCodeCreate.GenerateRandomNumber(32);
                            tempDB.Passwd = EncryptUtil.EnAESBykey(x.Passwd, tempDB.Salt);

                            if (string.IsNullOrWhiteSpace(tempDB.EmailAccount))
                            {
                                tempDB.EmailAccount = null;
                            }

                            if (string.IsNullOrWhiteSpace(tempDB.TelAccount))
                            {
                                tempDB.TelAccount = null;
                            }

                            editDBLiat.Add(tempDB);
                        }
                    });

                    if (editDBLiat.Count() > 0)
                    {
                        result = await _db.Instance.Updateable(editDBLiat).UpdateColumns(p => new { p.Salt, p.Passwd }).ExecuteCommandAsync() > 0;
                    }
                    else
                    {
                        return(ResponseUtil <TSMUserAccountEditModel, bool> .FailResult(requestObject, false, "用户不存在,不能修改"));
                    }
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(requestObject.PostData.EmailAccount) && string.IsNullOrWhiteSpace(requestObject.PostData.TelAccount))
                    {
                        return(ResponseUtil <TSMUserAccountEditModel, bool> .FailResult(requestObject, false, "邮箱和手机号必须填写一个"));
                    }

                    //单记录更新
                    var editModel = _mapper.Map <TSMUserAccountDbModel>(requestObject.PostData);

                    TSMUserAccountDbModel tempDB = null;
                    if (!string.IsNullOrWhiteSpace(editModel.TelAccount))
                    {
                        tempDB = _db.Instance.Queryable <TSMUserAccountDbModel>().Where(p => p.TelAccount == editModel.TelAccount).First();
                    }
                    else
                    {
                        if (!string.IsNullOrWhiteSpace(editModel.EmailAccount))
                        {
                            tempDB = _db.Instance.Queryable <TSMUserAccountDbModel>().Where(p => p.EmailAccount == editModel.EmailAccount).First();
                        }
                    }

                    if (tempDB != null)
                    {
                        tempDB.Salt   = RandCodeCreate.GenerateRandomNumber(32);
                        tempDB.Passwd = EncryptUtil.EnAESBykey(editModel.Passwd, tempDB.Salt);

                        if (string.IsNullOrWhiteSpace(tempDB.EmailAccount))
                        {
                            tempDB.EmailAccount = null;
                        }

                        if (string.IsNullOrWhiteSpace(tempDB.TelAccount))
                        {
                            tempDB.TelAccount = null;
                        }

                        result = await _db.Instance.Updateable(tempDB).UpdateColumns(p => new { p.Salt, p.Passwd }).ExecuteCommandAsync() > 0;
                    }
                    else
                    {
                        return(ResponseUtil <TSMUserAccountEditModel, bool> .FailResult(requestObject, false, "用户不存在,不能修改"));
                    }
                }

                //返回执行结果
                if (result)
                {
                    return(ResponseUtil <TSMUserAccountEditModel, bool> .SuccessResult(requestObject, true));
                }
                return(ResponseUtil <TSMUserAccountEditModel, bool> .FailResult(requestObject, false, "修改数据失败!"));
            }
            catch (Exception ex)
            {
                //返回异常结果
                return(ResponseUtil <TSMUserAccountEditModel, bool> .FailResult(requestObject, false, ex.Message));
            }
        }
        /// <summary>
        /// 新增T_SM_UserAccount数据
        /// </summary>
        /// <param name="requestObject">返回响应结果对象,包括响应代码,新增操作结果</param>
        /// <returns></returns>
        public async Task <ResponseObject <string> > PostAsync(RequestPost <TSMUserAccountAddModel> requestObject)
        {
            var currDb = _db.Instance;

            try
            {
                //如果没有新增数据,返回错误信息
                if (requestObject.PostData == null && requestObject.PostDataList == null)
                {
                    return(ResponseUtil <string> .FailResult(null, "PostData,PostDataList不能都为null"));
                }
                var    result = false;
                string token  = string.Empty;
                currDb.BeginTran();
                //批量新增的优先级高于单条数据新增,且只会执行一个新增操作
                if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
                {
                }
                else
                {
                    //注册账号信息
                    var addModel = _mapper.Map <TSMUserAccountDbModel>(requestObject.PostData);
                    addModel.Salt   = RandCodeCreate.GenerateRandomNumber(32);
                    addModel.Passwd = EncryptUtil.EnAESBykey(addModel.Passwd, addModel.Salt);
                    addModel.Status = 1;
                    if (string.IsNullOrWhiteSpace(addModel.EmailAccount))
                    {
                        addModel.EmailAccount = null;
                    }

                    if (string.IsNullOrWhiteSpace(addModel.TelAccount))
                    {
                        addModel.TelAccount = null;
                    }
                    //生成用户详情记录
                    TSMUserInfoDbModel tSMUserInfoDbModel = new TSMUserInfoDbModel();
                    int cid = await _db.Instance.Insertable(tSMUserInfoDbModel).ExecuteReturnIdentityAsync();

                    addModel.UserInfoId = cid;

                    int id = _db.Instance.Insertable(addModel).ExecuteReturnIdentity();

                    var palyloads = new Dictionary <string, object>
                    {
                        { "UserID", id },
                        { "ID", Guid.NewGuid().ToString() },
                        { "CompanyID", 0 },
                        { "UserName", addModel.AccountName }
                    };
                    token = TokenManager.CreateTokenByHandler(palyloads, 60 * 24);

                    currDb.CommitTran();
                }
                //返回执行结果
                return(ResponseUtil <string> .SuccessResult(token));
            }
            catch (Exception ex)
            {
                //返回异常结果
                currDb.RollbackTran();
                return(ResponseUtil <string> .FailResult(null, ex.Message));
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public async Task <ResponseObject <TSMUserAccountEditAllModel, bool> > PutAsync(RequestObject <TSMUserAccountEditAllModel> requestObject)
        {
            var currDb = _db.Instance;//事务需要使用同一个 SqlSugarClient对象实例

            try
            {
                //没有新增数据,返回错误信息
                if (requestObject.PostData == null)
                {
                    return(ResponseUtil <TSMUserAccountEditAllModel, bool> .FailResult(requestObject, false, "PostData不能为null"));
                }
                //开启事务
                currDb.BeginTran();

                TSMUserAccountDbModel dbMain = ExpressionGenericMapper <TSMUserAccountEditAllModel, TSMUserAccountDbModel> .Trans(requestObject.PostData);

                dbMain.Salt   = RandCodeCreate.GenerateRandomNumber(32);
                dbMain.Passwd = EncryptUtil.EnAESBykey(dbMain.Passwd, dbMain.Salt);

                if (string.IsNullOrWhiteSpace(dbMain.EmailAccount))
                {
                    dbMain.EmailAccount = null;
                }

                if (string.IsNullOrWhiteSpace(dbMain.TelAccount))
                {
                    dbMain.TelAccount = null;
                }


                TSMUserInfoDbModel dbDeatail = ExpressionGenericMapper <TSMUserAccountEditAllModel, TSMUserInfoDbModel> .Trans(requestObject.PostData);

                dbDeatail.ID = requestObject.PostData.CId;

                await currDb.Updateable(dbMain).IgnoreColumns(p => new { p.CreateTime, p.CompanyId, p.UserInfoId }).ExecuteCommandAsync();


                await currDb.Updateable(dbDeatail).ExecuteCommandAsync();


                currDb.Deleteable <TSMRoleUserRelationDbModel>().Where(p => p.UserId == dbMain.ID).ExecuteCommand();
                if (requestObject.PostData.RoleId != null && requestObject.PostData.RoleId > 0)
                {
                    TSMRoleUserRelationDbModel itemEntity = new TSMRoleUserRelationDbModel();
                    itemEntity.RoleId = requestObject.PostData.RoleId.Value;
                    itemEntity.UserId = dbMain.ID;

                    currDb.Insertable <TSMRoleUserRelationDbModel>(itemEntity).ExecuteCommand();
                }

                currDb.Deleteable <TSMDeptUserRelationDbModel>().Where(p => p.UserAccountId == dbMain.ID).ExecuteCommand();
                if (requestObject.PostData.DeptId != null && requestObject.PostData.DeptId > 0)
                {
                    TSMDeptUserRelationDbModel itemEntity = new TSMDeptUserRelationDbModel();
                    itemEntity.DeptId        = requestObject.PostData.DeptId.Value;
                    itemEntity.UserAccountId = dbMain.ID;

                    currDb.Insertable <TSMDeptUserRelationDbModel>(itemEntity).ExecuteCommand();
                }


                //提交事务
                currDb.CommitTran();
                //返回执行结果

                return(ResponseUtil <TSMUserAccountEditAllModel, bool> .SuccessResult(requestObject, true));
            }
            catch (Exception ex)
            {
                //回滚事务
                currDb.RollbackTran();
                //返回异常结果
                return(ResponseUtil <TSMUserAccountEditAllModel, bool> .FailResult(requestObject, false, ex.Message));
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="requestObject"></param>
        /// <param name="UserID">操作人ID</param>
        /// <returns></returns>
        public async Task <ResponseObject <TSMUserAccountAddAllModel, bool> > PostAsync(RequestObject <TSMUserAccountAddAllModel> requestObject, int UserID)
        {
            var currDb = _db.Instance;//事务需要使用同一个 SqlSugarClient对象实例

            try
            {
                //没有新增数据,返回错误信息
                if (requestObject.PostData == null)
                {
                    return(ResponseUtil <TSMUserAccountAddAllModel, bool> .FailResult(requestObject, false, "PostData不能为null"));
                }
                //开启事务
                currDb.BeginTran();

                var user = _db.Instance.Queryable <TSMUserAccountDbModel, TSMCompanyDbModel>(
                    (t, t1) => new object[]
                {
                    JoinType.Left, t.CompanyId == t1.ID,
                }).Where((t, t1) => t.ID == UserID).Select((t, t1) => new { CompanyId = t.CompanyId, Name = t1.CompanyName }).First();


                TSMUserAccountDbModel dbMain = ExpressionGenericMapper <TSMUserAccountAddAllModel, TSMUserAccountDbModel> .Trans(requestObject.PostData);

                //处理密码
                dbMain.Salt       = RandCodeCreate.GenerateRandomNumber(32);
                dbMain.Passwd     = EncryptUtil.EnAESBykey(dbMain.Passwd, dbMain.Salt);
                dbMain.CreateTime = DateTime.Now;
                dbMain.CompanyId  = user.CompanyId.Value;

                if (string.IsNullOrWhiteSpace(dbMain.EmailAccount))
                {
                    dbMain.EmailAccount = null;
                }

                if (string.IsNullOrWhiteSpace(dbMain.TelAccount))
                {
                    dbMain.TelAccount = null;
                }

                TSMUserInfoDbModel dbDeatail = ExpressionGenericMapper <TSMUserAccountAddAllModel, TSMUserInfoDbModel> .Trans(requestObject.PostData);

                //插入主表数据
                var cId = await currDb.Insertable(dbDeatail).ExecuteReturnIdentityAsync();

                dbMain.UserInfoId = cId;
                //插入从表数据
                var mId = await currDb.Insertable(dbMain).ExecuteReturnIdentityAsync();

                if (requestObject.PostData.RoleId != null && requestObject.PostData.RoleId > 0)
                {
                    TSMRoleUserRelationDbModel itemEntity = new TSMRoleUserRelationDbModel();
                    itemEntity.RoleId = requestObject.PostData.RoleId.Value;
                    itemEntity.UserId = mId;

                    currDb.Insertable <TSMRoleUserRelationDbModel>(itemEntity).ExecuteCommand();
                }

                if (requestObject.PostData.DeptId != null && requestObject.PostData.DeptId > 0)
                {
                    TSMDeptUserRelationDbModel itemEntity = new TSMDeptUserRelationDbModel();
                    itemEntity.DeptId        = requestObject.PostData.DeptId.Value;
                    itemEntity.UserAccountId = mId;
                    currDb.Insertable <TSMDeptUserRelationDbModel>(itemEntity).ExecuteCommand();
                }



                //提交事务
                currDb.CommitTran();
                //返回执行结果

                return(ResponseUtil <TSMUserAccountAddAllModel, bool> .SuccessResult(requestObject, true));
            }
            catch (Exception ex)
            {
                //回滚事务
                currDb.RollbackTran();
                //返回异常结果
                return(ResponseUtil <TSMUserAccountAddAllModel, bool> .FailResult(requestObject, false, ex.Message));
            }
        }
 public string GerRandom()
 {
     return(RandCodeCreate.GenerateRandomNumber(6));
 }