using POSV.Bean; using POSV.Card; using POSV.Helper; using POSV.Utils; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace POSV.Member { public partial class CardIntegralAdjustment : BusinessForm { public CardIntegralAdjustment() { InitializeComponent(); this.txtInput.Focus(); } private void button1_Click(object sender, EventArgs e) { if (this.button1.Text.Equals("+")) { this.button1.Text = "-"; } else { this.button1.Text = "+"; } } private void buttonX3_Click(object sender, EventArgs e) { var isVerify = InputVerify(); if (isVerify) { var voucherNo = this.txtInput.Text; //智能识别刷卡方式 var way = CardUtils.JudgeCardWay(Global.Instance.Worker.TenantId, voucherNo); if (way == MemberCardNoType.未知) { this.ShowMessage(this.lblInfo, "无法识别的卡号,请确认", true); return; } switch (way) { case MemberCardNoType.手机号: { CardInfoMessage("mobile"); } break; case MemberCardNoType.电子卡号: { CardInfoMessage("scanCode"); } break; case MemberCardNoType.真实卡号: { CardInfoMessage("cardNo"); } break; case MemberCardNoType.卡面号: { CardInfoMessage("surfaceNo"); } break; } } } MemberCard memberCard = null; /// /// 会员卡信息 /// private bool CardInfoMessage(string property) { bool result = false; try { var request = new MemberInfoQueryRequest(); request.Property = property; request.Keyword = this.txtInput.Text.Trim(); request.ShopNo = Global.Instance.Authc.StoreNo; request.PosNo = Global.Instance.Authc.PosNo; request.WorkerNo = Global.Instance.Worker.No; var response = CardUtils.MemberInfoQuery(request); //成功 if (response.Item1) { result = true; ShowMessage(this.lblInfo, response.Item2); MemberInfoQueryResponse memberInfoQueryResponse = response.Item3; lblMemerName.Text = memberInfoQueryResponse.Name; //lblMemeberMobile.Text = memberInfoQueryResponse.Mobile; //lblLinkPhone.Text = memberInfoQueryResponse.LinkPhone; lblcardNo.Text = memberInfoQueryResponse.CardList.FirstOrDefault()?.CardNo; memberCard = memberInfoQueryResponse.CardList[0]; //this.member = memberInfoQueryResponse; //this.MemberTypeNo = memberInfoQueryResponse.MemberTypeNo; //this.InitCmbCreType(); //switch (memberInfoQueryResponse.Sex) //{ // case 0: // lblSex.Text = "女"; // break; // case 1: // lblSex.Text = "男"; // break; // default: // lblSex.Text = "保密"; // break; //} //lblBirthday.Text = memberInfoQueryResponse.Birthday; //lblDescription.Text = memberInfoQueryResponse.Description; this.lblpreAmount.Text = memberInfoQueryResponse.CardList.FirstOrDefault().AvailableAmount.ToString(); this.lblpreJifen.Text = memberInfoQueryResponse.CardList.FirstOrDefault().TotalPoint.ToString(); //this.txtPresented.Text = " "; //this.txtGiftPoint.Text = " "; this.txtMoney.Text = " "; //this.txtPresented.Text = ""; //this.txtGiftPoint.Text = ""; this.txtMoney.Text = ""; List list = memberInfoQueryResponse.CardList; foreach (MemberCard memberCard in list) { switch (memberCard.Status) { case 1: memberCard.CardStatus = "正常"; break; case 2: memberCard.CardStatus = "预售"; break; case 3: memberCard.CardStatus = "挂失"; break; case 4: memberCard.CardStatus = "冻结"; break; case 5: memberCard.CardStatus = "销户"; break; default: memberCard.CardStatus = "未知"; break; } } //cardListTable.PrimaryGrid.DataSource = list; } else { result = false; List list = new List(); ShowMessage(this.lblInfo, response.Item2, true); } } catch (Exception ex) { result = false; ShowMessage(this.lblInfo, "会员卡信息查询异常", true); LOGGER.Error(ex, "会员卡信息查询异常"); } return result; } /// /// 输入是否验证通过 /// private bool InputVerify() { if (string.IsNullOrEmpty(this.txtInput.Text.Trim())) { ShowMessage(this.lblInfo, "请输入卡号信息", true); return false; } return true; } private void buttonX2_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.txtMoney.Text)) { ShowMessage(this.lblInfo, "请输入金额", true); return; } if (this.txtMoney.Text.Contains('.')) { ShowMessage(this.lblInfo, "操作积分不允许有小数", true); return; } var _data = CardUtils.IntegralAdjustment(memberCard.MemberId, (this.button1.Text.Equals("+") ? 1 : 0), this.txtMoney.IntegerValue); if (!_data.Item1) { ShowMessage(this.lblInfo, _data.Item2, true); return; } this.ShowMessage(this.lblInfo, "操作成功!"); string mes = string.Format("操作前积分:{0} \t\n操作后积分:{1} \t\n操作积分:{2}", _data.Item3.PreTotalPoint, _data.Item3.AftTotalPoint, this.txtMoney.IntegerValue); var vars = CardHelper.OpertionMemberPointVariable(memberCard, _data.Item3,this.button1.Text.Equals("+"), this.txtMoney.IntegerValue); //充值打印份数 int ticketCount = Global.Instance.GlobalConfigIntValue(ConfigConstant.PERIPHERAL_CASHIER_RECHARGE_COUNT, 1); //打印延迟 int delaySecond = Global.Instance.GlobalConfigIntValue(ConfigConstant.PERIPHERAL_CASHIER_CARD_PRINT_DELAY, 1); Tuple result = CardHelper.PrinterTicket("积分冲减", vars, true, false, ticketCount, delaySecond); this.ShowToastNotify(this, string.Format("{0}", result.Item2)); DialogForm dialogForm = new DialogForm("操作成功", mes, MessageBoxIcon.None,MessageBoxButtons.OK); dialogForm.ButtonOK.Text = "完成"; dialogForm.ShowDialog(); controlBox_CloseClick(null, null); return; } private void txtInput_OnEnterClick(object sender, Component.EnterEventArg e) { var result = CardOperateUtils.Instance.ReadCardNo(); if (result.Item1) { this.txtInput.Text = result.Item2; //读卡成功,模拟回车事件 //InputSimulatorUtils.SendKey(KeyCodes.Map["return"]); } else { result = CardOperateUtilsOther.Instance.ReadCardNo(); if (result.Item1) { this.txtInput.Text = result.Item2; //读卡成功,模拟回车事件 //InputSimulatorUtils.SendKey(KeyCodes.Map["return"]); } else { this.ShowMessage(lblInfo, result.Item2,true); } } this.buttonX3_Click(null, null); } private void txtInput_ButtonCustomClick(object sender, EventArgs e) { var result = CardOperateUtils.Instance.ReadCardNo(); if (result.Item1) { this.txtInput.Text = result.Item2; this.buttonX3_Click(null, null); //读卡成功,模拟回车事件 //InputSimulatorUtils.SendKey(KeyCodes.Map["return"]); } else { result = CardOperateUtilsOther.Instance.ReadCardNo(); if (result.Item1) { this.txtInput.Text = result.Item2; this.buttonX3_Click(null, null); //读卡成功,模拟回车事件 //InputSimulatorUtils.SendKey(KeyCodes.Map["return"]); } else { this.ShowMessage(lblInfo, result.Item2,true); } } } private void buttonX1_Click(object sender, EventArgs e) { if (this.Owner != null) { this.Owner.Close(); } this.Close(); } private void controlBox_CloseClick(object sender, EventArgs e) { buttonX1_Click(null,null); } private void CardIntegralAdjustment_Load(object sender, EventArgs e) { System.Threading.Tasks.Task.Factory.StartNew(() => { System.Threading.Thread.Sleep(500); this.Invoke((EventHandler)delegate { this.ShowMessage(this.lblInfo, "请输入卡号信息!"); this.txtInput.Focus(); }); }); } private void buttonX4_Click(object sender, EventArgs e) { memberCard = null; this.txtInput.Text = ""; lblcardNo.Text = ""; lblMemerName.Text = ""; lblpreAmount.Text = ""; lblpreJifen.Text = ""; txtMoney.Text = ""; } } }