Exemplo n.º 1
0
        /// <summary>
        /// 返回用户数据格式封装
        /// </summary>
        /// <param name="users"></param>
        /// <param name="number"></param>
        /// <param name="info"></param>
        /// <param name="history"></param>
        /// <param name="changyong"></param>
        /// <returns></returns>
        private ClientResult ReturnUsers(IEnumerable <int> userIds, int number, string info, List <int> history = null, List <int> changyong = null)
        {
            var result = ClientResult.Error("");

            if (userIds == null)
            {
                result = ClientResult.Ok(new { data = new List <object>(), count = 0, msg = info });
            }
            else
            {
                //TODO:OK,在职状态字典缓存,从wcf获取
                var flag_Dics = _pub_DictVistor.GetListByClassId(77).Data;
                //TODO:OK,isyunying从wcf扩展字典中获取
                var dictExtendItem      = _pub_DicExtendItemVistor.GetItemWithOutIsdel("isjjr_extend", "isyunying").Data;
                var isYunYing_isjjrList = dictExtendItem.Select(e => (object)e.ItemKey).ToList();
                var list = new List <object>();

                foreach (var item in userIds)
                {
                    if (item != 0)
                    {
                        //TODO:OK,组织结构,从用户缓存获取
                        //TODO:OK,User_list中不存在mobile,从用户缓存获取

                        #region 方案一
                        ////直接通过redis获取用户数据
                        //var user_detail = _userStore.GetUser(item) ?? new WebComponentStore.Models.User_Detail();
                        //list.Add(new
                        //{
                        //    user_detail.UserId,
                        //    ZaiZhiZhuangTai = flag_Dics.FirstOrDefault(m => m.DictUseId == user_detail.flag)?.DicName ?? "",
                        //    UserName = user_detail.UserName2,
                        //    user_detail.orgid,
                        //    user_detail.isjjr,
                        //    user_detail.OrgName,
                        //    user_detail.mobile,
                        //    RzRuzhiDate = string.Format("{0:yyyy-MM-dd}", user_detail.RzRuzhiDate),
                        //    isyunying = isYunYing_isjjrList.Contains(user_detail.isjjr)
                        //});

                        #endregion

                        #region 方案二
                        ////直接通过Cache获取用户数据
                        var user_detail = _userCache.GetUser(item) ?? new WebComponentStore.Models.User_Detail();
                        list.Add(new
                        {
                            user_detail.UserId,
                            ZaiZhiZhuangTai = flag_Dics.FirstOrDefault(m => m.DictUseId == user_detail.flag)?.DicName ?? "",
                            UserName        = user_detail.UserName2,
                            user_detail.orgid,
                            user_detail.isjjr,
                            user_detail.OrgName,
                            user_detail.mobile,
                            RzRuzhiDate = string.Format("{0:yyyy-MM-dd}", user_detail.RzRuzhiDate),
                            isyunying   = isYunYing_isjjrList.Contains(user_detail.isjjr)
                        });
                        #endregion
                    }
                }
                result = ClientResult.Ok(new { data = list, count = number, msg = info, history, changyong });
            }

            return(result);
        }