/// <summary> /// 刷新指定域下面分组信息,将调用微信API获取最新分组信息 /// </summary> /// <param name="domainContext"></param> public void SyncGroupList(DomainContext domainContext) { RequestApiResult <WeixinGetGroupListResult> result = GroupApiWrapper.GetGroupList(domainContext); if (result.Success) { List <CommandParameter> parameterList = new List <CommandParameter>(); parameterList.Add(new CommandParameter("@domain", domainContext.Domain.Id)); parameterList.Add(new CommandParameter("@appId", domainContext.AppId)); _dataBase.ExecuteNonQuery("DELETE FROM [MemberGroup] WHERE [Domain] = @domain AND [AppId] = @appId", parameterList); foreach (WeixinGetGroupListResult_Group item in result.ApiResult.GroupList) { MemberGroupEntity group = new MemberGroupEntity(); group.GroupId = item.Id; group.Name = item.Name; group.Domain = domainContext.Domain.Id; group.AppId = domainContext.AppId; _dataBase.Insert(group); } //过滤用户,将已不存在的分组置为0 } else { _log.Write("RefreshGroupList 失败", result.Message, TraceEventType.Warning); } }
public string MoveMemberListToGroup(DomainContext domainContext, MoveMemberListToGroupArgs args) { WeixinSetUserListGroupArgs weixinArgs = new WeixinSetUserListGroupArgs(); weixinArgs.OpenIdList = args.OpenIdList; weixinArgs.GroupId = args.GroupId; //先往微信后台更新,成功后写数据库 RequestApiResult removeResult = GroupApiWrapper.SetUserListGroup(domainContext, weixinArgs); if (removeResult.Success == false) { return(removeResult.Message); } List <SqlExpression> _sqlList = new List <SqlExpression>(); //将此分组下的用户分到默认分组下面 foreach (var openId in args.OpenIdList) { SqlStructureBuild sqlBuild = new SqlStructureBuild(); sqlBuild.Type = SqlExpressionType.Update; sqlBuild.Table = "Member"; sqlBuild.AddParameter("Domain", domainContext.Domain.Id, true); sqlBuild.AddParameter("AppId", domainContext.AppId, true); sqlBuild.AddParameter("OpenId", openId, true); sqlBuild.AddParameter("GroupId", args.GroupId); _sqlList.Add(sqlBuild.GetSqlExpression()); } _dataBase.ExcuteSqlExpression(_sqlList); return(null); }
public string RemoveMemberGroup(DomainContext domainContext, Guid id) { MemberGroupEntity memberGroup = GetMemberGroup(id); if (memberGroup == null) { return("分组不存在。"); } //先往微信后台更新,成功后写数据库 RequestApiResult removeResult = GroupApiWrapper.Remove(domainContext, memberGroup.GroupId); if (removeResult.Success == false) { return(removeResult.Message); } //将此分组下的用户分到默认分组下面 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("@groupId", memberGroup.GroupId)); _dataBase.ExecuteNonQuery( "UPDATE [Member] SET [GroupId] = 0 WHERE [Domain] = @domain AND [AppId] = @appId AND [GroupId] = @groupId", parameterList); _dataBase.Remove(memberGroup); return(null); }
public string UpdateMemberGroup(DomainContext domainContext, MemberGroupEntity group) { if (group == null) { return("参数错误。"); } //先往微信后台更新,成功后写数据库 WeixinGroup apiArgs = new WeixinGroup(); apiArgs.Group.Id = group.GroupId; apiArgs.Group.Name = group.Name; RequestApiResult updateResult = GroupApiWrapper.Update(domainContext, apiArgs); if (updateResult.Success == false) { return(updateResult.Message); } _dataBase.Update(group); return(null); }
public string CreateMemberGroup(DomainContext domainContext, MemberGroupEntity group) { if (group == null) { return("参数错误。"); } //先往微信后台添加,成功后写数据库 WeixinCreateGroupArgs apiArgs = new WeixinCreateGroupArgs(); apiArgs.Group.Name = group.Name; RequestApiResult <WeixinGroup> createResult = GroupApiWrapper.Create(domainContext, apiArgs); if (createResult.Success == false) { return(createResult.Message); } group.Domain = domainContext.Domain.Id; group.GroupId = createResult.ApiResult.Group.Id; _dataBase.Insert(group); return(null); }