Ejemplo n.º 1
0
        /// <summary>
        /// 重置分组
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task RenewFansGroup(MpFanGroupDto input)
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            var renewGroupIds = _mpFansGroupMapRepository.GetAll().Where(m => m.IsDeleted == false && input.FansIds.Contains(m.FansID)).Select(m => m.GroupID).Distinct().ToList();
            await _mpFansGroupMapRepository.DeleteAsync(m => m.IsDeleted == false && input.FansIds.Contains(m.FansID));

            foreach (var item in input.FansIds)
            {
                await _mpFansGroupMapRepository.InsertAsync(new MpFansGroupMap
                {
                    MpID      = mpid,
                    FansID    = item,
                    GroupID   = input.GroupID,
                    GroupName = input.GroupName
                });
            }
            if (!renewGroupIds.Contains(input.GroupID))
            {
                renewGroupIds.Add(input.GroupID);
            }
            foreach (var gpId in renewGroupIds)
            {
                await RefreshFansGroup(gpId);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 追加分组
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task UpdateFansGroup(MpFanGroupDto input)
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            var existFansIds = (await _mpFansGroupMapRepository.GetAllListAsync(m => m.IsDeleted == false && m.MpID == mpid && input.FansIds.Contains(m.FansID) && m.GroupID == input.GroupID)).Select(m => m.FansID).ToList();
            var fansIds      = input.FansIds.Except(existFansIds);

            foreach (var item in fansIds)
            {
                await _mpFansGroupMapRepository.InsertAsync(new MpFansGroupMap
                {
                    MpID      = mpid,
                    FansID    = item,
                    GroupID   = input.GroupID,
                    GroupName = input.GroupName
                });
            }
            await RefreshFansGroup(input.GroupID);
        }