/// <summary> /// web 账户充值(成功) /// </summary> /// <param name="model">用户余额信息表model</param> /// <param name="ulogModel">用户账户金额异动记录表model</param> /// <param name="poomodel">订单支付信息表model</param> /// <param name="pomodel">订单支付信息与订单关联记录表model</param> /// <returns></returns> public ResultModel AccountRechargeWeb(ZJ_UserBalanceModel model, ZJ_UserBalanceChangeLogModel ulogModel, PaymentOrderModel pomodel, ZJ_RechargeOrderModel zjoModel, ZJ_UserBalanceChangeLogModel zjoulogModel) { var result = new ResultModel(); using (var tx1 = _database.Db.BeginTransaction()) { try { UpdateZJ_RechargeOrder(zjoModel, tx1); UpdatePaymentOrder(pomodel, tx1); UpdateZJ_UserBalance(model, ulogModel, tx1); tx1.Commit(); } catch (Exception ex) { tx1.Rollback(); result.IsValid = false; result.Messages.Add(ex.Message); } } return(result); }
/// <summary> /// 更新用户余额信息表(后台余额充值) /// </summary> /// <param name="model">用户余额信息表模型</param> /// <returns>是否修改成功</returns> public void UpdateZJ_UserBalances(ZJ_UserBalanceModel model, ZJ_UserBalanceChangeLogModel ulogModel, dynamic tx) { ZJ_UserBalanceServiceWeb zjweb = new ZJ_UserBalanceServiceWeb(); zjweb.UpdateZJ_UserBalance(model, ulogModel, tx); //调用统一的修改方法 个人账户 ParameterSetService pss = new ParameterSetService(); //下面是给公司账户金额操作的 model.UserID = Convert.ToInt64(pss.GetParametePValueById(1215894621).Data); ulogModel.UserID = Convert.ToInt64(pss.GetParametePValueById(1215894621).Data); model.AddOrCutAmount = -model.AddOrCutAmount; ulogModel.AddOrCutAmount = -ulogModel.AddOrCutAmount; ulogModel.IsAddOrCut = ulogModel.IsAddOrCut == 0 ? 1 : 0; if (ulogModel.AddOrCutType <= 0) { if (ulogModel.AddOrCutAmount > 0) { ulogModel.AddOrCutType = 15; //后台充值(正数) } else { ulogModel.AddOrCutType = 16; //后台充值扣款(负数) } } zjweb.UpdateZJ_UserBalance(model, ulogModel, tx); //调用统一的修改方法 公司账户 }
/// <summary> /// 添加用户余额信息表 /// </summary> /// <param name="model">用户余额信息表模型</param> /// <returns>是否成功</returns> public ResultModel AddZJ_UserBalance(ZJ_UserBalanceModel model) { var result = new ResultModel { Data = _database.Db.ZJ_UserBalance.Insert(model) }; return(result); }
/// <summary> /// web 账户充值(第三方充值成功) /// </summary> /// <param name="RechargeAmount">充值金额</param> /// <param name="Radiochecked">第三方充值方式通道</param> /// <param name="UserID">用户ID</param> /// <param name="Account">登录名</param> /// <param name="AddOrCutType">充值类型(账户充值1)</param> /// <param name="OrderNo">订单编号</param> /// <param name="OrderSource">来源0:网站,1移动设备</param> /// <returns></returns> public ResultModel AccountRechargeWebs(AccountRechargeModel armodel) { var result = new ResultModel(); #region 用户余额信息表 和其对应的资金流水账 //用户余额信息表(前台) ZJ_UserBalanceModel zjubModel = new ZJ_UserBalanceModel(); zjubModel.UserID = armodel.UserID; zjubModel.UpdateBy = "前台账户自己充值"; zjubModel.UpdateDT = DateTime.Now; //用户账户金额异动记录表(资金流水账) ZJ_UserBalanceChangeLogModel zjublModel = new ZJ_UserBalanceChangeLogModel(); zjublModel.Account = armodel.Account; zjublModel.AddOrCutAmount = armodel.AddOrCutAmount; zjublModel.AddOrCutType = armodel.AddOrCutType; zjublModel.CreateBy = armodel.Account == null ? "前台登录名为空" : armodel.Account; zjublModel.CreateDT = DateTime.Now; if (armodel.AddOrCutAmount >= 0) { zjublModel.IsAddOrCut = 1; } else { zjublModel.IsAddOrCut = 0; } zjublModel.IsDisplay = 1; zjublModel.OrderNo = armodel.OrderNo; zjublModel.Remark = "前台账户充值"; zjublModel.UserID = armodel.UserID; #endregion #region 用户充值订单 //用户充值订单 ZJ_RechargeOrderModel zjroModel = new ZJ_RechargeOrderModel(); zjroModel.OrderNO = armodel.OrderNo; zjroModel.RechargeResult = 1; #endregion #region 订单支付信息表 //订单支付信息表 PaymentOrderModel poModel = new PaymentOrderModel(); poModel.PaymentOrderID = armodel.PaymentOrderID; poModel.Flag = 2; poModel.outOrderId = armodel.outOrderId; #endregion result = AccountRechargeWeb(zjubModel, zjublModel, poModel, zjroModel, zjublModel); return(result); }
/// <summary> /// 资金表插入 /// </summary> /// <param name="model"></param> /// <returns></returns> public ResultModel AddBalance(ZJ_UserBalanceModel model) { var tb = base._database.Db.ZJ_UserBalance; var result = new ResultModel() { Data = tb.Insert(model) }; return(result); }
/// <summary> /// 更新用户余额信息表(只修改账户状态) /// </summary> /// <param name="model">用户余额信息表模型</param> /// <returns>是否修改成功</returns> public ResultModel UpdateZJ_UserBalance(ZJ_UserBalanceModel model) { var result = new ResultModel() { Data = base._database.Db.ZJ_UserBalance.UpdateByUserID(UserID: model.UserID, AccountStatus: model.AccountStatus, UpdateBy: model.UpdateBy, UpdateDT: model.UpdateDT) }; result.IsValid = result.Data > 0 ? true : false; return(result); }
public ActionResult Create(ZJ_UserBalanceModel model) { if (ModelState.IsValid) { ResultModel resultModel = new ResultModel(); if (model.AddOrCutAmount >= 0) { model.AddOrCutType = 15; } else { model.AddOrCutType = 16; SearchZJ_UserBalanceModel smodel = new SearchZJ_UserBalanceModel(); smodel.UserID = model.UserID; smodel.PagedIndex = 0; smodel.PagedSize = 100; //获取用户余额,用于判断最多扣款 List <ZJ_UserBalanceModel> List = this._zjUserBalanceService.GetZJ_UserBalanceList(smodel).Data; if (List != null && List.Count > 0) { ZJ_UserBalanceModel zjubmodel = List[0]; if (zjubmodel.ConsumeBalance + model.AddOrCutAmount < 0) { resultModel.Messages = new List <string> { "Insufficient balance!" }; return(Json(resultModel, JsonRequestBehavior.AllowGet)); } } } model.IsDisplay = 1; var result = ZJ_UserBalanceCommon.UpdateZJ_UserBalance(model); resultModel.Messages = new List <string> { result == true ? "Recharge success!" : "Recharge failed!" }; var opera = string.Empty; opera += " UserID:" + model.UserID + ",AddOrCutAmount(充值金额):" + model.AddOrCutAmount + ",结果:" + result; LogPackage.InserAC_OperateLog(opera, "账户管理-用户账户信息-余额充值"); return(Json(resultModel, JsonRequestBehavior.AllowGet)); } return(PartialView(model)); }
public void ZJ_UserBalanceService_UpdateZJ_UserBalance() { var model = new ZJ_UserBalanceModel { UserID = 116070, ConsumeBalance = 100, Vouchers = 50, AccountStatus = 2, CreateBy = "admin", CreateDT = DateTime.Now }; var result = this._zjUserBalanceService.UpdateZJ_UserBalance(model); Assert.IsTrue(result.IsValid); }
/// <summary> /// 更新用户余额信息表(后台余额充值) /// </summary> /// <param name="model">用户余额信息表模型</param> /// <returns>是否修改成功</returns> public ResultModel UpdateZJ_UserBalance(ZJ_UserBalanceModel model, ZJ_UserBalanceChangeLogModel ulogModel) { var result = new ResultModel(); using (var tx = _database.Db.BeginTransaction()) { try { ZJ_UserBalanceServiceWeb zjweb = new ZJ_UserBalanceServiceWeb(); zjweb.UpdateZJ_UserBalance(model, ulogModel, tx); ParameterSetService pss = new ParameterSetService(); //下面是给公司账户金额操作的 model.UserID = Convert.ToInt64(pss.GetParametePValueById(1215894621).Data); ulogModel.UserID = Convert.ToInt64(pss.GetParametePValueById(1215894621).Data); model.AddOrCutAmount = -model.AddOrCutAmount; ulogModel.AddOrCutAmount = -ulogModel.AddOrCutAmount; ulogModel.IsAddOrCut = ulogModel.IsAddOrCut == 0 ? 1 : 0; if (ulogModel.AddOrCutAmount > 0) { ulogModel.AddOrCutType = 15; //后台充值(正数) } else { ulogModel.AddOrCutType = 16; //后台充值扣款(负数) } zjweb.UpdateZJ_UserBalance(model, ulogModel, tx); //调用统一的修改方法 //tx.ZJ_UserBalance.UpdateByUserID(UserID: model.UserID, ConsumeBalance: model.ConsumeBalance, UpdateBy: model.UpdateBy, UpdateDT: model.UpdateDT); //tx.ZJ_UserBalanceChangeLog.Insert(ulogModel); tx.Commit(); } catch (Exception ex) { tx.Rollback(); result.IsValid = false; result.Messages.Add(ex.Message); } } return(result); }
/// <summary> ///数据 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Create(long?id) { ZJ_UserBalanceModel model = new ZJ_UserBalanceModel(); if (id.HasValue) { SearchZJ_UserBalanceModel smodel = new SearchZJ_UserBalanceModel(); smodel.UserID = id.Value; smodel.PagedIndex = 0; smodel.PagedSize = 100; //查询列表 List <ZJ_UserBalanceModel> List = this._zjUserBalanceService.GetZJ_UserBalanceList(smodel).Data; if (List != null && List.Count > 0) { model = List[0]; } } return(PartialView(model)); }
/// <summary> /// 购物消费,更新用户余额 /// </summary> /// <param name="model"></param> /// <param name="tx"></param> internal void UpdateZJ_UserBalance(ZJ_UserBalanceModel model, dynamic tx) { if (model.UserID != 0 && model.AddOrCutType != 0) { //ZJ_UserBalanceChangeLog【用户账户金额异动记录表】(资金流水账) #region 给流水账添加信息 ZJ_UserBalanceChangeLogModel ulogModel = new ZJ_UserBalanceChangeLogModel(); ulogModel.Account = model.Account; ulogModel.AddOrCutAmount = model.AddOrCutAmount; ulogModel.AddOrCutType = model.AddOrCutType; ulogModel.CreateBy = model.CreateBy; ulogModel.CreateDT = DateTime.Now; if (model.AddOrCutAmount >= 0) { ulogModel.IsAddOrCut = 1; } else { ulogModel.IsAddOrCut = 0; } ulogModel.IsDisplay = model.IsDisplay == 0 ? 0 : model.IsDisplay; //ulogModel.NewAmount = model.ConsumeBalance + model.AddOrCutAmount; //ulogModel.OldAmount = model.ConsumeBalance; ulogModel.OrderNo = model.OrderNo == null ? "" : model.OrderNo; ulogModel.Phone = model.Phone; ulogModel.RealName = model.RealName; ulogModel.Remark = model.Remark; ulogModel.UserID = model.UserID; #endregion //model.ConsumeBalance = model.ConsumeBalance + model.AddOrCutAmount; model.UpdateBy = model.CreateBy; model.UpdateDT = DateTime.Now; ZJ_UserBalanceService _zjUserBalanceService = new ZJ_UserBalanceService(); _zjUserBalanceService.UpdateZJ_UserBalances(model, ulogModel, tx); } }
/// <summary> /// 更新用户余额信息表(前台and后台) /// </summary> /// <param name="model">用户余额信息表模型</param> /// <returns>是否修改成功</returns> public void UpdateZJ_UserBalance(ZJ_UserBalanceModel model, ZJ_UserBalanceChangeLogModel ulogModel, dynamic tx) { model.IsDisplay = 1;//默认显示 ulogModel.IsDisplay = 1; ZJ_UserBalanceService zjubs = new ZJ_UserBalanceService(); HKTHMall.Domain.AdminModel.Models.User.SearchZJ_UserBalanceModel szjub = new Domain.AdminModel.Models.User.SearchZJ_UserBalanceModel(); szjub.UserID = model.UserID; szjub.PagedIndex = 0; szjub.PagedSize = 100; //List<HKTHMall.Domain.AdminModel.Models.User.ZJ_UserBalanceModel> list = zjubs.GetZJ_UserBalanceList(szjub).Data; HKTHMall.Domain.AdminModel.Models.User.ZJ_UserBalanceModel newmodel = zjubs.GetZJ_UserBalanceById(model.UserID).Data; //if (list!=null&&list.Count>0) //{ // model.ConsumeBalance = list[0].ConsumeBalance + ulogModel.AddOrCutAmount; // ulogModel.NewAmount = model.ConsumeBalance; // ulogModel.OldAmount = list[0].ConsumeBalance; // tx.ZJ_UserBalance.UpdateByUserID(UserID: model.UserID, ConsumeBalance: model.ConsumeBalance, UpdateBy: model.UpdateBy, UpdateDT: model.UpdateDT); //} if (newmodel != null) { model.ConsumeBalance = newmodel.ConsumeBalance + ulogModel.AddOrCutAmount; //用户余额 ulogModel.NewAmount = model.ConsumeBalance; //用户新增的金额 ulogModel.OldAmount = newmodel.ConsumeBalance; //用户原来金额 tx.ZJ_UserBalance.UpdateByUserID(UserID: model.UserID, ConsumeBalance: model.ConsumeBalance, UpdateBy: model.UpdateBy, UpdateDT: model.UpdateDT); } else { model.ConsumeBalance = ulogModel.AddOrCutAmount; ulogModel.NewAmount = model.ConsumeBalance; ulogModel.OldAmount = 0; model.UpdateBy = ""; model.UpdateDT = DateTime.Now; tx.ZJ_UserBalance.Insert(model); } InsertZJ_UserBalanceChangeLog(ulogModel, tx); }
/// <summary> /// 更新提现订单 /// </summary> /// <param name="model">提现订单对象</param> /// <returns>返回true时,表示更新成功;反之,表示更新失败</returns> /// <remarks>added by jimmy,2015-7-20</remarks> public ResultModel Update(ZJ_WithdrawOrderModel model) { var result = new ResultModel(); using (var bt = this._database.Db.BeginTransaction()) { try { //更新审核信息 dynamic record = new SimpleRecord(); record.OrderNO = model.OrderNO; record.Remark = model.Remark; record.WithdrawResult = model.WithdrawResult; if (!string.IsNullOrEmpty(model.Verifier)) { record.Verifier = model.Verifier; } if (model.VerifyDT != null) { record.VerifyDT = model.VerifyDT; } if (!string.IsNullOrEmpty(model.Remitter)) { record.Remitter = model.Remitter; } if (model.RemittanceDT != null) { record.RemittanceDT = model.RemittanceDT; } if (model.WithdrawCommission != null) { record.WithdrawCommission = model.WithdrawCommission; } var upWithdrawOrder = bt.ZJ_WithdrawOrder.UpdateByOrderNO(record); if (model.WithdrawResult == (int)IWithdrawResult.ApprovedMoney) { var wOrder = bt.ZJ_WithdrawOrder.FindByOrderNO(model.OrderNO); if (wOrder != null) { model.UserID = wOrder.UserID; model.WithdrawAmount = wOrder.WithdrawAmount; model.WithdrawCommission = wOrder.WithdrawCommission; } //判断用户余额是否存在数据 ZJ_UserBalanceModel zJUserBalanceModel = bt.ZJ_UserBalance.FindByUserID(model.UserID); if (zJUserBalanceModel == null) { bt.Rollback(); result.IsValid = false; result.Messages = new List <string>() { "系统中不存在用户余额信息" }; return(result); } if ((zJUserBalanceModel.ConsumeBalance - model.WithdrawAmount - model.WithdrawCommission) < 0) { bt.Rollback(); result.IsValid = false; result.Messages = new List <string>() { "手续费用不能大于用户提现后的余额" }; return(result); } //新增用户账户金额异动 ZJ_UserBalanceChangeLogModel ulogModel = new ZJ_UserBalanceChangeLogModel(); ulogModel.UserID = model.UserID; ulogModel.AddOrCutAmount = -(model.WithdrawAmount.Value + model.WithdrawCommission.Value);//变动金额 = 提现金额 + 手续费 ulogModel.IsAddOrCut = 0; ulogModel.OldAmount = zJUserBalanceModel.ConsumeBalance; ulogModel.NewAmount = zJUserBalanceModel.ConsumeBalance - model.WithdrawAmount.Value - model.WithdrawCommission.Value; ulogModel.AddOrCutType = 3; ulogModel.OrderNo = model.OrderNO; ulogModel.Remark = model.Remark; ulogModel.IsDisplay = 1; ulogModel.CreateBy = model.Verifier; ulogModel.CreateDT = DateTime.Now; new ZJ_UserBalanceServiceWeb().UpdateZJ_UserBalance(zJUserBalanceModel, ulogModel, bt); } bt.Commit(); result.Data = upWithdrawOrder; } catch (Exception ex) { //todo错误日志记录 bt.Rollback(); result.IsValid = false; result.Messages.Add(ex.Message); throw; } } return(result); }
/// <summary> /// web 账户充值(第三方充值成功) /// </summary> /// <param name="RechargeAmount">充值金额</param> /// <param name="Radiochecked">第三方充值方式通道</param> /// <param name="UserID">用户ID</param> /// <param name="Account">登录名</param> /// <param name="AddOrCutType">充值类型(账户充值1)</param> /// <param name="OrderNo">订单编号</param> /// <param name="OrderSource">来源0:网站,1移动设备</param> /// <returns></returns> public ResultModel AccountRechargeWeb(AccountRechargeModel armodel) { var result = new ResultModel(); #region 用户余额信息表 和其对应的资金流水账 //用户余额信息表(前台) ZJ_UserBalanceModel zjubModel = new ZJ_UserBalanceModel(); zjubModel.UserID = armodel.UserID; zjubModel.UpdateBy = "前台账户自己充值"; zjubModel.UpdateDT = DateTime.Now; //用户账户金额异动记录表(资金流水账) ZJ_UserBalanceChangeLogModel zjublModel = new ZJ_UserBalanceChangeLogModel(); zjublModel.Account = armodel.Account; zjublModel.AddOrCutAmount = armodel.AddOrCutAmount; zjublModel.AddOrCutType = armodel.AddOrCutType; zjublModel.CreateBy = armodel.Account == null ? "前台登录名为空" : armodel.Account; zjublModel.CreateDT = DateTime.Now; if (armodel.AddOrCutAmount >= 0) { zjublModel.IsAddOrCut = 1; } else { zjublModel.IsAddOrCut = 0; } zjublModel.IsDisplay = 1; zjublModel.OrderNo = armodel.OrderNo; zjublModel.Remark = "前台账户充值"; zjublModel.UserID = armodel.UserID; #endregion #region 用户充值订单 //用户充值订单 ZJ_RechargeOrderModel zjroModel = new ZJ_RechargeOrderModel(); zjroModel.OrderNO = armodel.OrderNo; zjroModel.RechargeResult = 1; #endregion #region 订单支付信息表 //订单支付信息表 PaymentOrderModel poModel = new PaymentOrderModel(); poModel.PaymentOrderID = armodel.PaymentOrderID; poModel.Flag = 2; poModel.outOrderId = armodel.outOrderId; //poModel.outOrderId = armodel.OrderNo; //poModel.PaymentDate = DateTime.Now; //poModel.PayType = 1; //poModel.ProductAmount = armodel.AddOrCutAmount; //poModel.RealAmount = armodel.AddOrCutAmount; //poModel.UserID = armodel.UserID; ////订单支付信息与订单关联记录表 //PaymentOrder_OrdersModel pooModel = new PaymentOrder_OrdersModel(); //pooModel.OrderID = armodel.OrderNo; //pooModel.RelateID = MemCacheFactory.GetCurrentMemCache().Increment("commonId"); #endregion result = _zjUserBalanceServiceWeb.AccountRechargeWeb(zjubModel, zjublModel, poModel, zjroModel, zjublModel); return(result); }
/// <summary> /// 第三方账号登录 /// </summary> /// <param name="id"></param> /// <param name="name"></param> /// <param name="type"></param> /// <returns></returns> public ResultModel LoginThree(string id_3rd, string name, int type) { ResultModel rm = new ResultModel(); rm.IsValid = false; YH_UserModel has_uid = _database.Db.YH_User.FindByThirdID(id_3rd); if (has_uid == null) { has_uid = new YH_UserModel(); has_uid.UserID = MemCacheFactory.GetCurrentMemCache().Increment("commonId"); has_uid.Account = name; has_uid.PassWord = ""; has_uid.PayPassWord = null; has_uid.NickName = name; has_uid.HeadImageUrl = ""; has_uid.Sex = 0; has_uid.RealName = null; has_uid.Email = ""; has_uid.Phone = ""; has_uid.Birthday = null; has_uid.RegisterDate = DateTime.Now; has_uid.RegisterSource = 1; has_uid.ActivePhone = 0; has_uid.ActiveEmail = 0; has_uid.RecommendCode = null; has_uid.ReferrerID = 0; has_uid.ParentID2 = 0; has_uid.ParentID3 = 0; has_uid.ParentIDs = null; has_uid.Level = 0; has_uid.UserType = 0; has_uid.IsLock = 0; has_uid.IsDelete = 0; has_uid.UpdateBy = name; has_uid.UpdateDT = DateTime.Now; has_uid.DetailsAddress = null; has_uid.OrcodeUrl = ""; has_uid.ThirdID = id_3rd; has_uid.ThirdType = type; Add(has_uid); //设置账号vip字段 //ReqSetUserVipRights vipReq = new ReqSetUserVipRights(); //vipReq.acc = log3.acc; //vipReq.uid = log3.uid; //vipReq.vip = new int[] { 2 }; //vipReq.sys_id = Core.Settings.EmSystemId; //vipReq.mac = Core.Settings.GetMacAddress(); //vipReq.ip = Core.Settings.GetIPAddress(); //vipReq.dev = Core.Settings.EmDev; //vipReq.bus_seq = "T011111111111"; //EmMethodManage.EmFindUpdateInstance.MsgSetUserVipRightsReq(vipReq); ZJ_UserBalanceModel zj_UserBalanceModel = new ZJ_UserBalanceModel(); zj_UserBalanceModel.UserID = has_uid.UserID; zj_UserBalanceModel.ConsumeBalance = 0; zj_UserBalanceModel.AccountStatus = 1; zj_UserBalanceModel.CreateBy = has_uid.Account; zj_UserBalanceModel.CreateDT = DateTime.Now; zj_UserBalanceModel.UpdateBy = has_uid.Account; zj_UserBalanceModel.UpdateDT = DateTime.Now; new ZJ_UserBalanceService().AddBalance(zj_UserBalanceModel); YH_UserUpdateInfoModel updateInfo = new YH_UserUpdateInfoModel { UserID = has_uid.UserID, TimeStamp = HKTHMall.Services.Common.ConvertsTime.DateTimeToTimeStamp(has_uid.UpdateDT.Value) }; new YH_UserUpdateInfoService().Add(updateInfo); } rm.IsValid = true; rm.Data = has_uid; //ResponseLogOn3rdAcc log3=LoginThreeIm(id_3rd, name, type); //if (log3.Status == 0x001000D2) //{ // RequestConfirm3rdAcc requestConfirm3rdAcc=new RequestConfirm3rdAcc(); // requestConfirm3rdAcc.seq_id = log3.seq_id; // requestConfirm3rdAcc.type = 1; // requestConfirm3rdAcc.sys_id = Core.Settings.EmSystemId; // requestConfirm3rdAcc.nick = name; // requestConfirm3rdAcc.sys_id = Core.Settings.EmSystemId; // requestConfirm3rdAcc.mac = Core.Settings.GetMacAddress(); // requestConfirm3rdAcc.ip = Core.Settings.GetIPAddress(); // requestConfirm3rdAcc.dev = Core.Settings.EmDev; // log3 = EmMethodManage.EmLoginInstance.MsgConfirm3rdAccReq(requestConfirm3rdAcc); //} //if (log3.Status==0) //{ // YH_UserModel has_uid = GetUserInfoById(log3.uid).Data; // if(has_uid==null) // { // has_uid = new YH_UserModel(); // has_uid.UserID = log3.uid; // has_uid.Account = log3.acc; // has_uid.PassWord = log3.pwd; // has_uid.PayPassWord = null; // has_uid.NickName = name; // has_uid.HeadImageUrl = log3.img_url; // has_uid.Sex = (byte)log3.sex; // has_uid.RealName = null; // has_uid.Email = log3.email; // has_uid.Phone = log3.phone; // has_uid.Birthday = null; // has_uid.RegisterDate = ConvertUTCToDateTime(log3.regtime); // has_uid.RegisterSource = 1; // has_uid.ActivePhone = 0; // has_uid.ActiveEmail = 0; // has_uid.RecommendCode = null; // has_uid.ReferrerID = 0; // has_uid.ParentID2 = 0; // has_uid.ParentID3 = 0; // has_uid.ParentIDs = null; // has_uid.Level = 0; // has_uid.UserType = 0; // has_uid.IsLock = 0; // has_uid.IsDelete = 0; // has_uid.UpdateBy = log3.acc; // has_uid.UpdateDT = DateTime.Now; // has_uid.DetailsAddress = null; // has_uid.OrcodeUrl = ""; // Add(has_uid); // //设置账号vip字段 // ReqSetUserVipRights vipReq = new ReqSetUserVipRights(); // vipReq.acc = log3.acc; // vipReq.uid = log3.uid; // vipReq.vip = new int[] { 2 }; // vipReq.sys_id = Core.Settings.EmSystemId; // vipReq.mac = Core.Settings.GetMacAddress(); // vipReq.ip = Core.Settings.GetIPAddress(); // vipReq.dev = Core.Settings.EmDev; // vipReq.bus_seq = "T011111111111"; // EmMethodManage.EmFindUpdateInstance.MsgSetUserVipRightsReq(vipReq); // ZJ_UserBalanceModel zj_UserBalanceModel = new ZJ_UserBalanceModel(); // zj_UserBalanceModel.UserID = log3.uid; // zj_UserBalanceModel.ConsumeBalance = 0; // zj_UserBalanceModel.AccountStatus = 1; // zj_UserBalanceModel.CreateBy = log3.acc; // zj_UserBalanceModel.CreateDT = DateTime.Now; // zj_UserBalanceModel.UpdateBy = log3.acc; // zj_UserBalanceModel.UpdateDT = DateTime.Now; // new ZJ_UserBalanceService().AddBalance(zj_UserBalanceModel); // YH_UserUpdateInfoModel updateInfo = new YH_UserUpdateInfoModel // { // UserID = log3.uid, // TimeStamp = log3.regtime // }; // new YH_UserUpdateInfoService().Add(updateInfo); // } // rm.IsValid = true; // rm.Data = has_uid; //} return(rm); }
/// <summary> /// 注册 /// </summary> /// <param name="welcomeCode"></param> /// <param name="phone"></param> /// <param name="pwd"></param> /// <param name="pwd_md5"></param> /// <param name="code"></param> /// <param name="_user"></param> /// <returns></returns> public BackMessage Register(string pwd, string pwd_md5, string email, out YH_UserModel _user) { _user = null; //注册回调信息 BackMessage msg = new BackMessage(); msg.status = 0; if ("" == pwd || new Regex(@"/[^\x00-\xff]|\s/").IsMatch(pwd)) { msg.message = CultureHelper.GetLangString("LOGIN_PWD_FORMAT");//"密码格式不正确8-20位字母数字组合!"; return(msg); } if (!string.IsNullOrEmpty(email)) { if (!new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$").IsMatch(email)) { msg.message = CultureHelper.GetLangString("ACCOUNT_USERINFO_ADDRESS_EMAILERROR");//邮箱格式错误 return(msg); } } using (var tx = _database.Db.BeginTransaction()) { try { YH_UserModel user = new YH_UserModel(); user.UserID = HKTHMall.Core.MemCacheFactory.GetCurrentMemCache().Increment("commonId"); //rstatus.uid; //user.Phone = phone; user.PassWord = pwd_md5; user.NickName = SetNickName(); user.Sex = 0; user.RegisterSource = 1; user.UserType = 0; user.ActivePhone = 1; user.IsLock = 0; user.IsDelete = 0; //判断本地UID数据是否存在 var result = GetUserInfoByEmail(email); //YH_UserModel has_uid = GetUserInfoById().Data; if (!result.IsValid) { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_HADREGISTER");//您输入的手机号码已注册; return(msg); } else { user.Account = email; user.Email = email; user.ActiveEmail = 0; user.ReferrerID = 0; user.ParentID2 = 0; user.ParentID3 = 0; user.ParentIDs = ""; //user.UpdateDT = ; user.RegisterDate = DateTime.Now; //写入本地数据 if (!Add(user).IsValid) { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERFAIL"); //会员注册失败; return(msg); } ZJ_UserBalanceModel zj_UserBalanceModel = new ZJ_UserBalanceModel(); zj_UserBalanceModel.UserID = user.UserID; zj_UserBalanceModel.ConsumeBalance = 0; zj_UserBalanceModel.AccountStatus = 1; zj_UserBalanceModel.CreateBy = user.Account; zj_UserBalanceModel.CreateDT = DateTime.Now; zj_UserBalanceModel.UpdateBy = user.Account; zj_UserBalanceModel.UpdateDT = DateTime.Now; if (!new ZJ_UserBalanceService().AddBalance(zj_UserBalanceModel).IsValid) { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERFAIL"); //会员注册失败; return(msg); } YH_UserUpdateInfoModel updateInfo = new YH_UserUpdateInfoModel { UserID = user.UserID, TimeStamp = HKTHMall.Services.Common.ConvertsTime.DateTimeToTimeStamp(DateTime.Now) }; if (!new YH_UserUpdateInfoService().Add(updateInfo).IsValid) { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERFAIL"); //会员注册失败; return(msg); } _user = new YH_UserModel { UserID = user.UserID, Account = user.Account, NickName = user.NickName, UserType = user.UserType, Email = email }; tx.Commit(); msg.status = 1; msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERSUCCESS"); //会员注册成功; return(msg); } } catch { tx.Rollback(); msg.message = CultureHelper.GetLangString("REGISETR_USERREGISTERFAIL"); //会员注册失败; return(msg); } } }
/// <summary> /// 后台余额充值 /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool UpdateZJ_UserBalance(ZJ_UserBalanceModel model) { bool bl = false; if (model.UserID != 0 && model.AddOrCutType != 0) { #region 这里重新查询用户余额是为防止数据库已更新余额 //ZJ_UserBalanceModel Newmodel = new ZJ_UserBalanceModel(); //SearchZJ_UserBalanceModel smodel = new SearchZJ_UserBalanceModel(); //smodel.UserID = model.UserID; //smodel.PagedIndex = 0; //smodel.PagedSize = 100; ////查询列表 //List<ZJ_UserBalanceModel> List = _zjUserBalanceService.GetZJ_UserBalanceList(smodel).Data; //if (List != null && List.Count > 0) //{ // Newmodel = List[0]; //} //else //{ // return bl=false; //} #endregion //ZJ_UserBalanceChangeLog【用户账户金额异动记录表】(资金流水账) #region 给流水账添加信息 ZJ_UserBalanceChangeLogModel ulogModel = new ZJ_UserBalanceChangeLogModel(); ulogModel.Account = model.Account; ulogModel.AddOrCutAmount = model.AddOrCutAmount; ulogModel.AddOrCutType = model.AddOrCutType; ulogModel.CreateBy = UserInfo.CurrentUserName; ulogModel.CreateDT = DateTime.Now; if (model.AddOrCutAmount >= 0) { ulogModel.IsAddOrCut = 1; } else { ulogModel.IsAddOrCut = 0; } ulogModel.IsDisplay = model.IsDisplay == 0 ? 0 : model.IsDisplay; //ulogModel.NewAmount = model.ConsumeBalance + model.AddOrCutAmount; //ulogModel.OldAmount = model.ConsumeBalance; ulogModel.OrderNo = model.OrderNo == null ? "" : model.OrderNo; ulogModel.Phone = model.Phone; ulogModel.RealName = model.RealName; ulogModel.Remark = model.Remark; ulogModel.UserID = model.UserID; #endregion //model.ConsumeBalance = model.ConsumeBalance + model.AddOrCutAmount; model.UpdateBy = UserInfo.CurrentUserName; model.UpdateDT = DateTime.Now; bl = _zjUserBalanceService.UpdateZJ_UserBalance(model, ulogModel).IsValid; } return(bl); }
/// <summary> /// 新增提现订单 /// </summary> /// <param name="userId">用户Id</param> /// <param name="withdrawAmount">提现金额</param> /// <param name="OrderSource">提现来源</param> /// <returns>返回true时,表示新增成功;反之,表示新增失败</returns> /// <remarks>added by jimmy,2015-7-21</remarks> public ResultModel AddZJ_WithdrawOrder(long userId, decimal withdrawAmount, IOrderSource OrderSource) { var result = new ResultModel(); //事务开始进行 using (var bt = this._database.Db.BeginTransaction()) { try { //判断用户余额是否存在数据 ZJ_UserBalanceModel zJUserBalanceModel = bt.ZJ_UserBalance.FindByUserID(userId); if (zJUserBalanceModel == null) { bt.Rollback(); result.IsValid = false; result.Messages = new List <string>() { "M01" }; return(result); } //判断提现余额是否大于用户余额,如果大于,则回滚 if (zJUserBalanceModel.ConsumeBalance < withdrawAmount) { bt.Rollback(); result.IsValid = false; result.Messages = new List <string>() { "M02" }; return(result); } //获取用户银行账户信息 dynamic bank; List <YH_UserBankAccountModel> userbankList = bt.YH_UserBankAccount.FindAll(bt.YH_UserBankAccount.UserID == userId && bt.YH_UserBankAccount.IsUse == 1). LeftJoin(bt.BD_Bank, out bank).On(bt.YH_UserBankAccount.BankID == bank.BankID). Select( bt.YH_UserBankAccount.BankID, bt.YH_UserBankAccount.BankAccount, bt.YH_UserBankAccount.BankSubbranch, bt.YH_UserBankAccount.BankUserName, bank.BankName ); if (userbankList == null || userbankList.Count == 0) { bt.Rollback(); result.IsValid = false; result.Messages = new List <string>() { "M03" }; //M03表示用户不存在银行账户信息 return(result); } //新增提现订单 dynamic recordWithdraw = new SimpleRecord(); long OrderNo = MemCacheFactory.GetCurrentMemCache().Increment("commonId"); recordWithdraw.OrderNO = OrderNo; recordWithdraw.UserID = userId; recordWithdraw.WithdrawAmount = withdrawAmount; recordWithdraw.WithdrawCommission = 0; recordWithdraw.WithdrawDT = DateTime.Now; recordWithdraw.BankAccount = userbankList[0].BankAccount; recordWithdraw.BankName = userbankList[0].BankName; recordWithdraw.BankSubbranch = userbankList[0].BankSubbranch; recordWithdraw.BankUserName = userbankList[0].BankUserName; recordWithdraw.IsDisplay = 1; recordWithdraw.WithdrawResult = (int)IWithdrawResult.ToAudit; recordWithdraw.OrderSource = (int)OrderSource; bt.ZJ_WithdrawOrder.Insert(recordWithdraw); bt.Commit(); result.Data = OrderNo; } catch (Exception ex) { //todo错误日志记录 bt.Rollback(); result.IsValid = false; result.Messages.Add(ex.Message); throw; } } return(result); }
/// <summary> /// 退换货记录(确认退款) /// </summary> /// <param name="model">退货记录模型</param> /// <returns>是否修改成功</returns> /// wuyf public ResultModel UpdateReturnProductInfoTK(ReturnProductInfoModel model) { //修改退货表 状态 5已退款 //订单明细表 退货状态 改成 2已退款 //订单表 退款标识 修改成 已处理 //订单表 状态改成8交易关闭(需要判断订单明细表里的相关产品数据都是已经退款状态) //给退款用户的账户余额添加退款 费用 var result = new ResultModel(); #region 订单表 状态改成8交易关闭(需要判断订单明细表里的相关产品数据都是已经退款状态) var bl = true;//是否把当前订单的状态改成 8已关闭 SearchReturnProductInfoModel srpm = new SearchReturnProductInfoModel(); srpm.OrderID = model.OrderID; srpm.PagedIndex = 0; srpm.PagedSize = 100; //获取退换货记录和订单明细关联列表 List <ReturnProductInfoModel> list = GetReturnProductInfoList(srpm).Data;// GetReturnProductInfoOrderDetailsList(srpm).Data; //订单明细 List <OrderDetails> orderDetails = _database.Db.OrderDetails.FindAll(_database.Db.OrderDetails.OrderID == model.OrderID).ToList <OrderDetails>(); //判断订单详情与退款记录条数是否一致(是一个订单多个商品,还是一个订单一个商品) var factoryCount = orderDetails.Count(); //if (list.Count == factoryCount) //{ // if (list.Count == 1) // { // ReturnProductInfoModel rpmodel = list[0];//只有一条数据时,订单明细主键和退货数量跟明细数量相等,订单表的状态可以改为 8已关闭 // //该订单商品已退完 // if (rpmodel.OrderDetailsID == model.OrderDetailsID && rpmodel.ReturntNumber < rpmodel.Quantity) // { // bl = false; // } // } // else // { // for (int i = 0; i < list.Count; i++) // { // ReturnProductInfoModel rpmodel1 = list[i]; // //ReturnProductInfoModel returndetail = returnList.Where(x => x.OrderDetailsID == detail.OrderDetailsID).FirstOrDefault(); // if ((rpmodel1.OrderDetailsID != model.OrderDetailsID && rpmodel1.IsReturn != 2) || (rpmodel1.OrderDetailsID == model.OrderDetailsID && rpmodel1.ReturntNumber < rpmodel1.Quantity))//状态 2 是已退款 // { // //退出循环,不修改订单状态 为 8交易关闭 // //该订单还有为退款的商品 // bl = false; break; // } // } // } //} //else //{ // bl = false; //} //zhoub 20160129 edit if (list.Count > 0) { //查找当前退款订单产品数量是否全部退完 ReturnProductInfoModel rpim = list.FindAll(a => a.OrderDetailsID == model.OrderDetailsID).FirstOrDefault(); if (rpim.ReturntNumber != rpim.Quantity) { bl = false; } //判断之前退款是否有未确认退款或是产品未全部退完的 for (int i = 0; i < list.Count; i++) { ReturnProductInfoModel rpmodel = list[i]; if (rpmodel.OrderDetailsID != model.OrderDetailsID) { if (rpmodel.IsReturn != 2 || rpmodel.ReturntNumber != rpmodel.Quantity) { bl = false; break; } } } } #endregion using (var tx1 = _database.Db.BeginTransaction()) { try { //退款表 修改状态成(5) tx1.ReturnProductInfo.UpdateByReturnOrderID(ReturnOrderID: model.ReturnOrderID, RefundPerson: model.RefundPerson, ReturnStatus: model.ReturnStatus, RefundDate: model.RefundDate); //订单明细表 退货状态 改成 2已退款 tx1.OrderDetails.UpdateByOrderDetailsID(OrderDetailsID: model.OrderDetailsID, IsReturn: 2); if (bl) { //订单表 订单状态 修改成 8已关闭 (需要判断订单明细表里的相关产品数据都是已经退款状态) tx1.Order.UpdateByOrderID(OrderID: model.OrderID, OrderStatus: 8); } #region 给用户账户充值金额,金额等于退款金额 srpm.ReturnOrderID = model.ReturnOrderID; //根据退款主键查询退款单子 //List<ReturnProductInfoModel> list1 = GetReturnProductInfoList(srpm).Data; //ReturnProductInfoModel rmodel = list[0]; ZJ_UserBalanceModel zjmodel = new ZJ_UserBalanceModel(); zjmodel.Account = model.Account; zjmodel.AddOrCutAmount = model.RefundAmount; zjmodel.AddOrCutType = 4; zjmodel.CreateBy = model.RefundPerson; zjmodel.IsDisplay = 1; zjmodel.Phone = model.Phone; zjmodel.RealName = model.RealName; zjmodel.Remark = "退货中的退款金额"; zjmodel.UserID = model.UserID; zjmodel.OrderNo = model.OrderID; UpdateZJ_UserBalance(zjmodel, tx1); #endregion tx1.Commit(); //订单表 退款标识 修改成 已处理(2) //tx1.Order.UpdateByOrderID(OrderID: model.OrderID, RefundFlag: 2); IsStust(model); } catch (Exception ex) { tx1.Rollback(); result.IsValid = false; result.Messages.Add(ex.Message); } } return(result); }
public static ZJ_UserBalance ToEntity(this ZJ_UserBalanceModel model) { return(Mapper.Map <ZJ_UserBalance>(model)); }
/// <summary> /// 返现操作 /// </summary> /// <param name="id"></param> /// <returns></returns> public void CashBackOrder() { ExceptionLogModel exceptionLogModel = new ExceptionLogModel(); exceptionLogModel.ServiceName = "会员订单返现服务"; exceptionLogModel.CreateBy = "系统返现服务"; var zr = _database.Db.ZJ_RebateInfo; List <ZJ_RebateInfo> zjorder = zr.FindAll(zr.Status == 1 && zr.StartTime <= DateTime.Now).ToList <ZJ_RebateInfo>(); zjorder = zjorder.FindAll(x => x.LastUpdateTime == null || DateTime.Now.Date.Subtract(((DateTime)x.LastUpdateTime).Date).Days > 0); if (zjorder != null && zjorder.Count > 0) { foreach (ZJ_RebateInfo model in zjorder) { try { //判断是否已返现完成 if (model.TotalMoney <= model.PaidMoney) { zr.UpdateByID(ID: model.ID, Status: 2, LastUpdateBY: "系统服务", LastUpdateTime: DateTime.Now); _logger.Error(typeof(ZJ_RebateService), string.Format("订单【{0}】的已经返现完成", model.ID)); } else { decimal m = 0; //本次返回金额 decimal pm = 0; //当前已付金额+本次返回金额 int pd = 0; if (model.TotalDay - model.PaidDays == 1) //最后一天返回所有余额(小数点问题) { m = model.TotalMoney - model.PaidMoney; } else { m = ToFixed((model.TotalMoney / model.TotalDay), 2); if (m < 0.01m) { m = 0.01m; } } pm = model.PaidMoney + m; pd = model.PaidDays + 1; #region 用户余额 ZJ_UserBalanceModel ub = new ZJ_UserBalanceModel(); ub = _database.Db.ZJ_UserBalance.FindByUserId(UserId: model.UserID); if (ub == null) { exceptionLogModel.Message = string.Format("未能找到用户【{0}】的余额信息", model.UserID); exceptionLogModel.ResultType = 2; exceptionLogModel.Status = 1; } #endregion #region 添加资金异动流水 ZJ_UserBalanceChangeLogModel ulogModel = new ZJ_UserBalanceChangeLogModel(); ulogModel.AddOrCutAmount = m; ulogModel.AddOrCutType = 17; ulogModel.CreateBy = "系统返现服务"; ulogModel.CreateDT = DateTime.Now; ulogModel.IsAddOrCut = 1; ulogModel.IsDisplay = 1; ulogModel.NewAmount = ub.ConsumeBalance + m; ulogModel.OldAmount = ub.ConsumeBalance; ulogModel.OrderNo = model.OrderDetailsID.ToString(); ulogModel.Remark = model.Remark; ulogModel.UserID = (long)model.UserID; #endregion using (var bt = _database.Db.BeginTransaction()) { try { //用户余额修改 bt.ZJ_UserBalance.UpdateByUserId(UserId: model.UserID, ConsumeBalance: ulogModel.NewAmount, UpdateBy: "系统返现服务", UpdateDT: DateTime.Now); //添加资金异动记录 bt.ZJ_UserBalanceChangeLog.Insert(ulogModel); //修改返现表 bt.ZJ_RebateInfo.UpdateByID(ID: model.ID, PaidMoney: pm, PaidDays: pd, LastUpdateBY: "系统服务", LastUpdateTime: DateTime.Now); bt.Commit(); _logger.Error(typeof(ZJ_RebateService), string.Format("处理返现订单【{0}】的返现成功", model.ID)); } catch (Exception ex) { bt.Rollback(); exceptionLogModel.HandleId = model.ID.ToString(); exceptionLogModel.Status = 1; exceptionLogModel.ResultType = 1; exceptionLogModel.Message = string.Format("处理返现订单【{0}】的返现失败,{1},数据库事务回滚", model.ID, ex.Message); exceptionLogService.Add(exceptionLogModel); _logger.Error(typeof(ZJ_RebateService), string.Format("处理返现订单【{0}】的返现失败,{1},数据库事务回滚", model.ID, ex.Message)); } } } } catch (Exception ex) { exceptionLogModel.HandleId = model.ID.ToString(); exceptionLogModel.Status = 1; exceptionLogModel.ResultType = 1; exceptionLogModel.Message = string.Format("处理返现订单【{0}】的返现失败,{1}", model.ID, ex.Message); exceptionLogService.Add(exceptionLogModel); _logger.Error(typeof(ZJ_RebateService), string.Format("处理返现订单【{0}】的返现失败,{1}", model.ID, ex.Message)); } } } else { exceptionLogModel.CreateDT = DateTime.Now; exceptionLogModel.Message = "本次没有需要处理的返现"; exceptionLogModel.ResultType = 2; exceptionLogModel.Status = 1; } }