Esempio n. 1
0
    public Model.ReturnValue ProcessUploadFiles(HttpContext context)
    {
        Model.ReturnValue result = new Model.ReturnValue();

        #region 验证Session
        result = CheckSession();
        if (result.Success == false)
        {
            ESLogMethod.ESLogInstance.Debug("Session不通过", "");
            return(result);
        }
        #endregion

        string OpenId = orderSession.OpenId;
        int    FileId = orderSession.FileId;

        int orderId = Common.TypeHelper.ObjectToInt(orderSession.Id, 0);

        #region 验证openid
        if (Common.ValidateHelper.IsOpenid(OpenId) == false)
        {
            ESLogMethod.ESLogInstance.Debug("OpenId格式不正确", OpenId, orderId.ToString());

            result.ErrMessage = "系统繁忙,请稍后再试";
            result.Success    = false;
            return(result);
        }
        #endregion

        #region 验证小票
        Model.FileInfoModel filedel = new Db.FileInfoDal().GetModel(FileId);
        if (filedel.Id <= 0)
        {
            ESLogMethod.ESLogInstance.Debug("小票不存在", FileId.ToString(), orderId.ToString());

            result.ErrMessage = "请上传小票";
            result.Success    = false;
            return(result);
        }

        #region 验证小票是否重复
        if (Common.TypeHelper.ObjectToBool(WebFramework.GeneralMethodBase.GetKeyConfig(11).Val, true))
        {
            int RepetCount = new Db.OrderInfoDal().CheckFilesRepeatCount(filedel.Hashdata);

            if (RepetCount > 0)
            {
                filedel.States = -1;
            }
        }
        #endregion
        #endregion

        lock (_PrizeLock)
        {
            #region 验证订单Id
            Model.OrderInfoModel orderdel = oddal.GetModel(orderId);
            if (orderId <= 0)
            {
                ESLogMethod.ESLogInstance.Debug("订单ID不存在", orderId.ToString());

                result.ErrMessage = "系统繁忙,请稍后再试";
                result.Success    = false;
                return(result);
            }
            if (orderdel.FilesId > 0)
            {
                result.ErrMessage = "提交成功";
                result.Success    = false;
                return(result);
            }
            if (OpenId != orderdel.OpenId)
            {
                ESLogMethod.ESLogInstance.Debug("OpenId与订单不匹配", OpenId, orderId.ToString());

                result.ErrMessage = "系统繁忙,请稍后再试";
                result.Success    = false;
                return(result);
            }
            #endregion

            orderdel.FilesId = FileId;
            orderdel.States  = filedel.States;

            Model.OrderLogModel OrderLog = new Model.OrderLogModel();
            OrderLog.OId       = orderdel.Id;
            OrderLog.Mob       = orderdel.Mob;
            OrderLog.OrderCode = orderdel.OrderCode;
            OrderLog.LStatus   = 9;//上传小票
            OrderLog.Notes     = orderdel.FilesId + ";" + orderdel.States;
            OrderLog.Status    = 1;
            OrderLog.UpTime    = DateTime.Now;

            if (oddal.UpdateFiles(orderdel, OrderLog) > 0)
            {
                #region 发送自动作废短信
                if (orderdel.States == -1)
                {
                    WebFramework.GeneralMethodBase.GetMsg(2, orderdel.Mob, orderdel.OrderCode);
                }
                #endregion

                #region OCR预录
                if (filedel != null)
                {
                    WebFramework.OrderService.OrderMethod.OrderInstance.OcrRecorded(orderdel.OrderCode, filedel.Hashdata, filedel.FileName);
                }
                #endregion

                result.ErrMessage = "提交成功";
                result.Success    = true;
                return(result);
            }

            ESLogMethod.ESLogInstance.Error("修改订单失败", orderId.ToString());

            result.ErrMessage = "系统繁忙,请稍后再试";
            result.Success    = false;
            return(result);
        }
    }