public ActionResult BatchUntagging() { MemberBatchTaggingArgs args = RequestArgs <MemberBatchTaggingArgs>(); if (args == null) { return(RespondResult(false, "参数无效。")); } NormalResult result = _memberTagManager.BatchUntagging(DomainContext, args); #region 操作日志 _operatedLogManager.Create(new OperatedLogEntity() { Domain = DomainContext.Domain.Id, AppId = DomainContext.AppId, User = UserContext.User.Id, IP = Request.UserHostAddress, Module = EnumModule.Member, Description = "设置用户的标签" }); #endregion return(RespondResult(result.Success, result.Message)); }
public NormalResult BatchUntagging(DomainContext domainContext, MemberBatchTaggingArgs args) { NormalResult result = new NormalResult(false); if (args == null || args.OpenIdList == null || args.OpenIdList.Length == 0) { result.Message = "没有指定要更新的会员。"; return(result); } WeixinTagBatchTaggingArgs apiArgs = new WeixinTagBatchTaggingArgs(); apiArgs.TagId = args.TagId; apiArgs.Data = new WeixinTagBatchTaggingArgs_Data(); apiArgs.Data.OpenIdList = args.OpenIdList; RequestApiResult updateResult = TagsApiWrapper.BatchUntagging(domainContext, apiArgs); if (updateResult.Success == false) { result.Message = updateResult.Message; return(result); } //更新数据库MEMBER表字段 List <CommandParameter> parameterList = new List <CommandParameter>(); parameterList.Add(new CommandParameter("@domain", domainContext.Domain.Id)); parameterList.Add(new CommandParameter("@appId", domainContext.AppId)); parameterList.Add(new CommandParameter("@tagId", args.TagId + ",")); StringBuilder sqlWhere = new StringBuilder(); for (int i = 0; i < args.OpenIdList.Length; i++) { sqlWhere.Append("@openId" + i); if (i < args.OpenIdList.Length - 1) { sqlWhere.Append(","); } parameterList.Add(new CommandParameter("@openId" + i, args.OpenIdList[i])); } _dataBase.ExecuteNonQuery( "UPDATE [Member] SET [TagList] = REPLACE([TagList],@tagId,'') WHERE [Domain] = @domain AND [AppId] = @appId AND CHARINDEX(@tagId,[TagList]) > 0 AND [OpenId] IN (" + sqlWhere.ToString() + ")", parameterList); result.Success = true; return(result); }