public int CardChargeOpr(CardChargeModel requestData, int OprType, out string message) { message = ""; int result = 0; float balance = 0; float.TryParse(requestData.AfterMoney, out balance);//不能用此余额,需要查询第三方系统里的余额 float preMoney = 0; float.TryParse(requestData.PreMoney, out preMoney); float oprMoney = 0; float.TryParse(requestData.OprMoney, out oprMoney); EmployeeCardModel model = new EastRiverBLL().GetEmployeeCardByCardNo(requestData.CardNo); if (model == null) { result = 1; message = "第三方系统未查询到卡号[" + requestData.CardNo + "]"; } else { EmployeeAccountModel accountModel = new EastRiverBLL().GetEmployeeAccountByCardNo(requestData.CardNo); if (accountModel == null) { result = 1; message = "第三方系统消费账户未查询到卡号[" + requestData.CardNo + "]"; } else { //TODO: 是否需要更新第三方的充值表 和 退款表 switch (OprType) { case 1: //充值 balance = model.card_balance + oprMoney; break; case 2: //退款 balance = model.card_balance - oprMoney; break; default: break; } preMoney = model.card_balance; model.card_balance = balance; accountModel.card_balance = balance; requestData.AfterMoney = balance.ToString(); requestData.PreMoney = preMoney.ToString(); new EastRiverBLL().UpdateEmployeeCard(model); new EastRiverBLL().UpdateEmployeeAccount(accountModel); } } return(result); }
/// <summary> /// 卡操作 /// </summary> /// <param name="requestData"></param> /// <param name="message"></param> /// <returns></returns> public int CardOpr(requestCardOpr requestData, out string message) { message = ""; int result = 0; if (string.IsNullOrWhiteSpace(requestData.CardNo)) { result = 1; message = "参数CardNo不能为空"; return(result); } if (string.IsNullOrWhiteSpace(requestData.PersonId)) { //result = 1; //message = "参数PersonId不能为空"; requestData.PersonId = requestData.CardNo.Trim(); LogHelper.Info("卡操作:传递的参数PersonID为空。使用CardNo进行人事登记"); //return result; } string deptId = "00000000-0000-0000-0000-000000000000"; if (!string.IsNullOrWhiteSpace(requestData.DeptId)) { deptId = requestData.DeptId.Trim(); } DepartmentModel depart = null; PersonBLL bll = new PersonBLL(); PersonModel person = bll.GetPersonByPersonId(requestData.PersonId); if (person == null) { //创建部门和人事资料 PersonModel requestPerson = new PersonModel(); requestPerson.PersonName = string.IsNullOrWhiteSpace(requestData.PersonName) ? requestData.PersonId : requestData.PersonName; requestPerson.PersonId = requestData.PersonId; requestPerson.DeptId = deptId; DepartmentModel requestDetp = new DepartmentModel(); requestDetp.DeptId = deptId; depart = new DepartmentBLL().GetDepartmentByDeptId(requestDetp.DeptId); if (depart == null) { requestDetp.DeptName = string.IsNullOrWhiteSpace(requestData.DeptName) ? "默认部门" : requestData.DeptName; requestDetp.DeptNo = deptId; result = DeptOpr(requestDetp, out message); if (result != 0) { return(result); } depart = requestDetp; } result = PersonOpr(requestPerson, out message); if (result != 0) { return(result); } person = requestPerson; } if (depart == null) { depart = new DepartmentBLL().GetDepartmentByDeptId(person.DeptId); } int OprType = 0;//1:新增发行, 2:退卡, 3:挂失,4,更新 if (requestData.Status == 1) { OprType = 2;//退卡 } else if (requestData.Status == 2) { OprType = 3;//挂失 } CardModel cardModel = new CardBLL().GetCardByCardNo(requestData.CardNo); if (OprType == 2) { if (cardModel == null) { result = 0; return(result); } } if (OprType == 3) { if (cardModel == null) { result = 1; message = "CardNo[" + requestData.CardNo + "]不存在或已删除"; return(result); } } if (cardModel == null) { OprType = OprType == 0 ? 1 : OprType; cardModel = new CardModel();//发行 cardModel.BackMoney = ""; cardModel.Balance = "0"; cardModel.BeginTime = requestData.BeginTime; cardModel.CardCost = requestData.CardCost; cardModel.CardNo = requestData.CardNo; cardModel.EndTime = requestData.EndTime; cardModel.PersonId = requestData.PersonId; cardModel.Status = requestData.Status; } else { OprType = OprType == 0 ? 4 : OprType;//更新 if (((DateTime)requestData.BeginTime).Year > 2000) { cardModel.BeginTime = requestData.BeginTime; } if (((DateTime)requestData.EndTime).Year > 2000) { cardModel.EndTime = requestData.EndTime; } cardModel.PersonId = requestData.PersonId; cardModel.Status = requestData.Status; cardModel.CardCost = requestData.CardCost; } if (OprType != 1) { if (cardModel == null) { result = 1; message = "CardNo[" + requestData.CardNo + "]不存在或已删除"; return(result); } } IThirdApp thirdApp = ThirdAppFactory.Create(Common.CommonSettings.ThirdApp); if (thirdApp != null) { thirdApp.CardOpr(cardModel, person, depart, OprType, out message); } switch (OprType) { case 1: //新增 new CardBLL().Insert(cardModel); break; case 2: //退卡 //float balance = 0; //float backmoney = 0; //float.TryParse(cardModel.Balance, out balance); //float.TryParse(cardModel.BackMoney, out backmoney); cardModel.Balance = "0"; new CardBLL().Delete(cardModel); CardChargeModel chargeModel = new CardChargeModel(); chargeModel.CardNo = cardModel.CardNo; chargeModel.AfterMoney = "0"; chargeModel.OprMoney = cardModel.Balance; chargeModel.OprType = 2; chargeModel.PreMoney = cardModel.Balance; chargeModel.Remark = "退卡注销金额清为0,注销金额" + cardModel.Balance; new CardChargeBLL().Insert(chargeModel);; break; case 3: //挂失 requestData.Status = 2; new CardBLL().Update(cardModel); break; case 4: //更新 new CardBLL().Update(cardModel); break; default: break; } return(result); }
/// <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); }
public void Insert(CardChargeModel model) { model.CreateTime = DateTime.Now; model.ModifyTime = DateTime.Now; CardChargeDAL.ProxyInstance.Insert <CardChargeModel>(model); }