Exemplo n.º 1
0
        public void DoEditDoc([DataBind("DDocInfo")] DDocInfo doc, HttpPostedFile file)
        {
            try
            {
                //DocService us = Context.GetService<DocService>();
                UserService us     = Context.GetService <UserService>();
                DDocInfo    oldDoc = us.DocInfoBll.Get(doc.DocId);
                if (oldDoc != null)
                {
                    //更新缩略图
                    if (file != null && !string.IsNullOrEmpty(file.FileName))
                    {
                        string newThumbUrl = SaveNewDocThumbnail(file, oldDoc.ThumbnailUrl);
                        if (!string.IsNullOrEmpty(newThumbUrl))
                        {
                            oldDoc.ThumbnailUrl = newThumbUrl;
                        }
                    }
                    else
                    {
                        oldDoc.ThumbnailUrl = doc.ThumbnailUrl;
                    }

                    oldDoc.Title       = doc.Title;
                    oldDoc.Description = doc.Description;
                    oldDoc.Tags        = doc.Tags;
                    oldDoc.CateId      = doc.CateId;
                    oldDoc.Price       = doc.Price;
                    oldDoc.FlashUrl    = doc.FlashUrl;
                    us.DocInfoBll.Update(oldDoc);
                    //更新标签表
                    if (!string.IsNullOrEmpty(oldDoc.Tags) && oldDoc.Tags != doc.Tags)
                    {
                        string[] tags = doc.Tags.Split(' ');
                        us.DTagBll.UpdateFromDoc(tags, oldDoc.DocId);
                    }

                    //异步通知用户文档被管理员更新
                    M_Message msg = new M_Message()
                    {
                        Content    = string.Format("您上传的文档“{0}”被管理员更新", doc.Title),
                        CreateTime = DateTime.Now,
                        IsRead     = false,
                        Mtype      = (int)Model.Enums.MessageType.Inform,
                        RecieverId = oldDoc.UserId,
                        SenderId   = Helper.ConfigHelper.AdminUserId,
                        Title      = string.Format("您上传的文档“{0}”被管理员更新", doc.Title)
                    };
                    Common.AsynMessage am = new AsynMessage(msg);
                    am.Send();

                    Redirect("/admin/doc/index.do");
                    return;
                }
                throw new Exception("查询文档为空");
            }
            catch (Exception ex)
            {
                Utils.Log4Net.Error(ex);
                RedirectToReferrer();
            }
        }
Exemplo n.º 2
0
        public void DoManualOperate(int userId, int accountWay, decimal amount, string remark)
        {
            try
            {
                UserService us = Context.GetService <UserService>();
                if (amount == 0)
                {
                    throw new TmmException("金额不能为0");
                }
                if (accountWay == 0)
                {
                    throw new TmmException("请选择类型");
                }
                if (accountWay == (int)AmountWay.MIn)
                {
                    if (amount <= 0)
                    {
                        throw new TmmException("增加金额不能小于0");
                    }
                }
                if (accountWay == (int)AmountWay.AOut)
                {
                    if (amount >= 0)
                    {
                        throw new TmmException("扣除金额不能大于0");
                    }
                }
                if (string.IsNullOrEmpty(remark))
                {
                    throw new TmmException("备注不能为空");
                }
                MAccount acc = us.MAccountBll.GetByUserId(userId);
                //写账户日志
                AccountLog log = new AccountLog()
                {
                    AccountWay  = accountWay,
                    AdminRemark = remark,
                    Amount      = amount,
                    CreateTime  = DateTime.Now,
                    Ip          = Utils.TmmUtils.IPAddress(),
                    UserId      = userId
                };
                us.AccountLogBll.Insert(log);

                acc.Amount += amount;
                us.MAccountBll.Update(acc);
                //发消息-异步
                M_Message msg = new M_Message()
                {
                    Content = string.Format("【帐户通知】,您的账户由土木迷管理员{0}¥{1:F2}",
                                            amount > 0 ? "充入" : "扣除", amount),
                    CreateTime = DateTime.Now,
                    IsRead     = false,
                    Mtype      = (int)Model.Enums.MessageType.Inform,
                    RecieverId = userId,
                    SenderId   = Core.Helper.ConfigHelper.AdminUserId,
                    Title      = "帐户通知"
                };
                Queue <M_Message> queueMsg = new Queue <M_Message>();
                queueMsg.Enqueue(msg);
                Common.AsynMessage am = new AsynMessage(queueMsg);
                am.Send();

                base.SuccessInfo();
                Redirect("account.do");
                return;
            }
            catch (TmmException te)
            {
                AddError(te.Message);
                Flash["accountWay"] = accountWay;
                Flash["amount"]     = amount;
                Flash["remark"]     = remark;
            }
            RedirectToReferrer();
        }
Exemplo n.º 3
0
        /// <summary>
        /// 删除投稿
        /// </summary>
        /// <param name="joinIds"></param>
        public void DeleteContribute(int[] joinIds)
        {
            DocService        ds       = Context.GetService <DocService>();
            Queue <M_Message> queueMsg = new Queue <M_Message>();

            foreach (int joinId in joinIds)
            {
                TJoinDoc joinDoc = ds.TJoinDocBll.Get(joinId);
                if (joinDoc != null)
                {
                    //更新悬赏文档的投稿数量
                    TReqDoc reqDoc = ds.TReqDocBll.Get(joinDoc.TId);
                    if (reqDoc != null)
                    {
                        if (reqDoc.DocCount > 0)
                        {
                            reqDoc.DocCount -= 1;
                            ds.TReqDocBll.Update(reqDoc);
                        }
                    }
                    //删除原始文档
                    ds.DDocInfoBll.Delete(joinDoc.DocId);
                    //删除投稿记录
                    ds.TJoinDocBll.Delete(joinId);
                    //给投稿人发消息
                    M_Message msg = new M_Message()
                    {
                        Content           = string.Format("您上传的投稿文档【{0}】因违反相关规定,该文章已被管理员删除", joinDoc.Title),
                        CreateTime        = DateTime.Now,
                        IsRead            = false,
                        Mtype             = (int)Model.Enums.MessageType.Inform,
                        RecieveDeleteFlag = false,
                        RecieverId        = joinDoc.UserId,
                        SendDeleteFlag    = false,
                        SenderId          = Helper.ConfigHelper.AdminUserId,
                        Title             = "投稿文档删除通知"
                    };
                    queueMsg.Enqueue(msg);
                    //给悬赏人发消息
                    msg = new M_Message()
                    {
                        Content           = string.Format("您收到的投稿文档【{0}】因违反相关规定,该文章已被管理员删除", joinDoc.Title),
                        CreateTime        = DateTime.Now,
                        IsRead            = false,
                        Mtype             = (int)Model.Enums.MessageType.Inform,
                        RecieveDeleteFlag = false,
                        RecieverId        = reqDoc.UserId,
                        SendDeleteFlag    = false,
                        SenderId          = Helper.ConfigHelper.AdminUserId,
                        Title             = "投稿文档删除通知"
                    };
                    queueMsg.Enqueue(msg);
                }
            }
            //异步发送消息
            AsynMessage am = new AsynMessage(queueMsg);

            am.Send();

            AddSuccess("操作成功");
            RedirectToReferrer();
        }