public List <YJBJCardDTO> GetExt(Guid orderId) { return(YJBJCard.ObjectSet().Where(p => p.OrderId == orderId).ToList().Select(p => p.ToEntityData()).ToList()); }
public ResultDTO CreateExt(Guid orderId) { try { var order = CommodityOrder.ObjectSet().FirstOrDefault(p => p.Id == orderId); if (order == null) { return new ResultDTO { isSuccess = false, Message = "未找到订单" } } ; if (order.EsAppId != YJB.Deploy.CustomDTO.YJBConsts.YJAppId) { return new ResultDTO { isSuccess = false, Message = "非易捷北京订单" } } ; if (order.OrderType != 3) { return new ResultDTO { isSuccess = false, Message = "非易捷卡密订单" } } ; if (order.State == 7) { return new ResultDTO { isSuccess = false, Message = "订单已退款" } } ; if (YJBJCard.ObjectSet().Any(p => p.OrderId == orderId && p.Status == 2)) { return new ResultDTO { isSuccess = false, Message = "已获取卡信息" } } ; var yjUserId = TPS.CBCSV.GetYJUserId(order.UserId); if (string.IsNullOrEmpty(yjUserId)) { return new ResultDTO { isSuccess = false, Message = "非易捷北京会员用户" } } ; var isNoPhoneAccount = yjUserId == "NoPhoneAccount"; //var yjUserId = "77fca49d080d4bcba3eca52e715e37f6"; var orderItemList = OrderItem.ObjectSet() .Where(p => p.CommodityOrderId == orderId && p.Type == 1).Select(p => new { p.Id, p.CommodityId, p.Number, p.YJCouponActivityId, p.YJCouponType, }).ToList() .Where(p => !string.IsNullOrEmpty(p.YJCouponActivityId) && !string.IsNullOrEmpty(p.YJCouponType)).ToList(); if (orderItemList.Count == 0) { return new ResultDTO { isSuccess = false, Message = "未找到易捷卡密订单项" } } ; orderItemList.ForEach(p => { var list = isNoPhoneAccount ? new List <YJBJCard>() : CreateYingKeCoupon(p.YJCouponActivityId, p.YJCouponType, p.Number, yjUserId); if (list.Count == 0)//接口调用失败后再调用一次 { list = isNoPhoneAccount ? new List <YJBJCard>() : CreateYingKeCoupon(p.YJCouponActivityId, p.YJCouponType, p.Number, yjUserId); #region 接口二次调用失败 if (list.Count == 0) { list.Add(new YJBJCard { CardName = string.Empty, CardNo = string.Empty, CheckCode = string.Empty, CouponUrl = string.Empty, EndTime = DateTime.MaxValue, Status = isNoPhoneAccount ? 1 : 0, Message = isNoPhoneAccount ? "用户未绑定手机号" : "失败", EntityState = EntityState.Added }); } #endregion } list.ForEach(x => { x.Id = Guid.NewGuid(); x.UserId = order.UserId; x.AppId = order.AppId; x.EsAppId = (Guid)order.EsAppId; x.OrderId = order.Id; x.OrderCode = order.Code; x.OrderItemId = p.Id; x.CommodityId = p.CommodityId; x.SubTime = DateTime.Now; ContextFactory.CurrentThreadContext.SaveObject(x); }); }); DateTime now = DateTime.Now; #region CommodityOrderService var commodityOrderService = CommodityOrderService.FindByID(order.Id); if (commodityOrderService == null) { commodityOrderService = new CommodityOrderService { Id = order.Id, Name = order.Name, Code = order.Code, State = 3, SubId = order.UserId, SubTime = now, ModifiedOn = now, EntityState = EntityState.Added }; ContextFactory.CurrentThreadContext.SaveObject(commodityOrderService); } #endregion #region Journal var journal = new Journal { Id = Guid.NewGuid(), Name = "易捷卡密成功获取卡信息", Code = order.Code, SubId = order.UserId, SubTime = now, Details = "订单状态由" + order.State + "变为3", StateFrom = order.State, StateTo = 3, IsPush = false, OrderType = order.OrderType, CommodityOrderId = order.Id, EntityState = EntityState.Added }; ContextFactory.CurrentThreadContext.SaveObject(journal); #endregion #region CommodityOrder order.State = 3; order.ModifiedOn = now; #endregion int count = ContextFactory.CurrentThreadContext.SaveChanges(); return(count == 0 ? new ResultDTO { isSuccess = false, Message = "数据库保存0行" } : new ResultDTO { isSuccess = true, Message = "成功" }); } catch (Exception ex) { LogHelper.Error(string.Format("YJBJCardBP.CreateExt异常,orderId={0}", orderId), ex); return(new ResultDTO { isSuccess = false, Message = "异常" }); } }