public ReturnValue <PageInfo <USR_MessageMod> > GetMessageByCustomer(int pagesize, int pageindex, int customersysno) { int total = 0; DataTable m_dt = USR_MessageBll.GetInstance().GetMessageByCustomer(customersysno, pagesize, pageindex, AppConst.IntNull, 1, ref total); List <USR_MessageMod> ret = new List <USR_MessageMod>(); PageInfo <USR_MessageMod> rett = new PageInfo <USR_MessageMod>(); if (m_dt == null || m_dt.Rows.Count == 0) { rett.List = ret; rett.Total = total; rett.HasNextPage = false; return(ReturnValue <PageInfo <USR_MessageMod> > .Get200OK(rett)); } for (int i = 0; i < m_dt.Rows.Count; i++) { USR_MessageMod tmp_message = MapUSR_Message(m_dt.Rows[i]); ret.Add(tmp_message); } rett.List = ret; rett.Total = total; if (pagesize * pageindex >= total) { rett.HasNextPage = false; } else { rett.HasNextPage = true; } return(ReturnValue <PageInfo <USR_MessageMod> > .Get200OK(rett)); }
public ReturnValue <USR_CustomerShow> GetUserInfo(int uid) { USR_CustomerMod m_user = USR_CustomerBll.GetInstance().GetModel(uid); if (m_user.SysNo != -999999) { USR_CustomerShow ret = new USR_CustomerShow(); m_user.MemberwiseCopy(ret); DataTable m_dt = REL_Customer_MedalBll.GetInstance().GetMedalByCustomer(uid, 0); ret.TotalMedal = m_dt.Rows.Count; int total = 0; DataTable m_dt1 = USR_MessageBll.GetInstance().GetMessageByCustomer(uid, 1, 1, 0, 1, ref total); ret.NewMessage = total; return(ReturnValue <USR_CustomerShow> .Get200OK(ret)); } else { throw new BusinessException("用户ID错误,请重新输入!"); } }
protected void BindList() { int total = 0; DataTable m_dt = USR_MessageBll.GetInstance().GetMessageByCustomer(GetSession().CustomerEntity.SysNo, pagesize, pageindex, -1, (int)AppEnum.MessageType.notice, ref total); rptMsg.DataSource = m_dt; rptMsg.DataBind(); Pager1.url = "MyNotice.aspx?pn="; Pager1.totalrecord = total; if (total % AppConst.PageSize == 0) { this.Pager1.total = total / pagesize; } else { this.Pager1.total = total / pagesize + 1; } this.Pager1.index = pageindex; this.Pager1.numlenth = 3; USR_CustomerBll.GetInstance().ZeroUnReadInfo(GetSession().CustomerEntity.SysNo); }
/// <summary> /// 任务实体 /// </summary> /// <param name="lastExecuteTime"></param> public override void Execute(DateTime?lastExecuteTime) { try { LogService.Info("任务开始", LogInfoCategory); DataTable m_dt = QA_QuestionBll.GetInstance().GetToEndList(); if (m_dt != null && m_dt.Rows.Count > 0) { int total = 0; for (int i = 0; i < m_dt.Rows.Count; i++) { int sysno = int.Parse(m_dt.Rows[i]["sysno"].ToString()); DataTable m_answer = QA_AnswerBll.GetInstance().GetListByQuest(1, 10000, sysno, ref total); m_answer.Columns.Add("commcount"); m_answer.Columns.Add("score"); int totalcomm = 0; int totallenth = 0; int totallove = 0; int[,] tmpresult = new int[3, 2]; for (int j = 0; j < m_answer.Rows.Count; j++) { totallenth += m_answer.Rows[j]["Context"].ToString().Length; totallove += int.Parse(m_answer.Rows[j]["Love"].ToString()); DataTable m_comm = QA_CommentBll.GetInstance().GetListByAnswer(int.Parse(m_answer.Rows[j]["SysNo"].ToString())); totalcomm += m_comm.Rows.Count; m_answer.Rows[j]["commcount"] = m_comm.Rows.Count.ToString(); m_answer.Rows[j]["score"] = 0; } for (int j = 0; j < m_answer.Rows.Count; j++) { double tmp = Convert.ToDouble(m_answer.Rows[j]["Context"].ToString().Length *m_answer.Rows.Count) / Convert.ToDouble(totallenth); tmp -= 1; if (tmp > 0) { m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 10; } tmp = Convert.ToDouble(m_answer.Rows[j]["Love"].ToString()) * Convert.ToDouble(m_answer.Rows.Count) / Convert.ToDouble(totallove); tmp -= 1; if (tmp > 0) { m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 5; } tmp = Convert.ToDouble(m_answer.Rows[j]["commcount"].ToString()) * Convert.ToDouble(m_answer.Rows.Count) / Convert.ToDouble(totalcomm); tmp -= 1; if (tmp > 0) { m_answer.Rows[j]["score"] = int.Parse(m_answer.Rows[j]["score"].ToString()) + Math.Floor(tmp * 10) * Math.Floor(tmp * 10) * 3; } } TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { m_answer.DefaultView.Sort = "award asc, score desc"; DataTable dtTemp = m_answer.DefaultView.ToTable(); if (dtTemp.Rows.Count == 1) { QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), int.Parse(m_dt.Rows[i]["Award"].ToString()) - QA_AnswerBll.GetInstance().GetUsedAward(int.Parse(dtTemp.Rows[0]["SysNo"].ToString()))); } else { int awardremain = int.Parse(m_dt.Rows[i]["Award"].ToString()) - QA_AnswerBll.GetInstance().GetUsedAward(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())); int award1 = awardremain * int.Parse(m_dt.Rows[0]["score"].ToString()) / (int.Parse(m_dt.Rows[0]["score"].ToString()) + int.Parse(m_dt.Rows[1]["score"].ToString())); int award2 = awardremain - award1; QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[0]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), award1); QA_AnswerBll.GetInstance().SetAward(QA_AnswerBll.GetInstance().GetModel(int.Parse(dtTemp.Rows[1]["SysNo"].ToString())), QA_QuestionBll.GetInstance().GetModel(int.Parse(m_dt.Rows[i]["SysNo"].ToString())), award2); } USR_MessageMod m_notice = new USR_MessageMod(); m_notice.CustomerSysNo = int.Parse(m_dt.Rows[i]["CustomerSysNo"].ToString()); m_notice.Title = AppConst.AutoSendAward.Replace("@url", Container.ConfigService.GetAppSetting <string>("HomeUrl", "") + "Quest/Question.aspx?id=" + m_dt.Rows[i]["SysNo"].ToString()) .Replace("@question", m_dt.Rows[i]["Title"].ToString()); m_notice.DR = 0; m_notice.IsRead = 0; m_notice.Context = ""; m_notice.TS = DateTime.Now; m_notice.Type = (int)AppEnum.MessageType.notice; USR_MessageBll.GetInstance().AddMessage(m_notice); scope.Complete(); //EventLog.WriteEntry("Hi,I'm wiseman"); } } } LogService.Info("任务结束", LogInfoCategory); } catch (Exception ex) { LogService.Error("RewardTask 任务失败", LogInfoCategory); LogService.Error(ex, LogInfoCategory); } finally { this.NextExecuteTime = DateTime.Now.AddHours(1); } }