UserTokenCache userTokenCache     = UserTokenCache.GetInstance(); //缓存全局

        //添加分组
        public AddGroupByNameResponseDto AddGroupByName(AddGroupByNameRequestDto req)
        {
            AddGroupByNameResponseDto arb = new AddGroupByNameResponseDto();
            //收集信息 :BstarCloud-User-Token
            string customerToken = "";

            if (!RestHelper.SecurityCheck(ref customerToken))
            {
                arb.Code    = (int)CodeEnum.ReqNoToken;
                arb.Message = RestHelper.SecNoTokenMessage;
            }
            else
            {
                //收集信息 pid:用户的父级节点Id,rgName:分组名称
                Bsr.Cloud.Model.Entities.ResourceGroup res =
                    new Model.Entities.ResourceGroup()
                {
                    ResourceGroupName       = req.ResourceGroupName
                    , ParentResourceGroupId = req.ParentResourceGroupId
                };
                //传递数据 token + 分组名 + 分组父节点
                ResponseBaseDto dto = resourceGroupBLL.AddResourceGroupByName(res, customerToken);
                arb.Code    = dto.Code;
                arb.Message = dto.Message;
            }

            return(arb);
        }
        //以通道集合移动至一个分组内
        public MoveChannelListByResourceGroupIdResponseDto MoveChannelListByResourceGroupId(MoveChannelListByResourceGroupIdRequestDto req)
        {
            MoveChannelListByResourceGroupIdResponseDto mcbr = new MoveChannelListByResourceGroupIdResponseDto();
            string customerToken = "";

            if (!RestHelper.SecurityCheck(ref customerToken))
            {
                mcbr.Code    = (int)CodeEnum.ReqNoToken;
                mcbr.Message = RestHelper.SecNoTokenMessage;
            }
            else
            {
                Model.Entities.ResourceGroup resourceGroup = new Model.Entities.ResourceGroup();
                resourceGroup.ResourceGroupId = req.ResourceGroupId;
                ResponseBaseDto dto =
                    resourceGroupBLL.UpdateChannelListByResourceGroupId(resourceGroup, req.Channel, customerToken);
                mcbr.Code    = dto.Code;
                mcbr.Message = dto.Message;
            }
            return(mcbr);
        }
        //删除一个分组且删除分组下的通道关系
        public DeleteResourceGroupResponseDto DeleteResourceGroup(DeleteResourceGroupRequestDto req)
        {
            DeleteResourceGroupResponseDto ddr = new DeleteResourceGroupResponseDto();
            string customerToken = "";

            if (!RestHelper.SecurityCheck(ref customerToken))
            {
                ddr.Code    = (int)CodeEnum.ReqNoToken;
                ddr.Message = RestHelper.SecNoTokenMessage;
            }
            else
            {
                //code
                Bsr.Cloud.Model.Entities.ResourceGroup resourceGroup = new Model.Entities.ResourceGroup();
                resourceGroup.ResourceGroupId = req.ResourceGroupId;
                ResponseBaseDto dto = resourceGroupBLL.RemoveResourceGroup(resourceGroup, customerToken);
                ddr.Code    = dto.Code;
                ddr.Message = dto.Message;
            }
            return(ddr);
        }
        //更新分组名称
        public UpdateResourceGroupNameResponseDto UpdateResourceGroupName(UpdateResourceGroupNameRequestDto req)
        {
            UpdateResourceGroupNameResponseDto urgn = new UpdateResourceGroupNameResponseDto();
            string customerToken = "";

            if (!RestHelper.SecurityCheck(ref customerToken))
            {
                urgn.Code    = (int)CodeEnum.ReqNoToken;
                urgn.Message = RestHelper.SecNoTokenMessage;
            }
            else
            {
                //code
                Bsr.Cloud.Model.Entities.ResourceGroup resourceGroup = new Model.Entities.ResourceGroup();
                resourceGroup.ResourceGroupId   = req.ResourceGroupId;
                resourceGroup.ResourceGroupName = req.ResourceGroupName;
                ResponseBaseDto dto = resourceGroupBLL.UpdateResourceGorupByName(resourceGroup, customerToken);
                urgn.Code    = dto.Code;
                urgn.Message = dto.Message;
            }
            return(urgn);
        }
        //移动分组
        public MoveResourceGroupResponseDto MoveResourceGroup(MoveResourceGroupRequestDto req)
        {
            MoveResourceGroupResponseDto mrgr = new MoveResourceGroupResponseDto();
            string customerToken = "";

            if (!RestHelper.SecurityCheck(ref customerToken))
            {
                mrgr.Code    = (int)CodeEnum.ReqNoToken;
                mrgr.Message = RestHelper.SecNoTokenMessage;
            }
            else
            {
                //code
                Bsr.Cloud.Model.Entities.ResourceGroup resourceGroup = new Model.Entities.ResourceGroup();
                resourceGroup.ResourceGroupId       = req.ResourceGroupId;
                resourceGroup.ParentResourceGroupId = req.ParentResourceGroupId;
                ResponseBaseDto dto = resourceGroupBLL.UpdateResourceGroupByParentId(resourceGroup, customerToken);
                mrgr.Code    = dto.Code;
                mrgr.Message = dto.Message;
            }
            return(mrgr);
        }
        //以分组集合查询通道
        public GetChannelByResourceGroupIdListResponseDto GetChannelByResourceGroupIdList(GetChannelByResourceGroupIdListRequestDto req)
        {
            GetChannelByResourceGroupIdListResponseDto gbrg = new GetChannelByResourceGroupIdListResponseDto();
            string customerToken = "";

            if (!RestHelper.SecurityCheck(ref customerToken))
            {
                gbrg.Code    = (int)CodeEnum.ReqNoToken;
                gbrg.Message = RestHelper.SecNoTokenMessage;
            }
            else
            {
                Bsr.Cloud.Model.Entities.ResourceGroup resourceGroup = new Model.Entities.ResourceGroup();
                resourceGroup.ResourceGroupId = req.ResourceGroupId;
                IList <Bsr.Cloud.Model.Entities.GroupChannel> groupChannel = new List <Bsr.Cloud.Model.Entities.GroupChannel>();
                ResponseBaseDto dto = resourceGroupBLL.GetChannelByResourceGroupIdList(resourceGroup, customerToken, ref groupChannel);
                gbrg.Code    = dto.Code;
                gbrg.Message = dto.Message;
                List <GroupChannelResponse> responseGroupChannelFlag = new List <GroupChannelResponse>();
                for (int i = 0; i < groupChannel.Count; i++)
                {
                    GroupChannelResponse responseGroupChannel = new GroupChannelResponse();
                    responseGroupChannel.ChannelId       = groupChannel[i].channel.ChannelId;
                    responseGroupChannel.ChannelName     = groupChannel[i].channel.ChannelName;
                    responseGroupChannel.ChannelNumber   = groupChannel[i].channel.ChannelNumber;
                    responseGroupChannel.DeviceId        = groupChannel[i].channel.DeviceId;
                    responseGroupChannel.ResourceGroupId = groupChannel[i].resourceGroup.ResourceGroupId;
                    responseGroupChannel.IsEnable        = groupChannel[i].channel.IsEnable;
                    responseGroupChannel.ImagePath      += @"channelImage\" + groupChannel[i].channel.ImagePath;

                    responseGroupChannelFlag.Add(responseGroupChannel);
                }
                gbrg.responseGroupChannelList = responseGroupChannelFlag;
            }
            return(gbrg);
        }