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);
        }
예제 #2
0
        public static RequestApiResult SetUserListGroup(DomainContext domainContext, WeixinSetUserListGroupArgs args)
        {
            string           accessToken = domainContext.AccessToken;
            RequestApiResult result      = GroupApi.SetUserListGroup(accessToken, args);

            if (result.Success == false)
            {
                if (result.Retry)
                {
                    if (result.ApiError.ErrorCode == 40001)
                    {
                        accessToken = AccessTokenGetter.Refresh(domainContext.AppId, accessToken);
                    }

                    result = GroupApi.SetUserListGroup(accessToken, args);
                    if (result.Success == false)
                    {
                        _log.Write("GroupApi.SetUserListGroup 失败",
                                   result.GetDetail(), TraceEventType.Warning);
                    }
                }
                else
                {
                    _log.Write("GroupApi.SetUserListGroup 失败",
                               result.GetDetail(), TraceEventType.Warning);
                }
            }

            return(result);
        }