public HttpResponseMessage cardchargeopr(requestCardCharge requestdata) { APIResultBase apiresult = new APIResultBase(); string message = ""; int result = new ConsumeBaseBLL().CardChargeOpr(requestdata, out message); if (result != 0) { apiresult.code = "1"; if (string.IsNullOrWhiteSpace(message)) { message = "卡充值/退款操作失败"; } apiresult.msg = message; } return(Request.CreateResponse(apiresult)); }
/// <summary> /// 卡充值退款操作 /// </summary> /// <param name="requestData"></param> /// <param name="message"></param> /// <returns></returns> public int CardChargeOpr(requestCardCharge requestData, out string message) { message = ""; int result = 0; if (string.IsNullOrWhiteSpace(requestData.CardNo)) { result = 1; message = "参数CardNo不能为空"; return(result); } CardModel cardModel = new CardBLL().GetCardByCardNo(requestData.CardNo); if (cardModel == null) { result = 1; message = "CardNo[" + requestData.CardNo + "]不存在或已删除"; return(result); } int OprType = requestData.OprType; IThirdApp thirdApp = ThirdAppFactory.Create(Common.CommonSettings.ThirdApp); if (thirdApp == null) { LogHelper.Error("ThirdApp未配置"); } switch (OprType) { case 1: //充值 CardChargeModel chargeModel = new CardChargeModel(); chargeModel.CardNo = cardModel.CardNo; float balance = 0; float oprmoney = 0; float.TryParse(cardModel.Balance, out balance); float.TryParse(requestData.OprMoney, out oprmoney); chargeModel.AfterMoney = (balance + oprmoney).ToString(); chargeModel.OprMoney = requestData.OprMoney; chargeModel.OprType = 1; chargeModel.PreMoney = cardModel.Balance; chargeModel.Remark = requestData.Remark; result = thirdApp.CardChargeOpr(chargeModel, OprType, out message); if (result == 0) { new CardChargeBLL().Insert(chargeModel); cardModel.Balance = chargeModel.AfterMoney; new CardBLL().Update(cardModel); } break; case 2: //退款 CardChargeModel chargeModel2 = new CardChargeModel(); chargeModel2.CardNo = cardModel.CardNo; float balance2 = 0; float oprmoney2 = 0; float.TryParse(cardModel.Balance, out balance2); float.TryParse(requestData.OprMoney, out oprmoney2); chargeModel2.AfterMoney = (balance2 - oprmoney2).ToString(); chargeModel2.OprMoney = requestData.OprMoney; chargeModel2.OprType = 2; chargeModel2.PreMoney = cardModel.Balance; chargeModel2.Remark = requestData.Remark; result = thirdApp.CardChargeOpr(chargeModel2, OprType, out message); if (result == 0) { new CardChargeBLL().Insert(chargeModel2); cardModel.Balance = chargeModel2.AfterMoney; new CardBLL().Update(cardModel); } break; default: break; } return(result); }