/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
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); }
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; })); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
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); }
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; })); }
/// <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); }
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; })); }
/// <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); }
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; })); }
/// <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); }
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; })); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }