Example #1
0
        /// <summary>
        /// 申请一个参数标识号
        /// </summary>
        /// <param name="paramID">输出参数,申请到的参数标识号</param>
        /// <returns>IRAP系统通用错误对象,如果其中的ErrCode:0-执行成功;非0执行失败</returns>
        private IRAPError RequestParameterID(out int paramID)
        {
            #region 获取 ParameterID
            string           sequenceName = "NextParameterID";
            SequenceValueDTO rtnSequence  =
                IRAPSequence.GetSequence(sequenceName, 1);
            if (rtnSequence.ErrCode != 0)
            {
                string msg = rtnSequence.ErrText;
                Log.InstanceID.WriteMsg <IRAPParameterSet>(Enums.LogType.ERROR, msg);

                paramID = 0;
                return
                    (new IRAPError()
                {
                    ErrCode = 9999,
                    ErrText = rtnSequence.ErrText,
                });
            }
            else
            {
                paramID = (int)rtnSequence.SequenceValue;
                Log.InstanceID.WriteMsg <IRAPParameterSet>(
                    Enums.LogType.DEBUG,
                    $"获得ParameterID={paramID}");
                return
                    (new IRAPError()
                {
                    ErrCode = 0,
                    ErrText = "申请参数标识成功",
                });
            }
            #endregion
        }
Example #2
0
        /// <summary>
        /// 申请事实编号,如有错误会抛出异常,请捕捉异常
        /// </summary>
        /// <param name="cnt">申请数量</param>
        /// <returns>事实编号</returns>
        public long GetFactNo(int cnt = 1)
        {
            var resDTO = IRAPSequence.GetSequence("NextFactNo", cnt);

            if (resDTO.ErrCode != 0)
            {
                throw new Exception(resDTO.ErrText);
            }
            return(resDTO.SequenceValue);
        }
Example #3
0
        /// <summary>
        /// 申请序列号
        /// </summary>
        /// <param name="seqName">序列名称</param>
        /// <param name="cnt">申请数量</param>
        /// <returns></returns>
        public long GetSequenceValue(string seqName, int cnt = 1)
        {
            SequenceValueDTO error = IRAPSequence.GetSequence(seqName, cnt);

            if (error.ErrCode != 0)
            {
                throw new Exception($"申请序列号异常:{error.ErrText}");
            }

            return(error.SequenceValue);
        }
Example #4
0
 /// <summary>
 /// 申请交易号
 /// </summary>
 /// <param name="cnt">申请数量</param>
 /// <param name="remark">交易备注</param>
 /// <param name="opNodes">操作类型清单,多个用逗号隔开</param>
 /// <param name="voucherNo">票据号</param>
 /// <returns></returns>
 public long GetTransactNo(int cnt = 1, string remark = "", string opNodes = "", string voucherNo = "")
 {
     try
     {
         if (opNodes == "")
         {
             opNodes = (-_opID).ToString();
         }
         LoginEntity log = new IRAPLog().GetLogIDByToken(access_token);
         if (log == null)
         {
             throw new Exception("申请交易号时出错,令牌无效!");
         }
         long           transactNo = IRAPSequence.GetTransactNo();
         TransactEntity e          = new TransactEntity()
         {
             AgencyLeaf1     = log.AgencyLeaf,
             IPAddress       = log.IPAddress,
             Operator        = log.UserCode,
             OperTime        = DateTime.Now,
             OpNodes         = _opID.ToString(),
             PartitioningKey = TransPK,
             StationID       = log.StationID,
             Status          = 1,
             Remark          = remark,
             TransactNo      = transactNo,
             VoucherNo       = voucherNo
         };
         _db.Set <TransactEntity>().Add(e);
         _db.SaveChanges();
         return(transactNo);
     }
     catch (Exception err)
     {
         throw err;
     }
 }
Example #5
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="clientID">渠道标识</param>
        /// <param name="plainPWD">密码(明文)</param>
        /// <param name="veriCode">验证码</param>
        /// <param name="stationID">站点标识,如果是BS系统调用传CommunityID</param>
        /// <param name="ipAddress">IP地址</param>
        /// <param name="agencyLeaf">机构标识</param>
        /// <param name="roleLeaf">角色标识</param>
        /// <returns>返回信息DTO类</returns>
        public BackLoginInfo Login(string clientID, string plainPWD, string veriCode, string stationID, string ipAddress, int agencyLeaf, int roleLeaf)
        {
            BackLoginInfo backRes = new BackLoginInfo
            {
                UserName   = user.UserName,
                LanguageID = user.LanguageID,
                NickName   = user.UserEnglishName,
                MPhoneNo   = user.MPhoneNo,
                OPhoneNo   = user.OPhoneNo,
                HPhoneNo   = user.HPhoneNo
            };

            try
            {
                //验证密码
                IRAPError error = VerifyPWD(plainPWD);
                if (error.ErrCode != 0)
                {
                    backRes.ErrCode = error.ErrCode;
                    backRes.ErrText = error.ErrText;
                    return(backRes);
                }
                //判断信息站点是否注册
                if (!Regex.IsMatch(stationID, @"^\d+$"))
                {
                    IRAPStation   station = new IRAPStation();
                    StationEntity r       = station.GetStation(stationID);
                    if (r == null)
                    {
                        backRes.ErrCode = 9999;
                        backRes.ErrText = $"站点{stationID}不存在!";
                        return(backRes);
                    }
                    backRes.HostName = r.HostName;
                }
                //短信验证码是否有效
                //申请登录标识

                long sysLogID = IRAPSequence.GetSysLogID();
                //登录
                Repository <LoginEntity> loginRep = _unitOfWork.Repository <LoginEntity>();
                LoginEntity loginEntity           = new LoginEntity();
                loginEntity.PartitioningKey = PK;
                loginEntity.ClientID        = clientID;
                loginEntity.SysLogID        = (int)sysLogID;
                loginEntity.UserCode        = _userCode;
                loginEntity.AgencyLeaf      = agencyLeaf;
                loginEntity.RoleLeaf        = roleLeaf;
                loginEntity.Access_Token    = Guid.NewGuid().ToString();
                loginEntity.StationID       = stationID;
                loginEntity.MPhoneNo        = user.MPhoneNo;
                loginEntity.Status          = 1;
                loginEntity.LanguageID      = user.LanguageID;
                loginEntity.IPAddress       = ipAddress;

                loginEntity.LoginMode = 1;
                loginRep.Insert(loginEntity);
                _unitOfWork.Commit();

                backRes.SysLogID     = sysLogID;
                backRes.access_token = loginEntity.Access_Token;
                backRes.AgencyName   = _unitOfWork.Repository <ETreeSysLeaf>().Table.FirstOrDefault(r => r.LeafID == agencyLeaf).NodeName;
                backRes.ErrCode      = 0;
                backRes.ErrText      = $"登录成功:{sysLogID}";


                return(backRes);
            }
            catch (Exception err)
            {
                backRes.ErrCode = 9999;
                backRes.ErrText = $"登录遇到异常:{err.Message}";

                return(backRes);
            }
        }
Example #6
0
        /// <summary>
        /// 新增一个名称,并返回名称标识
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="nameDescription">名称</param>
        /// <param name="languageID">语言标识 (默认: 30 简体中文) </param>
        /// <param name="nameID">名称标识(返回)</param>
        /// <returns>名称标识</returns>
        public IRAPError Add(
            int communityID,
            string nameDescription,
            int languageID,
            out int nameID)
        {
            nameID =
                FindNameID(
                    communityID,
                    nameDescription,
                    languageID);
            if (nameID != 0)
            {
                return
                    (new IRAPError()
                {
                    ErrCode = 0,
                    ErrText = "名称已存在,直接返回该名称的标识",
                });
            }
            else
            {
                Repository <BizNameSpaceEntity> names = null;
                try
                {
                    names = GetRepository();
                }
                catch (Exception error)
                {
                    string msg = $"获取[BizNameSpaceEntity]资源库的时候发生错误: {error.Message}";
                    Console.WriteLine(msg);
                    return
                        (new IRAPError()
                    {
                        ErrCode = 9999,
                        ErrText = msg,
                    });
                }

                #region 获取 nameID
                string           sequenceName = "NextNameID";
                SequenceValueDTO rtnSequence  =
                    IRAPSequence.GetSequence(sequenceName, 1);
                if (rtnSequence.ErrCode != 0)
                {
                    string msg = rtnSequence.ErrText;
                    Console.WriteLine(msg);
                    return
                        (new IRAPError()
                    {
                        ErrCode = 9999,
                        ErrText = rtnSequence.ErrText,
                    });
                }
                else
                {
                    nameID = (int)rtnSequence.SequenceValue;
                }
                #endregion

                BizNameSpaceEntity entity =
                    new BizNameSpaceEntity()
                {
                    PartitioningKey = communityID * 10000,
                    LanguageID      = (short)languageID,
                    NameDescription = nameDescription,
                    NameID          = nameID,
                };
                try
                {
                    names.Insert(entity);
                    names.SaveChanges();
                }
                catch (Exception error)
                {
                    string msg = $"保存名称的时候发生错误:{error.Message}";
                    Console.WriteLine(msg);
                    return
                        (new IRAPError()
                    {
                        ErrCode = 9999,
                        ErrText = msg,
                    });
                }

                return
                    (new IRAPError()
                {
                    ErrCode = 0,
                    ErrText = "保存名称成功",
                });
            }
        }