/// <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 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 GroupMessageEntity GetGroupMessage(Guid id)
        {
            GroupMessageEntity groupMessage = new GroupMessageEntity();

            groupMessage.Id = id;

            if (_dataBase.Fill <GroupMessageEntity>(groupMessage))
            {
                if (groupMessage.GroupId.HasValue)
                {
                    groupMessage.FilterOption = "分组:";
                    MemberGroupEntity memberGroup = _memberGroupManager.GetMemberGroup(groupMessage.Domain, groupMessage.AppId, groupMessage.GroupId.Value);
                    if (memberGroup != null)
                    {
                        groupMessage.FilterOption += memberGroup.Name;
                    }
                }
                else
                {
                    groupMessage.FilterOption = "全部";
                }
                return(groupMessage);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 4
0
        public ActionResult GetMemberGroup()
        {
            string strId = Request.QueryString["id"];
            Guid   id    = Guid.Empty;

            if (String.IsNullOrEmpty(strId) || Guid.TryParse(strId, out id) == false)
            {
                return(RespondResult(false, "参数无效。"));
            }

            MemberGroupEntity memberGroup = _memberGroupManager.GetMemberGroup(id);

            return(RespondDataResult(memberGroup));
        }
        public MemberGroupEntity GetMemberGroup(Guid id)
        {
            MemberGroupEntity memberGroup = new MemberGroupEntity();

            memberGroup.Id = id;

            if (_dataBase.Fill <MemberGroupEntity>(memberGroup))
            {
                return(memberGroup);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 6
0
        public ActionResult CreateMemberGroup()
        {
            MemberGroupEntity memberGroup = RequestArgs <MemberGroupEntity>();

            if (memberGroup == null)
            {
                return(RespondResult(false, "参数无效。"));
            }

            memberGroup.Id     = Guid.NewGuid();
            memberGroup.Domain = UserContext.User.Domain;
            memberGroup.AppId  = DomainContext.AppId;
            string result = _memberGroupManager.CreateMemberGroup(DomainContext, memberGroup);

            ApiResult apiResult = new ApiResult();

            if (String.IsNullOrEmpty(result))
            {
                apiResult.Success = true;
            }
            else
            {
                apiResult.Message = result;
            }

            #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(apiResult));
        }
        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);
        }