protected override DeleteKeyWordRD ProcessRequest(DTO.Base.APIRequest <DeleteKeyWordRP> pRequest) { var rd = new DeleteKeyWordRD(); string replyId = pRequest.Parameters.ReplyId; var bll = new WKeywordReplyBLL(CurrentUserInfo); var entity = bll.QueryByEntity(new WKeywordReplyEntity() { ReplyId = replyId }, null); if (entity != null) { bll.Delete(entity); } else { throw new APIException("无效的关键字标识") { ErrorCode = 120 }; } return(rd); }
protected override SaveDefaultKeyWordRD ProcessRequest(DTO.Base.APIRequest <SaveDefaultKeyWordRP> pRequest) { var rd = new SaveDefaultKeyWordRD(); var keywordList = pRequest.Parameters.KeyWordList; if (string.IsNullOrEmpty(keywordList.ApplicationId)) { throw new APIException("微信公众号不能为空") { ErrorCode = 124 }; } if (keywordList.BeLinkedType == 0) { throw new APIException("关联类型不能为空") { ErrorCode = 125 }; } if (keywordList.ReplyType == 0) { throw new APIException("回复类型不能为空") { ErrorCode = 126 }; } var bll = new WKeywordReplyBLL(CurrentUserInfo); var entity = new WKeywordReplyEntity//实体对象数据,含有文本信息 { ApplicationId = keywordList.ApplicationId, Keyword = keywordList.KeyWord, ReplyType = keywordList.ReplyType, Text = keywordList.Text }; if (keywordList.ReplyType == 1) { if (string.IsNullOrEmpty(keywordList.Text) || keywordList.Text == "") { //内容为空相当于关闭自动回复 - bob 2014-08-11**** //throw new APIException("文本不能为空") { ErrorCode = 120 }; entity.ReplyId = keywordList.ReplyId; bll.Delete(entity); } if (Encoding.Default.GetBytes(keywordList.Text).Length > 2048) { throw new APIException("文本超过了最大限制(2M)") { ErrorCode = 121 }; } } if (keywordList.ReplyType == 3) { if (keywordList.MaterialTextIds == null || keywordList.MaterialTextIds.Any() == false) { throw new APIException("图文消息不能为空") { ErrorCode = 124 }; } if (keywordList.MaterialTextIds.Any() == true && keywordList.MaterialTextIds.Length > 10) { throw new APIException("图文消息最大不能超过10条数据") { ErrorCode = 125 }; } } if (string.IsNullOrEmpty(keywordList.ReplyId)) { //var keywordEntity = bll.QueryByEntity(new WKeywordReplyEntity() //{ // ApplicationId = keywordList.ApplicationId //}, null); //if (keywordEntity != null && keywordEntity.Length > 0) //{ // bll.Delete(keywordEntity); //} var replyId = Utils.NewGuid();//新建 entity.ReplyId = replyId; bll.Create(entity); rd.ReplyId = replyId; } else { entity.ReplyId = keywordList.ReplyId;//修改 bll.Update(entity); rd.ReplyId = keywordList.ReplyId; } bll.UpdateWkeywordReplyByReplyId(rd.ReplyId, keywordList.BeLinkedType, keywordList.KeywordType, -1); if (keywordList.ReplyType == 3) { var mappingBll = new WMenuMTextMappingBLL(CurrentUserInfo); var mappingEntity = mappingBll.QueryByEntity(new WMenuMTextMappingEntity() { MenuId = rd.ReplyId }, null); if (mappingEntity.Length > 0) { mappingBll.Delete(mappingEntity);//每一次都先删除,然后再添加 } var textMappingEntity = new WMenuMTextMappingEntity(); foreach (var materialTextIdInfo in keywordList.MaterialTextIds) { textMappingEntity.MappingId = Guid.NewGuid(); textMappingEntity.MenuId = rd.ReplyId; textMappingEntity.DisplayIndex = materialTextIdInfo.DisplayIndex; textMappingEntity.TextId = materialTextIdInfo.TestId; textMappingEntity.CustomerId = CurrentUserInfo.ClientID; mappingBll.Create(textMappingEntity); } } return(rd); }