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 = "异常,请联系管理员" })); } }