Пример #1
0
        public override Task OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
        {
            //加入访问次数
            foreach (var v in getActionArgumentsValues(actionExecutedContext))
            {
                if (v is DualParameter)
                {
                    var u = v as DualParameter;
                    NameCardAccessCountOP.AddScore(u.uuid.ToString(), 1);
                    using (UserRepository repo = new UserRepository())
                    {
                        UserInfo user = repo.GetUserInfoByUuid_TB(u.uuid);
                        if(user!=null)
                        {
                            if(user.IsBusiness!= null)
                            {
                                if (user.IsBusiness == 0)
                                    new RedisManager2<WeChatRedisConfig>().AddScoreAsync<NameCardRedis, NameCardPCountZsetAttribute>(u.uuid.ToString(), 1);
                                else if(user.IsBusiness==2)
                                    new RedisManager2<WeChatRedisConfig>().AddScoreAsync<NameCardRedis, NameCardSCountZsetAttribute>(u.uuid.ToString(), 1);
                            }

                        }
                    }
                    break;
                }
            }
            return base.OnActionExecutedAsync(actionExecutedContext, cancellationToken);
        }
Пример #2
0
        public static ProfessorIndex GenObject(Guid uuid)
        {
            if (uuid.Equals(Guid.Empty))
                return null;
            ProfessorIndex index = new ProfessorIndex();
            index.Id = uuid.ToString();
            StringBuilder sb = new StringBuilder();
            using (UserRepository repo = new UserRepository())
            {
                var userinfo = repo.GetUserInfoByUuid_TB(uuid);
                if (userinfo.IsBusiness != 0)
                    return null;

                if (userinfo.ResearchFieldId == null)
                    userinfo.ResearchFieldId = 0;

                UserEducation userEducation = new UserEducation();
                userEducation.AccountEmail_uuid = uuid;
                var educationList = repo.GetUserRecords_TB<UserEducation>(userEducation);

                UserAcademic userAc = new UserAcademic();userAc.AccountEmail_uuid = uuid;
                var acadmicList = repo.GetUserRecords_TB<UserAcademic>(userAc);

                //research id
                index.ResearchId = userinfo.ResearchFieldId.Value;
                sb.Append(string.Format("{0} ",userinfo.ResearchFieldId.Value.ToString()));
                //姓名
                index.Name = userinfo.Name;
                sb.Append(string.Format("{0} ", userinfo.Name));
                //研究兴趣
                sb.Append(string.Format("{0} ", userinfo.Interests));
                index.Interests = userinfo.Interests;
                //单位
                sb.Append(string.Format("{0} ", userinfo.Unit));
                index.Danwei = userinfo.Unit;
                //地位
                if (acadmicList!=null && acadmicList.Count>0)
                {
                    List<string> tmp = new List<string>();
                    int diweiScore = 0;
                    foreach(var v in acadmicList)
                    {
                        if(!string.IsNullOrEmpty(v.Association))
                        {
                            if (!tmp.Contains("协会委员"))
                            {
                                tmp.Add("协会委员");
                                diweiScore += 1;
                            }
                        }

                        if (!string.IsNullOrEmpty(v.Fund))
                        {
                            if (!tmp.Contains("基金评审"))
                            {
                                tmp.Add("基金评审");
                                diweiScore += 4;
                            }
                        }

                        if (!string.IsNullOrEmpty(v.Magazine))
                        {
                            if (!tmp.Contains("杂志编委"))
                            {
                                tmp.Add("杂志编委");
                                diweiScore += 2;
                            }
                        }
                    }
                    StringBuilder diweisb = new StringBuilder();
                    foreach(string s in tmp)
                    {
                        sb.Append(string.Format("{0} ", s));
                        diweisb.Append(string.Format("{0} ", s));
                    }
                    index.Diwei = diweisb.ToString();
                    index.DiweiScore = diweiScore;
                }

                //校友
                StringBuilder xiaoyousb = new StringBuilder();
                if(educationList!=null && educationList.Count>0)
                {
                    foreach(var v in educationList)
                    {
                        if(!string.IsNullOrEmpty(v.School))
                        {
                            sb.Append(string.Format("{0} ", v.School));
                            xiaoyousb.Append(string.Format("{0} ", v.School));
                        }
                    }
                    index.Education = xiaoyousb.ToString();
                }
                //地点
                if(!string.IsNullOrEmpty(userinfo.Address))
                {
                    string adress = userinfo.Address.Replace(" ", "").Trim();
                    sb.Append(string.Format("{0} ", adress));
                    index.Address = adress;
                }

                //点击量
                double score = _redis.GetScore<NameCardRedis, NameCardPCountZsetAttribute>(userinfo.uuid.ToString());
                index.AccessCount = score;
            }
            index.KeyWords = sb.ToString();
            return index;
        }