Exemplo n.º 1
0
        public static void RefreshApplicationCache()
        {
            #region 启动刷新系统配置
            try
            {

                SysConfigService.Get<Common.Config.Sections.Api>(false);
                SysConfigService.Get<Common.Config.Sections.IMGStore>(false);
                SysConfigService.Get<Common.Config.Sections.IM>(false);
                SysConfigService.Get<Common.Config.Sections.Agora>(false);
                SysConfigService.Get<Common.Config.Sections.Pay>(false);
                SysConfigService.Get<Common.Config.Sections.Mongodb>(false);


                #region 清除缓存
                new SysAccessAccountService().ClearAccountCache();
                #endregion
            }
            catch (Exception E)
            {
                LogHelper.WriteError(E);
            }

            #endregion
        }
        //
        // GET: /Settings/
        public JsonResult BusinessManage(string access_token)
        {
            var configService = new SysConfigService();
            var result        = configService.ResetSaleConfig(access_token);

            return(new JsonNetResult(result.Successed));
        }
Exemplo n.º 3
0
 public UploadController()
 {
     if (config == null)
     {
         //文件存储配置
         config = SysConfigService.Get <XuHos.Common.Config.Sections.IMGStore>();
     }
 }
Exemplo n.º 4
0
        public ActionResult Update(string keyName)
        {
            var result = SysConfigService.GetByKeyName(keyName, false);

            if (result == null)
            {
                return(RedirectToAction("Create"));
            }
            return(View(result));
        }
Exemplo n.º 5
0
 /// <summary>
 /// 初始化服务
 /// </summary>
 private void InitService()
 {
     SlaveInfoService = new SlaveInfoService();
     ButtonService    = new ButtonService(SlaveInfoService);
     SysConfig        = new SysConfigService().Get();
     WaveApiService   = new WaveApiService();
     UpDownService    = new UpDownService(SysConfig, SlaveInfoService, Main.CurUser);
     UpDownService.AddService(new PcUpDownService(SlaveInfoService, ButtonService, SynchronizationContext.Current, SysConfig, Main.CurUser));
     UpDownService.AddService(new BoardUpDownService(SlaveInfoService));
 }
Exemplo n.º 6
0
 public ActionResult List(SysConfigList model)
 {
     if (!string.IsNullOrEmpty(model.Search))
     {
         model.Id     = -1;
         model.Search = Server.UrlDecode(model.Search.Trim());
     }
     model.Id       = string.IsNullOrEmpty(model.Search) && model.Id == -1 ? 0 : model.Id;
     model.PageSize = 20;
     SysConfigService.GetList(model);
     return(View(model));
 }
Exemplo n.º 7
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            var sysConfigService = new SysConfigService();
            var entity           = sysConfigService.Get();

            entity.IP           = txtIP.Text.Trim();
            entity.ScanPortName = txtScanPortName.Text.Trim();
            entity.Port         = txtPort.Text.Trim();
            entity.PrintType    = (PrintType)cmbPrintType.SelectedValue;
            entity.DomainName   = txtDomainName.Text.Trim();
            sysConfigService.Save(entity);
            this.Close();
        }
Exemplo n.º 8
0
        public ActionResult Update(SysConfigModel model)
        {
            model.LastOpUserId = base.AdminUserId;
            var result = SysConfigService.Update(model);

            if (result.Code == ResultCode.Success)
            {
                return(RedirectToAction("List", new { id = model.TypeId }));
            }
            else
            {
                ViewData["Message"] = "修改失败!" + result.Message;
                return(View(model));
            }
        }
Exemplo n.º 9
0
        private void Init()
        {
            var sysConfigService = new SysConfigService();
            var entity           = sysConfigService.Get();

            txtIP.Text         = entity.IP;
            txtPort.Text       = entity.Port;
            txtDomainName.Text = entity.DomainName;
            //PrintType
            var enumArray = Enum.GetValues(typeof(PrintType));
            List <KeyValuePair <int, string> > statusList = new List <KeyValuePair <int, string> >();

            foreach (var enumItem in enumArray)
            {
                statusList.Add(new KeyValuePair <int, string>((int)enumItem, enumItem.ToString()));
            }
            cmbPrintType.DataSource    = statusList;
            cmbPrintType.DisplayMember = "Value";
            cmbPrintType.ValueMember   = "Key";
            cmbPrintType.SelectedValue = (int)entity.PrintType;
            txtScanPortName.Text       = entity.ScanPortName;
        }
Exemplo n.º 10
0
        public static void RegisterApplicationConfig()
        {
            //获取Redis缓存配置,首次不从缓存中获取
            var redisConfig = SysConfigService.Get <Redis>(false);

            //注册Redis处理程序,并指定默认Db
            Manager.Register(
                (dbNum) =>
                HealthCloud.Common.Cache.Redis.RedisCacheManage.Create(redisConfig, dbNum), int.Parse(redisConfig.DBNum));

            var imgConfig = SysConfigService.Get <IMGStore>(false);

            #region 注册图片配置
            ImageBaseDto.UrlPrefix = imgConfig.UrlPrefix;
            #endregion


            #region 注册消息队列配置
            var mqConfig = SysConfigService.Get <MQ>(false);
            HealthCloud.Common.EventBus.Configuration.RegisterConfig(mqConfig);

            #endregion


            HealthCloud.MicroService.ServiceSelfRegistration.Register(new MicroService.ServiceRegisterConfig()
            {
                SERVICE_REGISTRY_PORT     = System.Configuration.ConfigurationManager.AppSettings["SERVICE_REGISTRY_PORT"],
                SERVICE_80_CHECK_HTTP     = System.Configuration.ConfigurationManager.AppSettings["SERVICE_80_CHECK_HTTP"],
                SERVICE_80_CHECK_INTERVAL = System.Configuration.ConfigurationManager.AppSettings["SERVICE_80_CHECK_INTERVAL"],
                SERVICE_80_CHECK_TIMEOUT  = System.Configuration.ConfigurationManager.AppSettings["SERVICE_80_CHECK_TIMEOUT"],
                SERVICE_ADDRESS           = System.Configuration.ConfigurationManager.AppSettings["SERVICE_ADDRESS"],
                SERVICE_NAME             = System.Configuration.ConfigurationManager.AppSettings["SERVICE_NAME"],
                SERVICE_PORT             = System.Configuration.ConfigurationManager.AppSettings["SERVICE_PORT"],
                SERVICE_REGION           = System.Configuration.ConfigurationManager.AppSettings["SERVICE_REGION"],
                SERVICE_REGISTRY_ADDRESS = System.Configuration.ConfigurationManager.AppSettings["SERVICE_REGISTRY_ADDRESS"],
                SERVICE_SELF_REGISTER    = System.Configuration.ConfigurationManager.AppSettings["SERVICE_SELF_REGISTER"],
                SERVICE_TAGS             = System.Configuration.ConfigurationManager.AppSettings["SERVICE_TAGS"],
            });
        }
Exemplo n.º 11
0
 private void ToolSysSetting_Click(object sender, EventArgs e)
 {
     try
     {
         Form frm = new SysSetting();
         frm.ShowDialog();
         var sysConfig = new SysConfigService().Get();
         SysConfig.PrintType    = sysConfig.PrintType;
         SysConfig.IP           = sysConfig.IP;
         SysConfig.Port         = sysConfig.Port;
         SysConfig.DomainName   = sysConfig.DomainName;
         SysConfig.ScanPortName = sysConfig.ScanPortName;
         if (serialPort_Scan.IsOpen)
         {
             serialPort_Scan.Close();
         }
         serialPort_Scan.PortName = SysConfig.ScanPortName ?? "";
         serialPort_Scan.Open();
     }catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemplo n.º 12
0
        public DTO.Common.ApiResult Index(string OrderNo, string SellerID = "", EnumPaySignType SignType = EnumPaySignType.App, string ReturnUrl = "")
        {
            //设置默认收款人
            if (string.IsNullOrEmpty(SellerID))
            {
                var Config = SysConfigService.Get <XuHos.Common.Config.Sections.Pay>();
                SellerID = Config.AliPayDefaultSellerId;
            }


            var orderService = new OrderService(CurrentOperatorUserID);
            var orderEntity  = orderService.GetOrder(OrderNo);

            if (orderService.SetTradeLog(OrderNo, EnumPayType.AliPay, EnumTradeState.WAIT_BUYER_PAY, "", orderEntity.TotalFee, SellerID))
            {
                var bll = BLL.Platform.Cashier.CashierFactoryService.Create(EnumPayType.AliPay, CurrentOperatorUserID);
                return(bll.GetPaySign(OrderNo, SellerID, orderEntity.TotalFee, SignType, ReturnUrl).ToApiResultForObject());
            }
            else
            {
                return(EnumApiStatus.BizError.ToApiResultForApiStatus());
            }
        }
Exemplo n.º 13
0
        async Task <int> GetWavTotalSecond(string FileMD5)
        {
            #region 获取文件长度

            SysFileIndexService fileService = new SysFileIndexService(CurrentOperatorUserID);
            var index = fileService.Single <XuHos.Entity.SysFileIndex>(a => a.MD5 == FileMD5);

            if (index != null)
            {
                //文件存储配置
                var config = SysConfigService.Get <XuHos.Common.Config.Sections.IMGStore>();

                using (var filestream = await XuHos.Common.Storage.Manager.Instance.OpenFile("Audios", index.FileUrl))
                {
                    return(Convert.ToInt32(XuHos.Common.Utility.AudioHelper.TotalSeconds(filestream)));
                }
            }
            else
            {
                return(0);
            }
            #endregion
        }
        public bool Handle(Dto.EventBus.ChannelStateChangedEvent evt)
        {
            try
            {
                var apiConfig = SysConfigService.Get <VideoRecorder>();

                if (evt.State == EnumRoomState.InMedicalTreatment && !string.IsNullOrEmpty(evt.ChannelID))
                {
                    var response = WebAPIHelper.HttpGet($"{apiConfig.VideoRecorderApiUrl.TrimEnd('/')}/api/StartRecord?ChannelID={evt.ChannelID}", "");

                    var result = 0;

                    if (int.TryParse(response, out result))
                    {
                        if (result > 0)
                        {
                            return(false);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.DefaultLogger.Error(ex.Message, ex);
                return(false);
            }

            return(true);
        }
Exemplo n.º 15
0
 public IfImageMsg()
 {
     //文件存储配置
     storeConfig = SysConfigService.Get <IMGStore>();
 }
Exemplo n.º 16
0
        public async Task <ApiResult> UploadDCM(string Md5 = "", string AccessKey = "")
        {
            var res = await Upload("dcm", "", PreMD5 : Md5, AccessKey : AccessKey);

            if (res.Status != 0)
            {
                return(res);
            }

            var data   = res.Data as ResponseUploadFileDTO;
            var result = data.Map <ResponseUploadFileDTO, DcmDTO>();

            #region //获取文件路径
            string filePath = "";
            //缓存中获取文件索引
            var CacheKey = new XuHos.Common.Cache.Keys.EntityCacheKey <SysFileIndex>(StringCacheKeyType.SysFileIndex, result.MD5);

            SysFileIndex fileIndex = CacheKey.FromCache();

            if (fileIndex != null)
            {
                filePath = fileIndex.FileUrl;
            }
            else
            {
                //从数据库中获取文件索引
                var file = new SysFileIndexService(CurrentOperatorUserID).Single <SysFileIndex>(a => a.MD5 == result.MD5);
                if (file == null)
                {
                    filePath = file.FileUrl;
                }
            }
            if (string.IsNullOrEmpty(filePath))
            {
                return(EnumApiStatus.BizError.ToApiResultForApiStatus());
            }
            #endregion

            #region//解析DCM文件参数
            var config       = SysConfigService.Get <IMGStore>();
            var fileFullPath = Path.Combine(config.DirectorRootPath, filePath);
            Dictionary <string, string> tags = DCMHelper.TagRead(fileFullPath);
            string caseId  = null; //病例号
            string studyId = null; //检查号
            string stuUid  = null;
            if (tags != null)
            {
                tags.TryGetValue("0010,0020", out caseId);
                tags.TryGetValue("0008,0050", out studyId);
                tags.TryGetValue("0020,000d", out stuUid);
            }
            result.CaseID = caseId != null?caseId.Trim() : "";

            result.StudyID = studyId != null?studyId.Trim() : "";

            result.StuUID = stuUid != null?stuUid.TrimEnd('\0').Trim() : "";

            #endregion

            return(result.ToApiResultForObject());
        }
Exemplo n.º 17
0
 public UpdateBoard()
 {
     InitializeComponent();
     SysConfig             = new SysConfigService().Get();
     cmbType.SelectedIndex = 0;
 }
Exemplo n.º 18
0
 public ConfigController(SysConfigService service)
 {
     _service = service;
 }
Exemplo n.º 19
0
        public IHttpActionResult ReturnUrl()
        {
            var payConfig = SysConfigService.Get <XuHos.Common.Config.Sections.Pay>();

            try
            {
                var Request = System.Web.HttpContext.Current.Request;
                var sPara   = GetRequestGet();


                if (sPara.Count > 0)//判断是否有带返回参数
                {
                    string seller_id = Request.QueryString["seller_id"];
                    //商户订单号
                    string out_trade_no = Request.QueryString["out_trade_no"];

                    //支付宝交易号
                    string trade_no = Request.QueryString["trade_no"];

                    //交易状态
                    string trade_status = Request.QueryString["trade_status"];

                    //总金额
                    string total_fee = Request["total_fee"];
                    //通知编号
                    string notify_id = Request.QueryString["notify_id"];
                    //签名
                    string sign   = Request.QueryString["sign"];
                    var    alipay = new WebPay(seller_id);
                    //验证成功
                    if ((trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS"))
                    {
                        if (alipay.VerifySign(sPara, notify_id, sign))
                        {
                            XuHos.BLL.OrderService service = new OrderService(CurrentOperatorUserID);

                            var order = service.GetOrder(out_trade_no);

                            if (order != null)
                            {
                                if (order.TotalFee == decimal.Parse(total_fee))
                                {
                                    if (service.PayCompleted(out_trade_no, trade_no, XuHos.Common.Enum.EnumPayType.AliPay, seller_id))
                                    {
                                        return(Redirect($"{payConfig.ReturnUrlPrefix}/Trade/Order/PaySuccessfully?OrderNo={out_trade_no}"));
                                    }
                                    else
                                    {
                                        return(Redirect($"{payConfig.ReturnUrlPrefix}/Trade/Order/Error?message=系统错误,更新订单状态失败"));
                                    }
                                }
                                else
                                {
                                    return(Redirect($"{payConfig.ReturnUrlPrefix}/Trade/Order/Error?message=参数非法,参数“totalFee”或 “seller_id”不正确"));
                                }
                            }
                            else
                            {
                                return(Redirect($"{payConfig.ReturnUrlPrefix}/Trade/Order/Error?message=参数非法,订单不存在"));
                            }
                        }
                        else
                        {
                            return(Redirect($"{payConfig.ReturnUrlPrefix}/Trade/Order/PaySuccessfully?OrderNo={out_trade_no}"));
                        }
                    }
                }
                return(Redirect($"{payConfig.ReturnUrlPrefix}/Trade/Order/Error?message=参数非法,不是合法的支付请求"));
            }
            catch (Exception E)
            {
                return(Redirect($"{payConfig.ReturnUrlPrefix}/Trade/Order/Error?message={E.Message}"));
            }
        }
Exemplo n.º 20
0
        /// <summary>
        /// 上传文件

        /// 日期:2016年9月28日
        /// </summary>
        /// <param name="FileType">文件类型</param>
        /// <param name="Directory">文件保存路径</param>
        /// <param name="PreMD5">预处理Md5哈希值</param>
        /// <returns></returns>
        public async Task <ApiResult> Upload(
            string FileType  = "images",
            string Directory = null,
            string PreMD5    = "",
            string AccessKey = "",
            string Name      = "")
        {
            // 检查是否是 multipart/form-data
            if (!Request.Content.IsMimeMultipartContent("form-data"))
            {
                return(EnumApiStatus.BizError.ToApiResultForApiStatus("UnsupportedMediaType"));
            }

            try
            {
                //文件存储配置
                var config = SysConfigService.Get <XuHos.Common.Config.Sections.IMGStore>();

                SysFileIndex fileIndex = null;

                //通过缓存来判断文件是否已经上传了
                XuHos.Common.Cache.Keys.EntityCacheKey <SysFileIndex> CacheKey;

                //预处理文件Hash,客户端进行哈希值计算
                if (PreMD5 != "")
                {
                    CacheKey = new XuHos.Common.Cache.Keys.EntityCacheKey <SysFileIndex>(StringCacheKeyType.SysFileIndex, PreMD5);
                    //缓存中获取文件索引
                    fileIndex = CacheKey.FromCache();
                }

                //文件已经存在,则使用妙传(不需要保存直接返回之前已经上传的问题)
                if (fileIndex != null)
                {
                    //返回上传结果
                    return(new ResponseUploadFileDTO
                    {
                        UrlPrefix = config.UrlPrefix,
                        FileName = string.IsNullOrEmpty(Name) ? string.Format("{0}/{1}", FileType, fileIndex.FileUrl) : Name,
                        MD5 = fileIndex.MD5,
                        FileSize = fileIndex.FileSize,
                        FileSeq = fileIndex.MD5,
                        AccessKey = fileIndex.AccessKey
                    }.ToApiResultForObject());
                }
                else
                {
                    var httpPostFile = HttpContext.Current.Request.Files[0];

                    var FileStream = httpPostFile.InputStream;

                    var RequestFileName = httpPostFile.FileName;

                    FileStream.Seek(0, SeekOrigin.Begin);

                    var FileMD5 = XuHos.Common.Utility.HashHelper.ComputeMD5(FileStream);

                    //扩展名
                    var FileUrl = FileMD5 + Path.GetExtension(RequestFileName);

                    var FileSize = FileStream.Length;

                    //通过缓存来判断文件是否已经上传了
                    CacheKey = new XuHos.Common.Cache.Keys.EntityCacheKey <SysFileIndex>(StringCacheKeyType.SysFileIndex, FileMD5);

                    //缓存中获取文件索引
                    fileIndex = CacheKey.FromCache();

                    //文件已经存在
                    if (fileIndex != null)
                    {
                        //返回上传结果
                        return(new ResponseUploadFileDTO
                        {
                            UrlPrefix = config.UrlPrefix,
                            FileName = string.IsNullOrEmpty(Name) ? string.Format("{0}/{1}", fileIndex.FileType, fileIndex.FileUrl) : Name,
                            MD5 = fileIndex.MD5,
                            FileSize = fileIndex.FileSize,
                            FileSeq = fileIndex.MD5,
                            AccessKey = fileIndex.AccessKey
                        }.ToApiResultForObject());
                    }
                    //文件不存在的才保存到服务器
                    else
                    {
                        await XuHos.Common.Storage.Manager.Instance.WriteFile(FileType, FileUrl, FileStream);

                        SysFileIndexService fileService = new SysFileIndexService(CurrentOperatorUserID);
                        fileIndex = new SysFileIndex()
                        {
                            MD5       = FileMD5,
                            FileType  = FileType,
                            FileUrl   = FileUrl,
                            FileSize  = FileSize,
                            Remark    = string.IsNullOrEmpty(Name) ? FileUrl : Name,
                            AccessKey = AccessKey
                        };

                        var result = new ResponseUploadFileDTO
                        {
                            UrlPrefix = config.UrlPrefix,
                            FileName  = string.IsNullOrEmpty(Name) ? string.Format("{0}/{1}", FileType, FileUrl) : Name,
                            MD5       = FileMD5,
                            FileSize  = FileSize,
                            FileSeq   = fileIndex.MD5,
                            AccessKey = fileIndex.AccessKey
                        };

                        var SaveFlag = false;

                        //文件不存在
                        if (!fileService.Exists(a => a.MD5 == FileMD5))
                        {
                            try
                            {
                                //添加记录
                                SaveFlag = fileService.Insert(fileIndex);
                            }
                            //主键冲突异常
                            catch (ConstraintException ex)
                            {
                                SaveFlag = true;
                            }
                        }
                        else
                        {
                            fileService.Update(fileIndex);
                            SaveFlag = true;
                        }

                        //保存成功
                        if (SaveFlag)
                        {
                            //设置缓存
                            fileIndex.ToCache(CacheKey, TimeSpan.FromHours(2));

                            return(result.ToApiResultForObject());
                        }
                        else
                        {
                            return(EnumApiStatus.BizError.ToApiResultForApiStatus());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = ex.Message;
                if (ex.InnerException != null)
                {
                    msg += System.Environment.NewLine + ex.InnerException.Message;

                    if (ex.InnerException.InnerException != null)
                    {
                        msg += System.Environment.NewLine + ex.InnerException.InnerException.Message;
                    }
                }
                LogHelper.WriteError(ex);

                return(EnumApiStatus.BizError.ToApiResultForApiStatus("上传失败,错误:" + msg));
            }
        }
Exemplo n.º 21
0
 public CheckHardware()
 {
     InitializeComponent();
     SysConfig = new SysConfigService().Get();
     ConnectBoard();
 }
Exemplo n.º 22
0
        /// <summary>
        /// 新增成员

        /// 日期:2017年4月15日
        /// </summary>
        /// <param name="userMemberEntity"></param>
        /// <returns></returns>
        public ApiResult InsertMemberInfo(BLL.User.DTOs.Request.RequestUserMemberDTO request)
        {
            ApiResult result = new ApiResult();

            string memberid = string.Empty;

            #region 身份证号码格式校验
            if (!string.IsNullOrEmpty(request.IDNumber) && request.IDType == EnumUserCardType.IDCard)
            {
                string birthday, sex;
                var    res = ToolHelper.GetBirthdaySexFromIdCard(request.IDNumber, out birthday, out sex);

                //身份证号码正确
                if (res)
                {
                    request.Birthday = birthday;
                    request.Gender   = sex == "0" ? EnumUserGender.Male : EnumUserGender.Female;
                }
                else
                {
                    result.Status = EnumApiStatus.BizUserMemberRejectInsertUpdateIDNumberFormatError;
                    result.Msg    = result.Status.GetEnumDescript();
                    return(result);
                }
            }
            #endregion

            using (DBEntities db = new DBEntities())
            {
                using (db.BeginTransaction())
                {
                    db.Configuration.AutoDetectChangesEnabled = true;
                    bool       isAdd            = false;
                    UserMember userMemberEntity = null;
                    if (!string.IsNullOrEmpty(request.IDNumber))
                    {
                        userMemberEntity = (from q in db.UserMembers
                                            where q.IDNumber == request.IDNumber && q.MemberName == request.MemberName && q.IsDeleted == false
                                            orderby q.ModifyTime descending, q.CreateTime descending, q.MemberID
                                            select q).FirstOrDefault();
                    }

                    if (userMemberEntity == null)
                    {
                        isAdd = true;
                        #region 可选参数(默认值)
                        if (request.Birthday == null)
                        {
                            request.Birthday = "";
                        }

                        if (request.Mobile == null)
                        {
                            request.Mobile = "";
                        }

                        if (request.IDNumber == null)
                        {
                            request.IDNumber = "";
                        }

                        if (request.Nationality == null)
                        {
                            request.Nationality = "";
                        }

                        if (request.Province == null)
                        {
                            request.Province = "";
                        }
                        if (request.ProvinceRegionID == null)
                        {
                            request.ProvinceRegionID = "";
                        }

                        if (request.City == null)
                        {
                            request.City = "";
                        }
                        if (request.CityRegionID == null)
                        {
                            request.CityRegionID = "";
                        }

                        if (request.District == null)
                        {
                            request.District = "";
                        }
                        if (request.DistrictRegionID == null)
                        {
                            request.DistrictRegionID = "";
                        }

                        if (request.Town == null)
                        {
                            request.Town = "";
                        }
                        if (request.TownRegionID == null)
                        {
                            request.TownRegionID = "";
                        }

                        if (request.Village == null)
                        {
                            request.Village = "";
                        }
                        if (request.VillageRegionID == null)
                        {
                            request.VillageRegionID = "";
                        }

                        if (request.Address == null)
                        {
                            request.Address = "";
                        }

                        if (request.Email == null)
                        {
                            request.Email = "";
                        }

                        if (request.PostCode == null)
                        {
                            request.PostCode = "";
                        }

                        if (request.IsDefault == null || !request.IsDefault.HasValue)
                        {
                            request.IsDefault = false;
                        }
                        #endregion
                        userMemberEntity              = request.Map <RequestUserMemberDTO, Entity.UserMember>();
                        userMemberEntity.MemberID     = Guid.NewGuid().ToString("N");
                        userMemberEntity.CreateTime   = DateTime.Now;
                        userMemberEntity.CreateUserID = request.UserID;
                    }


                    //默认成员
                    var defaultMemberEntity = GetDefaultMemberInfo(request.UserID).Map <ResponseUserMemberDTO, Entity.UserMember>();

                    memberid = userMemberEntity.MemberID;

                    //默认成员不存在
                    if (defaultMemberEntity == null)
                    {
                        //当前成员为默认
                        userMemberEntity.IsDefault = true;
                    }

                    if (request.Relation == EnumUserRelation.MySelf)
                    {
                        var userEntity = db.Users.Where(a => a.UserID == request.UserID).FirstOrDefault();
                        userEntity.UserCNName = request.MemberName;
                        userEntity.UserENName = request.MemberName;
                        var mySelfMember = (from m in db.UserMembers
                                            where m.UserID == request.UserID && m.Relation == EnumUserRelation.MySelf &&
                                            m.IsDeleted == false && m.IsDeleted == false
                                            select m).FirstOrDefault();

                        //如果默认成员已经存在则更新默认成员
                        if (mySelfMember != null)
                        {
                            //兼容bat 服务站,新增自己关系是,要是原来的自己关系信息不完整(身份证号为空),则覆盖
                            //身份证不为空,且操作机构不为网络医院
                            var webapiConfig = SysConfigService.Get <XuHos.Common.Config.Sections.Api>();
                            if (string.IsNullOrEmpty(mySelfMember.IDNumber) && request.OrgID != webapiConfig.OrgID)
                            {
                                mySelfMember.Gender     = request.Gender;
                                mySelfMember.Marriage   = request.Marriage;
                                mySelfMember.MemberName = request.MemberName;

                                #region 可选参数(有值才修改)
                                if (request.Birthday != null)
                                {
                                    mySelfMember.Birthday = request.Birthday;
                                }

                                if (request.Mobile != null)
                                {
                                    mySelfMember.Mobile = request.Mobile;
                                }

                                if (request.IDNumber != null)
                                {
                                    mySelfMember.IDNumber = request.IDNumber;
                                }

                                if (request.Nationality != null)
                                {
                                    mySelfMember.Nationality = request.Nationality;
                                }
                                if (request.Province != null)
                                {
                                    mySelfMember.Province = request.Province;
                                }

                                if (request.ProvinceRegionID != null)
                                {
                                    mySelfMember.ProvinceRegionID = request.ProvinceRegionID;
                                }

                                if (request.City != null)
                                {
                                    mySelfMember.City = request.City;
                                }

                                if (request.CityRegionID != null)
                                {
                                    mySelfMember.CityRegionID = request.CityRegionID;
                                }

                                if (request.District != null)
                                {
                                    mySelfMember.District = request.District;
                                }

                                if (request.DistrictRegionID != null)
                                {
                                    mySelfMember.DistrictRegionID = request.DistrictRegionID;
                                }

                                if (request.Town != null)
                                {
                                    mySelfMember.Town = request.Town;
                                }

                                if (request.TownRegionID != null)
                                {
                                    mySelfMember.TownRegionID = request.TownRegionID;
                                }

                                if (request.Village != null)
                                {
                                    mySelfMember.Village = request.Village;
                                }

                                if (request.VillageRegionID != null)
                                {
                                    mySelfMember.VillageRegionID = request.VillageRegionID;
                                }

                                if (request.Address != null)
                                {
                                    mySelfMember.Address = request.Address;
                                }

                                if (request.Email != null)
                                {
                                    mySelfMember.Email = request.Email;
                                }

                                if (request.PostCode != null)
                                {
                                    mySelfMember.PostCode = request.PostCode;
                                }

                                #endregion
                                memberid = mySelfMember.MemberID;
                                db.Update(mySelfMember);
                            }
                            else
                            {
                                result.Status = EnumApiStatus.BizUserMemberRejectUpdateMySelfExists;
                                result.Msg    = result.Status.GetEnumDescript();
                                return(result);
                            }
                        }
                    }

                    if (isAdd)
                    {
                        db.UserMembers.Add(userMemberEntity);
                    }
                    //db.Update(userEntity);
                    var count = db.SaveChanges();
                    db.Commit();
                    if (count > 0)
                    {
                        var userMemberCacheKey = new XuHos.Common.Cache.Keys.EntityCacheKey <ResponseUserMemberDTO>(XuHos.Common.Cache.Keys.StringCacheKeyType.User_Member, userMemberEntity.MemberID);
                        userMemberCacheKey.RemoveCache();

                        var User_CacheKey = new XuHos.Common.Cache.Keys.EntityCacheKey <ResponseUserDTO>(XuHos.Common.Cache.Keys.StringCacheKeyType.User, request.UserID);
                        User_CacheKey.RemoveCache();
                        result.Status = EnumApiStatus.BizOK;
                    }
                    else
                    {
                        result.Status = EnumApiStatus.BizError;
                    }
                }
                //设置默认
                if (request.IsDefault.HasValue && request.IsDefault.Value)
                {
                    SetDefaultMember(memberid, request.UserID);
                }
                result.Data = memberid;
                result.Msg  = result.Status.GetEnumDescript();
                return(result);
            }
        }
Exemplo n.º 23
0
        public static void RegisterApplicationConfig()
        {
            //序列号生成器
            XuHos.Common.Utility.SeqIDHelper.RegisterSeqWorker(0, 0);

            #region 设置Redius缓存服务器设置

            //获取Redis缓存配置,首次不从缓存中获取
            var redisConfig = SysConfigService.Get<Common.Config.Sections.Redis>(false);
            //注册Redis处理程序,并指定默认Db
            XuHos.Common.Cache.Manager.Register((dbNum) => 
            XuHos.Common.Cache.Redis.StackExchangeImplement.RedisCacheManage.Create(redisConfig, dbNum),
            0);
            #endregion

            #region 注册支付相关配置
            //获取Redis缓存配置,首次不从缓存中获取
            var payConfig = SysConfigService.Get<Common.Config.Sections.Pay>();
            XuHos.Common.Pay.Configuration.Register(payConfig);

            var wxPayAppIdList = payConfig.WXPaySellerIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
            var kmPayAppIdList = payConfig.KMPaySellerIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
            var aliPayAppIdList = payConfig.AliPaySellerIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var appId in wxPayAppIdList)
            {
                XuHos.Common.Pay.Configuration.Register(SysConfigService.Get<Common.Config.Sections.Pay.WXPay>(true, (string)("[" + appId + "]")), (string)appId);
            }

            foreach (var appId in kmPayAppIdList)
            {
                XuHos.Common.Pay.Configuration.Register(SysConfigService.Get<Common.Config.Sections.Pay.KMPay>(true, (string)("[" + appId + "]")), (string)appId);
            }

            foreach (var appId in aliPayAppIdList)
            {
                XuHos.Common.Pay.Configuration.Register(SysConfigService.Get<Common.Config.Sections.Pay.AliPay>(true, (string)("[" + appId + "]")), (string)appId);
            }
            #endregion

            #region 注册图片配置
            var imgConfig = SysConfigService.Get<XuHos.Common.Config.Sections.IMGStore>();
            XuHos.DTO.Common.ImageBaseDTO.UrlPrefix = imgConfig.UrlPrefix;
            #endregion

            #region 注册消息队列配置
            var mqConfig = SysConfigService.Get<XuHos.Common.Config.Sections.MQ>();
            XuHos.EventBus.Configuration.RegisterConfig(mqConfig.HostName, int.Parse(mqConfig.Port), mqConfig.UserName, mqConfig.Password, mqConfig.VirtualHost);

            #endregion

            #region 注册 Mongodb 配置
            var mongodbConfig = SysConfigService.Get<Common.Config.Sections.Mongodb>();
            XuHos.DAL.Mongodb.MongoDbHelper.RegisterConfig(mongodbConfig.ConnectionString, mongodbConfig.CollectionName);
            #endregion

            #region 注册云通信和配置配置
            var imConfig = SysConfigService.Get<Common.Config.Sections.IM>();
            //var agoraConfig = SysConfigService.Get<Common.Config.Sections.Agora>();
            XuHos.Integration.QQCloudy.Configuration.RegisterConfig(imConfig);
            XuHos.Integration.WechatApp.Configuration.RegisterConfig(imConfig);
            #endregion

            #region 注册Api出站入站日志(使用Mongodb记录日志)
            XuHos.Common.Log.Configuration.Register(new XuHos.DAL.Mongodb.MongodbApiTrackLogAppender());
            #endregion

            //XuHos.Integration.ShortMessage.SMSHelper.RegisterYunZX(SysConfigService.Get<Common.Config.Sections.SMSYunZX>());

            //XuHos.Integration.ShortMessage.SMSHelper.RegisterYunPian(SysConfigService.Get<Common.Config.Sections.SMSYunPian>());
        }
Exemplo n.º 24
0
        public async Task <ApiResult> UploadImageByBase64([FromBody] BLL.Sys.DTOs.Request.RequestUploadImageByBase64DTO request)
        {
            byte[] byteData = Convert.FromBase64String(request.Content.Replace("data:image/png;base64", ""));

            var FileType = "Images";

            try
            {
                //文件存储配置
                var config = SysConfigService.Get <XuHos.Common.Config.Sections.IMGStore>();

                SysFileIndex fileIndex = null;

                var FileStream = new System.IO.MemoryStream(byteData);

                var FileMD5 = XuHos.Common.Utility.HashHelper.ComputeMD5(FileStream);

                //通过缓存来判断文件是否已经上传了
                var CacheKey = new XuHos.Common.Cache.Keys.EntityCacheKey <SysFileIndex>(StringCacheKeyType.SysFileIndex, FileMD5);

                //缓存中获取文件索引
                fileIndex = CacheKey.FromCache();

                //文件已经存在
                if (fileIndex != null)
                {
                    //返回上传结果
                    return(new ResponseUploadFileDTO
                    {
                        UrlPrefix = config.UrlPrefix,
                        FileName = string.Format("{0}/{1}", fileIndex.FileType, fileIndex.FileUrl),
                        MD5 = fileIndex.MD5,
                        FileSize = fileIndex.FileSize,
                        FileSeq = request.FileSeq
                    }.ToApiResultForObject());
                }
                //文件不存在的才保存到服务器
                else
                {
                    SysFileIndexService fileService = new SysFileIndexService(CurrentOperatorUserID);

                    //文件不存在
                    if (fileService.Exists(a => a.MD5 == FileMD5))
                    {
                        fileIndex = fileService.Single <SysFileIndex>(a => a.MD5 == FileMD5);

                        if (fileIndex != null)
                        {
                            //设置缓存
                            fileIndex.ToCache(CacheKey, TimeSpan.FromHours(2));

                            var result = new ResponseUploadFileDTO
                            {
                                UrlPrefix = config.UrlPrefix,
                                FileName  = string.Format("{0}/{1}", fileIndex.FileType, fileIndex.FileUrl),
                                MD5       = fileIndex.MD5,
                                FileSize  = fileIndex.FileSize,
                                FileSeq   = request.FileSeq
                            };

                            return(result.ToApiResultForObject());
                        }
                        else
                        {
                            return(EnumApiStatus.BizError.ToApiResultForApiStatus());
                        }
                    }
                    else
                    {
                        //文件名
                        var FileUrl = Guid.NewGuid().ToString("N") + ".jpg";

                        var FileSize = FileStream.Length;

                        await XuHos.Common.Storage.Manager.Instance.WriteFile(FileType, FileUrl, FileStream);

                        fileIndex = new SysFileIndex()
                        {
                            MD5       = FileMD5,
                            FileType  = FileType,
                            FileUrl   = FileUrl,
                            FileSize  = FileSize,
                            Remark    = "",
                            AccessKey = string.IsNullOrEmpty(request.AccessKey) ? "" : request.AccessKey
                        };

                        var result = new ResponseUploadFileDTO
                        {
                            UrlPrefix = config.UrlPrefix,
                            FileName  = string.Format("{0}/{1}", FileType, FileUrl),
                            MD5       = FileMD5,
                            FileSize  = FileSize,
                            FileSeq   = request.FileSeq,
                            AccessKey = request.AccessKey
                        };

                        var SaveFlag = false;

                        //文件不存在
                        if (!fileService.Exists(a => a.MD5 == FileMD5))
                        {
                            try
                            {
                                //添加记录
                                SaveFlag = fileService.Insert(fileIndex);
                            }
                            //主键冲突异常
                            catch (ConstraintException ex)
                            {
                                SaveFlag = true;
                            }
                        }
                        else
                        {
                            SaveFlag = true;
                        }

                        //保存成功
                        if (SaveFlag)
                        {
                            //设置缓存
                            fileIndex.ToCache(CacheKey, TimeSpan.FromHours(2));

                            return(result.ToApiResultForObject());
                        }
                        else
                        {
                            return(EnumApiStatus.BizError.ToApiResultForApiStatus());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = ex.Message;
                if (ex.InnerException != null)
                {
                    msg += System.Environment.NewLine + ex.InnerException.Message;

                    if (ex.InnerException.InnerException != null)
                    {
                        msg += System.Environment.NewLine + ex.InnerException.InnerException.Message;
                    }
                }
                LogHelper.WriteError(ex);

                return(EnumApiStatus.BizError.ToApiResultForApiStatus("上传失败,错误:" + msg));
            }
        }