public IHttpActionResult GetRechargeRecordListByUserCode(string userCode) { LogHelper.WriteLog("GetRechargeRecordListByUserCode userCode" + userCode); SimpleResult result = new SimpleResult(); IRechargeRecordService _service = new RechargeRecordService(); try { if (UserAuthorization) { var list = _service.GetRechargeRecordListByUserCode(userCode); list = list.OrderByDescending(t => t.Createtime)?.ToList(); result.Resource = list; result.Status = Result.SUCCEED; } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("GetRechargeRecordListByUserCode userCode" + userCode, ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("GetRechargeRecordListByUserCode result" + Json(result)); return(Json(result)); }
public IHttpActionResult InsertRechargeRecord(RechargeRecord record) { LogHelper.WriteLog("InsertRechargeRecord " + record); SimpleResult result = new SimpleResult(); IRechargeRecordService _service = new RechargeRecordService(); try { if (UserAuthorization) { var list = _service.InsertRechargeRecord(record); result.Resource = list; result.Status = Result.SUCCEED; } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("InsertRechargeRecord record" + record.ToString(), ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("InsertRechargeRecord result" + Json(result)); return(Json(result)); }
public IHttpActionResult GetRechargeRecordList() { LogHelper.WriteLog("GetProductInfoListByListCode start"); SimpleResult result = new SimpleResult(); IRechargeRecordService _service = new RechargeRecordService(); try { if (UserAuthorization) { var list = _service.GetRechargeRecordList(); result.Resource = list; result.Status = Result.SUCCEED; } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("GetRechargeRecordList", ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("GetRechargeRecordList result" + Json(result)); return(Json(result)); }
public IHttpActionResult GetUseWalletInfoByUserCode(string userCode) { LogHelper.WriteLog("GetUseWalletInfoByUserCode userCode" + userCode); SimpleResult result = new SimpleResult(); IUseWalletService _service = new UseWalletService(); ITopupOrderServrce tos = new TopupOrderServrce(); IRechargeRecordService _RechargeRecordService = new RechargeRecordService(); IStoreService _Storeservice = new StoreService(); IUserStoreService _userStoreService = new UserStoreService(); try { if (UserAuthorization) { //查看没有给微信支付核对的订单继续核对 var topupOrder = tos.GetTopupOrderbyuserCode(userCode); var userSotre = _userStoreService.GetUserStorebyUserCode(userCode); var store = _Storeservice.GetStore(userSotre.MembershipCardStore); if (store != null) { foreach (var item in topupOrder) { if (!string.IsNullOrEmpty(item.WallePrCode) && item.PayDatetime == null) { var PayTime = Common.wxPayOrderQuery(item.WallePrCode, store.appid.Trim(), store.mchid); if (!string.IsNullOrEmpty(PayTime)) { LogHelper.WriteLog("GetUseWalletInfoByUserCode PayTime" + PayTime); DateTime dt = DateTime.ParseExact(PayTime, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture); item.PayDatetime = dt; tos.UpdateTopupOrder(item.WallePrCode, item.PayDatetime); _RechargeRecordService.Recharge(item.RechargeTypeCode, item.UserCode, item.RecordsMoney, store.StoreCode); } } } } var list = _service.GetUseWalletInfoByUserCode(userCode); result.Resource = list; result.Status = Result.SUCCEED; } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("GetUseWalletInfoByUserCode userCode" + userCode, ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("GetUseWalletInfoByUserCode result" + Json(result)); return(Json(result)); }
//充值 public ActionResult Recharge() { string userName = Request["username"]; UserInfoService userInfoService = new UserInfoService(); UserInfo user = userInfoService.LoadEntities(s => s.Name == userName).FirstOrDefault(); if (user == null) { throw new Exception("充值失败,充值用户不存!"); } string money = Request["Money"]; if (!string.IsNullOrEmpty(money)) { decimal rechargeMoney = decimal.Parse(money); if (rechargeMoney > 0) { //增加一条充值记录 RechargeRecord rechargeRecord = new RechargeRecord(); rechargeRecord.userId = user.id; rechargeRecord.RechargeBy = User.Identity.Name; rechargeRecord.RechargeDate = DateTime.Now; rechargeRecord.RechargeMoney = rechargeMoney; RechargeRecordService rrs = new RechargeRecordService(); rrs.AddEntity(rechargeRecord); //更新用户账户信息 Account account = accountService.LoadEntities(s => s.UserId == user.id).FirstOrDefault(); if (account == null) { Account accountNew = new Account(); accountNew.UserId = user.id; accountNew.IsValid = true; accountNew.Balance = rechargeMoney; accountService.AddEntity(accountNew); } else { account.Balance = account.Balance + rechargeMoney; accountService.UpdateEntity(account); } return(Content("ok")); } else { return(Content("充值失败,充值金额有误!")); } } else { return(Content("充值失败,充值金额为空!")); } }
public IHttpActionResult wxPrePay(string prepayid, string storeCode) { LogHelper.WriteLog("wxPrePay prepayid" + prepayid); LogHelper.WriteLog("wxPrePay storeCode" + storeCode); SimpleResult result = new SimpleResult(); IRechargeRecordService _service = new RechargeRecordService(); ITopupOrderServrce tos = new TopupOrderServrce(); IStoreService _Storeservice = new StoreService(); IUserStoreService _userStoreService = new UserStoreService(); try { if (UserAuthorization) { using (var scope = new TransactionScope())//创建事务 { var opupOrder = tos.GetTopupOrderbyWallePrCode(prepayid); if (opupOrder != null) { var userSotre = _userStoreService.GetUserStorebyUserCode(opupOrder.UserCode); var store = _Storeservice.GetStore(userSotre.MembershipCardStore); if (store != null) { if (!string.IsNullOrEmpty(prepayid)) { if (ConfigurationManager.AppSettings["isWxpay"] != null && ConfigurationManager.AppSettings["isWxpay"].ToString() == "true") { var PayTime = Common.wxPayOrderQuery(prepayid, store.appid.Trim(), store.mchid); if (!string.IsNullOrEmpty(PayTime)) { LogHelper.WriteLog("wxPrePay PayTime" + PayTime); DateTime dt = DateTime.ParseExact(PayTime, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture); var payTime = dt; //更新TopupOrder 的支付时间 tos.UpdateTopupOrder(prepayid, payTime); var tosmodel = tos.GetTopupOrderbyWallePrCode(prepayid); var list = _service.Recharge(tosmodel.RechargeTypeCode, tosmodel.UserCode, tosmodel.RecordsMoney, storeCode); result.Resource = list; result.Status = Result.SUCCEED; } } else { var payTime = DateTime.Now; //更新TopupOrder 的支付时间 tos.UpdateTopupOrder(prepayid, payTime); var tosmodel = tos.GetTopupOrderbyWallePrCode(prepayid); var list = _service.Recharge(tosmodel.RechargeTypeCode, tosmodel.UserCode, tosmodel.RecordsMoney, storeCode); result.Resource = list; result.Status = Result.SUCCEED; } } } } scope.Complete();//这是最后提交事务 } } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("wxPrePay prepayid" + prepayid + " storeCode" + storeCode, ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("wxPrePay result" + Json(result)); return(Json(result)); }
public IHttpActionResult Recharge(string typeCode, string userCode, string storeCode, decimal?money = 0) { LogHelper.WriteLog("Recharge typeCode" + typeCode); LogHelper.WriteLog("Recharge userCode" + userCode); LogHelper.WriteLog("Recharge storeCode" + storeCode); LogHelper.WriteLog("Recharge money" + money); ICouponService _couponService = new CouponService(); IUseWalletService _useWalletService = new UseWalletService(); IStoreService _stoeservice = new StoreService(); SimpleResult result = new SimpleResult(); IRechargeRecordService _service = new RechargeRecordService(); try { if (UserAuthorization) { using (var scope = new TransactionScope())//创建事务 { IUserStoreService _userStoreservice = new UserStoreService(); IRechargeTypeService s = new RechargeTypeService(); ITopupOrderServrce tos = new TopupOrderServrce(); var store = _stoeservice.GetStore(storeCode); var userStoreser = _userStoreservice.GetUserStorebyUserCodestoreCode(userCode, storeCode); if (userStoreser != null) {//生成微信预支付订单 string rechargeTypeName = "充值"; decimal?donationAmount = 0; if (typeCode == "0") { donationAmount = 0; } else { var type = s.GetRechargeTypeByCode(typeCode); rechargeTypeName = type.RechargeTypeName; donationAmount = type?.DonationAmount; money = type?.Money; } var wxprepay = Common.wxPayOrderSomething(userStoreser.OpenID, money.ToString(), rechargeTypeName, store); if (wxprepay != null) { //更新充值预订单 //给TopupOrder写数据 tos.InsertTopupOrder(userCode, wxprepay.prepayid, typeCode, money); WxOrder wxorder = new WxOrder(); wxorder.orderCode = null; wxorder.wxJsApiParam = wxprepay.wxJsApiParam; wxorder.prepayid = wxprepay.prepayid; result.Resource = wxorder; wxorder.IsWxPay = true; result.Status = Result.SUCCEED; } else { result.Resource = "微信充值失败,重新充值"; result.Status = Result.SYSTEM_ERROR; } } scope.Complete();//这是最后提交事务 } } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("wxPrePay typeCode" + typeCode + " userCode" + userCode + " storeCode" + storeCode + " money" + money, ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("Recharge result" + Json(result)); return(Json(result)); }