public void Ready() { var accountType = AccountTypeService.GetById(InnerObject.AccountTypeId); if (accountType != null) { AccountTypeName = accountType.DisplayName; } }
public ActionResult GetTicketInfo(TicketWriteOffRequest request) { try { WxPayAPI.Log.Info("PosApiController", string.Format("请求获取门票:code{0},token:{1}", request.code, request.token)); TicketWriteOffResponse result = new TicketWriteOffResponse(); if (string.IsNullOrEmpty(request.code)) { return(Json(new ApiResponse() { Code = "-1", Msg = "门票代码为空" })); } if (string.IsNullOrEmpty(request.token)) { return(Json(new ApiResponse() { Code = "-1", Msg = "token为空" })); } var postToken = postTokenService.GetByToken(request.token); if (postToken == null) { return(Json(new ApiResponse() { Code = "-1", Msg = "token失效请重新登录" })); } var pos = posEndPointService.GetByName(postToken.posName); if (pos == null && pos.State != States.Normal) { return(Json(new ApiResponse() { Code = "-1", Msg = "pos账号不存在或已停用" })); } var ticket = ticketsService.GetByCode(request.code); if (ticket != null) { result.codeNo = ticket.Code; result.buyTime = ticket.BuyTime.ToString("yyyy-MM-dd hh:mm:ss"); result.ExpiredDate = ticket.ExpiredDate.ToString("yyyy-MM-dd hh:mm:ss"); result.name = ticket.TicketName; if (ticket.State == TicketsState.Used) { result.State = "已使用"; } else if (ticket.State == TicketsState.NotUse) { if (DateTime.Now.Date > ticket.ExpiredDate) { result.State = "已过期"; } else { result.State = "未使用"; } } result.userTime = ticket.userTime.HasValue ? ticket.userTime.Value.ToString("yyyy-MM-dd hh:mm:ss") : ""; result.useScope = ticket.ShopName; result.babyName = ticket.babyName; result.babySex = ticket.babySex == 1 ? "男" : ticket.babySex == 2 ? "女" : ""; result.userName = ticket.UserDisplayName; result.mobile = ticket.Mobile; return(Json(result)); } var card = accountService.GetByName(request.code); if (card == null) { return(Json(new ApiResponse() { Code = "-1", Msg = "门票不存在" })); } var cardType = accountTypeService.GetById(card.AccountTypeId); var user = membershipService.GetUserById(card.OwnerId.HasValue ? card.OwnerId.Value : 0) as AccountUser; if (user != null) { result.babyName = user.babyName; result.babySex = user.babySex == 1 ? "男" : user.babySex == 2 ? "女" : ""; result.mobile = user.Mobile; result.mobile = user.Mobile; result.userName = user.DisplayName; } result.name = cardType != null ? cardType.DisplayName : ""; result.buyTime = card.OpenTime.HasValue ? card.OpenTime.Value.ToString("yyyy-MM-dd hh:mm:ss") : ""; result.codeNo = card.Name; result.ExpiredDate = card.ExpiredDate.ToString("yyyy-MM-dd hh:mm:ss"); result.Frequency = card.Frequency; result.FrequencyUsed = card.FrequencyUsed; result.State = ModelHelper.GetBoundText(card, x => x.State); var shop = shopService.GetById(card.ShopId); if (shop != null) { result.useScope = shop.DisplayName; } return(Json(result)); } catch (Exception ex) { WxPayAPI.Log.Info("WindowTicketOffController", string.Format("请求获取门票异常:{0}", ex.Message)); return(Json(new ApiResponse() { Code = "-1", Msg = "异常,请联系管理员" })); } }
public async Task <IActionResult> GetById(int id) { var response = await _accountTypeService.GetById(id); return(Ok(response)); }
public ActionResult CardPlaceOrder(int accountTypeId, int userCouponsId = 0) { var accountType = accountTypeService.GetById(accountTypeId); if (accountType == null) { return(Json(new ResultMessage() { Code = -1, Msg = "你要购买得卡不存在" })); } if (accountType.State != AccountTypeStates.Normal) { return(Json(new ResultMessage() { Code = -1, Msg = "此卡已下架,请选择购买其他卡" })); } int userId = 0; var cookieId = Request.Cookies[SessionKeys.USERID].Value.ToString(); int.TryParse(cookieId, out userId); var user = membershipService.GetUserById(userId) as AccountUser; if (user == null) { return(Json(new ResultMessage() { Code = -1, Msg = "用户不存在" })); } decimal price = accountType.Amount; //卡单价 string orderNo = string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + userId; decimal deductible = 0; //优惠卷抵扣金额 decimal discount = 0; //折扣 string useScope = ""; //指定门店 int couponId = 0; //优惠卷id decimal amount = price; UserCoupons userCoupons = null; if (userCouponsId > 0) { userCoupons = userCouponsService.GetById(userCouponsId); if (userCoupons == null) { return(Json(new ResultMessage() { Code = -1, Msg = "优惠卷不存在" })); } if (userCoupons.state != UserCouponsState.NotUse) { return(Json(new ResultMessage() { Code = -1, Msg = "优惠卷已失效" })); } if (userCoupons.userId != userId) { return(Json(new ResultMessage() { Code = -1, Msg = "优惠卷不可用" })); } var coupon = couponsService.GetById(userCoupons.couponsId); if (coupon == null && coupon.state != CouponsState.Normal) { return(Json(new ResultMessage() { Code = -1, Msg = "优惠卷不存在" })); } if (coupon.validity.HasValue && coupon.validity > DateTime.Now.Date) { return(Json(new ResultMessage() { Code = -1, Msg = "优惠卷已过期" })); } if (coupon.couponsType == CouponsType.DiscountedVolume) { discount = coupon.discount; deductible = amount - (discount * amount); } else if (coupon.couponsType == CouponsType.FullVolumeReduction) { if (amount >= coupon.fullAmount) { deductible = coupon.reduceAmount; } } else if (coupon.couponsType == CouponsType.OffsetRoll) { deductible = coupon.deductibleAmount; } useScope = coupon.useScope; couponId = coupon.id; } var order = new Orders(); order.amount = price; order.orderNo = orderNo; order.deductible = deductible; order.orderState = OrderStates.awaitPay; order.payAmount = order.amount - deductible; order.subTime = DateTime.Now; order.type = OrderTypes.card; order.userId = userId; order.useScope = useScope; var orderDetial = new OrderDetial(); orderDetial.amount = price; orderDetial.cardNo = ""; orderDetial.num = 1; orderDetial.orderNo = orderNo; orderDetial.sourceId = accountType.AccountTypeId; orderDetial.subTime = DateTime.Now; var tran = transactionHelper.BeginTransaction(); try { ordersService.Create(order); orderDetialService.Create(orderDetial); if (couponId > 0) { var useCouponslog = new UseCouponslog(); useCouponslog.amount = deductible; useCouponslog.couponsId = couponId; useCouponslog.discount = discount; useCouponslog.orderNo = orderNo; useCouponslog.userId = userId; useCouponslog.useTime = DateTime.Now; useCouponslogService.Create(useCouponslog); if (userCoupons != null) { userCoupons.state = UserCouponsState.Used; userCouponsService.Update(userCoupons); } } //微信支付 JsApiPay jsApiPay = new JsApiPay(); jsApiPay.openid = user.openId; jsApiPay.total_fee = (int)(order.payAmount * 100); WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(order.orderNo); string wxJsApiParam = jsApiPay.GetJsApiParameters();//获取H5调起JS API参数 WxPayAPI.Log.Debug(this.GetType().ToString(), "wxJsApiParam : " + wxJsApiParam); tran.Commit(); return(Json(new ResultMessage() { Code = 0, Msg = wxJsApiParam })); //return Json(new ResultMessage() { Code = 0, Msg = "" }); } catch (Exception ex) { WxPayAPI.Log.Error(this.GetType().ToString(), ex.Message.ToString()); return(Json(new ResultMessage() { Code = -1, Msg = ex.Message.ToString() })); //Response.Write("<span style='color:#FF0000;font-size:20px'>" + "下单失败,请返回重试" + "</span>"); //submit.Visible = false; } finally { tran.Dispose(); } }