/// <summary>
 /// 骑士绑定银行卡功能 add by caoheyang 20150511
 /// TODO  目前只支付网银
 /// </summary>
 /// <param name="cardBindCpm">参数实体</param>
 /// <returns></returns>
 public ResultModel <object> CardBindC(CardBindCPM cardBindCpm)
 {
     using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
     {
         FinanceCardBindC checkbool = CheckCardBindC(cardBindCpm);   //验证数据合法性
         if (checkbool != FinanceCardBindC.Success)
         {
             return(ResultModel <object> .Conclude(checkbool));
         }
         int result = _clienterFinanceAccountDao.Insert(new ClienterFinanceAccount()
         {
             ClienterId  = cardBindCpm.ClienterId,                                    //骑士ID
             TrueName    = cardBindCpm.TrueName,                                      //户名
             AccountNo   = DES.Encrypt(cardBindCpm.AccountNo),                        //卡号(DES加密)
             IsEnable    = true,                                                      // 是否有效(true:有效 0:无效)  新增时true
             AccountType = cardBindCpm.AccountType == 0
                 ? (int)ClienterFinanceAccountType.WangYin : cardBindCpm.AccountType, //账号类型
             BelongType  = cardBindCpm.BelongType,                                    //账号类别  0 个人账户 1 公司账户
             OpenBank    = cardBindCpm.OpenBank,                                      //开户行
             OpenSubBank = cardBindCpm.OpenSubBank,                                   //开户支行
             CreateBy    = cardBindCpm.CreateBy,                                      //创建人  当前登录人
             UpdateBy    = cardBindCpm.CreateBy                                       //新增时最后修改人与新增人一致  当前登录人
         });
         tran.Complete();
         return(ResultModel <object> .Conclude(FinanceCardBindC.Success));
     }
 }
示例#2
0
        /// <summary>
        /// 新增美团订单 add by caoheyang 20150421
        /// </summary>
        /// <param name="paramodel">paraModel</param>
        public void AddOrder(CreatePM_OpenApi paramodel)
        {
            string     orderNo = Helper.generateOrderCode(paramodel.businessId);
            RedisCache redis   = new RedisCache();

            try
            {
                using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
                {
                    OrderDao orderDao = new OrderDao();
                    paramodel.OrderNo = orderNo;
                    //将当前订单插入到缓存中,设置过期时间30天
                    redis.Set(string.Format(RedissCacheKey.OtherOrderInfo, paramodel.orderfrom.ToString(),
                                            paramodel.order_id.ToString()), orderNo, DateTime.Now.AddDays(30)); //先加入缓存,相当于加锁
                    int orderId = orderDao.CreateToSql(paramodel);                                              //插入订单返回订单id
                    orderDao.CreateToSqlAddOrderOther(paramodel.businessId, orderId);                           //操作插入OrderOther表
                    orderDao.CreateToSqlAddOrderDetail(paramodel, orderNo);                                     //操作插入OrderDetail表
                    orderDao.CreateToSqlAddOrderChild(paramodel, orderId);                                      //插入订单子表
                    tran.Complete();
                }
            }
            catch (Exception ex)
            {
                redis.Delete(string.Format(RedissCacheKey.OtherOrderInfo, //同步失败,清除缓存内的订单信息信息
                                           paramodel.store_info.group.ToString(), paramodel.order_id.ToString()));
                throw ex;
            }
        }
        /// <summary>
        /// 商户修改绑定银行卡功能 add by caoheyang 20150511
        /// </summary>
        /// <param name="cardModifyBpm">参数实体</param>
        /// <returns></returns>
        public ResultModel <object> CardModifyB(CardModifyBPM cardModifyBpm)
        {
            FinanceCardModifyB boolRes = CheckCardModifyB(cardModifyBpm);

            if (boolRes != FinanceCardModifyB.Success)
            {
                return(ResultModel <object> .Conclude(boolRes));
            }
            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                _businessFinanceAccountDao.Update(new BusinessFinanceAccount()
                {
                    Id          = cardModifyBpm.Id,
                    BusinessId  = cardModifyBpm.BusinessId,             //商户ID
                    TrueName    = cardModifyBpm.TrueName,               //户名
                    AccountNo   = DES.Encrypt(cardModifyBpm.AccountNo), //卡号(DES加密)
                    BelongType  = cardModifyBpm.BelongType,             //账号类别  0 个人账户 1 公司账户
                    OpenBank    = cardModifyBpm.OpenBank,               //开户行
                    OpenSubBank = cardModifyBpm.OpenSubBank,            //开户支行
                    UpdateBy    = cardModifyBpm.UpdateBy                //修改人  当前登录人
                });
                tran.Complete();
                return(ResultModel <object> .Conclude(SystemState.Success));
            }
        }
        /// <summary>
        /// 骑士修改绑定银行卡功能 add by caoheyang 20150511  TODO 统一加密算法
        /// </summary>
        /// <param name="cardModifyCpm">参数实体</param>
        /// <returns></returns>
        public ResultModel <object> CardModifyC(CardModifyCPM cardModifyCpm)
        {
            FinanceCardModifyC checkbool = CheckCardModifyC(cardModifyCpm);  //验证数据合法性

            if (checkbool != FinanceCardModifyC.Success)
            {
                return(ResultModel <object> .Conclude(checkbool));
            }
            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                _clienterFinanceAccountDao.Update(new ClienterFinanceAccount()
                {
                    Id          = cardModifyCpm.Id,
                    ClienterId  = cardModifyCpm.ClienterId,             //骑士ID
                    TrueName    = cardModifyCpm.TrueName,               //户名
                    AccountNo   = DES.Encrypt(cardModifyCpm.AccountNo), //卡号(DES加密)
                    BelongType  = cardModifyCpm.BelongType,             //账号类别  0 个人账户 1 公司账户
                    OpenBank    = cardModifyCpm.OpenBank,               //开户行
                    OpenSubBank = cardModifyCpm.OpenSubBank,            //开户支行
                    UpdateBy    = cardModifyCpm.UpdateBy                //修改人  当前登录人
                });
                tran.Complete();
                return(ResultModel <object> .Conclude(SystemState.Success));
            }
        }
示例#5
0
        /// <summary>
        /// 商家充值成功方法
        /// 窦海超
        /// 2015年5月29日 16:00:07
        /// </summary>
        /// <param name="model"></param>
        private dynamic BusinessRechargeSusess(Ets.Model.DataModel.Business.BusinessRechargeModel model)
        {
            #region 充值、流水、商家金额实体组装
            BusinessBalanceRecord businessBalanceRecord = new BusinessBalanceRecord()
            {
                Amount     = model.PayAmount,
                BusinessId = model.BusinessId,
                Operator   = model.PayBy,
                RecordType = BusinessBalanceRecordRecordType.Recharge.GetHashCode(),
                RelationNo = model.OrderNo,
                Remark     = "商家客户端充值",
                Status     = 1,
                WithwardId = 0
            };
            UpdateForWithdrawPM forWithdrawPM = new UpdateForWithdrawPM()
            {
                Id    = model.BusinessId,
                Money = model.PayAmount
            };
            #endregion

            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                new BusinessRechargeDao().Insert(model);                      //写入充值
                new BusinessDao().UpdateForWithdrawC(forWithdrawPM);          //更新商家金额、可提现金额
                new BusinessBalanceRecordDao().Insert(businessBalanceRecord); //写商家流水
                tran.Complete();
            }
            #region jpush推送

            Task.Factory.StartNew(() =>
            {
                JPushModel jpushModel = new JPushModel()
                {
                    Alert          = string.Concat("已成功充值", model.PayAmount, "元"),
                    City           = string.Empty,
                    RegistrationId = model.BusinessId.ToString(),//发送商家ID
                    TagId          = 1,
                    Title          = "充值成功提醒"
                };
                Ets.Service.Provider.MyPush.Push.PushMessage(jpushModel);
            });
            #endregion

            string success = string.Concat("成功完成商家充值订单号:", model.OrderNo);
            LogHelper.LogWriter(success);
            return("success");
        }
示例#6
0
        private static bool threadSafe = true;//线程安全
        #region IJob 成员

        public void Execute(Quartz.IJobExecutionContext context)
        {
            if (!threadSafe)
            {
                return;
            }
            threadSafe = false;
            try
            {
                LogHelper.LogWriter("执行啦:" + DateTime.Now);
                double hour = ParseHelper.ToDouble(Config.ConfigKey("DataTime"), -1);
                if (hour == -1)
                {
                    return;
                }
                ClienterDao clienterDao           = new ClienterDao();
                BusinessDao businessDao           = new BusinessDao();
                OrderDao    orderDao              = new OrderDao();
                IList <NonJoinWithdrawModel> list = orderDao.GetNonJoinWithdraw(hour);//获取没给可提现金额加钱的订单
                foreach (var item in list)
                {
                    using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
                    {
                        try
                        {
                            LogHelper.LogWriter(string.Concat("执行订单ID:", item.id, ",ClienterId:", item.clienterId));
                            clienterDao.UpdateAllowWithdrawPrice(item.clienterPrice, item.clienterId);
                            //businessDao.UpdateAllowWithdrawPrice(item.businessPrice, item.businessId);
                            orderDao.UpdateJoinWithdraw(item.id);
                            tran.Complete();
                        }
                        catch (Exception ex)
                        {
                            LogHelper.LogWriter(ex);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.LogWriter(ex);
            }
            finally
            {
                threadSafe = true;
            }
        }
        /// <summary>
        /// 设置全局变量表数据
        /// </summary>
        /// <param name="opName"></param>
        /// <param name="value"></param>
        /// <param name="Remark"></param>
        /// <returns></returns>
        public bool UpdateSubsidies(string opName, string value, string Remark, string keyName, int GroupId, int StrategyId)
        {
            bool result = false;

            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                if (_dao.AddSubsidiesLog(keyName, opName, Remark, GroupId, StrategyId))
                {
                    result = _dao.UpdateSubsidies(value, keyName, GroupId);
                }
                var          redis    = new ETS.NoSql.RedisCache.RedisCache();
                const string cacheKey = RedissCacheKey.Ets_Dao_GlobalConfig_GlobalConfigGet;
                redis.Delete(cacheKey);
                tran.Complete();
            }
            return(result);
        }
        /// <summary>
        /// 设置全局变量表数据佣金方式CommissionFormulaMode
        /// </summary>
        /// <param name="opName"></param>
        /// <param name="value"></param>
        /// <param name="Remark"></param>
        /// <returns></returns>
        public bool UpdateCommissionFormulaMode(string opName, string value, string Remark, int GroupId, int StrategyId)
        {
            bool result = false;

            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                if (_dao.AddSubsidiesLog("CommissionFormulaMode", opName, Remark, GroupId, StrategyId))
                {
                    result = _dao.UpdateCommissionFormulaMode(value, GroupId);
                }
                var          redis    = new ETS.NoSql.RedisCache.RedisCache();
                const string cacheKey = RedissCacheKey.Ets_Dao_GlobalConfig_GlobalConfigGet;
                redis.Delete(cacheKey);
                var model = new GlobalConfigDao().GlobalConfigMethod(GroupId);
                redis.Set(cacheKey, model);
                tran.Complete();
            }
            return(result);
        }
示例#9
0
 public virtual List <int> Register(Model.UserModel user)
 {
     //如果有查询就放到外层
     //...
     using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
     {
         //实现调用DAO层方法
         //...
         ChangeWorkStatusPM pmModel = new ChangeWorkStatusPM();
         pmModel.Id         = 1;
         pmModel.WorkStatus = 1;
         dao.ChangeWorkStatusToSql(pmModel);
         tran.Complete();
     }
     //new UserDao().RegisterToSql(new Model.UserModel());
     return(new List <int>()
     {
         1, 2
     });
 }
        /// <summary>
        /// 骑士提现申请单确认打款
        /// danny-20150513
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool ClienterWithdrawPayOk(ClienterWithdrawLog model)
        {
            bool reg = false;

            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                if (clienterFinanceDao.ClienterWithdrawPayOk(model))
                {
                    if (clienterFinanceDao.ModifyClienterBalanceRecordStatus(model.WithwardId.ToString()))
                    {
                        if (clienterFinanceDao.ModifyClienterTotalAmount(model.WithwardId.ToString()))
                        {
                            reg = true;
                            tran.Complete();
                        }
                    }
                }
            }
            return(reg);
        }
 /// <summary>
 /// 调整订单佣金
 /// 窦海超
 /// 2015年4月3日 09:41:19
 /// </summary>
 public void AutoAdjustOrderCommission(IList <OrderAutoAdjustModel> list, decimal AdjustAmount, int executeMinute)
 {
     try
     {
         foreach (OrderAutoAdjustModel item in list)
         {
             //ETS.Util.Log.WriteTextToFile("调整订单佣金AutoAdjustOrderCommission", ETS.Config.ConfigKey("LogPath"),true);
             using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
             {
                 orderDao.UpdateOrderCommissionById(AdjustAmount, item.Id);              //更新账户
                 orderDao.InsertOrderSubsidiesLog(AdjustAmount, item.Id, executeMinute); //写入日志
                 tran.Complete();
             }
         }
     }
     catch (Exception ex)
     {
         //ETS.Util.LogHelper.LogWriter(ex);
         ETS.Util.LogHelper.LogWriter(ex, "当前时间:" + DateTime.Now.ToString() + "调整订单佣金引发异常");
     }
 }
        /// <summary>
        /// 提现
        /// 窦海超
        /// 2015年3月23日 12:54:43
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool AddWtihdrawRecords(Model.ParameterModel.WtihdrawRecords.WithdrawRecordsModel model)
        {
            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                WtihdrawRecordsDao withDao     = new WtihdrawRecordsDao();
                ClienterDao        clienterDao = new ClienterDao();
                bool checkBalance = clienterDao.UpdateClienterAccountBalance(model);
                if (!checkBalance)//如果余额不正确,返回错误
                {
                    return(false);
                }
                var     cliterModel = clienterDao.GetUserInfoByUserId(model.UserId); //获取当前用户余额
                decimal balance     = ParseHelper.ToDecimal(cliterModel.AccountBalance, 0);
                model.Balance = balance;                                             //最新余额
                bool checkAddwith = withDao.AddWtihdrawRecords(model);               //新增提现记录
                //流水改到
                ClienterBalanceRecord cbrm = new ClienterBalanceRecord()
                {
                    ClienterId = model.UserId,
                    Amount     = Convert.ToDecimal(model.Amount),
                    Status     = ClienterBalanceRecordStatus.Success.GetHashCode(),
                    Balance    = balance - Convert.ToDecimal(model.Amount), //最新余额 - 提现金额
                    RecordType = ClienterBalanceRecordRecordType.WithdrawApply.GetHashCode(),
                    Operator   = cliterModel.TrueName,
                    RelationNo = "", //提现的时候没有关联单号吧
                    Remark     = "骑士提现"
                };

                long iResult = clienterBalanceRecordDao.Insert(cbrm);
                // bool checkAddrecords = withDao.AddRecords(model);//新增提现流水记录
                if (!checkAddwith || iResult <= 0)
                {
                    return(false);
                }
                tran.Complete();
            }
            return(true);
        }
示例#13
0
        /// <summary>
        /// 商户提现申请单打款失败
        /// danny-20150511
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool BusinessWithdrawPayFailed(BusinessWithdrawLogModel model)
        {
            bool reg = false;

            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                if (businessFinanceDao.BusinessWithdrawReturn(model))
                {
                    if (businessFinanceDao.BusinessWithdrawPayFailed(model))
                    {
                        if (businessFinanceDao.ModifyBusinessBalanceRecordStatus(model.WithwardId.ToString()))
                        {
                            if (businessFinanceDao.ModifyBusinessAmountInfo(model.WithwardId.ToString()))
                            {
                                reg = true;
                                tran.Complete();
                            }
                        }
                    }
                }
            }
            return(reg);
        }
示例#14
0
        /// <summary>
        /// 商户提现功能 add by caoheyang 20150511
        /// </summary>
        /// <param name="withdrawBpm">参数实体</param>
        /// <returns></returns>
        public ResultModel <object> WithdrawB(WithdrawBPM withdrawBpm)
        {
            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                BusinessModel    business = new BusinessModel();
                var              businessFinanceAccount = new BusinessFinanceAccount(); //商户金融账号信息
                FinanceWithdrawB checkbool = CheckWithdrawB(withdrawBpm, ref business, ref businessFinanceAccount);
                if (checkbool != FinanceWithdrawB.Success)                              //验证失败 此次提款操作无效 直接返回相关错误信息
                {
                    return(ResultModel <object> .Conclude(checkbool));
                }
                else
                {
                    _businessDao.UpdateForWithdrawC(new UpdateForWithdrawPM()
                    {
                        Id    = withdrawBpm.BusinessId,
                        Money = -withdrawBpm.WithdrawPrice
                    }); //更新商户表的余额,可提现余额
                    string withwardNo = Helper.generateOrderCode(withdrawBpm.BusinessId);
                    #region 商户提现
                    long withwardId = _businessWithdrawFormDao.Insert(new BusinessWithdrawForm()
                    {
                        WithwardNo         = withwardNo,                                        //单号 规则待定
                        BusinessId         = withdrawBpm.BusinessId,                            //商户Id
                        BalancePrice       = business.BalancePrice,                             //提现前商户余额
                        AllowWithdrawPrice = business.AllowWithdrawPrice,                       //提现前商户可提现金额
                        Status             = (int)BusinessWithdrawFormStatus.WaitAllow,         //待审核
                        Amount             = withdrawBpm.WithdrawPrice,                         //提现金额
                        Balance            = business.BalancePrice - withdrawBpm.WithdrawPrice, //提现后余额
                        TrueName           = businessFinanceAccount.TrueName,                   //商户收款户名
                        AccountNo          = businessFinanceAccount.AccountNo,                  //卡号(DES加密)
                        AccountType        = businessFinanceAccount.AccountType,                //账号类型:
                        BelongType         = businessFinanceAccount.BelongType,                 //账号类别  0 个人账户 1 公司账户
                        OpenBank           = businessFinanceAccount.OpenBank,                   //开户行
                        OpenSubBank        = businessFinanceAccount.OpenSubBank                 //开户支行
                    });
                    #endregion

                    #region 商户余额流水操作 更新骑士表的余额,可提现余额
                    _businessBalanceRecordDao.Insert(new BusinessBalanceRecord()
                    {
                        BusinessId = withdrawBpm.BusinessId,                    //商户Id
                        Amount     = -withdrawBpm.WithdrawPrice,                //流水金额
                        Status     = (int)BusinessBalanceRecordStatus.Tradeing, //流水状态(1、交易成功 2、交易中)
                        RecordType = (int)BusinessBalanceRecordRecordType.WithdrawApply,
                        Operator   = business.Name,
                        WithwardId = withwardId,
                        RelationNo = withwardNo,
                        Remark     = "商户提现"
                    });
                    #endregion

                    #region 商户提现记录

                    _businessWithdrawLogDao.Insert(new BusinessWithdrawLog()
                    {
                        WithwardId = withwardId,
                        Status     = (int)BusinessWithdrawFormStatus.WaitAllow,//待审核
                        Remark     = "商户发起提现操作",
                        Operator   = business.Name,
                    }); //更新商户表的余额,可提现余额
                    #endregion
                    tran.Complete();
                }
                return(ResultModel <object> .Conclude(FinanceWithdrawB.Success));;
            }
        }
        /// <summary>
        /// 添加商家分组
        /// danny-20150506
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool ModifySubsidyFormulaMode(GlobalConfigModel globalConfigModel)
        {
            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                if (globalConfigModel.GroupId == 0) //新增
                {
                    BusinessGroupModel businessGroupModel = new BusinessGroupModel()
                    {
                        Name       = globalConfigModel.GroupName,
                        StrategyId = globalConfigModel.StrategyId,
                        CreateBy   = globalConfigModel.OptName
                    };
                    globalConfigModel.GroupId = businessGroupDao.AddBusinessGroup(businessGroupModel);
                    if (globalConfigModel.GroupId > 0)
                    {
                        var r = businessGroupDao.CopyGlobalConfigMode(globalConfigModel.GroupId, globalConfigModel.OptName);
                    }
                }
                else //修改
                {
                    BusinessGroupModel businessGroupModel = new BusinessGroupModel()
                    {
                        Id         = globalConfigModel.GroupId,
                        Name       = globalConfigModel.GroupName,
                        StrategyId = globalConfigModel.StrategyId,
                        UpdateBy   = globalConfigModel.OptName
                    };
                    businessGroupDao.UpdateBusinessGroup(businessGroupModel);
                }

                #region 动态时间补贴

                Ets.Model.Common.GlobalConfig globalConfig = new Ets.Model.Common.GlobalConfig()
                {
                    KeyName    = "IsStarTimeSubsidies",
                    Value      = globalConfigModel.IsStarTimeSubsidies,
                    GroupId    = globalConfigModel.GroupId,
                    StrategyId = globalConfigModel.StrategyId,
                    OptName    = globalConfigModel.OptName
                };
                businessGroupDao.UpdateGlobalConfig(globalConfig);

                #endregion

                #region 跨店时间奖励

                globalConfig.KeyName = "IsStartOverStoreSubsidies";
                globalConfig.Value   = globalConfigModel.IsStartOverStoreSubsidies;
                businessGroupDao.UpdateGlobalConfig(globalConfig);

                #endregion

                #region 补贴策略

                switch (globalConfigModel.StrategyId) //使用switch-case开关语句,根据按键次数执行相应分支
                {
                case 0:                               //普通补贴
                    globalConfig.KeyName = "CommonCommissionRatio";
                    globalConfig.Value   = globalConfigModel.CommonCommissionRatio;
                    businessGroupDao.UpdateGlobalConfig(globalConfig);
                    globalConfig.KeyName = "CommonSiteSubsidies";
                    globalConfig.Value   = globalConfigModel.CommonSiteSubsidies;
                    businessGroupDao.UpdateGlobalConfig(globalConfig);
                    break;

                case 1:     //时间段补贴
                    globalConfig.KeyName = "TimeSpanCommissionRatio";
                    globalConfig.Value   = globalConfigModel.TimeSpanCommissionRatio;
                    businessGroupDao.UpdateGlobalConfig(globalConfig);
                    globalConfig.KeyName = "TimeSpanInPrice";
                    globalConfig.Value   = globalConfigModel.TimeSpanInPrice;
                    businessGroupDao.UpdateGlobalConfig(globalConfig);
                    globalConfig.KeyName = "TimeSpanOutPrice";
                    globalConfig.Value   = globalConfigModel.TimeSpanOutPrice;
                    businessGroupDao.UpdateGlobalConfig(globalConfig);
                    break;

                case 2:     //保本补贴
                    globalConfig.KeyName = "CommissionRatio";
                    globalConfig.Value   = globalConfigModel.CommissionRatio;
                    businessGroupDao.UpdateGlobalConfig(globalConfig);
                    globalConfig.KeyName = "SiteSubsidies";
                    globalConfig.Value   = globalConfigModel.SiteSubsidies;
                    businessGroupDao.UpdateGlobalConfig(globalConfig);
                    break;

                case 3:     //满金额补贴
                    globalConfig.KeyName = "PriceCommissionRatio";
                    globalConfig.Value   = globalConfigModel.PriceCommissionRatio;
                    businessGroupDao.UpdateGlobalConfig(globalConfig);
                    globalConfig.KeyName = "PriceSiteSubsidies";
                    globalConfig.Value   = globalConfigModel.PriceSiteSubsidies;
                    businessGroupDao.UpdateGlobalConfig(globalConfig);
                    break;
                }

                #endregion

                DeleteGlobalConfigRedisByGroupId(globalConfigModel.GroupId);
                tran.Complete();
            }
            return(true);
        }
        /// <summary>
        /// 修改公共配置信息
        /// danny-20150518
        /// </summary>
        /// <param name="globalConfigModel"></param>
        /// <returns></returns>
        public bool ModifyGlobalConfig(GlobalConfigModel globalConfigModel)
        {
            var globalConfig = new Ets.Model.Common.GlobalConfig()
            {
                OptName    = globalConfigModel.OptName,
                GroupId    = 0,
                StrategyId = -1
            };

            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                bool reg;
                if (globalConfigModel.PushRadius != "0")
                {
                    globalConfig.KeyName = "PushRadius";
                    globalConfig.Value   = globalConfigModel.PushRadius;
                    reg = businessGroupDao.UpdateGlobalConfig(globalConfig);
                    if (!reg)
                    {
                        return(false);
                    }
                }
                if (globalConfigModel.UploadTimeInterval != "0")
                {
                    globalConfig.KeyName = "UploadTimeInterval";
                    globalConfig.Value   = globalConfigModel.UploadTimeInterval;
                    reg = businessGroupDao.UpdateGlobalConfig(globalConfig);
                    if (!reg)
                    {
                        return(false);
                    }
                }
                if (globalConfigModel.ExclusiveOrderTime != "0")
                {
                    globalConfig.KeyName = "ExclusiveOrderTime";
                    globalConfig.Value   = globalConfigModel.ExclusiveOrderTime;
                    reg = businessGroupDao.UpdateGlobalConfig(globalConfig);
                    if (!reg)
                    {
                        return(false);
                    }
                }
                if (globalConfigModel.ClienterOrderPageSize != "0")
                {
                    globalConfig.KeyName = "ClienterOrderPageSize";
                    globalConfig.Value   = globalConfigModel.ClienterOrderPageSize;
                    reg = businessGroupDao.UpdateGlobalConfig(globalConfig);
                    if (!reg)
                    {
                        return(false);
                    }
                }
                if (ParseHelper.ToInt(globalConfigModel.CompleteTimeSet) >= 0)
                {
                    globalConfig.KeyName = "CompleteTimeSet";
                    globalConfig.Value   = globalConfigModel.CompleteTimeSet;
                    reg = businessGroupDao.UpdateGlobalConfig(globalConfig);
                    if (!reg)
                    {
                        return(false);
                    }
                }
                if (!string.IsNullOrEmpty(globalConfigModel.EmployerTaskTimeSet))
                {
                    globalConfig.KeyName = "EmployerTaskTimeSet";
                    globalConfig.Value   = globalConfigModel.EmployerTaskTimeSet;
                    reg = businessGroupDao.UpdateGlobalConfig(globalConfig);
                    if (!reg)
                    {
                        return(false);
                    }
                }
                tran.Complete();
                DeleteGlobalConfigRedisByGroupId(globalConfigModel.GroupId);
                return(true);
            }
        }
示例#17
0
        /// <summary>
        /// 跨店补贴
        /// 徐鹏程
        /// 20150414
        /// </summary>
        public bool CrossShop(List <GlobalConfigSubsidies> SubsidiesList)
        {
            IList <GrabOrderModel> list = subsidyDao.GetBusinessCount();
            WtihdrawRecordsDao     withdrawRecordsDao = new WtihdrawRecordsDao();
            ClienterDao            clienterDao        = new ClienterDao();

            int    MaxSubsidiesShop  = SubsidiesList.Max(t => ParseHelper.ToInt(t.Value1));                                                                //最大数量
            double MaxSubsidiesPrice = ParseHelper.ToDouble(SubsidiesList.Where(t => ParseHelper.ToInt(t.Value1) == MaxSubsidiesShop).ToList()[0].Value2); //最大金额

            foreach (GrabOrderModel item in list)
            {
                //Ets.Model.DomainModel.Clienter.ClienterModel cliterModel = new ClienterDao().GetUserInfoByUserId(item.ClienterId);//获取当前用户余额
                WithdrawRecordsModel withdraw = new WithdrawRecordsModel();
                #region 写流水
                withdraw.Platform = 1;
                withdraw.AdminId  = 0;
                withdraw.UserId   = item.ClienterId;
                int businessCount = item.BusinessCount;
                //var findSubsidie = SubsidiesList.OrderByDescending(t => ParseHelper.ToInt(t.Value1)).ToList().Where(t => ParseHelper.ToInt(t.Value1) >= businessCount).First();
                //double businessPrice = findSubsidie == null ? 0 : ParseHelper.ToDouble(findSubsidie.Value2);

                //ParseHelper.ToDouble(SubsidiesList.Select(t => ParseHelper.ToInt(t.Value1) == businessCount));
                double businessPrice = 0;
                if (businessCount > MaxSubsidiesShop)
                {
                    businessPrice = MaxSubsidiesPrice;
                }
                else
                {
                    var tmpPrice = SubsidiesList.Where(t => ParseHelper.ToInt(t.Value1) == businessCount).ToList();
                    if (tmpPrice == null || tmpPrice.Count <= 0)
                    {
                        continue;
                    }
                    businessPrice = ParseHelper.ToDouble(tmpPrice[0].Value2);//当前金额
                }

                withdraw.Amount  = ParseHelper.ToDecimal(businessPrice, 0);
                withdraw.Balance = ParseHelper.ToDecimal(item.AccountBalance, 0) + withdraw.Amount;
                withdraw.Remark  = string.Format("跨店抢单奖励{0}元", withdraw.Amount);

                //记录跨店日志
                CrossShopModel crossShopModel = new CrossShopModel()
                {
                    Amount        = withdraw.Amount,
                    BusinessCount = businessCount,
                    ClienterId    = withdraw.UserId,
                    Platform      = 2,
                    Remark        = withdraw.Remark,
                    InsertTime    = DateTime.Now
                };
                #endregion

                ClienterBalanceRecord cbrm = new ClienterBalanceRecord()
                {
                    ClienterId = withdraw.UserId,
                    Amount     = withdraw.Amount,                    //奖励的金额
                    Status     = ClienterBalanceRecordStatus.Success.GetHashCode(),
                    Balance    = withdraw.Balance + withdraw.Amount, //奖励后的金额
                    RecordType = ClienterBalanceRecordRecordType.SystemReward.GetHashCode(),
                    Operator   = "系统服务",
                    RelationNo = "",
                    Remark     = "跨店骑士奖励"
                };

                using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
                {
                    //修改records表增加记录作废,改为 新表ClienterBalanceRecord
                    // withdrawRecordsDao.AddRecords(withdraw);
                    clienterBalanceRecordDao.Insert(cbrm);
                    clienterDao.UpdateAccountBalanceAndWithdraw(withdraw);//更改用户金额
                    subsidyDao.InsertCrossShopLog(crossShopModel);
                    tran.Complete();
                }
            }
            return(true);
        }
示例#18
0
        /// <summary>
        /// 添加用户
        /// danny-20150323
        /// </summary>
        /// <param name="criteria"></param>
        /// <returns></returns>
        public DealResultInfo AddAccount(AccountCriteria criteria)
        {
            var dealResultInfo = new DealResultInfo
            {
                DealFlag = false
            };
            var accountModel = new account
            {
                Id          = criteria.Id,
                UserName    = criteria.UserName,
                LoginName   = criteria.LoginName,
                Password    = string.IsNullOrWhiteSpace(criteria.Password)?"":MD5Helper.MD5(criteria.Password),
                GroupId     = criteria.GroupId,
                Status      = criteria.Status,
                AccountType = criteria.AccountType
            };
            var isHave = authoritySetDao.CheckHasAccountName(accountModel);

            if (criteria.OptionType == "0")//添加用户
            {
                if (isHave)
                {
                    dealResultInfo.DealMsg = "用户名已存在!";
                    return(dealResultInfo);
                }
            }
            else//修改用户信息
            {
                if (!isHave)
                {
                    dealResultInfo.DealMsg = "此用户不存在!";
                    return(dealResultInfo);
                }
            }
            using (var tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                var accountCityRelation = new AccountCityRelation
                {
                    AccountId = criteria.Id,
                    CreateBy  = criteria.OptUserName,
                    UpdateBy  = criteria.OptUserName,
                };
                if (criteria.OptionType == "0")//添加用户
                {
                    accountCityRelation.AccountId = authoritySetDao.AddAccount(accountModel);
                    if (accountCityRelation.AccountId == 0)
                    {
                        dealResultInfo.DealMsg = "插入用户信息失败!";
                        return(dealResultInfo);
                    }
                }
                else//修改用户信息
                {
                    if (!authoritySetDao.ModifyAccount(accountModel))
                    {
                        dealResultInfo.DealMsg = "修改用户信息失败!";
                        return(dealResultInfo);
                    }
                }
                if (!string.IsNullOrWhiteSpace(criteria.CityCodeList))
                {
                    var cityCodeList = criteria.CityCodeList.Split(',');

                    authoritySetDao.DeleteAccountCityRelation(accountCityRelation);
                    foreach (var cityCode in cityCodeList)
                    {
                        accountCityRelation.CityId = ParseHelper.ToInt(cityCode);
                        if (!authoritySetDao.AddAccountCityRelation(accountCityRelation))
                        {
                            dealResultInfo.DealMsg = "插入用户和城市关联信息失败!";
                            return(dealResultInfo);
                        }
                    }
                }
                tran.Complete();
            }
            dealResultInfo.DealMsg  = "用户信息提交成功!";
            dealResultInfo.DealFlag = true;
            return(dealResultInfo);
        }
        /// <summary>
        /// 骑士提现功能 add by caoheyang 20150509
        /// </summary>
        /// <param name="withdrawCpm">参数实体</param>
        /// <returns></returns>
        public ResultModel <object> WithdrawC(WithdrawCPM withdrawCpm)
        {
            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                clienter         clienter = new clienter();
                var              clienterFinanceAccount = new ClienterFinanceAccount(); //骑士金融账号信息
                FinanceWithdrawC checkbool = CheckWithdrawC(withdrawCpm, ref clienter, ref clienterFinanceAccount);
                if (checkbool != FinanceWithdrawC.Success)                              //验证失败 此次提款操作无效 直接返回相关错误信息
                {
                    return(ResultModel <object> .Conclude(checkbool));
                }
                else
                {
                    _clienterDao.UpdateForWithdrawC(new UpdateForWithdrawPM
                    {
                        Id    = withdrawCpm.ClienterId,
                        Money = -withdrawCpm.WithdrawPrice
                    }); //更新骑士表的余额,可提现余额
                    string withwardNo = Helper.generateOrderCode(withdrawCpm.ClienterId);
                    #region 骑士提现
                    long withwardId = _clienterWithdrawFormDao.Insert(new ClienterWithdrawForm()
                    {
                        WithwardNo         = withwardNo,                                          //单号 规则待定
                        ClienterId         = withdrawCpm.ClienterId,                              //骑士Id(Clienter表)
                        BalancePrice       = clienter.AccountBalance,                             //提现前骑士余额
                        AllowWithdrawPrice = clienter.AllowWithdrawPrice,                         //提现前骑士可提现金额
                        Status             = (int)ClienterWithdrawFormStatus.WaitAllow,           //待审核
                        Amount             = withdrawCpm.WithdrawPrice,                           //提现金额
                        Balance            = clienter.AccountBalance - withdrawCpm.WithdrawPrice, //提现后余额
                        TrueName           = clienterFinanceAccount.TrueName,                     //骑士收款户名
                        AccountNo          = clienterFinanceAccount.AccountNo,                    //卡号(DES加密)
                        AccountType        = clienterFinanceAccount.AccountType,                  //账号类型:
                        BelongType         = clienterFinanceAccount.BelongType,                   //账号类别  0 个人账户 1 公司账户
                        OpenBank           = clienterFinanceAccount.OpenBank,                     //开户行
                        OpenSubBank        = clienterFinanceAccount.OpenSubBank                   //开户支行
                    });
                    #endregion

                    #region 骑士余额流水操作 更新骑士表的余额,可提现余额
                    _clienterBalanceRecordDao.Insert(new ClienterBalanceRecord()
                    {
                        ClienterId = withdrawCpm.ClienterId,                    //骑士Id(Clienter表)
                        Amount     = -withdrawCpm.WithdrawPrice,                //流水金额
                        Status     = (int)ClienterBalanceRecordStatus.Tradeing, //流水状态(1、交易成功 2、交易中)
                        RecordType = (int)ClienterBalanceRecordRecordType.WithdrawApply,
                        Operator   = clienter.TrueName,
                        WithwardId = withwardId,
                        RelationNo = withwardNo,
                        Remark     = "骑士提现"
                    });
                    #endregion

                    #region 骑士提现记录

                    _clienterWithdrawLogDao.Insert(new ClienterWithdrawLog()
                    {
                        WithwardId = withwardId,
                        Status     = (int)ClienterWithdrawFormStatus.WaitAllow,//待审核
                        Remark     = "骑士发起提现操作",
                        Operator   = clienter.TrueName
                    }); //更新骑士表的余额,可提现余额
                    #endregion
                    tran.Complete();
                }
                return(ResultModel <object> .Conclude(FinanceWithdrawC.Success));;
            }
        }