public RestfulResult Bind(BindingRequest request, int? authuid, UserModel authUser) { request.AuthUser = authUser; request.AuthUid = authuid.Value; return new RestfulResult { Data = _cardDataService.Binding(request) }; }
/// <summary> /// 绑定 /// </summary> /// <param name="request"></param> /// <returns></returns> public ExecuteResult<CardInfoResponse> Binding(BindingRequest request) { //1.当前用户是否绑定过该卡 //2.该卡是否被绑定过 //3.验证是否可以绑定 // 3.1 集团验证 //4.入库 //5.查询积点 if (request == null || request.AuthUser == null) { return new ExecuteResult<CardInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "参数错误" }; } var entity = _cardRepository.GetItemByCard(request.CardNo, CardType.YintaiMemberCard, DataStatus.Normal); if (entity != null) { if (entity.User_Id != request.AuthUser.Id) { return new ExecuteResult<CardInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "该会员卡已经被绑定" }; } return new ExecuteResult<CardInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "您已经绑定过该会员卡" }; } var result = _groupCardService.GetInfo(new GroupCardInfoRequest { CardNo = request.CardNo, Passwd = request.Password }); if (result.RetType == GroupCardRetType.Ok) { using (var ts = new TransactionScope()) { //入库 var e = _cardRepository.Insert(new CardEntity { CardNo = request.CardNo, CardProfile = JsonExtension.ToJson_(new CardProfile { Lvl = result.Lvl, Type = result.Type }), CreatedDate = DateTime.Now, CreatedUser = request.AuthUser.Id, Status = (int)DataStatus.Normal, Type = (int)CardType.YintaiMemberCard, UpdatedDate = DateTime.Now, UpdatedUser = request.AuthUser.Id, User_Id = request.AuthUser.Id }); //成功后 _userService.SetCardBinder(e.User_Id, true); ts.Complete(); } return GetInfo(new GetCardInfoRequest { AuthUser = request.AuthUser, CardNo = request.CardNo, Client_Version = request.Client_Version, Method = request.Method, Token = request.Token }, "恭喜您绑定会员卡成功"); } return new ExecuteResult<CardInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "会员卡号或密码错" }; }
public ExecuteResult<CardInfoResponse> UnBinding(BindingRequest request) { throw new NotSupportedException("不支持该方法"); if (request == null || request.AuthUser == null) { return new ExecuteResult<CardInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "参数错误" }; } var entities = _cardRepository.GetListForUserId(request.AuthUser.Id, CardType.YintaiMemberCard, DataStatus.Normal).ToList(); if (entities.Count == 0) { return new ExecuteResult<CardInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "你还没有绑定银泰卡,请您先绑定" }; } if (entities.Count > 1) { return new ExecuteResult<CardInfoResponse>(null) { StatusCode = StatusCode.InternalServerError, Message = "服务器开小差了,请您等等再试" }; } var entity = entities[0]; using (var ts = new TransactionScope()) { var delEntity = _cardRepository.GetItem(entity.Id); delEntity.UpdatedDate = DateTime.Now; delEntity.UpdatedUser = request.AuthUser.Id; delEntity.Status = (int)DataStatus.Deleted; _cardRepository.Delete(delEntity); _userService.SetCardBinder(entity.User_Id, false); ts.Complete(); } return new ExecuteResult<CardInfoResponse>(null) { StatusCode = StatusCode.Success, Message = "解除绑定成功" }; }