public ContentResult bindplayer(BindTempPlayerRequest request) { request.MemberId = UserContext.WebUserContext.Id; string msg = string.Empty; int orderId = _memberTempService.BindTempPlayer(request, out msg); return(Result(orderId > 0, msg, orderId.ToString())); }
//临时选手绑定 生成支付订单 public int BindTempPlayer(BindTempPlayerRequest request, out string msg) { int orderId = 0; msg = string.Empty; try { //校验数据的真实性 if (request.EventCode.IsEmpty()) { msg = "赛事编码不能为空"; return(orderId); } if (request.GroupNum.IsEmpty()) { msg = "队伍编码不能为空"; return(orderId); } if (request.PlayerName.IsEmpty()) { msg = "选手姓名不能为空"; return(orderId); } if (request.ContactMobile.IsEmpty()) { msg = "联系电话不能为空"; return(orderId); } var tevent = _dbContext.Select <t_event>(c => c.code == request.EventCode).FirstOrDefault(); if (tevent == null) { msg = "赛事编码有误"; return(orderId); } if (tevent.eventStatus != EventStatusEm.比赛完成) { msg = "赛事未完成不能进行绑定"; return(orderId); } var data = _dbContext.Select <t_member_temp>(c => c.name == request.PlayerName && c.contactmobile == request.ContactMobile && c.code == request.GroupNum && c.tempType == TempTypeEm.临时选手 && c.tempStatus == TempStatusEm.待绑定 && c.eventId == tevent.id).FirstOrDefault(); if (data == null) { msg = "数据不存在,请核对后再操作"; return(orderId); } //if (data.tomemberId != null && data.tomemberId > 0) //{ // if (data.tomemberId != request.MemberId) // { // msg = "此信息已绑定过"; // return orderId; // } //} t_order order = _dbContext.Select <t_order>(c => c.memberId == data.memberId && c.orderType == OrderTypeEm.临时选手绑定 && c.sourceId == data.id).FirstOrDefault(); if (order == null)//没创建过订单 { try { _dbContext.BeginTransaction(); //创建订单 var orderid = _dbContext.Insert(new t_order { isNeedInvoice = false, mainOrderId = null, memberId = data.memberId, money = tevent.signfee, orderStatus = OrderStatusEm.等待支付, orderType = OrderTypeEm.临时选手绑定, payExpiryDate = DateTime.Now.AddYears(3), remark = "临时选手绑定", sourceId = data.id, totalcoupon = 0, totaldiscount = 0 }).ToObjInt(); _dbContext.Insert(new t_order_detail { memberId = data.memberId, orderId = orderid, coupon = 0, discountprice = 0, money = tevent.signfee, productId = 0, name = $"{tevent.name}报名费", number = 1, unitprice = tevent.signfee }); //生成支付链接 data.tomemberId = request.MemberId; data.updatetime = DateTime.Now; _dbContext.Update(data); _dbContext.CommitChanges(); orderId = orderid; } catch (Exception ex) { msg = "服务异常"; _dbContext.Rollback(); LogUtils.LogError("MemberTempService.BindTempPlayerTran", ex); } } else//创建过订单 { if (order.orderStatus != OrderStatusEm.等待支付 && order.orderStatus != OrderStatusEm.支付失败) { orderId = order.id; } else { msg = "状态已改变"; } } } catch (Exception ex) { msg = "服务异常"; LogUtils.LogError("MemberTempService.BindTempPlayer", ex); } return(orderId); }