Пример #1
0
        public IHttpActionResult Index()
        {
            ReturnValueModel rvm = new ReturnValueModel();

            try
            {
                string hostUrl          = $"{HttpContext.Current.Request.Url.Scheme}://{HttpContext.Current.Request.Url.Authority}";
                string OAuthServerUrl   = ConfigurationManager.AppSettings["OAuthServerUrl"];
                string OAuthAppId       = ConfigurationManager.AppSettings["OAuthAppId"];
                string OAuthServerState = ConfigurationManager.AppSettings["OAuthServerState"];
                string OAuthServerScope = ConfigurationManager.AppSettings["OAuthServerScope"];

                string HCPUrl = ConfigurationManager.AppSettings["HCPUIUrl"];
                //验证地址
                var redirect_uri = HCPUrl; //$"{hostUrl}/api/SSO/Callback";
                                           //登录获取Code地址
                var authorizeurl = $"{OAuthServerUrl}/authorize?client_id={OAuthAppId}&scope={OAuthServerScope}&response_type=code&state={OAuthServerState}&redirect_uri={redirect_uri}";
                rvm.Msg     = "success";
                rvm.Success = true;
                rvm.Result  = authorizeurl;
            }
            catch (Exception e)
            {
                rvm.Msg     = "fail";
                rvm.Success = false;
                rvm.Result  = e.Message;
            }
            return(Ok(rvm));
        }
Пример #2
0
        /// <summary>
        /// 新增或修改微信公众号记录
        /// </summary>
        /// <param name="accountInfo">微信公众号信息</param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel AddOrUpdateWechatPublicAccount(WechatPublicAccount accountInfo, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            var item = _rep.FirstOrDefault <WechatPublicAccount>(s => s.Id == accountInfo.Id);

            if (item != null)
            {
                item.AppId      = accountInfo.AppId;
                item.Name       = accountInfo.Name;
                item.Summary    = accountInfo.Summary;
                item.UpdateTime = DateTime.Now;
                item.UpdateUser = workUser.User.Id;
                _rep.Update(item);
                _rep.SaveChanges();
            }
            else
            {
                accountInfo.Id          = Guid.NewGuid().ToString();
                accountInfo.ClickVolume = 0;
                accountInfo.CreateTime  = DateTime.Now;
                accountInfo.CreateUser  = workUser.User.Id;
                _rep.Insert(accountInfo);
                _rep.SaveChanges();
            }
            rvm.Msg     = "success";
            rvm.Success = true;
            rvm.Result  = accountInfo;

            return(rvm);
        }
Пример #3
0
        public async Task <ReturnValueModel> Login(AccountDto input)
        {
            var entity = await _repository.FirstOrDefaultAsync(x => x.UserName == input.UserName);

            string           strMessage = string.Empty;
            bool             IfSuccess  = true;
            ReturnValueModel model      = new ReturnValueModel();

            if (entity != null && PasswordHasher.VerifyHashedPassword(input.PassWord, entity.PassWord))
            {
                if (!entity.IsActive)
                {
                    strMessage = "该用户已被锁定!请联系管理员!";
                    IfSuccess  = false;
                }
                else
                {
                    IfSuccess   = true;
                    model.Model = entity;
                }
            }
            else
            {
                strMessage = "用户名或密码错误,请重新输入!";
                IfSuccess  = false;
            }
            model.IfSuccess = IfSuccess;
            model.Message   = strMessage;
            return(model);
        }
        /// <summary>
        /// 查询目录列表
        /// </summary>
        /// <param name="row"></param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel GetHcpCatalogueList(string buName, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();
            var data             = _rep.Where <HcpCatalogueManage>(s => s.BuName == buName && s.IsDeleted == 0).ToList();

            //如果目录列表为空 生成默认目录
            if (data == null || data.Count <= 0)
            {
                var defaultCatalogue = new HcpCatalogueManage();
                defaultCatalogue.Id            = Guid.NewGuid().ToString();
                defaultCatalogue.BuName        = buName;
                defaultCatalogue.CatalogueName = "默认目录";
                defaultCatalogue.CreateTime    = DateTime.Now;
                defaultCatalogue.CreateUser    = workUser.User.Id;
                _rep.Insert(defaultCatalogue);
                data.Add(defaultCatalogue);
                _rep.SaveChanges();
            }
            var res = data.OrderByDescending(o => o.CreateTime).Select(o => new
            {
                o.Id,
                o.BuName,
                o.CatalogueName,
                o.CreateTime,
                IsDefault = o.CatalogueName == "默认目录" ? true : false
            }).ToList();

            rvm.Success = true;
            rvm.Msg     = "";
            rvm.Result  = res;
            return(rvm);
        }
        /// <summary>
        /// 获取期刊列表
        /// </summary>
        /// <returns></returns>
        public ReturnValueModel GetMagaZineList()
        {
            //从Webconfig中获取热搜期刊
            ReturnValueModel rvm          = new ReturnValueModel();
            List <string>    MagaZineList = new List <string>();
            var    SendMaga = _rep.SqlQuery <ThirdPartyKeyWord>("select * from ThirdPartyKeyWord where IsDeleted=0 and KeyWordType=2").OrderByDescending(s => s.CreateTime).FirstOrDefault();
            string SendText = SendMaga.KeyWordContent;

            try
            {
                MagaZineList = SendText.Split(',').ToList();
                rvm.Success  = true;
                rvm.Msg      = "";
            }
            catch (Exception e)
            {
                rvm.Success = false;
                rvm.Msg     = e.Message;
            }

            rvm.Result = new
            {
                rows = MagaZineList
            };
            return(rvm);
        }
Пример #6
0
        /// <summary>
        /// 根据当前用户获取到相关的会议和学术知识
        /// </summary>
        ///
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel GetDiscoveryHome(WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            var model = new DiscoveryViewModel();

            var user = _rep.FirstOrDefault <WxUserModel>(s => s.IsDeleted != 1 && s.UnionId == workUser.WxUser.UnionId);

            if (user.IsCompleteRegister == 1)
            {
                model.IsRegister = 1;
                model.MeetInfos  = _rep.Where <MeetInfo>(s => s.MeetDep.Contains(user.DepartmentName)).ToList().OrderByDescending(s => s.CreateTime).Take(2);
                model.Academic   = _rep.Where <ProductTypeInfo>(s => s.ContentDepType.Contains(user.DepartmentName) && s.TypeId == 2).ToList().OrderByDescending(s => s.CreateTime).Take(2);

                rvm.Msg     = "success";
                rvm.Success = true;
                rvm.Result  = new
                {
                    model = model
                };
            }
            else
            {
                rvm.Msg     = "fail";
                rvm.Success = false;
            }

            return(rvm);
        }
Пример #7
0
        /// <summary>
        /// 验证码是否正确
        /// </summary>
        /// <param name="wxUserModel">传入Code、Mobile</param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public async Task <ReturnValueModel> VerifySmsCode(WxUserModel wxUserModel)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            //var wxUser = await _rep.FirstOrDefaultAsync<WxUserModel>(s => s.UnionId == wxUserModel.UnionId);

            //var timeLimit = (DateTime.Now - wxUser.CodeTime)?.Minutes;
            ////五分钟超时
            //if (timeLimit > 5)
            //{
            //    rvm.Success = false;
            //    rvm.Msg = "验证码过期,请重新发送验证码!";
            //    rvm.Result = timeLimit;
            //}
            //else
            //{
            //    if (wxUser.Code == wxUserModel.Code && wxUser.Mobile == wxUserModel.Mobile)
            //    {
            //        rvm.Success = true;
            //        rvm.Msg = "验证成功!";
            //        rvm.Result = wxUser.Code;
            //    }
            //    else
            //    {
            //        rvm.Success = false;
            //        rvm.Msg = "验证码错误,请重新输入!";
            //        rvm.Result = wxUserModel.Code;
            //    }

            //}

            return(rvm);
        }
Пример #8
0
        public async Task <ReturnValueModel> ChangeUserPassword(ChangePasswordDto input)
        {
            string           strMessage = string.Empty;
            bool             IfSuccess  = true;
            ReturnValueModel model      = new ReturnValueModel();

            try
            {
                var user = await _repository.GetAsync(input.Id);

                if (!PasswordHasher.VerifyHashedPassword(input.OldPassWord, user.PassWord))
                {
                    IfSuccess  = false;
                    strMessage = "输入的原始密码不正确!";
                }
                else
                {
                    user.PassWord = PasswordHasher.HashPassword(input.NewPassWord);
                    await _repository.UpdateAsync(user);

                    _unitOfWork.SaveChanges();
                    IfSuccess = true;
                }
            }
            catch (Exception ex)
            {
                IfSuccess  = false;
                strMessage = ex.Message;
            }
            model.IfSuccess = IfSuccess;
            model.Message   = strMessage;
            return(model);
        }
Пример #9
0
        /// <summary>
        /// 融云-删除-聊天室保活服务
        /// </summary>
        /// <returns></returns>
        public ReturnValueModel ChatroomKeepaliveRemove(ChatroomInputDto inputDto, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            string body = $"chatroomId={HttpUtility.UrlEncode(inputDto.Id, Encoding.UTF8)}";

            string appKey    = ConfigurationManager.AppSettings["RongCloudAppKey"];
            string appSecret = ConfigurationManager.AppSettings["RongCloudAppSecret"];
            string _host     = ConfigurationManager.AppSettings["RongCloudUrl"];
            string url       = $"{_host}/chatroom/keepalive/remove.json";
            String result    = RongHttpClient.ExecutePost(appKey, appSecret, body, url, "application/x-www-form-urlencoded");


            var res = (ResponseResult)RongJsonUtil.JsonStringToObj <ResponseResult>(result);

            if (res.Code == 200)
            {
                rvm.Msg     = "success";
                rvm.Success = true;
                rvm.Result  = res;
                return(rvm);
            }
            else
            {
                rvm.Msg     = "删除聊天室保活失败";
                rvm.Success = false;
                rvm.Result  = result;
                return(rvm);
            }
        }
Пример #10
0
        /// <summary>
        /// buprodept关系
        /// </summary>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel BuProDeptRelMap(WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();
            var pros             = _rep.Table <ProductInfo>();
            var depts            = _rep.Table <DepartmentInfo>();
            var list             = from a in _rep.Table <BuProDeptRel>()
                                   group a by a.BuName
                                   into g1
                                   select new
            {
                BuName  = g1.Key,
                DeptPro = from b in g1
                          join c in pros on b.ProId equals c.Id
                          where b.BuName == g1.Key
                          group b by c into g2
                          select new
                {
                    ProId   = g2.Key.Id,
                    ProName = g2.Key.ProductName,
                    ProUrl  = g2.Key.ProductUrl,
                    Depts   = from d in g2
                              join e in depts on d.DeptId equals e.Id
                              select e
                }
            };

            rvm.Success = true;
            rvm.Msg     = "";
            rvm.Result  = new
            {
                list
            };
            return(rvm);
        }
Пример #11
0
        public async Task <ReturnValueModel> CreateNewUser(BasUserDto input)
        {
            string           strMessage = string.Empty;
            bool             IfSuccess  = true;
            ReturnValueModel model      = new ReturnValueModel();

            try
            {
                var user  = _mapper.Map <BasUser>(input);
                var query = await _repository.GetAllAsync(x => x.UserName == input.UserName);

                if (query.Count() > 0)
                {
                    IfSuccess  = false;
                    strMessage = string.Format("用户名【{0}】 已存在!", input.UserName);
                }
                else
                {
                    //生成加密的密码
                    user.PassWord = PasswordHasher.HashPassword(input.PassWord);
                    await _repository.InsertAsync(user);

                    await _unitOfWork.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                IfSuccess  = false;
                strMessage = ex.Message;
            }
            model.IfSuccess = IfSuccess;
            model.Message   = strMessage;
            return(model);
        }
Пример #12
0
        /// <summary>
        /// 删除产品
        /// </summary>
        /// <param name="proList">传入模型数组,只需要Id</param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel DelProduct(List <ProductInfo> proList, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            if (proList == null)
            {
                rvm.Success = false;
                return(rvm);
            }

            var ids = proList.Where(s => s != null).Select(s => s.Id).ToList();

            var list = _rep.Where <ProductInfo>(s => ids.Contains(s.Id)).ToList();

            foreach (var item in list)
            {
                item.IsDeleted = 1;
            }
            _rep.UpdateList(list);
            _rep.SaveChanges();

            rvm.Success = true;
            rvm.Msg     = "";

            return(rvm);
        }
Пример #13
0
        /// <summary>
        /// 伪删除
        /// </summary>
        /// <param name="data"></param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel DeleteItem(SpreadQRCode data, WorkUser workUser)
        {
            var result = new ReturnValueModel()
            {
            };
            var item = _rep.FirstOrDefault <SpreadQRCode>(x => x.IsDeleted != 1 && x.Id == data.Id);

            if (item != null)
            {
                item.IsDeleted  = 1;
                item.UpdateUser = workUser?.User?.Id ?? "";
                item.UpdateTime = DateTime.Now;
                _rep.Update(item);
                _rep.SaveChanges();
                result.Success = true;
                result.Msg     = "Success";
                result.Result  = new { item };
            }
            else
            {
                result.Success = false;
                result.Msg     = "Invalid Id.";
            }
            return(result);
        }
Пример #14
0
        /// <summary>
        /// 增改
        /// </summary>
        /// <param name="data"></param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel AddOrUpdateItem(SpreadQRCode data, WorkUser workUser)
        {
            var item = _rep.FirstOrDefault <SpreadQRCode>(x => x.IsDeleted != 1 && x.Id == data.Id);

            if (item == null)
            {
                data.Id         = Guid.NewGuid().ToString();
                data.CreateTime = DateTime.Now;
                data.CreateUser = workUser?.User?.Id ?? "";
                _rep.Insert(data);
            }
            else
            {
                item.SpreadAppId     = data.SpreadAppId;
                item.SpreadName      = data.SpreadName;
                item.SpreadQRCodeUrl = data.SpreadQRCodeUrl;
                item.UpdateTime      = DateTime.Now;
                item.CreateUser      = workUser?.User?.Id ?? "";
                _rep.Update(item);
            }
            var val    = _rep.SaveChanges() > 0 ? true : false;
            var result = new ReturnValueModel()
            {
                Msg = "Success", Success = val, Result = data
            };

            return(result);
        }
Пример #15
0
        public ReturnValueModel GetMeetQA(QuestionModel question, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            var meetQA = new MeetQAContentViewModel();

            meetQA.Question = _rep.FirstOrDefault <QuestionModel>(s => s.Id == question.Id);
            meetQA.Answers  = _rep.Where <AnswerModel>(s => s.IsDeleted != 1 && s.QuestionId == meetQA.Question.Id).OrderBy(s => s.Sort);

            if (meetQA.Question != null)
            {
                meetQA = FillFromQA(meetQA);

                rvm.Msg     = "success";
                rvm.Success = true;
                rvm.Result  = new
                {
                    meetQA = meetQA
                };
            }
            else
            {
                rvm.Msg     = "fail";
                rvm.Success = false;
            }

            return(rvm);
        }
Пример #16
0
        /// <summary>
        /// 融云-获取聊天室保活
        /// </summary>
        /// <returns></returns>
        public ReturnValueModel ChatroomKeepaliveGetList()
        {
            ReturnValueModel rvm       = new ReturnValueModel();
            string           appKey    = ConfigurationManager.AppSettings["RongCloudAppKey"];
            string           appSecret = ConfigurationManager.AppSettings["RongCloudAppSecret"];
            string           _host     = ConfigurationManager.AppSettings["RongCloudUrl"];
            string           url       = $"{_host}/chatroom/keepalive/query.json";

            String result = RongHttpClient.ExecutePost(appKey, appSecret, "", url, "application/x-www-form-urlencoded");

            var res = (ChatroomKeepaliveResult)RongJsonUtil.JsonStringToObj <ChatroomKeepaliveResult>(result);

            if (res.Code == 200)
            {
                rvm.Msg     = "success";
                rvm.Success = true;
                rvm.Result  = res;
                return(rvm);
            }
            else
            {
                rvm.Msg     = "success";
                rvm.Success = false;
                rvm.Result  = result;
                return(rvm);
            }
        }
Пример #17
0
        /// <summary>
        /// 获取问卷列表
        /// </summary>
        /// <param name="rowNum"></param>
        /// <returns></returns>
        public ReturnValueModel GetMeetQAList(RowNumModel <MeetQAContentViewModel> rowNum)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            var list = from a in _rep.All <QuestionModel>()
                       join b in _rep.All <AnswerModel>() on a.Id equals b.QuestionId
                       where a.IsDeleted != 1 && b.IsDeleted != 1 && string.IsNullOrEmpty(a.MeetId)
                       group b by a
                       into j
                       select new MeetQAContentViewModel
            {
                Question = j.Key,
                Answers  = j.Select(s => s)
            };

            list = list.Where(rowNum.SearchParams);

            var total = list.Count();
            var rows  = list.OrderByDescending(s => s.Question.UpdateTime).ToPaginationList(rowNum.PageIndex, rowNum.PageSize);

            rvm.Msg     = "success";
            rvm.Success = true;
            rvm.Result  = new
            {
                total = total,
                rows  = rows
            };

            return(rvm);
        }
Пример #18
0
        /// <summary>
        /// 绑定用户角色
        /// </summary>
        /// <param name="roleInfo">权限信息,是需要传入角色Id</param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel BindUserRole(RoleInfo roleInfo, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();
            var isAdmin          = _commonService.IsAdmin(workUser);

            //获取角色ID对应的角色列表
            var roleInCom   = _rep.FirstOrDefault <RoleInfo>(s => s.Id == roleInfo.Id);
            var userHasRole = (from a in _rep.All <UserModel>()
                               join b in _rep.All <UserRole>() on a.Code equals b.SapCode
                               where (a.CompanyCode == b.CompanyCode &&
                                      b.CompanyCode == roleInCom.CompanyCode || isAdmin) &&
                               a.IsDeleted != 1 && b.IsDeleted != 1 &&
                               b.RoleId == roleInfo.Id
                               select a).ToList().Select(s => new { key = s.Code, label = s.ChineseName + '-' + s.Code });
            var userNoRole = _rep.SqlQuery <UserRoleView>($@"select a.Code as 'key',a.ChineseName+'-'+a.Code as 'label'   from UserInfo a 
            left join UserRole b on a.EmployeeNo = b.SapCode
            left join RoleInfo c on b.RoleId = c.id
            where ISNULL(b.RoleId, '') != '{roleInfo.Id}' and ISNULL(c.RoleName, '') != '系统管理员' and a.IsDeleted!=1 ").ToList();

            //只能有一个权限
            var hasRole = _rep.Where <UserRole>(x => true).Select(x => x.SapCode).ToList();

            userNoRole = userNoRole.Where(x => !hasRole.Contains(x.key)).ToList();

            rvm.Success = true;
            rvm.Msg     = "";
            rvm.Result  = new
            {
                userHasRole = userHasRole,
                userNoRole  = userNoRole
            };
            return(rvm);
        }
        /// <summary>
        /// 勋章业务规则配置- 删除
        /// </summary>
        /// <param name="viewModel"></param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel DeleteMedalBusinessConfigure(BotMedalBusinessConfigure dto, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            if (string.IsNullOrEmpty(dto?.Id))
            {
                rvm.Success = false;
                rvm.Msg     = "The parameter 'Id' is required.";
                return(rvm);
            }
            BotMedalBusinessConfigure model = _rep.FirstOrDefault <BotMedalBusinessConfigure>(s => s.IsDeleted != 1 && s.Id == dto.Id);

            if (model == null)
            {
                rvm.Success = false;
                rvm.Msg     = "Invalid Id.";
                return(rvm);
            }
            model.IsDeleted  = 1;
            model.UpdateTime = DateTime.Now;
            model.UpdateUser = workUser.User.Id;
            _rep.Update(model);
            _rep.SaveChanges();

            rvm.Success = true;
            rvm.Msg     = "success";
            return(rvm);
        }
Пример #20
0
        /// <summary>
        /// 获取菜单
        /// </summary>
        /// <param name="roleInfo">当前角色,传入Id</param>
        /// <param name="workUser">当前操作人</param>
        /// <returns></returns>
        public ReturnValueModel GetRoleMenus(RoleInfo roleInfo, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();
            //var canRoleIds = workUser.Roles.Select(s => s.Id).ToList();
            var eEmpty       = Guid.Empty.ToString();
            var hasRole      = _rep.Where <RoleMenu>(s => s.RoleId == roleInfo.Id).Select(s => s.MenuId).Distinct().ToList();
            var hasRoleMenus =
                _rep.Where <MenuInfo>(s => hasRole.Contains(s.Id) && (s.ParentId != eEmpty || s.Leaf == true)).Select(s => s.Id);
            var allMenus = _rep.Where <MenuInfo>(s => s.IsDeleted != 1).OrderBy(s => s.Sort).ToList();
            var rootId   = Guid.Empty.ToString();
            var roots    = allMenus.Where(s => s.ParentId == rootId);
            List <MenuViewModel> menus = new List <MenuViewModel>();

            foreach (var root in roots)
            {
                MenuViewModel menu = new MenuViewModel
                {
                    Id       = root.Id,
                    Children = new List <MenuViewModel>(),
                    Label    = root.MenuName
                };
                GetChildrenMenus(allMenus, root, menu);
                menus.Add(menu);
            }

            rvm.Success = true;
            rvm.Msg     = "success";
            rvm.Result  = new
            {
                menus        = menus,
                hasRoleMenus = hasRoleMenus
            };
            return(rvm);
        }
Пример #21
0
        /// <summary>
        /// 回传加密数据
        /// </summary>
        /// <param name="urlContent"></param>
        /// <returns></returns>
        public ReturnValueModel GetDownLoadEncryptUrl(string urlContent)
        {
            ReturnValueModel rvm           = new ReturnValueModel();
            string           RetUrlContent = string.Empty;

            if (!string.IsNullOrEmpty(urlContent) && urlContent.IndexOf('/') > -1)
            {
                string[] ContentArr = urlContent.Split('/');

                for (int i = 3; i < ContentArr.Length; i++)
                {
                    RetUrlContent += ContentArr[i] + "/";
                }
                RetUrlContent = urlContent.TrimEnd('/');
            }

            rvm.Result = new
            {
                rows = new
                {
                    urlContent = SysUrl + "/" + EncryptHelper.AES_Encrypt(RetUrlContent)
                }
            };
            return(rvm);
        }
Пример #22
0
        /// <summary>
        /// 新增或删除角色
        /// </summary>
        /// <param name="roleInfo">角色基本信息</param>
        /// <param name="workUser">当前操作人</param>
        /// <returns></returns>
        public ReturnValueModel InsertOrUpdateRole(RoleInfo roleInfo, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();
            var role             = _rep.FirstOrDefault <RoleInfo>(s => s.Id == roleInfo.Id);

            if (role == null)
            {
                roleInfo.Id         = Guid.NewGuid().ToString();
                roleInfo.CreateTime = DateTime.Now;
                roleInfo.CreateUser = workUser.User.Id;
                _rep.Insert(roleInfo);
            }
            else
            {
                role.RoleName    = roleInfo.RoleName;
                role.RoleDesc    = roleInfo.RoleName;
                role.CompanyCode = roleInfo.CompanyCode;
                role.UpdateTime  = DateTime.Now;
                role.UpdateUser  = workUser.User.Id;
                _rep.Update(role);
            }

            _rep.SaveChanges();
            rvm.Success = true;
            rvm.Msg     = "";
            rvm.Result  = new
            {
                role = role
            };
            return(rvm);
        }
        /// <summary>
        /// 小程序会议订阅-添加
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public ReturnValueModel AddMeetSubscribe(MeetSubscribeInputDto dto, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            if (dto == null && workUser == null)
            {
                rvm.Msg     = "错误";
                rvm.Success = false;
                rvm.Result  = "";
                return(rvm);
            }

            var model = new MeetSubscribe
            {
                Id                  = Guid.NewGuid().ToString(),
                UserId              = workUser?.WxSaleUser?.Id,
                UnionId             = dto.UnionId,
                MeetId              = dto.MeetId,
                OpenId              = dto.OpenId,
                HasReminded         = 0,
                RemindOffsetMinutes = -30,
                CreateTime          = DateTime.UtcNow.AddHours(8),
                TemplateId          = string.Join(",", dto.TemplateId),
            };

            _rep.Insert(model);
            _rep.SaveChanges();

            rvm.Msg     = "success";
            rvm.Success = true;
            rvm.Result  = "";
            return(rvm);
        }
Пример #24
0
        /// <summary>
        /// 根据用户科室查询公众号推广信息
        /// </summary>
        /// <param name="publicaccount"></param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel WxGetPublicAccount(RowNumModel <PublicAccount> publicaccount, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();
            //首先根据用户查询用户科室
            var SendUser = _rep.SqlQuery <PublicAccount>("select * from DoctorModel where Id='" + workUser.WxUser.Id + "' or UnionId='" + workUser.WxUser.UnionId + "' && IsDeleted=0").FirstOrDefault();

            if (SendUser != null)
            {
                rvm.Success = false;
                rvm.Msg     = "The user does not exist";
            }
            else
            {
                //根据用户科室查询公众号推广信息
                var wxSend = _rep.SqlQuery <PublicAccount>("select * from PublicAccount where dept in('" + workUser.WxUser.DepartmentName + "') && IsDeleted=0");
                var total  = wxSend.Count();
                var rows   = wxSend.OrderByDescending(o => o.CreateTime)
                             .ToPaginationList(publicaccount.PageIndex, publicaccount.PageSize);
                rvm.Result = new
                {
                    total = total,
                    rows  = rows
                };
            }
            return(rvm);
        }
Пример #25
0
        /// <summary>
        /// 删除微信公众号记录
        /// </summary>
        /// <param name="accountInfo">微信公众号信息</param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel DeleteWechatPublicAccount(WechatPublicAccount accountInfo, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            if (accountInfo == null)
            {
                rvm.Success = false;
                rvm.Msg     = "Invalid parameters.";
                return(rvm);
            }

            var account = _rep.FirstOrDefault <WechatPublicAccount>(s => s.Id == accountInfo.Id);

            if (account == null)
            {
                rvm.Success = false;
                rvm.Msg     = "Invalid Id.";
                return(rvm);
            }

            account.IsDeleted = 1;
            _rep.Update(account);

            _rep.SaveChanges();
            rvm.Success = true;
            rvm.Msg     = "";

            return(rvm);
        }
Пример #26
0
        /// <summary>
        /// 横幅管理- 业务标签获取明细
        /// </summary>
        /// <returns></returns>
        public ReturnValueModel GetByBusinessTag(string input, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            if (string.IsNullOrEmpty(input))
            {
                rvm.Success = false;
                rvm.Msg     = "The parameter 'Scene' is required.";
                return(rvm);
            }
            var bannerInfo = _rep.FirstOrDefault <BannerInfo>(o => o.Scene == input && o.IsDeleted == 0);
            List <BannerInfoItem> bannerInfoItem = new List <BannerInfoItem>();

            if (bannerInfo != null)
            {
                bannerInfoItem = _rep.Where <BannerInfoItem>(o => o.BannerInfoId == bannerInfo.Id && o.IsDeleted == 0).OrderBy(o => o.Sort).ToList();
            }
            rvm.Success = true;
            rvm.Msg     = "success";
            rvm.Result  = new
            {
                bannerInfo,
                bannerInfoItem,
            };
            return(rvm);
        }
Пример #27
0
        /// <summary>
        /// 删除公众号推广信息
        /// </summary>
        /// <param name="publicaccount"></param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel DeletePublicAccount(PublicAccount publicAccount, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();
            //查询要删除的对象
            var deletePublic = _rep.FirstOrDefault <PublicAccount>(s => s.Id == publicAccount.Id && s.IsDeleted != 1 /*"select * from PublicAccount where Id='"+publicaccount.Id+"' and IsDeleted=0"*/);

            //判断需要删除的数据是否存在
            if (deletePublic != null)
            {
                try
                {
                    deletePublic.IsDeleted  = 1;
                    deletePublic.UpdateTime = DateTime.Now;
                    deletePublic.UpdateUser = workUser.User.Id;
                    _rep.Delete(deletePublic);
                    var send = _rep.SaveChanges();
                }
                catch (Exception ex)
                {
                    rvm.Success = false;
                    rvm.Msg     = "'" + ex + "'";
                    throw;
                }
                rvm.Success = true;
                rvm.Msg     = "success";
                rvm.Result  = deletePublic ?? deletePublic;
            }
            else
            {
                rvm.Success = true;
                rvm.Msg     = "No such data was found.";
            }
            return(rvm);
        }
Пример #28
0
        public ReturnValueModel DeleteMeetQA(QuestionModel meetQA, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            var question = _rep.FirstOrDefault <QuestionModel>(s => s.Id == meetQA.Id);

            if (question != null)
            {
                using (var tran = _rep.Database.BeginTransaction())
                {
                    try
                    {
                        var list = _rep.Where <AnswerModel>(s => s.QuestionId == question.Id);
                        _rep.Delete(question);
                        _rep.DeleteList(list);
                        _rep.SaveChanges();

                        tran.Commit();
                        rvm.Msg     = "sucess";
                        rvm.Success = true;
                    }
                    catch (Exception ex)
                    {
                        rvm.Msg     = "fail";
                        rvm.Success = false;
                        tran.Rollback();
                    }
                }
            }

            return(rvm);
        }
Пример #29
0
        /// <summary>
        /// 4、人员信息同步
        /// </summary>
        public ReturnValueModel SyncPersonInfo()
        {
            //将采用定期同步:每月凌晨同步更新,根据OneHCP唯一ID更新签到人员认证信息
            //同步字段:OneHCP医生验证状态、理由、云势ID

            ReturnValueModel rvm = new ReturnValueModel();
            var persons          = _rep.Where <WxUserModel>(s => s.IsDeleted != 1).Select(x => new PerInfoSyncModel {
                OneHCPID = x.Id, YSID = x.yunshi_doctor_id, OneHCPReason = x.reason, OneHCPState = x.status
            }).ToList();

            if (persons.Count > 0)
            {
                var postStr         = $"perInfos={JsonConvert.SerializeObject(persons)}";
                var syncPerInfoPath = $@"{_host}/OneHCPService/PerInfoSync.ashx";
                var returnModel     = HttpUtils.PostResponse <ReturnValueSyncModel>(syncPerInfoPath, postStr, "application/x-www-form-urlencoded");
                if (returnModel.status == "1")
                {
                    rvm.Success = true;
                    rvm.Msg     = "success";
                    rvm.Result  = returnModel.result;
                }
                else
                {
                    rvm.Success = false;
                    rvm.Msg     = returnModel.message;
                }
            }
            else
            {
                rvm.Success = true;
            }

            return(rvm);
        }
Пример #30
0
        public IHttpActionResult WxIndex(string userId)
        {
            ReturnValueModel rvm = new ReturnValueModel();

            try
            {
                string OAuthServerUrl   = ConfigurationManager.AppSettings["OAuthServerUrl"];
                string OAuthAppId       = ConfigurationManager.AppSettings["OAuthAppId"];
                string OAuthServerState = ConfigurationManager.AppSettings["OAuthServerState"];
                string OAuthServerScope = ConfigurationManager.AppSettings["OAuthServerScope"];

                var _loginConfirmUrl = ConfigurationManager.AppSettings["loginConfirmUrl"];

                var redirect_uri = $"{_loginConfirmUrl}/{userId}";
                //登录获取Code地址
                var authorizeurl = $"{OAuthServerUrl}/authorize?client_id={OAuthAppId}&scope={OAuthServerScope}&response_type=code&state={OAuthServerState}&redirect_uri={redirect_uri}";
                rvm.Msg     = "success";
                rvm.Success = true;
                rvm.Result  = authorizeurl;
            }
            catch (Exception e)
            {
                rvm.Msg     = "fail";
                rvm.Success = false;
                rvm.Result  = e.Message;
            }
            return(Ok(rvm));
        }