Ejemplo n.º 1
0
        /// <summary>
        /// 创建任务
        /// </summary>
        /// <param name="jobDescription">任务描述</param>
        /// <param name="jobUrl">任务URL</param>
        /// <param name="taskType">任务对象类型</param>
        /// <param name="taskSysNo">任务对象编号</param>
        /// <param name="executorSysNo">任务执行者编号</param>
        /// <param name="priority">优先级</param>
        /// <returns>任务</returns>
        /// <remarks>2013-09-27 吴文强 创建</remarks>
        private SyJobPool CreateJobPool(string jobDescription, string jobUrl, SystemStatus.任务对象类型 taskType, int taskSysNo, int?executorSysNo = null, int?priority = null)
        {
            //判断订单池是否已存在该记录
            SyJobPool jobPool = ISyJobPoolDao.Instance.GetByTask(taskSysNo, (int)taskType);

            if (jobPool == null)
            {
                int sysPriority = SyJobPoolPriorityBo.Instance.GetPriorityByCode(JobPriorityCode.PC001.ToString());   //优先级编码对应的数据库优先级
                jobPool = new SyJobPool
                {
                    JobDescription = jobDescription,
                    JobUrl         = jobUrl,
                    TaskType       = (int)taskType,
                    TaskSysNo      = taskSysNo,
                    CreatedDate    = DateTime.Now,
                    AssignDate     = DateTime.Now,
                    Priority       = priority != null ? priority.Value : sysPriority,
                    BeginDate      = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue,
                    EndDate        = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue
                };
                if (executorSysNo.HasValue && executorSysNo.Value > 0)
                {
                    jobPool.ExecutorSysNo = executorSysNo.Value;
                    jobPool.AssignerSysNo = User.SystemUser;
                    jobPool.Status        = (int)SystemStatus.任务池状态.待处理;
                }
                else
                {
                    jobPool.Status = (int)SystemStatus.任务池状态.待分配;
                }

                jobPool.SysNo = ISyJobPoolDao.Instance.Insert(jobPool);
            }
            return(jobPool);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 订单审核任务
        /// [订单创建成功后调用]
        /// </summary>
        /// <param name="orderSysNo">订单系统编号</param>
        /// <param name="customerName">客户姓名</param>
        /// <param name="mobilePhoneNumber">客户手机号</param>
        /// <param name="executorSysNo">任务执行者编号</param>
        /// <param name="oldTaskType">旧任务类型(如不为空则需删除旧任务)</param>
        /// <param name="priority">优先级</param>
        /// <returns>任务</returns>
        /// <remarks>2013-09-27 吴文强 创建</remarks>
        /// <remarks>2013-11-29 余勇 修改</remarks>
        private SyJobPool OrderAudit(int orderSysNo, string customerName, string mobilePhoneNumber,
                                     int?executorSysNo = null, int?oldTaskType = null, int?priority = null)
        {
            const string url                   = "/Order/OrderDetail/{0}";
            const string description           = "订单号:{0}{1}{2}";
            const SystemStatus.任务对象类型 taskType = SystemStatus.任务对象类型.客服订单审核;

            customerName      = !string.IsNullOrEmpty(customerName) ? "," + customerName : "";
            mobilePhoneNumber = !string.IsNullOrEmpty(mobilePhoneNumber) ? "," + mobilePhoneNumber : "";
            var jobDescription = string.Format(description, orderSysNo, customerName, mobilePhoneNumber);
            var jobUrl         = string.Format(url, orderSysNo);

            if (oldTaskType != null && oldTaskType.Value > 0)
            {
                //当优先级参数为空时,继承旧任务的优先级
                if (priority == null)
                {
                    var job = ISyJobPoolDao.Instance.GetByTask(orderSysNo, oldTaskType.Value);
                    if (job != null)
                    {
                        priority = job.Priority;
                    }
                }
                SyJobPoolManageBo.Instance.DeleteJobPool(orderSysNo, oldTaskType.Value);
            }

            return(CreateJobPool(jobDescription, jobUrl, taskType, orderSysNo, executorSysNo, priority));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 商品晒单审核
        /// [商品晒单审核成功后调用]
        /// </summary>
        /// <param name="shareSysNo">商品晒单编号</param>
        /// <param name="customerName">客户姓名</param>
        /// <param name="mobilePhoneNumber">客户手机号</param>
        /// <param name="executorSysNo">任务执行者编号</param>
        /// <param name="oldTaskType">旧任务类型(如不为空则需删除旧任务)</param>
        /// <param name="priority">优先级</param>
        /// <returns>任务</returns>
        /// <remarks>2013-11-29 余勇 创建</remarks>
        public SyJobPool ProductShareAudit(int shareSysNo, string customerName, string mobilePhoneNumber,
                                           int?executorSysNo = null, int?oldTaskType = null, int?priority = null)
        {
            const string url                   = "/Front/FeProductShareAudit/?commentSysNo={0}";
            const string description           = "晒单号:{0}{1}{2}";
            const SystemStatus.任务对象类型 taskType = SystemStatus.任务对象类型.商品晒单审核;

            customerName      = !string.IsNullOrEmpty(customerName) ? "," + customerName : "";
            mobilePhoneNumber = !string.IsNullOrEmpty(mobilePhoneNumber) ? "," + mobilePhoneNumber : "";
            var jobDescription = string.Format(description, shareSysNo, customerName, mobilePhoneNumber);
            var jobUrl         = string.Format(url, shareSysNo);

            if (oldTaskType != null && oldTaskType.Value > 0)
            {
                //当优先级参数为空时,继承旧任务的优先级
                if (priority == null)
                {
                    var job = ISyJobPoolDao.Instance.GetByTask(shareSysNo, oldTaskType.Value);
                    if (job != null)
                    {
                        priority = job.Priority;
                    }
                }
                SyJobPoolManageBo.Instance.DeleteJobPool(shareSysNo, oldTaskType.Value);
            }
            return(CreateJobPool(jobDescription, jobUrl, taskType, shareSysNo, executorSysNo, priority));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 广告组展示、广告项展示、商品组展示、商品项展示审核、修改
        /// [商品展示审核、修改成功后调用]
        /// </summary>
        /// <param name="shareSysNo">商品展示编号</param>
        /// <param name="groupSysNo">商品组、广告组编号</param>
        /// <param name="userSysNo">每户用户编号</param>
        /// <param name="operatingContent">操作内容</param>
        /// <param name="page">url地址</param>
        /// <param name="executorSysNo">任务执行者编号</param>
        /// <param name="oldTaskType">旧任务类型(如不为空则需删除旧任务)</param>
        /// <param name="priority">优先级</param>
        /// <returns>任务</returns>
        /// <remarks>2013-12-24 苟治国 创建</remarks>
        public SyJobPool FeAudit(int shareSysNo, int groupSysNo, int userSysNo, string page, string operatingContent, int?executorSysNo = null, int?oldTaskType = null, int?priority = null)
        {
            string url         = string.Empty;
            string description = string.Empty;

            #region
            switch (page)
            {
            case "AdvertGroup":
            {
                url         = "/Front/FeAdvertGroup/?commentSysNo={0}";
                description = "广告组编号:{0}{1}{2}";
            }
            break;

            case "AdvertItem":
            {
                url         = "/Front/FeAdvertItem/?commentSysNo={0}&groupSysNo={1}";
                description = "广告项编号:{0}{1}{2}";
            }
            break;

            case "ProductGroup":
            {
                url         = "/Front/FeProductGroup/?commentSysNo={0}";
                description = "商品组编号:{0}{1}{2}";
            }
            break;

            case "ProductItem":
            {
                url         = "/Front/FeProductItem/?commentSysNo={0}&groupSysNo={1}";
                description = "商品项编号:{0}{1}{2}";
            }
            break;
            }
            #endregion

            const SystemStatus.任务对象类型 taskType = SystemStatus.任务对象类型.通知;

            string customerName = string.Empty;
            var    model        = Hyt.BLL.Sys.SyUserBo.Instance.GetSyUser(userSysNo);
            if (model != null)
            {
                customerName = model.UserName;
            }

            var    jobDescription = string.Format(description, shareSysNo, customerName, operatingContent);
            string jobUrl         = string.Empty;
            if (groupSysNo > 0)
            {
                jobUrl = string.Format(url, shareSysNo, groupSysNo);
            }
            else
            {
                jobUrl = string.Format(url, shareSysNo);
            }
            if (oldTaskType != null && oldTaskType.Value > 0)
            {
                //当优先级参数为空时,继承旧任务的优先级
                if (priority == null)
                {
                    var job = ISyJobPoolDao.Instance.GetByTask(shareSysNo, oldTaskType.Value);
                    if (job != null)
                    {
                        priority = job.Priority;
                    }
                }
                SyJobPoolManageBo.Instance.DeleteJobPool(shareSysNo, oldTaskType.Value);
            }
            return(CreateJobPool(jobDescription, jobUrl, taskType, shareSysNo, executorSysNo, priority));
        }