Exemplo n.º 1
0
        public void TestMethod1()
        {
            UserAccountRep userAccountRep = new UserAccountRep();
            string         mer_priv       = "2";
            var            trans_amt      = "16000.00";
            var            userAccountId  = int.Parse(mer_priv);
            var            userAccount    = userAccountRep.GetUserAccount(new UserAccount()
            {
                UserAccountId = userAccountId
            });
            var totalIntegral = (int)((int)userAccount.Integral + decimal.Parse(trans_amt) / 1000);

            var Memberlevel = this.RetrueMemberlevel(totalIntegral);

            if (Memberlevel > userAccount.Memberlevel)
            {
                userAccountRep.AddIntegral(userAccountId, totalIntegral, Memberlevel);
            }
            else
            {
                userAccountRep.AddIntegral(userAccountId, totalIntegral, null);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// TODO TODO TODO ....
        /// </summary>
        protected override void ExecuteMethod()
        {
            try
            {
                if (null == _fileStream && !BaseRiskModels.Any())
                {
                    throw  new Exception("选择要上传的文件");
                }

                UserAccount ua = new UserAccount()
                {
                    PayCenterCode = Parameter.PayCenterCode
                };
                _userAccount = UserAccountRep.GetUserAccount(ua);

                if (!ValidUserFactoring())
                {
                    throw new Exception("未配置保理企业;请联系相关人员处理!");
                }
                //生成批次号
                var batchNo = DateTime.Now.Ticks;

                //文件上传
                if (null != _fileStream)
                {
                    ExeclTalbe et = ExcelHelper.ExcelImport(_fileStream);

                    //去除标题
                    et.rows.RemoveAt(0);

                    Debug.WriteLine("Excel 总条数:{0}", et.rows.Count);

                    //数据格式验证
                    if (!ExcelTable2EntityList(et, "" + batchNo))
                    {
                        this.Result.Data      = this._verifyResults.Select(t => t.Item2);
                        this.Result.Message   = "Excel数据验证失败!";
                        this.Result.ErrorCode = "200";
                        return;
                    }
                }
                else
                {
                    _manageRiskModels = BaseRiskModels.GroupBy(t => t.EnterpriseID)
                                        .ToDictionary(t => t.Key, t => t.ToList());
                }

                Debug.WriteLine("格式转换后条数:{0},错误数据:{1}", _manageRiskModels.Count, _verifyResults.Select(t => t.Item2));

                //去重,Excel中数据重复
                if (!RemovalTicket())
                {
                    this.Result.Message   = string.Join(",", this._verifyResults.Select(t => t.Item2));
                    this.Result.ErrorCode = "200";
                    return;
                }

                Debug.WriteLine("去重后条数:{0},错误数据:{1}", _manageRiskModels.Count, _verifyResults.Select(t => t.Item2));

                //验证企业状态
                if (!VerifyEnterpriseStatus())
                {
                    this.Result.Data    = "企业信息验证失败!";
                    this.Result.Message = JsonConvert.SerializeObject(this._verifyResults.Select(t => t.Item2));
                    return;
                }

                Debug.WriteLine("企业信息验证结果:{0},错误数据:{1}", _manageRiskModels.Count, _verifyResults.Select(t => t.Item2));

                //验证风控
                VerifyRisk();

                Debug.WriteLine("风控验证结果:{0},错误数据:{1}", _manageRiskModels.Count, _verifyResults.Select(t => t.Item2));

                //验证分销商余额
                if (!VerifyDistrbutorBalance())
                {
                    this.Result.Message   = "分销商余额不足!";
                    this.Result.ErrorCode = "200";
                    return;
                }

                Debug.WriteLine("分销商月限额验证结果");

                //异常信息返回
                if (0 < _verifyResults.Count)
                {
                    Result.Message        = string.Join("\r\n", _verifyResults.Select(t => t.Item2));
                    this.Result.ErrorCode = "200";
                }

                if (0 < _manageRiskModels.Count)
                {
                    //入库&写入队列
                    SaveOrderData();

                    Result.Message += "\r\n 成功上传条数:" + (_manageRiskModels.Values.SelectMany(x => x).ToList().Count);
                }
            }
            catch (Exception ex)
            {
                LoggerFactory.Instance.Logger_Error(ex, "TravelOrderImportService");
                this.Result.ErrorCode = "200";
                this.Result.Message   = "服务端程序错误,请联系相关人员!";
            }
        }