//发送骑士短信 void SendMessagClienter(MessageModel model) { try { ClienterDao clienterDao = new ClienterDao(); DataTable dt = clienterDao.GetPhoneNoList(model.PushCity); for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["PhoneNo"] == null || dt.Rows[i]["PhoneNo"].ToString() == "") { continue; } string phoneNo = ""; if (StringHelper.CheckPhone(dt.Rows[i]["PhoneNo"].ToString())) { phoneNo = dt.Rows[i]["PhoneNo"].ToString(); } Task.Factory.StartNew(() => { SendSmsHelper.SendSendSmsSaveLog(phoneNo, model.Content, SystemConst.SMSSOURCE); //写日志 LogHelper.LogTraceWriterPhone(model.Id + " 骑士:" + phoneNo); }); } } catch (Exception ex) { LogHelper.LogWriter(ex); } }
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; } }
//发送骑士app void SendAPPClienter(MessageModel model) { try { ClienterDao clienterDao = new ClienterDao(); DataTable dt = clienterDao.GetPhoneNoList(model.PushCity); for (int i = 0; i < dt.Rows.Count; i++) { string clienterId = dt.Rows[i]["id"].ToString(); long id = clienterMessageDao.Insert(new ClienterMessage { ClienterId = Convert.ToInt32(clienterId), Content = model.Content, IsRead = 0 } ); Task.Factory.StartNew(() => { JPushModel jpushModel = new JPushModel() { Alert = "您有新消息啦,请及时查收!", City = string.Empty, Content = id.ToString(), ContentKey = "Notice", RegistrationId = "C_" + clienterId, TagId = 0, Title = "新消息", PushType = 1 }; Push.PushMessage(jpushModel); }); } } catch (Exception ex) { LogHelper.LogWriter(ex); } }
/// <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); }
/// <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); }
/// <summary> /// 获取homecount页的数量 /// 窦海超 /// 2015年3月24日 13:36:34 /// </summary> /// <returns></returns> public HomeCountTitleModel GetHomeCountTitle() { HomeCountTitleModel model = new HomeCountTitleModel(); ClienterDao clienterDao = new ClienterDao(); BusinessDao businessDao = new BusinessDao(); OrderDao orderDao = new OrderDao(); SubsidyDao subsidyDao = new SubsidyDao(); Ets.Dao.Statistics.StatisticsDao statisticsDao = new Ets.Dao.Statistics.StatisticsDao(); HomeCountTitleModel temp = new HomeCountTitleModel(); //获取当天,订单金额:任务量:订单量: //商户结算金额(应收); 骑士佣金总计(应付) string CurrentTime = DateTime.Now.ToString("yyyy-MM-dd"); IList <HomeCountTitleModel> homeCountList = orderDao.GetCurrentDateCountAndMoney(CurrentTime, CurrentTime); IList <HomeCountTitleModel> subsidyOrderCountList = orderDao.GetCurrentDateSubsidyOrderCount(CurrentTime, CurrentTime); #region 获取当天,未完成任务量,未被抢任务量 var unfinish = statisticsDao.GetCurrentUnFinishOrderinfo(); if (unfinish != null) { model.UnfinishedMissionCount = unfinish.UnfinishedMissionCount; //未完成任务量 model.UnGrabMissionCount = unfinish.UnGrabMissionCount; //未抢单任务量 } #endregion #region 获取活跃商家和活跃骑士 unfinish = statisticsDao.GetCurrentActiveBussinessAndClienter(); if (unfinish != null) { model.ActiveBusiness = unfinish.ActiveBusiness; //活跃商家 model.ActiveClienter = unfinish.ActiveClienter; //活跃骑士 } #endregion if (homeCountList != null && homeCountList.Count > 0) { temp = homeCountList[0]; } model.OrderPrice = temp.OrderPrice; // 订单金额 model.MisstionCount = temp.MisstionCount; // 任务量 model.OrderCount = temp.OrderCount; // 订单量 model.YsPrice = Math.Round(temp.YsPrice, 2); // 商户结算金额(应收) model.YfPrice = Math.Round(temp.YfPrice, 2); // 骑士佣金总计(应付) model.YkPrice = Math.Round(model.YsPrice - model.YfPrice, 2); //盈亏总计:+ model.PubDate = temp.PubDate; //发布时间 temp = clienterDao.GetCountAndMoney(model); //获取已申请骑士,通过骑士数量 model.RzqsCount = temp.RzqsCount; // 认证骑士数量 model.DdrzqsCount = temp.DdrzqsCount; //等待认证骑士 temp = businessDao.GetCurrentBusinessCount(model); // 商家总数: model.BusinessCount = temp.BusinessCount; //商家总数 model.BusinessAverageOrderCount = ParseHelper.ToDivision(model.OrderCount, model.ActiveBusiness); //商户平均发布订单 model.MissionAverageOrderCount = ParseHelper.ToDivision(model.OrderCount, model.MisstionCount); //任务平均订单量 model.ClienterAverageOrderCount = ParseHelper.ToDivision(model.OrderCount, model.ActiveClienter); //骑士平均完成订单量 if (subsidyOrderCountList != null && subsidyOrderCountList.Count > 0) { var zeroSubsidyOrderCount = subsidyOrderCountList.Where(t => t.DealCount == 0).ToList(); var oneSubsidyOrderCount = subsidyOrderCountList.Where(t => t.DealCount == 1).ToList(); var twoSubsidyOrderCount = subsidyOrderCountList.Where(t => t.DealCount == 2).ToList(); var threeSubsidyOrderCount = subsidyOrderCountList.Where(t => t.DealCount == 3).ToList(); model.ZeroSubsidyOrderCount = zeroSubsidyOrderCount != null && zeroSubsidyOrderCount.Count > 0 ? zeroSubsidyOrderCount[0].OrderCount : 0; model.OneSubsidyOrderCount = oneSubsidyOrderCount != null && oneSubsidyOrderCount.Count > 0 ? oneSubsidyOrderCount[0].OrderCount : 0; model.TwoSubsidyOrderCount = twoSubsidyOrderCount != null && twoSubsidyOrderCount.Count > 0 ? twoSubsidyOrderCount[0].OrderCount : 0; model.ThreeSubsidyOrderCount = threeSubsidyOrderCount != null && threeSubsidyOrderCount.Count > 0 ? threeSubsidyOrderCount[0].OrderCount : 0; } else { model.ZeroSubsidyOrderCount = 0; model.OneSubsidyOrderCount = 0; model.TwoSubsidyOrderCount = 0; model.ThreeSubsidyOrderCount = 0; } return(model); }