Example #1
0
        /// <summary>
        /// 修改商户信息
        /// </summary>
        public APIResponseEntity <bool> Update(APIRequestEntity <XCLCMS.Data.Model.Merchant> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            var model = merchantBLL.GetModel(request.Body.MerchantID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的商户信息!";
                return(response);
            }

            if (!string.Equals(model.MerchantName, request.Body.MerchantName))
            {
                if (this.merchantBLL.IsExistMerchantName(request.Body.MerchantName))
                {
                    response.IsSuccess = false;
                    response.Message   = string.Format("商户名【{0}】已存在!", request.Body.MerchantName);
                    return(response);
                }
            }

            if (model.MerchantSystemType == XCLCMS.Data.CommonHelper.EnumType.MerchantSystemTypeEnum.SYS.ToString() && !string.Equals(request.Body.MerchantSystemType, model.MerchantSystemType, StringComparison.OrdinalIgnoreCase))
            {
                response.IsSuccess = false;
                response.Message   = "不能修改系统内置商户的类型!";
                return(response);
            }

            #endregion 数据校验

            model.RecordState        = request.Body.RecordState;
            model.MerchantSystemType = request.Body.MerchantSystemType;
            model.Address            = request.Body.Address;
            model.ContactName        = request.Body.ContactName;
            model.Domain             = request.Body.Domain;
            model.Email           = request.Body.Email;
            model.Landline        = request.Body.Landline;
            model.LogoURL         = request.Body.LogoURL;
            model.MerchantName    = request.Body.MerchantName;
            model.MerchantRemark  = request.Body.MerchantRemark;
            model.MerchantState   = request.Body.MerchantState;
            model.FK_MerchantType = request.Body.FK_MerchantType;
            model.OtherContact    = request.Body.OtherContact;
            model.PassNumber      = request.Body.PassNumber;
            model.FK_PassType     = request.Body.FK_PassType;
            model.QQ           = request.Body.QQ;
            model.RegisterTime = request.Body.RegisterTime;
            model.Remark       = request.Body.Remark;
            model.Tel          = request.Body.Tel;
            model.UpdaterID    = this.ContextInfo.UserInfoID;
            model.UpdaterName  = this.ContextInfo.UserName;
            model.UpdateTime   = DateTime.Now;

            response.IsSuccess = this.merchantBLL.Update(model);
            if (response.IsSuccess)
            {
                response.Message = "商户信息修改成功!";
            }
            else
            {
                response.Message = "商户信息修改失败!";
            }
            return(response);
        }
Example #2
0
        /// <summary>
        /// 新增系统配置信息
        /// </summary>
        public APIResponseEntity <bool> Add(APIRequestEntity <XCLCMS.Data.Model.SysWebSetting> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            request.Body.KeyName   = (request.Body.KeyName ?? "").Trim();
            request.Body.ValueType = (request.Body.ValueType ?? XCLCMS.Data.CommonHelper.EnumType.SysWebSettingValueTypeEnum.STR.ToString()).Trim().ToUpper();

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            if (string.IsNullOrWhiteSpace(request.Body.KeyName))
            {
                response.IsSuccess = false;
                response.Message   = "请提供配置名!";
                return(response);
            }

            if (this.sysWebSettingBLL.IsExistKeyName(request.Body.KeyName))
            {
                response.IsSuccess = false;
                response.Message   = string.Format("配置名【{0}】已存在!", request.Body.KeyName);
                return(response);
            }

            if (request.Body.ValueType == XCLCMS.Data.CommonHelper.EnumType.SysWebSettingValueTypeEnum.JON.ToString())
            {
                if ((!string.IsNullOrWhiteSpace(request.Body.KeyValue) && !XCLNetTools.Serialize.JSON.IsJSON(request.Body.KeyValue)) ||
                    (!string.IsNullOrWhiteSpace(request.Body.TestKeyValue) && !XCLNetTools.Serialize.JSON.IsJSON(request.Body.TestKeyValue)) ||
                    (!string.IsNullOrWhiteSpace(request.Body.UATKeyValue) && !XCLNetTools.Serialize.JSON.IsJSON(request.Body.UATKeyValue)) ||
                    (!string.IsNullOrWhiteSpace(request.Body.PrdKeyValue) && !XCLNetTools.Serialize.JSON.IsJSON(request.Body.PrdKeyValue)))
                {
                    response.IsSuccess = false;
                    response.Message   = "配置值必须为JSON类型!";
                    return(response);
                }
            }
            else if (request.Body.ValueType == XCLCMS.Data.CommonHelper.EnumType.SysWebSettingValueTypeEnum.NUM.ToString())
            {
                if ((!string.IsNullOrWhiteSpace(request.Body.KeyValue) && !XCLNetTools.StringHander.DataCheck.IsDecimalSign(request.Body.KeyValue)) ||
                    (!string.IsNullOrWhiteSpace(request.Body.TestKeyValue) && !XCLNetTools.StringHander.DataCheck.IsDecimalSign(request.Body.TestKeyValue)) ||
                    (!string.IsNullOrWhiteSpace(request.Body.UATKeyValue) && !XCLNetTools.StringHander.DataCheck.IsDecimalSign(request.Body.UATKeyValue)) ||
                    (!string.IsNullOrWhiteSpace(request.Body.PrdKeyValue) && !XCLNetTools.StringHander.DataCheck.IsDecimalSign(request.Body.PrdKeyValue)))
                {
                    response.IsSuccess = false;
                    response.Message   = "配置值必须为数字类型!";
                    return(response);
                }
            }
            else if (request.Body.ValueType == XCLCMS.Data.CommonHelper.EnumType.SysWebSettingValueTypeEnum.SWH.ToString())
            {
                var switchResult = XCLNetTools.Common.SwitchControl.IsOpen(request.Body.KeyValue);
                if (!string.IsNullOrWhiteSpace(switchResult.ErrorMessage))
                {
                    response.IsSuccess = false;
                    response.Message   = switchResult.ErrorMessage;
                    return(response);
                }
                switchResult = XCLNetTools.Common.SwitchControl.IsOpen(request.Body.TestKeyValue);
                if (!string.IsNullOrWhiteSpace(switchResult.ErrorMessage))
                {
                    response.IsSuccess = false;
                    response.Message   = switchResult.ErrorMessage;
                    return(response);
                }
                switchResult = XCLNetTools.Common.SwitchControl.IsOpen(request.Body.UATKeyValue);
                if (!string.IsNullOrWhiteSpace(switchResult.ErrorMessage))
                {
                    response.IsSuccess = false;
                    response.Message   = switchResult.ErrorMessage;
                    return(response);
                }
                switchResult = XCLNetTools.Common.SwitchControl.IsOpen(request.Body.PrdKeyValue);
                if (!string.IsNullOrWhiteSpace(switchResult.ErrorMessage))
                {
                    response.IsSuccess = false;
                    response.Message   = switchResult.ErrorMessage;
                    return(response);
                }
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.FK_MerchantID, request.Body.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            #endregion 数据校验

            request.Body.CreaterID   = this.ContextInfo.UserInfoID;
            request.Body.CreaterName = this.ContextInfo.UserName;
            request.Body.CreateTime  = DateTime.Now;
            request.Body.UpdaterID   = request.Body.CreaterID;
            request.Body.UpdaterName = request.Body.CreaterName;
            request.Body.UpdateTime  = request.Body.CreateTime;

            response.IsSuccess = this.sysWebSettingBLL.Add(request.Body);
            if (response.Body)
            {
                response.Message = "系统配置信息添加成功!";
            }
            else
            {
                response.Message = "系统配置信息添加失败!";
            }
            return(response);
        }
Example #3
0
        /// <summary>
        /// 新增用户信息
        /// </summary>
        public APIResponseEntity <bool> Add(APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.UserInfo.AddOrUpdateEntity> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            if (null == request.Body.UserInfo)
            {
                response.IsSuccess = false;
                response.Message   = "请指定用户信息!";
                return(response);
            }
            request.Body.UserInfo.UserName = (request.Body.UserInfo.UserName ?? "").Trim();
            if (!string.IsNullOrWhiteSpace(request.Body.UserInfo.Pwd))
            {
                request.Body.UserInfo.Pwd = XCLCMS.Data.CommonHelper.EncryptHelper.EncryptStringMD5(request.Body.UserInfo.Pwd);
            }

            if (string.IsNullOrWhiteSpace(request.Body.UserInfo.UserType))
            {
                request.Body.UserInfo.UserType = XCLCMS.Data.CommonHelper.EnumType.UserTypeEnum.NON.ToString();
            }

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.UserInfo.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            //必须指定用户信息
            if (string.IsNullOrEmpty(request.Body.UserInfo.UserName))
            {
                response.IsSuccess = false;
                response.Message   = "请指定用户名!";
                return(response);
            }

            //用户名是否被占用
            if (this.userInfoBLL.IsExistUserName(request.Body.UserInfo.UserName))
            {
                response.IsSuccess = false;
                response.Message   = "用户名被占用,请重新指定用户名!";
                return(response);
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.UserInfo.FK_MerchantID, request.Body.UserInfo.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            //角色是否越界
            var roleList = this.sysRoleBLL.GetModelList(request.Body.RoleIdList);
            if (null != roleList && roleList.Count > 0 && roleList.Exists(k => k.FK_MerchantID != request.Body.UserInfo.FK_MerchantID))
            {
                response.IsSuccess = false;
                response.Message   = "角色与用户所在商户不匹配!";
                return(response);
            }

            #endregion 数据校验

            XCLCMS.Data.BLL.Strategy.UserInfo.UserInfoContext userInfoContext = new Data.BLL.Strategy.UserInfo.UserInfoContext();
            userInfoContext.ContextInfo = this.ContextInfo;
            userInfoContext.UserInfo    = request.Body.UserInfo;
            userInfoContext.UserRoleIDs = request.Body.RoleIdList;
            userInfoContext.HandleType  = Data.BLL.Strategy.StrategyLib.HandleType.ADD;

            XCLCMS.Data.BLL.Strategy.ExecuteStrategy strategy = new Data.BLL.Strategy.ExecuteStrategy(new List <Data.BLL.Strategy.BaseStrategy>()
            {
                new XCLCMS.Data.BLL.Strategy.UserInfo.UserInfo()
            });
            if (userInfoContext.UserRoleIDs.IsNotNullOrEmpty())
            {
                strategy.StrategyList.Add(new XCLCMS.Data.BLL.Strategy.UserInfo.RoleInfo());
            }
            strategy.Execute <XCLCMS.Data.BLL.Strategy.UserInfo.UserInfoContext>(userInfoContext);

            if (strategy.Result != Data.BLL.Strategy.StrategyLib.ResultEnum.FAIL)
            {
                response.Message   = "添加成功!";
                response.IsSuccess = true;
            }
            else
            {
                response.Message   = strategy.ResultMessage;
                response.IsSuccess = false;
            }

            return(response);
        }
Example #4
0
        /// <summary>
        /// 修改文章信息
        /// </summary>
        public APIResponseEntity <bool> Update(APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.Article.AddOrUpdateEntity> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            if (null == request.Body.Article)
            {
                response.IsSuccess = false;
                response.Message   = "请指定文章信息!";
                return(response);
            }
            if (string.IsNullOrWhiteSpace(request.Body.Article.Code))
            {
                request.Body.Article.Code = request.Body.Article.ArticleID.ToString();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.AuthorName))
            {
                request.Body.Article.AuthorName = request.Body.Article.AuthorName.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Code))
            {
                request.Body.Article.Code = request.Body.Article.Code.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Comments))
            {
                request.Body.Article.Comments = request.Body.Article.Comments.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Contents))
            {
                request.Body.Article.Contents = request.Body.Article.Contents.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.FromInfo))
            {
                request.Body.Article.FromInfo = request.Body.Article.FromInfo.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.KeyWords))
            {
                request.Body.Article.KeyWords = request.Body.Article.KeyWords.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.LinkUrl))
            {
                request.Body.Article.LinkUrl = request.Body.Article.LinkUrl.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.SubTitle))
            {
                request.Body.Article.SubTitle = request.Body.Article.SubTitle.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Summary))
            {
                request.Body.Article.Summary = request.Body.Article.Summary.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Tags))
            {
                request.Body.Article.Tags = request.Body.Article.Tags.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Title))
            {
                request.Body.Article.Title = request.Body.Article.Title.Trim();
            }

            var model = this.articleBLL.GetModel(request.Body.Article.ArticleID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的文章信息!";
                return(response);
            }

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.Article.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            //必须指定文章信息
            if (string.IsNullOrEmpty(request.Body.Article.Title))
            {
                response.IsSuccess = false;
                response.Message   = "请指定文章标题!";
                return(response);
            }

            //如果内容类型为链接,则必须指定链接地址
            if (string.IsNullOrWhiteSpace(request.Body.Article.LinkUrl) && string.Equals(request.Body.Article.ArticleContentType, XCLCMS.Data.CommonHelper.EnumType.ArticleContentTypeEnum.URL.ToString(), StringComparison.OrdinalIgnoreCase))
            {
                response.IsSuccess = false;
                response.Message   = "请指定跳转链接地址!";
                return(response);
            }

            //code是否被占用
            if (!string.IsNullOrEmpty(request.Body.Article.Code) && !string.Equals(model.Code, request.Body.Article.Code, StringComparison.OrdinalIgnoreCase) && this.articleBLL.IsExistCode(request.Body.Article.Code))
            {
                response.IsSuccess = false;
                response.Message   = "文章标识Code被占用,请重新指定!";
                return(response);
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.Article.FK_MerchantID, request.Body.Article.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            #endregion 数据校验

            model.RecordState        = request.Body.Article.RecordState;
            model.ArticleContentType = request.Body.Article.ArticleContentType;
            model.ArticleState       = request.Body.Article.ArticleState;
            model.AuthorName         = request.Body.Article.AuthorName;
            model.BadCount           = request.Body.Article.BadCount;
            if (string.IsNullOrWhiteSpace(request.Body.Article.Code))
            {
                model.Code = model.ArticleID.ToString();
            }
            else
            {
                model.Code = request.Body.Article.Code;
            }
            model.CommentCount     = request.Body.Article.CommentCount;
            model.Comments         = request.Body.Article.Comments;
            model.Contents         = request.Body.Article.Contents;
            model.FromInfo         = request.Body.Article.FromInfo;
            model.GoodCount        = request.Body.Article.GoodCount;
            model.HotCount         = request.Body.Article.HotCount;
            model.IsCanComment     = request.Body.Article.IsCanComment;
            model.IsEssence        = request.Body.Article.IsEssence;
            model.IsRecommend      = request.Body.Article.IsRecommend;
            model.IsTop            = request.Body.Article.IsTop;
            model.KeyWords         = request.Body.Article.KeyWords;
            model.LinkUrl          = request.Body.Article.LinkUrl;
            model.MainImage1       = request.Body.Article.MainImage1;
            model.MainImage2       = request.Body.Article.MainImage2;
            model.MainImage3       = request.Body.Article.MainImage3;
            model.MiddleCount      = request.Body.Article.MiddleCount;
            model.PublishTime      = request.Body.Article.PublishTime;
            model.SubTitle         = request.Body.Article.SubTitle;
            model.Summary          = request.Body.Article.Summary;
            model.Tags             = request.Body.Article.Tags;
            model.Title            = request.Body.Article.Title;
            model.TopBeginTime     = request.Body.Article.TopBeginTime;
            model.TopEndTime       = request.Body.Article.TopEndTime;
            model.UpdaterID        = this.ContextInfo.UserInfoID;
            model.UpdaterName      = this.ContextInfo.UserName;
            model.UpdateTime       = DateTime.Now;
            model.URLOpenType      = request.Body.Article.URLOpenType;
            model.VerifyState      = request.Body.Article.VerifyState;
            model.ViewCount        = request.Body.Article.ViewCount;
            model.FK_MerchantAppID = request.Body.Article.FK_MerchantAppID;
            model.FK_MerchantID    = request.Body.Article.FK_MerchantID;

            var articleContext = new Data.BLL.Strategy.Article.ArticleContext();
            articleContext.ContextInfo             = this.ContextInfo;
            articleContext.Article                 = model;
            articleContext.HandleType              = Data.BLL.Strategy.StrategyLib.HandleType.UPDATE;
            articleContext.ArticleTypeIDList       = request.Body.ArticleTypeIDList;
            articleContext.ArticleAttachmentIDList = request.Body.ArticleAttachmentIDList;

            XCLCMS.Data.BLL.Strategy.ExecuteStrategy strategy = new Data.BLL.Strategy.ExecuteStrategy(new List <Data.BLL.Strategy.BaseStrategy>()
            {
                new XCLCMS.Data.BLL.Strategy.Article.Article(),
                new XCLCMS.Data.BLL.Strategy.Article.ObjectAttachment(),
                new XCLCMS.Data.BLL.Strategy.Article.ArticleType(),
                new XCLCMS.Data.BLL.Strategy.Article.Tags()
            });
            strategy.Execute(articleContext);

            if (strategy.Result != Data.BLL.Strategy.StrategyLib.ResultEnum.FAIL)
            {
                response.Message   = "修改成功!";
                response.IsSuccess = true;
            }
            else
            {
                response.Message   = strategy.ResultMessage;
                response.IsSuccess = false;
            }

            return(response);
        }
        /// <summary>
        /// 新增友情链接信息
        /// </summary>
        public APIResponseEntity <bool> Add(APIRequestEntity <XCLCMS.Data.Model.FriendLinks> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            request.Body.Title = (request.Body.Title ?? "").Trim();

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            if (string.IsNullOrWhiteSpace(request.Body.Title))
            {
                response.IsSuccess = false;
                response.Message   = "请提供友情链接标题!";
                return(response);
            }

            if (this.friendLinksBLL.IsExist(new Data.Model.Custom.FriendLinks_TitleCondition()
            {
                Title = request.Body.Title,
                FK_MerchantAppID = request.Body.FK_MerchantAppID,
                FK_MerchantID = request.Body.FK_MerchantID
            }))
            {
                response.IsSuccess = false;
                response.Message   = string.Format("友情链接标题【{0}】已存在!", request.Body.Title);
                return(response);
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.FK_MerchantID, request.Body.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            #endregion 数据校验

            request.Body.CreaterID   = this.ContextInfo.UserInfoID;
            request.Body.CreaterName = this.ContextInfo.UserName;
            request.Body.CreateTime  = DateTime.Now;
            request.Body.UpdaterID   = request.Body.CreaterID;
            request.Body.UpdaterName = request.Body.CreaterName;
            request.Body.UpdateTime  = request.Body.CreateTime;

            response.IsSuccess = this.friendLinksBLL.Add(request.Body);

            if (response.IsSuccess)
            {
                response.Message = "友情链接信息添加成功!";
            }
            else
            {
                response.Message = "友情链接信息添加失败!";
            }

            return(response);
        }
Example #6
0
        /// <summary>
        /// 新增商户应用信息
        /// </summary>
        public APIResponseEntity <bool> Add(APIRequestEntity <XCLCMS.Data.Model.MerchantApp> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            request.Body.MerchantAppName = (request.Body.MerchantAppName ?? "").Trim();
            request.Body.AppKey          = (request.Body.AppKey ?? "").Trim().ToUpper();

            if (string.IsNullOrWhiteSpace(request.Body.MerchantAppName))
            {
                response.IsSuccess = false;
                response.Message   = "请提供商户应用名!";
                return(response);
            }

            if (!XCLNetTools.Common.Consts.RegMD5_32Uppercase.IsMatch(request.Body.AppKey))
            {
                response.IsSuccess = false;
                response.Message   = "请提供有效的AppKey(32位大写MD5值)!";
                return(response);
            }

            if (null != this.merchantAppBLL.GetModel(request.Body.AppKey))
            {
                response.IsSuccess = false;
                response.Message   = string.Format("AppKey:{0},已经被占用了!", request.Body.AppKey);
                return(response);
            }

            if (null == merchantBLL.GetModel(request.Body.FK_MerchantID))
            {
                response.IsSuccess = false;
                response.Message   = string.Format("您指定的商户ID【{0}】不存在!", request.Body.FK_MerchantID);
                return(response);
            }

            if (this.merchantAppBLL.IsExistMerchantAppName(request.Body.MerchantAppName))
            {
                response.IsSuccess = false;
                response.Message   = string.Format("商户应用名【{0}】已存在!", request.Body.MerchantAppName);
                return(response);
            }

            #endregion 数据校验

            request.Body.CreaterID   = this.ContextInfo.UserInfoID;
            request.Body.CreaterName = this.ContextInfo.UserName;
            request.Body.CreateTime  = DateTime.Now;
            request.Body.UpdaterID   = request.Body.CreaterID;
            request.Body.UpdaterName = request.Body.CreaterName;
            request.Body.UpdateTime  = request.Body.CreateTime;

            response.IsSuccess = this.merchantAppBLL.Add(request.Body);
            if (response.Body)
            {
                response.Message = "商户应用信息添加成功!";
            }
            else
            {
                response.Message = "商户应用信息添加失败!";
            }
            return(response);
        }
Example #7
0
        /// <summary>
        /// 获取easyui tree格式的所有功能json
        /// </summary>
        public APIResponseEntity <List <XCLNetTools.Entity.EasyUI.TreeItem> > GetAllJsonForEasyUITree(APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.SysFunction.GetAllJsonForEasyUITreeEntity> request)
        {
            var response = new APIResponseEntity <List <XCLNetTools.Entity.EasyUI.TreeItem> >();

            response.IsSuccess = true;

            List <XCLCMS.Data.Model.View.v_SysFunction> allData = null;
            List <XCLNetTools.Entity.EasyUI.TreeItem>   tree    = new List <XCLNetTools.Entity.EasyUI.TreeItem>();

            var merchantModel = this.merchantBLL.GetModel(request.Body.MerchantID);

            if (null == merchantModel)
            {
                response.IsSuccess = false;
                response.Message   = "您指定的商户号无效!";
                return(response);
            }

            //根据情况,是否只显示普通商户的功能权限以供选择
            if (merchantModel.MerchantSystemType == XCLCMS.Data.CommonHelper.EnumType.MerchantSystemTypeEnum.NOR.ToString())
            {
                allData = this.GetNormalMerchantFunctionTreeList(new APIRequestEntity <object>()).Body;
            }
            else
            {
                //所有权限功能
                allData = this.vSysFunctionBLL.GetModelList("");
            }

            if (allData.IsNotNullOrEmpty())
            {
                var root = allData.Where(k => k.ParentID == 0).FirstOrDefault();//根节点
                if (null != root)
                {
                    tree.Add(new XCLNetTools.Entity.EasyUI.TreeItem()
                    {
                        ID    = root.SysFunctionID.ToString(),
                        State = root.IsLeaf == 1 ? "open" : "closed",
                        Text  = root.FunctionName
                    });

                    Action <XCLNetTools.Entity.EasyUI.TreeItem> getChildAction = null;
                    getChildAction = new Action <XCLNetTools.Entity.EasyUI.TreeItem>((parentModel) =>
                    {
                        var childs = allData.Where(k => k.ParentID == Convert.ToInt64(parentModel.ID)).ToList();
                        if (childs.IsNotNullOrEmpty())
                        {
                            parentModel.Children = new List <XCLNetTools.Entity.EasyUI.TreeItem>();
                            childs.ForEach(m =>
                            {
                                var treeItem = new XCLNetTools.Entity.EasyUI.TreeItem()
                                {
                                    ID    = m.SysFunctionID.ToString(),
                                    State = m.IsLeaf == 1 ? "open" : "closed",
                                    Text  = m.FunctionName
                                };
                                getChildAction(treeItem);
                                parentModel.Children.Add(treeItem);
                            });
                        }
                    });

                    //从根节点开始
                    getChildAction(tree[0]);
                }
            }
            response.Body = tree;
            return(response);
        }
Example #8
0
        public APIResponseEntity <bool> Update(JObject obj)
        {
            var request  = obj.ToObject <APIRequestEntity <XCLCMS.Data.Model.SysDic> >();
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            var model = this.sysDicBLL.GetModel(request.Body.SysDicID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的字典信息!";
                return(response);
            }

            request.Body.DicName = (request.Body.DicName ?? "").Trim();
            request.Body.Code    = (request.Body.Code ?? "").Trim();

            //字典名必填
            if (string.IsNullOrEmpty(request.Body.DicName))
            {
                response.IsSuccess = false;
                response.Message   = "请提供字典名!";
                return(response);
            }

            //若有code,则判断是否唯一
            if (!string.IsNullOrEmpty(request.Body.Code))
            {
                if (!string.Equals(model.Code, request.Body.Code) && this.sysDicBLL.IsExistCode(request.Body.Code))
                {
                    response.IsSuccess = false;
                    response.Message   = string.Format("字典唯一标识【{0}】已存在!", request.Body.Code);
                    return(response);
                }
            }

            //限制商户
            if (base.IsOnlyCurrentMerchant && request.Body.FK_MerchantID != base.CurrentUserModel.FK_MerchantID)
            {
                response.IsSuccess = false;
                response.Message   = "只能在自己所属的商户下面修改字典信息!";
                return(response);
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.FK_MerchantID, request.Body.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            #endregion 数据校验

            model.Code             = request.Body.Code;
            model.DicName          = request.Body.DicName;
            model.DicValue         = request.Body.DicValue;
            model.FK_FunctionID    = request.Body.FK_FunctionID;
            model.FK_MerchantAppID = request.Body.FK_MerchantAppID;
            model.FK_MerchantID    = request.Body.FK_MerchantID;
            model.Remark           = request.Body.Remark;
            model.Sort             = request.Body.Sort;
            model.UpdaterID        = base.CurrentUserModel.UserInfoID;
            model.UpdaterName      = base.CurrentUserModel.UserName;
            model.UpdateTime       = DateTime.Now;

            if (this.sysDicBLL.Update(model))
            {
                response.IsSuccess = true;
                response.Message   = "修改成功!";
            }
            else
            {
                response.IsSuccess = false;
                response.Message   = "修改失败!";
            }

            return(response);
        }
Example #9
0
        public async Task <APIResponseEntity <bool> > Add([FromBody] APIRequestEntity <XCLCMS.Data.Model.SysDic> request)
        {
            return(await Task.Run(() =>
            {
                var response = new APIResponseEntity <bool>();

                #region 数据校验

                request.Body.DicName = (request.Body.DicName ?? "").Trim();
                request.Body.Code = (request.Body.Code ?? "").Trim();

                //字典名必填
                if (string.IsNullOrEmpty(request.Body.DicName))
                {
                    response.IsSuccess = false;
                    response.Message = "请提供字典名!";
                    return response;
                }

                //若有code,则判断是否唯一
                if (!string.IsNullOrEmpty(request.Body.Code))
                {
                    if (this.sysDicBLL.IsExistCode(request.Body.Code))
                    {
                        response.IsSuccess = false;
                        response.Message = string.Format("字典唯一标识【{0}】已存在!", request.Body.Code);
                        return response;
                    }
                }

                //父字典是否存在
                var parentNodeModel = this.vSysDicBLL.GetModel(request.Body.ParentID);
                if (null == parentNodeModel)
                {
                    response.IsSuccess = false;
                    response.Message = "父字典不存在!";
                    return response;
                }

                //父字典层级必须>=2
                if (parentNodeModel.NodeLevel < 2)
                {
                    response.IsSuccess = false;
                    response.Message = "父字典层级必须>=2!";
                    return response;
                }

                //限制商户
                if (base.IsOnlyCurrentMerchant && request.Body.FK_MerchantID != base.CurrentUserModel.FK_MerchantID)
                {
                    response.IsSuccess = false;
                    response.Message = "只能在自己所属的商户下面添加字典信息!";
                    return response;
                }

                //当前用户只能加在自己的商户号下面
                if (!this.vSysDicBLL.IsRoot(parentNodeModel.SysDicID.Value))
                {
                    if (parentNodeModel.FK_MerchantID != request.Body.FK_MerchantID)
                    {
                        response.IsSuccess = false;
                        response.Message = "您添加的字典必须与父字典在同一个商户中!";
                        return response;
                    }
                }

                //应用号与商户一致
                if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.FK_MerchantID, request.Body.FK_MerchantAppID))
                {
                    response.IsSuccess = false;
                    response.Message = "商户号与应用号不匹配,请核对后再试!";
                    return response;
                }

                #endregion 数据校验

                if (this.sysDicBLL.Add(request.Body))
                {
                    response.IsSuccess = true;
                    response.Message = "添加成功!";
                }
                else
                {
                    response.IsSuccess = false;
                    response.Message = "添加失败!";
                }

                return response;
            }));
        }
Example #10
0
        /// <summary>
        /// 修改产品信息
        /// </summary>
        public APIResponseEntity <bool> Update(APIRequestEntity <XCLCMS.Data.Model.Product> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            var model = bll.GetModel(request.Body.ProductID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的产品信息!";
                return(response);
            }

            request.Body.ProductName = (request.Body.ProductName ?? "").Trim();
            request.Body.Description = (request.Body.Description ?? string.Empty).Trim();

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            if (string.IsNullOrWhiteSpace(request.Body.ProductName))
            {
                response.IsSuccess = false;
                response.Message   = "请提供产品名称!";
                return(response);
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.FK_MerchantID, request.Body.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            #endregion 数据校验

            model.ProductName      = request.Body.ProductName;
            model.Description      = request.Body.Description;
            model.Price            = request.Body.Price;
            model.PayedActionType  = request.Body.PayedActionType;
            model.PayedRemark      = request.Body.PayedRemark;
            model.SaleTitle        = request.Body.SaleTitle;
            model.SaleType         = request.Body.SaleType;
            model.Remark           = request.Body.Remark;
            model.FK_MerchantID    = request.Body.FK_MerchantID;
            model.FK_MerchantAppID = request.Body.FK_MerchantAppID;
            model.RecordState      = request.Body.RecordState;
            model.UpdaterID        = this.ContextInfo.UserInfoID;
            model.UpdaterName      = this.ContextInfo.UserName;
            model.UpdateTime       = DateTime.Now;

            response.IsSuccess = this.bll.Update(model);
            if (response.IsSuccess)
            {
                response.Message = "产品信息修改成功!";
            }
            else
            {
                response.Message = "产品信息修改失败!";
            }
            return(response);
        }
Example #11
0
        /// <summary>
        /// 请求
        /// </summary>
        /// <typeparam name="TRequest">请求类型</typeparam>
        /// <typeparam name="TResponse">返回类型</typeparam>
        /// <param name="request">请求类对象</param>
        /// <param name="path">请求路径</param>
        /// <param name="isGet">是否为get请求,默认为get</param>
        /// <returns>请求结果</returns>
        public static APIResponseEntity <TResponse> Request <TRequest, TResponse>(APIRequestEntity <TRequest> request, string path, bool isGet = true)
        {
            var           response     = new APIResponseEntity <TResponse>();
            string        requestJson  = JsonConvert.SerializeObject(request);
            string        requestURL   = (XCLCMS.Lib.Common.Comm.WebAPIServiceURL.Trim().Trim('/') + '/' + path.Trim().Trim('/')).Trim('?');
            RestRequest   httpRequest  = null;
            IRestResponse httpResponse = null;
            string        res          = string.Empty;
            RestClient    client       = null;

            if (isGet)
            {
                client      = new RestClient(requestURL + (requestURL.IndexOf('?') >= 0 ? "&" : "?") + XCLNetTools.Serialize.Lib.ConvertJsonToUrlParameters(requestJson));
                httpRequest = new RestRequest(Method.GET);
            }
            else
            {
                client      = new RestClient(requestURL);
                httpRequest = new RestRequest(Method.POST);
                httpRequest.RequestFormat = DataFormat.Json;
                httpRequest.AddParameter("application/json", requestJson, ParameterType.RequestBody);
            }

            httpRequest.AddHeader("Accept", "application/json");
            httpRequest.AddHeader("Accept-Encoding", "GZIP");
            httpRequest.AddHeader("Content-Type", "application/json");
            httpRequest.AddHeader("XCLCMSHeaders", XCLNetTools.Serialize.JSON.Serialize(new XCLCMS.Lib.Model.ActionContextInfoEntity()
            {
                AppKey    = request.AppKey,
                UserToken = request.UserToken
            }));
            client.Timeout  = 30000;
            client.Encoding = System.Text.Encoding.UTF8;

            try
            {
                httpResponse = client.Execute(httpRequest);
                res          = httpResponse.Content;
                if (!string.IsNullOrWhiteSpace(res))
                {
                    try
                    {
                        response = Newtonsoft.Json.JsonConvert.DeserializeObject <APIResponseEntity <TResponse> >(res);
                    }
                    catch
                    {
                        response.IsException = true;
                        response.IsSuccess   = false;
                        response.Message     = "Api响应报文反序列化失败!";
                        response.MessageMore = res;
                    }
                }
                if (null != response && response.IsException)
                {
                    throw new Exception(string.Format("{0}{1}{1}{2}", response.Message, Environment.NewLine, response.MessageMore));
                }
            }
            catch (AggregateException)
            {
                //
            }
            return(response);
        }
Example #12
0
        /// <summary>
        /// 删除角色
        /// </summary>
        public APIResponseEntity <bool> Delete(APIRequestEntity <List <long> > request)
        {
            var response = new APIResponseEntity <bool>();

            if (null == request.Body || request.Body.Count == 0)
            {
                response.IsSuccess = false;
                response.Message   = "请指定要删除的角色ID!";
                return(response);
            }

            request.Body = request.Body.Distinct().ToList();

            foreach (var k in request.Body)
            {
                //只能删除商户主节点下面的角色(层级为3的节点)
                var sysRoleModel = this.vSysRoleBLL.GetModel(k);
                if (sysRoleModel.NodeLevel != 3)
                {
                    response.IsSuccess = false;
                    response.Message   = "只能删除商户主节点下面的角色(层级为3的节点)!";
                    return(response);
                }
            }

            int successCount = 0;

            foreach (var id in request.Body)
            {
                var sysRoleModel = this.sysRoleBLL.GetModel(id);
                if (null != sysRoleModel)
                {
                    //商户至少要保留一个角色
                    if (this.vSysRoleBLL.GetCountByMerchantID(sysRoleModel.FK_MerchantID) <= 1)
                    {
                        response.IsSuccess = false;
                        response.Message   = "商户至少要保留一个角色!";
                        return(response);
                    }

                    if (this.merchantBLL.GetModel(sysRoleModel.FK_MerchantID).MerchantSystemType == XCLCMS.Data.CommonHelper.EnumType.MerchantSystemTypeEnum.SYS.ToString())
                    {
                        response.IsSuccess = false;
                        response.Message   = "不能删除系统内置商户的角色信息!";
                        return(response);
                    }

                    //删除
                    sysRoleModel.UpdaterID   = this.ContextInfo.UserInfoID;
                    sysRoleModel.UpdaterName = this.ContextInfo.UserName;
                    sysRoleModel.UpdateTime  = DateTime.Now;
                    sysRoleModel.RecordState = XCLCMS.Data.CommonHelper.EnumType.RecordStateEnum.D.ToString();
                    if (this.sysRoleBLL.Update(sysRoleModel))
                    {
                        successCount++;
                    }
                }
            }

            response.IsSuccess = true;
            response.Message   = string.Format("已成功删除【{0}】条记录!", successCount);

            return(response);
        }
Example #13
0
        /// <summary>
        /// 修改角色
        /// </summary>
        public APIResponseEntity <bool> Update(APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.SysRole.AddOrUpdateEntity> request)
        {
            var response           = new APIResponseEntity <bool>();
            var allLeafFunctionIds = this.vSysFunctionBLL.GetModelList("").Where(k => k.IsLeaf == 1).Select(k => (long)k.SysFunctionID).ToList();

            #region 数据校验

            if (null == request.Body.SysRole)
            {
                response.IsSuccess = false;
                response.Message   = "请指定角色信息!";
                return(response);
            }

            var model = this.sysRoleBLL.GetModel(request.Body.SysRole.SysRoleID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的角色信息!";
                return(response);
            }

            request.Body.SysRole.RoleName = (request.Body.SysRole.RoleName ?? "").Trim();
            request.Body.SysRole.Code     = (request.Body.SysRole.Code ?? "").Trim();
            if (null == request.Body.FunctionIdList)
            {
                request.Body.FunctionIdList = new List <long>();
            }

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.SysRole.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            //只能修改商户主角色节点下面的角色信息(层级为3的节点)
            var vSysRoleModel = this.vSysRoleBLL.GetModel(request.Body.SysRole.SysRoleID);
            if (vSysRoleModel.NodeLevel != 3)
            {
                response.IsSuccess = false;
                response.Message   = "只能修改商户主角色节点下面的角色信息(层级为3的节点)!";
                return(response);
            }

            //追加默认的功能权限
            if (string.Equals(request.Body.SysRole.Code, XCLCMS.Data.CommonHelper.SysRoleConst.SysRoleCodeEnum.MerchantMainRole.ToString(), StringComparison.OrdinalIgnoreCase) || merchant.MerchantSystemType == XCLCMS.Data.CommonHelper.EnumType.MerchantSystemTypeEnum.NOR.ToString())
            {
                request.Body.FunctionIdList.AddRange(XCLCMS.Data.CommonHelper.Function.NormalMerchantFixedFunctionIDList);
            }
            request.Body.FunctionIdList = request.Body.FunctionIdList.Intersect(allLeafFunctionIds).ToList();

            //必须指定角色信息
            if (string.IsNullOrEmpty(request.Body.SysRole.RoleName))
            {
                response.IsSuccess = false;
                response.Message   = "请指定角色名!";
                return(response);
            }

            //角色code是否存在
            if (!string.IsNullOrEmpty(request.Body.SysRole.Code))
            {
                if (!string.Equals(model.Code, request.Body.SysRole.Code, StringComparison.OrdinalIgnoreCase) && this.sysRoleBLL.IsExistCode(request.Body.SysRole.Code))
                {
                    response.IsSuccess = false;
                    response.Message   = string.Format("角色标识【{0}】已存在!", request.Body.SysRole.Code);
                    return(response);
                }
            }

            //普通商户的权限是否已越界
            if (merchant.MerchantSystemType == XCLCMS.Data.CommonHelper.EnumType.MerchantSystemTypeEnum.NOR.ToString())
            {
                var normalFunIds = this.sysFunctionWebAPIBLL.GetNormalMerchantFunctionIDList(new APIRequestEntity <object>()).Body;
                if (request.Body.FunctionIdList.IsNotNullOrEmpty())
                {
                    if (request.Body.FunctionIdList.Exists(k => !normalFunIds.Contains(k)))
                    {
                        response.IsSuccess = false;
                        response.Message   = "该角色的权限已越界!";
                        return(response);
                    }
                }
            }

            #endregion 数据校验

            model.Code     = request.Body.SysRole.Code;
            model.Remark   = request.Body.SysRole.Remark;
            model.RoleName = request.Body.SysRole.RoleName;
            model.Sort     = request.Body.SysRole.Sort;
            model.Weight   = request.Body.SysRole.Weight;

            XCLCMS.Data.BLL.Strategy.SysRole.SysRoleContext sysRoleContext = new Data.BLL.Strategy.SysRole.SysRoleContext();
            sysRoleContext.ContextInfo    = this.ContextInfo;
            sysRoleContext.SysRole        = model;
            sysRoleContext.FunctionIdList = request.Body.FunctionIdList;
            sysRoleContext.HandleType     = Data.BLL.Strategy.StrategyLib.HandleType.UPDATE;

            XCLCMS.Data.BLL.Strategy.ExecuteStrategy strategy = new Data.BLL.Strategy.ExecuteStrategy(new List <Data.BLL.Strategy.BaseStrategy>()
            {
                new XCLCMS.Data.BLL.Strategy.SysRole.SysRole(),
                new XCLCMS.Data.BLL.Strategy.SysRole.SysRoleFunction()
            });
            strategy.Execute <XCLCMS.Data.BLL.Strategy.SysRole.SysRoleContext>(sysRoleContext);

            if (strategy.Result != Data.BLL.Strategy.StrategyLib.ResultEnum.FAIL)
            {
                response.Message   = "修改成功!";
                response.IsSuccess = true;
            }
            else
            {
                response.Message   = strategy.ResultMessage;
                response.IsSuccess = false;
            }

            return(response);
        }
Example #14
0
        /// <summary>
        /// 添加角色
        /// </summary>
        public APIResponseEntity <bool> Add(APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.SysRole.AddOrUpdateEntity> request)
        {
            var response           = new APIResponseEntity <bool>();
            var allLeafFunctionIds = this.vSysFunctionBLL.GetModelList("").Where(k => k.IsLeaf == 1).Select(k => (long)k.SysFunctionID).ToList();

            #region 数据校验

            if (null == request.Body.SysRole)
            {
                response.IsSuccess = false;
                response.Message   = "请指定角色信息!";
                return(response);
            }
            request.Body.SysRole.RoleName = (request.Body.SysRole.RoleName ?? "").Trim();
            request.Body.SysRole.Code     = (request.Body.SysRole.Code ?? "").Trim();
            if (null == request.Body.FunctionIdList)
            {
                request.Body.FunctionIdList = new List <long>();
            }

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.SysRole.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            //追加默认的功能权限
            if (string.Equals(request.Body.SysRole.Code, XCLCMS.Data.CommonHelper.SysRoleConst.SysRoleCodeEnum.MerchantMainRole.ToString(), StringComparison.OrdinalIgnoreCase) || merchant.MerchantSystemType == XCLCMS.Data.CommonHelper.EnumType.MerchantSystemTypeEnum.NOR.ToString())
            {
                request.Body.FunctionIdList.AddRange(XCLCMS.Data.CommonHelper.Function.NormalMerchantFixedFunctionIDList);
            }
            request.Body.FunctionIdList = request.Body.FunctionIdList.Intersect(allLeafFunctionIds).Distinct().ToList();

            //必须指定角色信息
            if (string.IsNullOrEmpty(request.Body.SysRole.RoleName))
            {
                response.IsSuccess = false;
                response.Message   = "请指定角色名!";
                return(response);
            }

            //角色code是否存在
            if (!string.IsNullOrEmpty(request.Body.SysRole.Code))
            {
                if (this.sysRoleBLL.IsExistCode(request.Body.SysRole.Code))
                {
                    response.IsSuccess = false;
                    response.Message   = string.Format("角色标识【{0}】已存在!", request.Body.SysRole.Code);
                    return(response);
                }
            }

            //父角色是否存在
            var parentNodeModel = this.vSysRoleBLL.GetModel(request.Body.SysRole.ParentID);
            if (null == parentNodeModel)
            {
                response.IsSuccess = false;
                response.Message   = "父角色不存在!";
                return(response);
            }

            //父节点必须为第2层级
            if (parentNodeModel.NodeLevel != 2)
            {
                response.IsSuccess = false;
                response.Message   = "父节点必须为第2层级节点!";
                return(response);
            }
            //子角色与父角色必须在同一商户中
            if (!this.vSysRoleBLL.IsRoot(parentNodeModel.SysRoleID.Value))
            {
                if (parentNodeModel.FK_MerchantID != request.Body.SysRole.FK_MerchantID)
                {
                    response.IsSuccess = false;
                    response.Message   = "您添加的角色必须与父角色在同一个商户中!";
                    return(response);
                }
            }

            //普通商户的权限是否已越界
            if (merchant.MerchantSystemType == XCLCMS.Data.CommonHelper.EnumType.MerchantSystemTypeEnum.NOR.ToString())
            {
                var normalFunIds = this.sysFunctionWebAPIBLL.GetNormalMerchantFunctionIDList(new APIRequestEntity <object>()).Body;
                if (request.Body.FunctionIdList.IsNotNullOrEmpty())
                {
                    if (request.Body.FunctionIdList.Exists(k => !normalFunIds.Contains(k)))
                    {
                        response.IsSuccess = false;
                        response.Message   = "该角色的权限已越界!";
                        return(response);
                    }
                }
            }

            #endregion 数据校验

            XCLCMS.Data.BLL.Strategy.SysRole.SysRoleContext sysRoleContext = new Data.BLL.Strategy.SysRole.SysRoleContext();
            sysRoleContext.ContextInfo    = this.ContextInfo;
            sysRoleContext.SysRole        = request.Body.SysRole;
            sysRoleContext.FunctionIdList = request.Body.FunctionIdList;
            sysRoleContext.HandleType     = Data.BLL.Strategy.StrategyLib.HandleType.ADD;

            XCLCMS.Data.BLL.Strategy.ExecuteStrategy strategy = new Data.BLL.Strategy.ExecuteStrategy(new List <Data.BLL.Strategy.BaseStrategy>()
            {
                new XCLCMS.Data.BLL.Strategy.SysRole.SysRole(),
                new XCLCMS.Data.BLL.Strategy.SysRole.SysRoleFunction()
            });
            strategy.Execute <XCLCMS.Data.BLL.Strategy.SysRole.SysRoleContext>(sysRoleContext);

            if (strategy.Result != Data.BLL.Strategy.StrategyLib.ResultEnum.FAIL)
            {
                response.Message   = "添加成功!";
                response.IsSuccess = true;
            }
            else
            {
                response.Message   = strategy.ResultMessage;
                response.IsSuccess = false;
            }

            return(response);
        }
        /// <summary>
        /// 添加字典
        /// </summary>
        public APIResponseEntity <bool> Add(APIRequestEntity <XCLCMS.Data.Model.SysDic> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            request.Body.DicName = (request.Body.DicName ?? "").Trim();
            request.Body.Code    = (request.Body.Code ?? "").Trim();

            //字典名必填
            if (string.IsNullOrEmpty(request.Body.DicName))
            {
                response.IsSuccess = false;
                response.Message   = "请提供字典名!";
                return(response);
            }

            //若有code,则判断是否唯一
            if (!string.IsNullOrEmpty(request.Body.Code))
            {
                if (this.sysDicBLL.IsExistCode(request.Body.Code))
                {
                    response.IsSuccess = false;
                    response.Message   = string.Format("字典唯一标识【{0}】已存在!", request.Body.Code);
                    return(response);
                }
            }

            //父字典是否存在
            var parentNodeModel = this.vSysDicBLL.GetModel(request.Body.ParentID);
            if (null == parentNodeModel)
            {
                response.IsSuccess = false;
                response.Message   = "父字典不存在!";
                return(response);
            }

            //父字典层级必须>=2
            if (parentNodeModel.NodeLevel < 2)
            {
                response.IsSuccess = false;
                response.Message   = "父字典层级必须>=2!";
                return(response);
            }

            //当前用户只能加在自己的商户号下面
            if (!this.vSysDicBLL.IsRoot(parentNodeModel.SysDicID.Value))
            {
                if (parentNodeModel.FK_MerchantID != request.Body.FK_MerchantID)
                {
                    response.IsSuccess = false;
                    response.Message   = "您添加的字典必须与父字典在同一个商户中!";
                    return(response);
                }
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.FK_MerchantID, request.Body.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            #endregion 数据校验

            request.Body.CreaterID   = this.ContextInfo.UserInfoID;
            request.Body.CreaterName = this.ContextInfo.UserName;
            request.Body.CreateTime  = DateTime.Now;
            request.Body.UpdaterID   = request.Body.CreaterID;
            request.Body.UpdaterName = request.Body.CreaterName;
            request.Body.UpdateTime  = request.Body.CreateTime;

            if (this.sysDicBLL.Add(request.Body))
            {
                response.IsSuccess = true;
                response.Message   = "添加成功!";
            }
            else
            {
                response.IsSuccess = false;
                response.Message   = "添加失败!";
            }

            return(response);
        }
Example #16
0
        public async Task <APIResponseEntity <bool> > Delete([FromBody] APIRequestEntity <List <long> > request)
        {
            return(await Task.Run(() =>
            {
                var response = new APIResponseEntity <bool>();

                if (null == request.Body || request.Body.Count == 0)
                {
                    response.IsSuccess = false;
                    response.Message = "请指定要删除的字典ID!";
                    return response;
                }

                request.Body = request.Body.Distinct().ToList();

                //只能删除自己商户的节点
                if (base.IsOnlyCurrentMerchant)
                {
                    if (request.Body.Exists(id =>
                    {
                        var sysDicModel = sysDicBLL.GetModel(id);
                        return null != sysDicModel && sysDicModel.FK_MerchantID != base.CurrentUserModel.FK_MerchantID;
                    }))
                    {
                        response.IsSuccess = false;
                        response.Message = "只能删除属于自己的商户节点!";
                        return response;
                    }
                }

                foreach (var k in request.Body)
                {
                    //只能删除层级>2的节点
                    var sysDicModel = this.vSysDicBLL.GetModel(k);
                    if (sysDicModel.NodeLevel <= 2)
                    {
                        response.IsSuccess = false;
                        response.Message = "只能删除层级>2的节点!";
                        return response;
                    }
                }

                int successCount = 0;

                foreach (var id in request.Body)
                {
                    var sysDicModel = sysDicBLL.GetModel(id);
                    if (null != sysDicModel)
                    {
                        sysDicModel.UpdaterID = base.CurrentUserModel.UserInfoID;
                        sysDicModel.UpdaterName = base.CurrentUserModel.UserName;
                        sysDicModel.UpdateTime = DateTime.Now;
                        sysDicModel.RecordState = XCLCMS.Data.CommonHelper.EnumType.RecordStateEnum.D.ToString();
                        if (sysDicBLL.Update(sysDicModel))
                        {
                            successCount++;
                        }
                    }
                }

                response.IsSuccess = true;
                response.Message = string.Format("已成功删除【{0}】条记录!", successCount);

                return response;
            }));
        }
        /// <summary>
        /// 修改字典
        /// </summary>
        public APIResponseEntity <bool> Update(APIRequestEntity <XCLCMS.Data.Model.SysDic> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            var model = this.sysDicBLL.GetModel(request.Body.SysDicID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的字典信息!";
                return(response);
            }

            request.Body.DicName = (request.Body.DicName ?? "").Trim();
            request.Body.Code    = (request.Body.Code ?? "").Trim();

            //字典名必填
            if (string.IsNullOrEmpty(request.Body.DicName))
            {
                response.IsSuccess = false;
                response.Message   = "请提供字典名!";
                return(response);
            }

            //若有code,则判断是否唯一
            if (!string.IsNullOrEmpty(request.Body.Code))
            {
                if (!string.Equals(model.Code, request.Body.Code) && this.sysDicBLL.IsExistCode(request.Body.Code))
                {
                    response.IsSuccess = false;
                    response.Message   = string.Format("字典唯一标识【{0}】已存在!", request.Body.Code);
                    return(response);
                }
            }

            //被修改的节点的层级必须>2
            if (this.vSysDicBLL.GetModel(request.Body.SysDicID).NodeLevel <= 2)
            {
                response.IsSuccess = false;
                response.Message   = "被修改的节点的层级必须>2!";
                return(response);
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.FK_MerchantID, request.Body.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            #endregion 数据校验

            model.Code             = request.Body.Code;
            model.DicName          = request.Body.DicName;
            model.DicValue         = request.Body.DicValue;
            model.FK_FunctionID    = request.Body.FK_FunctionID;
            model.FK_MerchantAppID = request.Body.FK_MerchantAppID;
            model.FK_MerchantID    = request.Body.FK_MerchantID;
            model.Remark           = request.Body.Remark;
            model.Sort             = request.Body.Sort;
            model.UpdaterID        = this.ContextInfo.UserInfoID;
            model.UpdaterName      = this.ContextInfo.UserName;
            model.UpdateTime       = DateTime.Now;

            if (this.sysDicBLL.Update(model))
            {
                response.IsSuccess = true;
                response.Message   = "修改成功!";
            }
            else
            {
                response.IsSuccess = false;
                response.Message   = "修改失败!";
            }

            return(response);
        }
Example #18
0
        public async Task <APIResponseEntity <bool> > Add([FromBody] APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.UserInfo.AddOrUpdateEntity> request)
        {
            return(await Task.Run(() =>
            {
                var response = new APIResponseEntity <bool>();

                #region 数据校验

                if (null == request.Body.UserInfo)
                {
                    response.IsSuccess = false;
                    response.Message = "请指定用户信息!";
                    return response;
                }
                request.Body.UserInfo.UserName = (request.Body.UserInfo.UserName ?? "").Trim();
                if (!string.IsNullOrWhiteSpace(request.Body.UserInfo.Pwd))
                {
                    request.Body.UserInfo.Pwd = XCLCMS.WebAPI.Library.EncryptHelper.EncryptStringMD5(request.Body.UserInfo.Pwd);
                }

                //商户必须存在
                var merchant = this.merchantBLL.GetModel(request.Body.UserInfo.FK_MerchantID);
                if (null == merchant)
                {
                    response.IsSuccess = false;
                    response.Message = "无效的商户号!";
                    return response;
                }

                //必须指定用户信息
                if (string.IsNullOrEmpty(request.Body.UserInfo.UserName))
                {
                    response.IsSuccess = false;
                    response.Message = "请指定用户名!";
                    return response;
                }

                //用户名是否被占用
                if (this.userInfoBLL.IsExistUserName(request.Body.UserInfo.UserName))
                {
                    response.IsSuccess = false;
                    response.Message = "用户名被占用,请重新指定用户名!";
                    return response;
                }

                //应用号与商户一致
                if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.UserInfo.FK_MerchantID, request.Body.UserInfo.FK_MerchantAppID))
                {
                    response.IsSuccess = false;
                    response.Message = "商户号与应用号不匹配,请核对后再试!";
                    return response;
                }

                //限制商户
                if (base.IsOnlyCurrentMerchant && request.Body.UserInfo.FK_MerchantID != base.CurrentUserModel.FK_MerchantID)
                {
                    response.IsSuccess = false;
                    response.Message = "只能在自己所属的商户下面添加用户信息!";
                    return response;
                }

                //角色是否越界
                var roleList = this.sysRoleBLL.GetModelList(request.Body.RoleIdList);
                if (null != roleList && roleList.Count > 0 && roleList.Exists(k => k.FK_MerchantID != request.Body.UserInfo.FK_MerchantID))
                {
                    response.IsSuccess = false;
                    response.Message = "角色与用户所在商户不匹配!";
                    return response;
                }

                #endregion 数据校验

                XCLCMS.Data.BLL.Strategy.UserInfo.UserInfoContext userInfoContext = new Data.BLL.Strategy.UserInfo.UserInfoContext();
                userInfoContext.CurrentUserInfo = base.CurrentUserModel;
                userInfoContext.UserInfo = request.Body.UserInfo;
                userInfoContext.UserRoleIDs = request.Body.RoleIdList;
                userInfoContext.HandleType = Data.BLL.Strategy.StrategyLib.HandleType.ADD;

                XCLCMS.Data.BLL.Strategy.ExecuteStrategy strategy = new Data.BLL.Strategy.ExecuteStrategy(new List <Data.BLL.Strategy.BaseStrategy>()
                {
                    new XCLCMS.Data.BLL.Strategy.UserInfo.UserInfo()
                });
                if (XCLCMS.Lib.Permission.PerHelper.HasPermission(base.CurrentUserModel.UserInfoID, Lib.Permission.Function.FunctionEnum.SysFun_SetUserRole))
                {
                    strategy.StrategyList.Add(new XCLCMS.Data.BLL.Strategy.UserInfo.RoleInfo());
                }
                strategy.Execute <XCLCMS.Data.BLL.Strategy.UserInfo.UserInfoContext>(userInfoContext);

                if (strategy.Result != Data.BLL.Strategy.StrategyLib.ResultEnum.FAIL)
                {
                    response.Message = "添加成功!";
                    response.IsSuccess = true;
                }
                else
                {
                    response.Message = strategy.ResultMessage;
                    response.IsSuccess = false;
                    XCLNetLogger.Log.WriteLog(XCLNetLogger.Config.LogConfig.LogLevel.ERROR, "添加用户信息失败", strategy.ResultMessage);
                }

                return response;
            }));
        }
Example #19
0
        /// <summary>
        /// 修改商户应用信息
        /// </summary>
        public APIResponseEntity <bool> Update(APIRequestEntity <XCLCMS.Data.Model.MerchantApp> request)
        {
            var response = new APIResponseEntity <bool>();

            request.Body.AppKey = (request.Body.AppKey ?? "").Trim().ToUpper();

            #region 数据校验

            var model = merchantAppBLL.GetModel(request.Body.MerchantAppID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的商户应用信息!";
                return(response);
            }

            if (!XCLNetTools.Common.Consts.RegMD5_32Uppercase.IsMatch(request.Body.AppKey))
            {
                response.IsSuccess = false;
                response.Message   = "请提供有效的AppKey(32位大写MD5值)!";
                return(response);
            }

            if (!string.Equals(request.Body.AppKey, model.AppKey, StringComparison.OrdinalIgnoreCase) && null != this.merchantAppBLL.GetModel(request.Body.AppKey))
            {
                response.IsSuccess = false;
                response.Message   = string.Format("AppKey:{0},已经被占用了!", request.Body.AppKey);
                return(response);
            }

            if (!string.Equals(model.MerchantAppName, request.Body.MerchantAppName))
            {
                if (this.merchantAppBLL.IsExistMerchantAppName(request.Body.MerchantAppName))
                {
                    response.IsSuccess = false;
                    response.Message   = string.Format("商户应用名【{0}】已存在!", request.Body.MerchantAppName);
                    return(response);
                }
            }

            #endregion 数据校验

            model.AppKey          = request.Body.AppKey;
            model.RecordState     = request.Body.RecordState;
            model.CopyRight       = request.Body.CopyRight;
            model.MerchantAppName = request.Body.MerchantAppName;
            model.MetaDescription = request.Body.MetaDescription;
            model.MetaKeyWords    = request.Body.MetaKeyWords;
            model.MetaTitle       = request.Body.MetaTitle;
            model.ResourceVersion = request.Body.ResourceVersion;
            model.WebURL          = request.Body.WebURL;
            model.Email           = request.Body.Email;
            model.Remark          = request.Body.Remark;
            model.UpdaterID       = this.ContextInfo.UserInfoID;
            model.UpdaterName     = this.ContextInfo.UserName;
            model.UpdateTime      = DateTime.Now;

            response.IsSuccess = this.merchantAppBLL.Update(model);
            if (response.IsSuccess)
            {
                response.Message = "商户应用信息修改成功!";
            }
            else
            {
                response.Message = "商户应用信息修改失败!";
            }
            return(response);
        }
Example #20
0
        public async Task <APIResponseEntity <bool> > Update([FromBody] APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.UserInfo.AddOrUpdateEntity> request)
        {
            return(await Task.Run(() =>
            {
                var response = new APIResponseEntity <bool>();

                #region 数据校验

                if (null == request.Body.UserInfo)
                {
                    response.IsSuccess = false;
                    response.Message = "请指定用户信息!";
                    return response;
                }

                var model = this.userInfoBLL.GetModel(request.Body.UserInfo.UserInfoID);
                if (null == model)
                {
                    response.IsSuccess = false;
                    response.Message = "请指定有效的用户信息!";
                    return response;
                }

                request.Body.UserInfo.UserName = (request.Body.UserInfo.UserName ?? "").Trim();
                if (!string.IsNullOrWhiteSpace(request.Body.UserInfo.Pwd))
                {
                    request.Body.UserInfo.Pwd = XCLCMS.WebAPI.Library.EncryptHelper.EncryptStringMD5(request.Body.UserInfo.Pwd);
                }

                //商户必须存在
                var merchant = this.merchantBLL.GetModel(request.Body.UserInfo.FK_MerchantID);
                if (null == merchant)
                {
                    response.IsSuccess = false;
                    response.Message = "无效的商户号!";
                    return response;
                }

                //应用号与商户一致
                if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.UserInfo.FK_MerchantID, request.Body.UserInfo.FK_MerchantAppID))
                {
                    response.IsSuccess = false;
                    response.Message = "商户号与应用号不匹配,请核对后再试!";
                    return response;
                }

                //限制商户
                if (base.IsOnlyCurrentMerchant && request.Body.UserInfo.FK_MerchantID != base.CurrentUserModel.FK_MerchantID)
                {
                    response.IsSuccess = false;
                    response.Message = "只能在自己所属的商户下面修改用户信息!";
                    return response;
                }

                //角色是否越界
                var roleList = this.sysRoleBLL.GetModelList(request.Body.RoleIdList);
                if (null != roleList && roleList.Count > 0 && roleList.Exists(k => k.FK_MerchantID != request.Body.UserInfo.FK_MerchantID))
                {
                    response.IsSuccess = false;
                    response.Message = "角色与用户所在商户不匹配!";
                    return response;
                }

                #endregion 数据校验

                model.RecordState = request.Body.UserInfo.RecordState;
                model.AccessToken = request.Body.UserInfo.AccessToken;
                model.AccessType = request.Body.UserInfo.AccessType;
                model.Age = request.Body.UserInfo.Age;
                model.Birthday = request.Body.UserInfo.Birthday;
                model.Email = request.Body.UserInfo.Email;
                model.FK_MerchantID = request.Body.UserInfo.FK_MerchantID;
                model.FK_MerchantAppID = request.Body.UserInfo.FK_MerchantAppID;
                model.NickName = request.Body.UserInfo.NickName;
                model.OtherContact = request.Body.UserInfo.OtherContact;
                if (!string.IsNullOrWhiteSpace(request.Body.UserInfo.Pwd))
                {
                    model.Pwd = request.Body.UserInfo.Pwd;
                }
                model.QQ = request.Body.UserInfo.QQ;
                model.RealName = request.Body.UserInfo.RealName;
                model.Remark = request.Body.UserInfo.Remark;
                model.SexType = request.Body.UserInfo.SexType;
                model.Tel = request.Body.UserInfo.Tel;
                model.UserState = request.Body.UserInfo.UserState;

                model.UpdaterID = base.CurrentUserModel.UserInfoID;
                model.UpdaterName = base.CurrentUserModel.UserName;
                model.UpdateTime = DateTime.Now;

                XCLCMS.Data.BLL.Strategy.UserInfo.UserInfoContext userInfoContext = new Data.BLL.Strategy.UserInfo.UserInfoContext();
                userInfoContext.CurrentUserInfo = base.CurrentUserModel;
                userInfoContext.UserInfo = model;
                userInfoContext.UserRoleIDs = request.Body.RoleIdList;
                userInfoContext.HandleType = Data.BLL.Strategy.StrategyLib.HandleType.UPDATE;

                XCLCMS.Data.BLL.Strategy.ExecuteStrategy strategy = new Data.BLL.Strategy.ExecuteStrategy(new List <Data.BLL.Strategy.BaseStrategy>()
                {
                    new XCLCMS.Data.BLL.Strategy.UserInfo.UserInfo()
                });
                if (XCLCMS.Lib.Permission.PerHelper.HasPermission(base.CurrentUserModel.UserInfoID, Lib.Permission.Function.FunctionEnum.SysFun_SetUserRole))
                {
                    strategy.StrategyList.Add(new XCLCMS.Data.BLL.Strategy.UserInfo.RoleInfo());
                }
                strategy.Execute <XCLCMS.Data.BLL.Strategy.UserInfo.UserInfoContext>(userInfoContext);

                if (strategy.Result != Data.BLL.Strategy.StrategyLib.ResultEnum.FAIL)
                {
                    response.Message = "修改成功!";
                    response.IsSuccess = true;
                }
                else
                {
                    response.Message = strategy.ResultMessage;
                    response.IsSuccess = false;
                    XCLNetLogger.Log.WriteLog(XCLNetLogger.Config.LogConfig.LogLevel.ERROR, "修改用户信息失败", strategy.ResultMessage);
                }

                return response;
            }));
        }
Example #21
0
        /// <summary>
        /// 新增文章信息
        /// </summary>
        public APIResponseEntity <bool> Add(APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.Article.AddOrUpdateEntity> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            if (null == request.Body.Article)
            {
                response.IsSuccess = false;
                response.Message   = "请指定文章信息!";
                return(response);
            }
            if (string.IsNullOrWhiteSpace(request.Body.Article.Code))
            {
                request.Body.Article.Code = request.Body.Article.ArticleID.ToString();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.AuthorName))
            {
                request.Body.Article.AuthorName = request.Body.Article.AuthorName.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Code))
            {
                request.Body.Article.Code = request.Body.Article.Code.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Comments))
            {
                request.Body.Article.Comments = request.Body.Article.Comments.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Contents))
            {
                request.Body.Article.Contents = request.Body.Article.Contents.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.FromInfo))
            {
                request.Body.Article.FromInfo = request.Body.Article.FromInfo.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.KeyWords))
            {
                request.Body.Article.KeyWords = request.Body.Article.KeyWords.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.LinkUrl))
            {
                request.Body.Article.LinkUrl = request.Body.Article.LinkUrl.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.SubTitle))
            {
                request.Body.Article.SubTitle = request.Body.Article.SubTitle.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Summary))
            {
                request.Body.Article.Summary = request.Body.Article.Summary.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Tags))
            {
                request.Body.Article.Tags = request.Body.Article.Tags.Trim();
            }
            if (!string.IsNullOrEmpty(request.Body.Article.Title))
            {
                request.Body.Article.Title = request.Body.Article.Title.Trim();
            }

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.Article.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            //必须指定文章信息
            if (string.IsNullOrEmpty(request.Body.Article.Title))
            {
                response.IsSuccess = false;
                response.Message   = "请指定文章标题!";
                return(response);
            }

            //如果内容类型为链接,则必须指定链接地址
            if (string.IsNullOrWhiteSpace(request.Body.Article.LinkUrl) && string.Equals(request.Body.Article.ArticleContentType, XCLCMS.Data.CommonHelper.EnumType.ArticleContentTypeEnum.URL.ToString(), StringComparison.OrdinalIgnoreCase))
            {
                response.IsSuccess = false;
                response.Message   = "请指定跳转链接地址!";
                return(response);
            }

            //code是否被占用
            if (!string.IsNullOrEmpty(request.Body.Article.Code) && this.articleBLL.IsExistCode(request.Body.Article.Code))
            {
                response.IsSuccess = false;
                response.Message   = "文章标识Code被占用,请重新指定!";
                return(response);
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.Article.FK_MerchantID, request.Body.Article.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            #endregion 数据校验

            var articleContext = new Data.BLL.Strategy.Article.ArticleContext();
            articleContext.ContextInfo             = this.ContextInfo;
            articleContext.Article                 = request.Body.Article;
            articleContext.HandleType              = Data.BLL.Strategy.StrategyLib.HandleType.ADD;
            articleContext.ArticleTypeIDList       = request.Body.ArticleTypeIDList;
            articleContext.ArticleAttachmentIDList = request.Body.ArticleAttachmentIDList;

            XCLCMS.Data.BLL.Strategy.ExecuteStrategy strategy = new Data.BLL.Strategy.ExecuteStrategy(new List <Data.BLL.Strategy.BaseStrategy>()
            {
                new XCLCMS.Data.BLL.Strategy.Article.Article(),
                new XCLCMS.Data.BLL.Strategy.Article.ObjectAttachment(),
                new XCLCMS.Data.BLL.Strategy.Article.ArticleType(),
                new XCLCMS.Data.BLL.Strategy.Article.Tags()
            });
            strategy.Execute(articleContext);

            if (strategy.Result != Data.BLL.Strategy.StrategyLib.ResultEnum.FAIL)
            {
                response.Message   = "添加成功!";
                response.IsSuccess = true;
            }
            else
            {
                response.Message   = strategy.ResultMessage;
                response.IsSuccess = false;
            }

            return(response);
        }
Example #22
0
        public async Task <APIResponseEntity <bool> > Update([FromBody] APIRequestEntity <XCLCMS.Data.Model.MerchantApp> request)
        {
            return(await Task.Run(() =>
            {
                var response = new APIResponseEntity <bool>();

                #region 数据校验

                var model = merchantAppBLL.GetModel(request.Body.MerchantAppID);
                if (null == model)
                {
                    response.IsSuccess = false;
                    response.Message = "请指定有效的商户应用信息!";
                    return response;
                }

                if (!string.Equals(model.MerchantAppName, request.Body.MerchantAppName))
                {
                    if (this.merchantAppBLL.IsExistMerchantAppName(request.Body.MerchantAppName))
                    {
                        response.IsSuccess = false;
                        response.Message = string.Format("商户应用名【{0}】已存在!", request.Body.MerchantAppName);
                        return response;
                    }
                }

                //限制商户
                if (base.IsOnlyCurrentMerchant && request.Body.FK_MerchantID != base.CurrentUserModel.FK_MerchantID)
                {
                    response.IsSuccess = false;
                    response.Message = "只能在自己所属的商户下面修改应用信息!";
                    return response;
                }

                #endregion 数据校验

                model.AppKey = XCLCMS.WebAPI.Library.EncryptHelper.EncryptStringMD5(request.Body.MerchantAppID.ToString(), XCLCMS.WebAPI.Library.EncryptHelper.MerchantAppIDMd5Key);
                model.RecordState = request.Body.RecordState;
                model.CopyRight = request.Body.CopyRight;
                model.MerchantAppName = request.Body.MerchantAppName;
                model.MetaDescription = request.Body.MetaDescription;
                model.MetaKeyWords = request.Body.MetaKeyWords;
                model.MetaTitle = request.Body.MetaTitle;
                model.ResourceVersion = request.Body.ResourceVersion;
                model.WebURL = request.Body.WebURL;
                model.Email = request.Body.Email;
                model.Remark = request.Body.Remark;
                model.UpdaterID = base.CurrentUserModel.UserInfoID;
                model.UpdaterName = base.CurrentUserModel.UserName;
                model.UpdateTime = DateTime.Now;

                response.IsSuccess = this.merchantAppBLL.Update(model);
                if (response.IsSuccess)
                {
                    response.Message = "商户应用信息修改成功!";
                }
                else
                {
                    response.Message = "商户应用信息修改失败!";
                }
                return response;
            }));
        }
Example #23
0
        /// <summary>
        /// 修改密码
        /// </summary>
        public APIResponseEntity <bool> UpdatePassword(APIRequestEntity <PasswordEntity> request)
        {
            var response = new APIResponseEntity <bool>();

            if (string.IsNullOrWhiteSpace(request.Body.OldPwd))
            {
                response.IsSuccess = false;
                response.Message   = "必须指定原密码!";
                return(response);
            }

            if (string.IsNullOrWhiteSpace(request.Body.NewPwd))
            {
                response.IsSuccess = false;
                response.Message   = "必须指定新密码!";
                return(response);
            }

            if (this.ContextInfo.UserInfoID != request.Body.UserInfoID)
            {
                response.IsSuccess = false;
                response.Message   = "您要修改的用户信息与当前的操作用户不一致!";
                return(response);
            }

            var model = this.userInfoBLL.GetModel(request.Body.UserInfoID);

            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的用户信息!";
                return(response);
            }

            if (XCLCMS.Data.CommonHelper.EncryptHelper.EncryptStringMD5(request.Body.OldPwd) != model.Pwd)
            {
                response.IsSuccess = false;
                response.Message   = "请输入正确的原密码!";
                return(response);
            }

            if (XCLCMS.Data.CommonHelper.EncryptHelper.EncryptStringMD5(request.Body.NewPwd) == model.Pwd)
            {
                response.IsSuccess = false;
                response.Message   = "新密码不能与原密码相同!";
                return(response);
            }

            model.Pwd = request.Body.NewPwd;

            this.iUserInfoService.ContextInfo = this.ContextInfo;
            response = this.iUserInfoService.Update(new APIRequestEntity <Data.WebAPIEntity.RequestEntity.UserInfo.AddOrUpdateEntity>()
            {
                Body = new Data.WebAPIEntity.RequestEntity.UserInfo.AddOrUpdateEntity()
                {
                    UserInfo = model
                }
            });

            return(response);
        }
Example #24
0
        public async Task <APIResponseEntity <bool> > Update([FromBody] APIRequestEntity <XCLCMS.Data.Model.SysWebSetting> request)
        {
            return(await Task.Run(() =>
            {
                var response = new APIResponseEntity <bool>();

                #region 数据校验

                var model = this.sysWebSettingBLL.GetModel(request.Body.SysWebSettingID);
                if (null == model)
                {
                    response.IsSuccess = false;
                    response.Message = "请指定有效的商户信息!";
                    return response;
                }

                if (!string.Equals(model.KeyName, request.Body.KeyName))
                {
                    if (this.sysWebSettingBLL.IsExistKeyName(request.Body.KeyName))
                    {
                        response.IsSuccess = false;
                        response.Message = string.Format("配置名【{0}】已存在!", request.Body.KeyName);
                        return response;
                    }
                }

                //限制商户
                if (base.IsOnlyCurrentMerchant && request.Body.FK_MerchantID != base.CurrentUserModel.FK_MerchantID)
                {
                    response.IsSuccess = false;
                    response.Message = "只能在自己所属的商户下面修改配置信息!";
                    return response;
                }

                //应用号与商户一致
                if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.FK_MerchantID, request.Body.FK_MerchantAppID))
                {
                    response.IsSuccess = false;
                    response.Message = "商户号与应用号不匹配,请核对后再试!";
                    return response;
                }

                #endregion 数据校验

                model.FK_MerchantAppID = request.Body.FK_MerchantAppID;
                model.FK_MerchantID = request.Body.FK_MerchantID;
                model.KeyName = request.Body.KeyName;
                model.KeyValue = request.Body.KeyValue;
                model.TestKeyValue = request.Body.TestKeyValue;
                model.UATKeyValue = request.Body.UATKeyValue;
                model.PrdKeyValue = request.Body.PrdKeyValue;
                model.Remark = request.Body.Remark;
                model.UpdaterID = base.CurrentUserModel.UserInfoID;
                model.UpdaterName = base.CurrentUserModel.UserName;
                model.UpdateTime = DateTime.Now;

                response.IsSuccess = this.sysWebSettingBLL.Update(model);
                if (response.IsSuccess)
                {
                    response.Message = "系统配置信息修改成功!";
                }
                else
                {
                    response.Message = "系统配置信息修改失败!";
                }
                return response;
            }));
        }
Example #25
0
        /// <summary>
        /// 修改友情链接信息
        /// </summary>
        public APIResponseEntity <bool> Update(APIRequestEntity <XCLCMS.Data.Model.FriendLinks> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            var model = friendLinksBLL.GetModel(request.Body.FriendLinkID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的友情链接信息!";
                return(response);
            }

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            if (!string.Equals(model.Title, request.Body.Title))
            {
                if (this.friendLinksBLL.IsExist(new Data.Model.Custom.FriendLinks_TitleCondition()
                {
                    Title = request.Body.Title,
                    FK_MerchantAppID = request.Body.FK_MerchantAppID,
                    FK_MerchantID = request.Body.FK_MerchantID
                }))
                {
                    response.IsSuccess = false;
                    response.Message   = string.Format("友情链接标题【{0}】已存在!", request.Body.Title);
                    return(response);
                }
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.FK_MerchantID, request.Body.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            #endregion 数据校验

            model.Title            = request.Body.Title;
            model.Description      = request.Body.Description;
            model.URL              = request.Body.URL;
            model.ContactName      = request.Body.ContactName;
            model.Email            = request.Body.Email;
            model.QQ               = request.Body.QQ;
            model.Tel              = request.Body.Tel;
            model.Remark           = request.Body.Remark;
            model.OtherContact     = request.Body.OtherContact;
            model.FK_MerchantID    = request.Body.FK_MerchantID;
            model.FK_MerchantAppID = request.Body.FK_MerchantAppID;
            model.RecordState      = request.Body.RecordState;
            model.UpdaterID        = this.ContextInfo.UserInfoID;
            model.UpdaterName      = this.ContextInfo.UserName;
            model.UpdateTime       = DateTime.Now;

            response.IsSuccess = this.friendLinksBLL.Update(model);
            if (response.IsSuccess)
            {
                response.Message = "友情链接信息修改成功!";
            }
            else
            {
                response.Message = "友情链接信息修改失败!";
            }
            return(response);
        }
        /// <summary>
        /// 根据code来获取字典的easyui tree格式
        /// </summary>
        public APIResponseEntity <List <XCLNetTools.Entity.EasyUI.TreeItem> > GetEasyUITreeByCode(APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.SysDic.GetEasyUITreeByCodeEntity> request)
        {
            var response = new APIResponseEntity <List <XCLNetTools.Entity.EasyUI.TreeItem> >();

            response.IsSuccess = true;

            List <XCLNetTools.Entity.EasyUI.TreeItem> tree = new List <XCLNetTools.Entity.EasyUI.TreeItem>();

            if (string.IsNullOrEmpty(request.Body.Code))
            {
                response.IsSuccess = true;
                response.Body      = new List <XCLNetTools.Entity.EasyUI.TreeItem>();
                return(response);
            }

            var rootModel = sysDicBLL.GetModelByCode(request.Body.Code);

            if (null == rootModel)
            {
                response.IsSuccess = true;
                response.Body      = new List <XCLNetTools.Entity.EasyUI.TreeItem>();
                return(response);
            }

            var allData   = this.vSysDicBLL.GetAllUnderListByCode(request.Body.Code);
            var rootLayer = allData.Where(k => k.ParentID == rootModel.SysDicID).ToList();

            if (rootLayer.IsNotNullOrEmpty())
            {
                for (int idx = 0; idx < rootLayer.Count; idx++)
                {
                    var current = rootLayer[idx];

                    tree.Add(new XCLNetTools.Entity.EasyUI.TreeItem()
                    {
                        ID   = current.SysDicID.ToString(),
                        Text = current.DicName
                    });

                    Action <XCLNetTools.Entity.EasyUI.TreeItem> getChildAction = null;
                    getChildAction = new Action <XCLNetTools.Entity.EasyUI.TreeItem>((parentModel) =>
                    {
                        var childs = allData.Where(k => k.ParentID == Convert.ToInt64(parentModel.ID)).ToList();
                        if (childs.IsNotNullOrEmpty())
                        {
                            parentModel.Children = new List <XCLNetTools.Entity.EasyUI.TreeItem>();
                            childs.ForEach(m =>
                            {
                                var treeItem = new XCLNetTools.Entity.EasyUI.TreeItem()
                                {
                                    ID    = m.SysDicID.ToString(),
                                    State = m.IsLeaf == 1 ? "open" : "closed",
                                    Text  = m.DicName
                                };
                                getChildAction(treeItem);
                                parentModel.Children.Add(treeItem);
                            });
                        }
                    });

                    getChildAction(tree.Find(k => k.ID == current.SysDicID.ToString()));
                }
            }

            response.IsSuccess = true;
            response.Body      = tree;

            return(response);
        }
Example #27
0
        /// <summary>
        /// 修改用户信息
        /// </summary>
        public APIResponseEntity <bool> Update(APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.UserInfo.AddOrUpdateEntity> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            if (null == request.Body.UserInfo)
            {
                response.IsSuccess = false;
                response.Message   = "请指定用户信息!";
                return(response);
            }

            var model = this.userInfoBLL.GetModel(request.Body.UserInfo.UserInfoID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的用户信息!";
                return(response);
            }

            request.Body.UserInfo.UserName = (request.Body.UserInfo.UserName ?? "").Trim();
            if (!string.IsNullOrWhiteSpace(request.Body.UserInfo.Pwd) && !XCLNetTools.Encrypt.MD5.Is32MD5(request.Body.UserInfo.Pwd))
            {
                request.Body.UserInfo.Pwd = XCLCMS.Data.CommonHelper.EncryptHelper.EncryptStringMD5(request.Body.UserInfo.Pwd);
            }

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.UserInfo.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            //应用号与商户一致
            if (!this.merchantAppBLL.IsTheSameMerchantInfoID(request.Body.UserInfo.FK_MerchantID, request.Body.UserInfo.FK_MerchantAppID))
            {
                response.IsSuccess = false;
                response.Message   = "商户号与应用号不匹配,请核对后再试!";
                return(response);
            }

            //角色是否越界
            var roleList = this.sysRoleBLL.GetModelList(request.Body.RoleIdList);
            if (null != roleList && roleList.Count > 0 && roleList.Exists(k => k.FK_MerchantID != request.Body.UserInfo.FK_MerchantID))
            {
                response.IsSuccess = false;
                response.Message   = "角色与用户所在商户不匹配!";
                return(response);
            }

            #endregion 数据校验

            model.RecordState      = request.Body.UserInfo.RecordState;
            model.AccessToken      = request.Body.UserInfo.AccessToken;
            model.AccessType       = request.Body.UserInfo.AccessType;
            model.Age              = request.Body.UserInfo.Age;
            model.Birthday         = request.Body.UserInfo.Birthday;
            model.Email            = request.Body.UserInfo.Email;
            model.FK_MerchantID    = request.Body.UserInfo.FK_MerchantID;
            model.FK_MerchantAppID = request.Body.UserInfo.FK_MerchantAppID;
            model.NickName         = request.Body.UserInfo.NickName;
            model.OtherContact     = request.Body.UserInfo.OtherContact;
            if (!string.IsNullOrWhiteSpace(request.Body.UserInfo.Pwd))
            {
                model.Pwd = request.Body.UserInfo.Pwd;
            }
            model.QQ        = request.Body.UserInfo.QQ;
            model.RealName  = request.Body.UserInfo.RealName;
            model.Remark    = request.Body.UserInfo.Remark;
            model.SexType   = request.Body.UserInfo.SexType;
            model.Tel       = request.Body.UserInfo.Tel;
            model.UserState = request.Body.UserInfo.UserState;

            if (!string.IsNullOrWhiteSpace(request.Body.UserInfo.UserType))
            {
                model.UserType = request.Body.UserInfo.UserType;
            }

            XCLCMS.Data.BLL.Strategy.UserInfo.UserInfoContext userInfoContext = new Data.BLL.Strategy.UserInfo.UserInfoContext();
            userInfoContext.ContextInfo = this.ContextInfo;
            userInfoContext.UserInfo    = model;
            userInfoContext.UserRoleIDs = request.Body.RoleIdList;
            userInfoContext.HandleType  = Data.BLL.Strategy.StrategyLib.HandleType.UPDATE;

            XCLCMS.Data.BLL.Strategy.ExecuteStrategy strategy = new Data.BLL.Strategy.ExecuteStrategy(new List <Data.BLL.Strategy.BaseStrategy>()
            {
                new XCLCMS.Data.BLL.Strategy.UserInfo.UserInfo()
            });
            if (userInfoContext.UserRoleIDs.IsNotNullOrEmpty())
            {
                strategy.StrategyList.Add(new XCLCMS.Data.BLL.Strategy.UserInfo.RoleInfo());
            }
            strategy.Execute <XCLCMS.Data.BLL.Strategy.UserInfo.UserInfoContext>(userInfoContext);

            if (strategy.Result != Data.BLL.Strategy.StrategyLib.ResultEnum.FAIL)
            {
                response.Message   = "修改成功!";
                response.IsSuccess = true;
            }
            else
            {
                response.Message   = strategy.ResultMessage;
                response.IsSuccess = false;
            }

            return(response);
        }
        /// <summary>
        /// 根据条件获取字典的easy tree 列表
        /// </summary>
        public APIResponseEntity <List <XCLNetTools.Entity.EasyUI.TreeItem> > GetEasyUITreeByCondition(APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.SysDic.GetEasyUITreeByConditionEntity> request)
        {
            var response = new APIResponseEntity <List <XCLNetTools.Entity.EasyUI.TreeItem> >();

            response.IsSuccess = true;

            List <XCLCMS.Data.Model.View.v_SysDic>    allData = null;
            List <XCLNetTools.Entity.EasyUI.TreeItem> tree    = new List <XCLNetTools.Entity.EasyUI.TreeItem>();

            var merchantModel = this.merchantBLL.GetModel(request.Body.MerchantID);

            if (null == merchantModel)
            {
                response.IsSuccess = false;
                response.Message   = "您指定的商户号无效!";
                return(response);
            }

            allData = this.vSysDicBLL.GetModelList("");

            if (request.Body.MerchantID > 0 && null != allData && allData.Count > 0)
            {
                allData = allData.Where(k => k.FK_MerchantID <= 0 || k.FK_MerchantID == request.Body.MerchantID).ToList();
            }

            if (allData.IsNotNullOrEmpty())
            {
                var root = allData.Where(k => k.ParentID == 0).FirstOrDefault();//根节点
                if (null != root)
                {
                    tree.Add(new XCLNetTools.Entity.EasyUI.TreeItem()
                    {
                        ID    = root.SysDicID.ToString(),
                        State = root.IsLeaf == 1 ? "open" : "closed",
                        Text  = root.DicName
                    });

                    Action <XCLNetTools.Entity.EasyUI.TreeItem> getChildAction = null;
                    getChildAction = new Action <XCLNetTools.Entity.EasyUI.TreeItem>((parentModel) =>
                    {
                        var childs = allData.Where(k => k.ParentID == Convert.ToInt64(parentModel.ID)).ToList();
                        if (childs.IsNotNullOrEmpty())
                        {
                            childs = childs.OrderBy(k => k.Sort).ToList();
                            parentModel.Children = new List <XCLNetTools.Entity.EasyUI.TreeItem>();
                            childs.ForEach(m =>
                            {
                                var treeItem = new XCLNetTools.Entity.EasyUI.TreeItem()
                                {
                                    ID    = m.SysDicID.ToString(),
                                    State = m.IsLeaf == 1 ? "open" : "closed",
                                    Text  = m.DicName
                                };
                                getChildAction(treeItem);
                                parentModel.Children.Add(treeItem);
                            });
                        }
                    });

                    //从根节点开始
                    getChildAction(tree[0]);
                }
            }
            response.Body = tree;
            return(response);
        }
Example #29
0
        /// <summary>
        /// 新增商户信息
        /// </summary>
        public APIResponseEntity <bool> Add(APIRequestEntity <XCLCMS.Data.Model.Merchant> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            request.Body.MerchantName = (request.Body.MerchantName ?? "").Trim();

            if (string.IsNullOrWhiteSpace(request.Body.MerchantName))
            {
                response.IsSuccess = false;
                response.Message   = "请提供商户名!";
                return(response);
            }

            if (this.merchantBLL.IsExistMerchantName(request.Body.MerchantName))
            {
                response.IsSuccess = false;
                response.Message   = string.Format("商户名【{0}】已存在!", request.Body.MerchantName);
                return(response);
            }

            #endregion 数据校验

            request.Body.CreaterID   = this.ContextInfo.UserInfoID;
            request.Body.CreaterName = this.ContextInfo.UserName;
            request.Body.CreateTime  = DateTime.Now;
            request.Body.UpdaterID   = request.Body.CreaterID;
            request.Body.UpdaterName = request.Body.CreaterName;
            request.Body.UpdateTime  = request.Body.CreateTime;

            var sysRoleId    = XCLCMS.Data.BLL.Common.Common.GenerateID(Data.CommonHelper.EnumType.IDTypeEnum.RLE);
            var subSysRoleId = XCLCMS.Data.BLL.Common.Common.GenerateID(Data.CommonHelper.EnumType.IDTypeEnum.RLE);
            var sysDicID     = XCLCMS.Data.BLL.Common.Common.GenerateID(Data.CommonHelper.EnumType.IDTypeEnum.DIC);

            using (var scope = new TransactionScope())
            {
                bool flag = false;

                //添加商户基础信息
                flag = this.merchantBLL.Add(request.Body);

                //初始化角色节点
                if (flag)
                {
                    //添加根角色节点
                    var rootRole = sysRoleBLL.GetRootModel();

                    flag = sysRoleBLL.Add(new Data.Model.SysRole()
                    {
                        CreaterID     = this.ContextInfo.UserInfoID,
                        CreaterName   = this.ContextInfo.UserName,
                        FK_MerchantID = request.Body.MerchantID,
                        ParentID      = rootRole.SysRoleID,
                        RecordState   = XCLCMS.Data.CommonHelper.EnumType.RecordStateEnum.N.ToString(),
                        CreateTime    = DateTime.Now,
                        RoleName      = request.Body.MerchantName,
                        UpdaterID     = this.ContextInfo.UserInfoID,
                        UpdaterName   = this.ContextInfo.UserName,
                        UpdateTime    = DateTime.Now,
                        SysRoleID     = sysRoleId
                    });
                }

                //初始化字典库节点
                if (flag)
                {
                    var rootDic = this.sysDicBLL.GetRootModel();
                    flag = this.sysDicBLL.Add(new Data.Model.SysDic()
                    {
                        CreaterID     = this.ContextInfo.UserInfoID,
                        CreaterName   = this.ContextInfo.UserName,
                        CreateTime    = DateTime.Now,
                        DicName       = request.Body.MerchantName,
                        FK_MerchantID = request.Body.MerchantID,
                        ParentID      = rootDic.SysDicID,
                        RecordState   = XCLCMS.Data.CommonHelper.EnumType.RecordStateEnum.N.ToString(),
                        SysDicID      = sysDicID,
                        UpdaterID     = this.ContextInfo.UserInfoID,
                        UpdaterName   = this.ContextInfo.UserName,
                        UpdateTime    = DateTime.Now
                    });
                }

                response.IsSuccess = flag;
                if (response.IsSuccess)
                {
                    scope.Complete();
                }
            }

            //添加商户默认角色
            if (response.IsSuccess)
            {
                this.sysRoleWebAPIBLL.Add(new APIRequestEntity <XCLCMS.Data.WebAPIEntity.RequestEntity.SysRole.AddOrUpdateEntity>()
                {
                    Body = new XCLCMS.Data.WebAPIEntity.RequestEntity.SysRole.AddOrUpdateEntity()
                    {
                        SysRole = new Data.Model.SysRole()
                        {
                            CreaterID     = this.ContextInfo.UserInfoID,
                            CreaterName   = this.ContextInfo.UserName,
                            FK_MerchantID = request.Body.MerchantID,
                            ParentID      = sysRoleId,
                            RecordState   = XCLCMS.Data.CommonHelper.EnumType.RecordStateEnum.N.ToString(),
                            CreateTime    = DateTime.Now,
                            RoleName      = XCLCMS.Data.CommonHelper.SysRoleConst.DefaultRoleName,
                            UpdaterID     = this.ContextInfo.UserInfoID,
                            UpdaterName   = this.ContextInfo.UserName,
                            UpdateTime    = DateTime.Now,
                            SysRoleID     = subSysRoleId
                        },
                        FunctionIdList = request.Body.MerchantSystemType == XCLCMS.Data.CommonHelper.EnumType.MerchantSystemTypeEnum.NOR.ToString() ? this.sysFunctionWebAPIBLL.GetNormalMerchantFunctionIDList(new APIRequestEntity <object>()).Body : null
                    }
                });
            }

            if (response.Body)
            {
                response.Message = "商户信息添加成功!";
            }
            else
            {
                response.Message = "商户信息添加失败!";
            }

            return(response);
        }
Example #30
0
        /// <summary>
        /// 修改广告信息
        /// </summary>
        public APIResponseEntity <bool> Update(APIRequestEntity <XCLCMS.Data.Model.Ads> request)
        {
            var response = new APIResponseEntity <bool>();

            #region 数据校验

            var model = adsBLL.GetModel(request.Body.AdsID);
            if (null == model)
            {
                response.IsSuccess = false;
                response.Message   = "请指定有效的广告信息!";
                return(response);
            }

            request.Body.Title = (request.Body.Title ?? "").Trim();
            request.Body.Code  = (request.Body.Code ?? string.Empty).Trim();
            if (string.IsNullOrWhiteSpace(request.Body.Code))
            {
                request.Body.Code = request.Body.AdsID.ToString();
            }

            //商户必须存在
            var merchant = this.merchantBLL.GetModel(request.Body.FK_MerchantID);
            if (null == merchant)
            {
                response.IsSuccess = false;
                response.Message   = "无效的商户号!";
                return(response);
            }

            //code是否被占用
            if (!string.IsNullOrEmpty(request.Body.Code) && !string.Equals(model.Code, request.Body.Code, StringComparison.OrdinalIgnoreCase) && this.adsBLL.IsExistCode(request.Body.Code))
            {
                response.IsSuccess = false;
                response.Message   = "标识Code被占用,请重新指定!";
                return(response);
            }

            #endregion 数据校验

            model.Title            = request.Body.Title;
            model.Code             = request.Body.Code;
            model.AdsType          = request.Body.AdsType;
            model.URL              = request.Body.URL;
            model.Email            = request.Body.Email;
            model.QQ               = request.Body.QQ;
            model.Tel              = request.Body.Tel;
            model.Remark           = request.Body.Remark;
            model.OtherContact     = request.Body.OtherContact;
            model.FK_MerchantID    = request.Body.FK_MerchantID;
            model.FK_MerchantAppID = request.Body.FK_MerchantAppID;
            model.RecordState      = request.Body.RecordState;
            model.UpdaterID        = this.ContextInfo.UserInfoID;
            model.UpdaterName      = this.ContextInfo.UserName;
            model.UpdateTime       = DateTime.Now;
            model.AdHeight         = request.Body.AdHeight;
            model.AdWidth          = request.Body.AdWidth;
            model.Contents         = request.Body.Contents;
            model.EndTime          = request.Body.EndTime;
            model.NickName         = request.Body.NickName;
            model.StartTime        = request.Body.StartTime;
            model.URL              = request.Body.URL;
            model.URLOpenType      = request.Body.URLOpenType;

            response.IsSuccess = this.adsBLL.Update(model);
            if (response.IsSuccess)
            {
                response.Message = "广告信息修改成功!";
            }
            else
            {
                response.Message = "广告信息修改失败!";
            }
            return(response);
        }