You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1531 lines
76 KiB
C#

9 months ago
using DevComponents.DotNetBar;
using DevComponents.DotNetBar.Controls;
using NLog;
using POSV.Bean;
using POSV.Card;
using POSV.Component;
using POSV.Entity;
using POSV.Helper;
using POSV.MessageEvent;
using POSV.MsgCenter;
using POSV.OtherWaiMai;
using POSV.ServiceCenter;
using POSV.ShoppingCart;
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.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace POSV.WaiMai
{
public partial class EleMeForm : BusinessForm
{
private int orderType = 0;//订单类型
private int SelectType = 0;//待处理订单
private bool generalQuerying = false;//历史订单查询锁
private bool handleQuerying = false;//待处理订单查询锁
private bool isBudanFlag = false;//是否正在进行补单操作
private int ConfirmType = 0;
private static Logger logger = NLog.LogManager.GetCurrentClassLogger();
public EleMeForm()
{
InitializeComponent();
this.dateInputPicker.Value = DateTime.Now.Date;
//是否开启自动接单
bool openConfirm = Global.Instance.GlobalConfigBoolValue(ConfigConstant.ELEME_CONFIRM_PARAMETER, false);
if (openConfirm)
{
ConfirmType = 1;
this.radioButtonOpen.Checked = true;
}
else
{
ConfirmType = 0;
this.radioButtonClose.Checked = true;
}
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//第一步加载门店信息
QueryMeiTuanPoiInfo();
//第二步,获取待处理订单
//第二步,获取待处理订单
Proxy.Mqtt.MqttClientUtils.Instance.OnMessageReceived += Instance_OnMessageReceived;
DoHandQuery();
}
private void Instance_OnMessageReceived(object sender, Proxy.Mqtt.MessageEventArgs e)
{
try
{
string message = e.Message;
int type = e.Type;
if (type == 0)
{
Dictionary<string, string> messageMap = JsonUtils.Deserialize<Dictionary<string, string>>(message);
if (messageMap.ContainsKey("eleme") &&!"".Equals(messageMap["eleme"]))
{
DoHandQuery();
}
}
}
catch (Exception ex)
{
LOGGER.Error(ex);
}
}
private void OnControlBoxCloseClick(object sender, EventArgs e)
{
OnCloseTouchClick(sender, e);
}
private void OnControlBoxMinClick(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
}
private void btn_exit_Click(object sender, EventArgs e)
{
OnCloseTouchClick(sender, e);
}
private void OnCloseTouchClick(object sender, EventArgs e)
{
//先关闭父窗体
if (this.Owner != null)
{
this.Owner.Close();
}
//再关闭当前窗体
this.Close();
}
private void btn_close(object sender, EventArgs e)
{
OnCloseTouchClick(sender, e);
}
/// <summary>
/// 查询全部订单
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_query(object sender, EventArgs e)
{
var obj = sender as ButtonX;
try
{
obj.Enabled = false;
DoQuery(1, pagerControl2.RowsPerPage);
}
finally
{
obj.Enabled = true;
}
}
private void DoQuery(int pageNum, int pageSize)
{
if (generalQuerying)
{
this.ShowToastNotify(this, "查询中.....");
return;
}
generalQuerying = true;
//zhangy 2020-03-01 Add 释放资源避免Error creating window handle
while (tableLayoutPanel2.Controls.Count > 0)
{
if (tableLayoutPanel2.Controls[0] != null)
{
var ctl = tableLayoutPanel2.Controls[0];
ctl.Dispose();
}
}
this.tableLayoutPanel2.Controls.Clear();
Task.Factory.StartNew(() =>
{
EleMeOrderListRequest request = new EleMeOrderListRequest();
string orderDate = this.dateInputPicker.Text;
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request.PageNumber = pageNum;
request.PageSize = pageSize;
request.OrderDate = orderDate;
request.Type = orderType;
var response = OtherWaiMaiUtils.QueryEleMeOrder(request);
if (response != null && response.Item1)
{
if (this.IsDisposed || !this.IsHandleCreated) return;
this.Invoke(new Action(() =>
{
List<EleMeItem> detailList = new List<EleMeItem>();
int handCount = 0;
foreach (EleMeOrderListResponse order in response.Item3.List)
{
if ("pending".Equals(order.Status) || "unprocessed".Equals(order.Status) || "applied".Equals(order.RefundStatus))
{
handCount = handCount + 1;
}
var item = new EleMeItem(order);
item.OnConfirm += Item_OnConfirm;
item.OnCancel += Item_OnCancel;
item.OnRefundAgree += Item_OnRefundAgree;
item.OnRefundReject += Item_OnRefundReject;
item.OnOrderPrint += Item_OnPrint;
item.OnOrderBuDan += Item_OnBuDan;
detailList.Add(item);
}
if (this.IsDisposed || !this.IsHandleCreated) return;
//更新控件
sendNewView(handCount);
if (detailList.Count > 0)
{
this.tableLayoutPanel2.Controls.AddRange(detailList.ToArray());
//滚动至顶部
this.tableLayoutPanel2.AutoScrollPosition = new Point(0, 0);
}
this.pagerControl2.TotalPage = response.Item3.PageCount;
this.pagerControl2.CurrentPage = response.Item3.PageNumber;
this.pagerControl2.RecordCount = response.Item3.TotalCount;
this.pagerControl2.RowsPerPage = response.Item3.PageSize;
}));
}
generalQuerying = false;
});
}
/// <summary>
/// 订单打印
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Item_OnPrint(object sender, EleMeOrderEventArgs e)
{
Task.Factory.StartNew(() =>
{
string orderId = e.OrderId;
EleMeOrderRequest request = new EleMeOrderRequest();
string orderDate = this.dateInputPicker.Text;
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request.OrderId = orderId;
var response = OtherWaiMaiUtils.EleMeOrder(request);
if (response != null && response.Item1)
{
this.ShowToastNotify(this, "开始打印");
//构建收银小票模版参数
var vars = WaiMaiHelper.BuilderEleMeVariable(response.Item3.Data.ShopName, response.Item3.Data,true);
Tuple<bool, string> result = WaiMaiHelper.PrinterTicket("饿了么", vars);
this.ShowToastNotify(this, string.Format("{0}", result.Item2));
//组装本地数据
OrderObject orderObject = OtherWaiMaiApi.getOrderLocalEleme(response.Item3.Data);
//打印标签
LabelPrintHelper.PrintOrderLabel(orderObject);
//执行厨打标签
ChuDaHelper.KitchenLabelPrinter(orderObject);
//启用外卖商品绑定厨显方案
var planKds = Global.Instance.GlobalConfigBoolValue(ConfigConstant.CONFIG_CASHIER_OTHERWAIMAI_PLANKDS, true);
//启用外卖商品绑定厨打方案
var planKit = Global.Instance.GlobalConfigBoolValue(ConfigConstant.CONFIG_CASHIER_OTHERWAIMAI_PLANKIT, true);
if (planKit)
{
//执行厨打
ChuDaHelper.KitchenPrinter(orderObject);
logger.Info("饿了么厨打成功");
//执行出品
ChuDaHelper.MadePrinter(orderObject);
logger.Info("饿了么出品成功");
}
if (planKds)
{
//通知厨显
UploadSCNewOrder.UploadNewOrder2SC4KDS(orderObject);
logger.Info("饿了么厨显成功");
}
}
});
}
/// <summary>
/// 补单功能
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Item_OnBuDan(object sender, EleMeOrderEventArgs e)
{
if (isBudanFlag) {
return;
}
isBudanFlag = true;
string orderId = e.OrderId;
OrderObject _OrderObject = OrderUtils.getOrderObjectByTranNo("5" + orderId);
//判断订单是否存在
if (_OrderObject == null)
{
try
{
EleMeOrderRequest request1 = new EleMeOrderRequest();
string orderDate = this.dateInputPicker.Text;
request1.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request1.OrderId = orderId;
var response1 = OtherWaiMaiUtils.EleMeOrder(request1);
if (response1 != null && response1.Item1)
{
//组装本地数据
OrderObject orderObject = OtherWaiMaiApi.getOrderLocalEleme(response1.Item3.Data);
LOGGER.Info("饿了么组装本地订单");
lock (Global.Instance.SyncLock)
{
using (var db = Global.Instance.OpenDataBase)
{
using (var trans = db.GetTransaction())
{
//遍历获取成本价
foreach (OrderItem item in orderObject.Items)
{
ProductSpec productSpec = Global.ProductSpec._productSpecList.Find(x => x.Id.Equals(item.SpecId));
if (productSpec != null)
{
item.CostPrice = productSpec.CostPrice;
}
else
{
item.CostPrice = 0.00M;
}
}
//整单
db.Insert<OrderObject>(orderObject);
//单品明细
db.InsertBatch<OrderItem>(orderObject.Items);
if (orderObject.Items != null)
{
//单品优惠
foreach (var promotion in orderObject.Items)
{
if (promotion.Promotions != null && promotion.Promotions.Count > 0)
{
db.InsertBatch<PromotionItem>(promotion.Promotions);
}
}
}
//添加支付汇总的必填字段
foreach (PayItem payItem in orderObject.Pays)
{
var payMode = OrderUtils.GetPayMode(payItem.No);
if (payMode == null)
{
payItem.IncomeFlag = 1;
payItem.OtherRateType = 0;
payItem.OtherRateValue = 0.00M;
}
else
{
payItem.IncomeFlag = payMode.IncomeFlag;
payItem.OtherRateType = payMode.OtherRateType;
payItem.OtherRateValue = payMode.OtherRateValue;
}
}
//支付明细
db.InsertBatch<PayItem>(orderObject.Pays);
//做法明细
foreach (var flavor in orderObject.Items)
{
if (flavor.Flavors.Count > 0)
{
db.InsertBatch<FlavorItem>(flavor.Flavors);
}
}
//8、保存耗料信息
List<OrderProductBurden> orderBurdenList = new List<OrderProductBurden>();
//第一步组装耗料数量
foreach (var item in orderObject.Items)
{
//第一步先看看商品是否是管理库存的直销品
var lists = Global.Product._productList;
var selectProduct = new List<ProductExt>();
selectProduct = lists.FindAll(x => x.Id.Equals(item.ProductId));
if (selectProduct != null && selectProduct.Count > 0)
{
ProductExt productExt = selectProduct[0];
if (productExt.StockFlag == 1)
{
OrderProductBurden orderProductBurden = new OrderProductBurden();
orderProductBurden.OrderId = orderObject.Id;
orderProductBurden.TenantId = orderObject.TenantId;
orderProductBurden.TradeNo = orderObject.TradeNo;
orderProductBurden.BurdenProductId = item.ProductId;
orderProductBurden.BurdenSpecId = item.SpecId;
orderProductBurden.SalesUnitId = item.ProductUnitId;
orderProductBurden.SalesAmount = item.Quantity - item.RefundQuantity;
orderBurdenList.Add(orderProductBurden);
}
}
//第二步获取门店耗料
StringBuilder sqlBuf = new StringBuilder();
sqlBuf.Append("select burdenProductId,burdenSpecId,salesUnitId,salesAmount from pos_product_burden where productId='{0}' and specId='{1}'");
string productBurdenSql = string.Format(sqlBuf.ToString(), item.ProductId, item.SpecId);
List<ProductBurden> productBurdenList = db.Query<ProductBurden>(productBurdenSql).ToList();
if (productBurdenList != null && productBurdenList.Count > 0)
{
foreach (ProductBurden productBurden in productBurdenList)
{
OrderProductBurden orderProductBurden = new OrderProductBurden();
orderProductBurden.OrderId = orderObject.Id;
orderProductBurden.TenantId = orderObject.TenantId;
orderProductBurden.TradeNo = orderObject.TradeNo;
orderProductBurden.BurdenProductId = productBurden.BurdenProductId;
orderProductBurden.BurdenSpecId = productBurden.BurdenSpecId;
orderProductBurden.SalesUnitId = productBurden.SalesUnitId;
orderProductBurden.SalesAmount = productBurden.SalesAmount * (item.Quantity - item.RefundQuantity);
orderBurdenList.Add(orderProductBurden);
}
}
//做法耗料
foreach (var flavorItem in item.Flavors)
{
StringBuilder sqlBuf1 = new StringBuilder();
sqlBuf1.Append("select burdenProductId,burdenSpecId,salesUnitId,salesAmount from pos_make_burden where makeId='{0}'");
string makeBurdenSql = string.Format(sqlBuf1.ToString(), flavorItem.MakeId);
List<MakeBurden> makeBurdenList = db.Query<MakeBurden>(makeBurdenSql).ToList();
if (makeBurdenList != null && makeBurdenList.Count > 0)
{
foreach (MakeBurden makeBurden in makeBurdenList)
{
OrderProductBurden orderProductBurden = new OrderProductBurden();
orderProductBurden.OrderId = orderObject.Id;
orderProductBurden.TenantId = orderObject.TenantId;
orderProductBurden.TradeNo = orderObject.TradeNo;
orderProductBurden.BurdenProductId = makeBurden.BurdenProductId;
orderProductBurden.BurdenSpecId = makeBurden.BurdenSpecId;
orderProductBurden.SalesUnitId = makeBurden.SalesUnitId;
orderProductBurden.SalesAmount = makeBurden.SalesAmount * (flavorItem.Quantity - flavorItem.RefundQuantity);
orderBurdenList.Add(orderProductBurden);
}
}
}
}
//第二部合并耗料数量
if (orderBurdenList != null && orderBurdenList.Count > 0)
{
List<OrderProductBurden> temList = orderBurdenList.OrderBy(x => x.BurdenSpecId).ToList();
Dictionary<string, Object> typeMap = new Dictionary<string, Object>();
string burdenProductId_temp = "";
string burdenSpecId_temp = "";
string salesUnitId_temp = "";
int i = 0;
List<Dictionary<string, Object>> result = new List<Dictionary<string, Object>>();
decimal salesAmount = 0.00M;
int listLength = temList.Count;
foreach (OrderProductBurden orderProductBurden in temList)
{
string burdenSpecId = orderProductBurden.BurdenSpecId;
if (!burdenSpecId_temp.Equals(burdenSpecId))
{
if (i != 0)
{
typeMap.Add("orderId", orderProductBurden.OrderId);
typeMap.Add("tenantId", orderProductBurden.TenantId);
typeMap.Add("tradeNo", orderProductBurden.TradeNo);
typeMap.Add("burdenProductId", burdenProductId_temp);
typeMap.Add("burdenSpecId", burdenSpecId_temp);
typeMap.Add("salesUnitId", salesUnitId_temp);
typeMap.Add("salesAmount", salesAmount);
result.Add(typeMap);
//分类改变时,清除缓存
typeMap = new Dictionary<string, Object>();
}
salesAmount = 0.00M;
burdenProductId_temp = orderProductBurden.BurdenProductId;
burdenSpecId_temp = orderProductBurden.BurdenSpecId;
salesUnitId_temp = orderProductBurden.SalesUnitId;
}
salesAmount = salesAmount + orderProductBurden.SalesAmount;
i = i + 1;
if (i == listLength)
{
typeMap.Add("orderId", orderProductBurden.OrderId);
typeMap.Add("tenantId", orderProductBurden.TenantId);
typeMap.Add("tradeNo", orderProductBurden.TradeNo);
typeMap.Add("burdenProductId", burdenProductId_temp);
typeMap.Add("burdenSpecId", burdenSpecId_temp);
typeMap.Add("salesUnitId", salesUnitId_temp);
typeMap.Add("salesAmount", salesAmount);
result.Add(typeMap);
//分类改变时,清除缓存
typeMap = new Dictionary<string, Object>();
}
}
List<OrderProductBurden> list = new List<OrderProductBurden>();
foreach (Dictionary<string, Object> map in result)
{
OrderProductBurden entity = new OrderProductBurden();
entity.Id = IdWorkerUtils.Instance.NextId();
entity.StoreId = orderObject.StoreId;
entity.OrderId = StringUtils.GetString(map["orderId"]);
entity.TenantId = StringUtils.GetString(map["tenantId"]);
entity.TradeNo = StringUtils.GetString(map["tradeNo"]);
entity.BurdenProductId = StringUtils.GetString(map["burdenProductId"]);
entity.BurdenSpecId = StringUtils.GetString(map["burdenSpecId"]);
entity.SalesUnitId = StringUtils.GetString(map["salesUnitId"]);
entity.SalesAmount = StringUtils.GetDecimal(map["salesAmount"]);
list.Add(entity);
}
db.InsertBatch<OrderProductBurden>(list);
}
//更新是否有订单需要上传的状态
LOGGER.Info("有需要上传的营业数据,isHaveUpLoadTicket = true");
Global.isHaveUpLoadTicket = true;
Global.isHaveBurdenTicket = true;
LOGGER.Info("有需要同步到服务中心的订单,isHaveCenterTicket = true");
Global.isHaveCenterTicket = true;
trans.Complete();
}
}
Thread.Sleep(100);
}
LOGGER.Info("饿了么存储本地订单");
}
this.ShowToastNotify(this, "补单成功");
}
catch (Exception ex)
{
LOGGER.Error(ex, "饿了么补单异常");
this.ShowToastNotify(this, "饿了么补单异常");
}
}
else {
this.ShowToastNotify(this, "本地订单已存在不需要补单");
}
isBudanFlag = false;
}
/// <summary>
/// 订单拒绝退单
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Item_OnRefundReject(object sender, EleMeOrderEventArgs e)
{
var button = sender as ButtonX;
try
{
button.Enabled = false;
string orderId = e.OrderId;
EleMeOrderRefundDisagreeRequest request = new EleMeOrderRefundDisagreeRequest();
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request.OrderId = orderId;
request.Reason = "您点的餐已做好";
var response = OtherWaiMaiUtils.EleMeOrderRefundDisagree(request);
if (response != null)
{
LOGGER.Info("饿了么订单拒绝退单:" + response.Item2);
this.ShowToastNotify(this, response.Item2);
if (response.Item1)
{
switch (SelectType)
{
case 0:
DoHandQuery();
break;
case 1:
DoQuery(1, pagerControl2.RowsPerPage);
break;
}
}
}
}
finally
{
button.Enabled = true;
}
}
/// <summary>
/// 订单接受退单
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Item_OnRefundAgree(object sender, EleMeOrderEventArgs e)
{
var button = sender as ButtonX;
try
{
button.Enabled = false;
string orderId = e.OrderId;
EleMeOrderRefundAgreeRequest request = new EleMeOrderRefundAgreeRequest();
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request.OrderId = orderId;
var response = OtherWaiMaiUtils.EleMeOrderRefundAgree(request);
if (response != null)
{
LOGGER.Info("饿了么订单同意退单:" + response.Item2);
this.ShowToastNotify(this, response.Item2);
if (response.Item1)
{
//退单业务处理,退单处理退本地单
this.DoRefund("5" + orderId);
switch (SelectType)
{
case 0:
DoHandQuery();
break;
case 1:
DoQuery(1, pagerControl2.RowsPerPage);
break;
}
}
}
}
finally
{
button.Enabled = true;
}
}
private Tuple<bool, string> DoRefund(string tradeNo)
{
try
{
OrderObject _OrderObject = OrderUtils.getOrderObjectByTranNo(tradeNo);
if (_OrderObject != null)
{
if (_OrderObject.OrgTradeNo != null && !"".Equals(_OrderObject.OrgTradeNo))
{
return new Tuple<bool, string>(false, "订单已完全退单");
}
//生成新单
OrderObject _BackOrderObject = ObjectUtils.Copy(_OrderObject);
string finishDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//=========更新原单内容
//录入原单号
_BackOrderObject.Id = IdWorkerUtils.Instance.NextId();
//操作员工号
_BackOrderObject.WorkerNo = Global.Instance.Worker.No;
//操作员名称
_BackOrderObject.WorkerName = Global.Instance.Worker.Name;
_BackOrderObject.SaleDate = finishDate;
//班次名称
_BackOrderObject.ShiftName = Global.Instance.BusinessPlanLog.Name;
//班次编号
_BackOrderObject.ShiftNo = Global.Instance.BusinessPlanLog.No;
//订单标识为 新建状态
_BackOrderObject.OrderStatus = OrderStatus.退;
//订单创建时间
_BackOrderObject.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//订单创建人
_BackOrderObject.CreateUser = Global.Instance.Worker.Name;
string[] day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
string weeker = day[Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))].ToString();
//星期
_BackOrderObject.Weeker = weeker;
//天气
_BackOrderObject.Weather = string.Empty;
_BackOrderObject.ObjectId = ObjectId.GenerateNewStringId();
_BackOrderObject.TradeNo = OrderUtils.Instance.GenerateTicketNo();
_BackOrderObject.FinishDate = finishDate;
_BackOrderObject.Amount = 0 - _OrderObject.Amount;
_BackOrderObject.DiscountAmount = 0 - _OrderObject.DiscountAmount;
_BackOrderObject.ReceivableAmount = 0 - _OrderObject.ReceivableAmount;
_BackOrderObject.PaidAmount = 0 - _OrderObject.PaidAmount;
_BackOrderObject.ReceivedAmount = 0 - _OrderObject.ReceivedAmount;
_BackOrderObject.MalingAmount = 0 - _OrderObject.MalingAmount;
_BackOrderObject.ChangeAmount = 0 - _OrderObject.ChangeAmount;
_BackOrderObject.InvoicedAmount = 0 - _OrderObject.InvoicedAmount;
_BackOrderObject.SyncStatus = 0;
_BackOrderObject.PrintStatus = 0;
_BackOrderObject.AddPoint = 0 - _OrderObject.AddPoint;
_BackOrderObject.UploadStatus = 0;
_BackOrderObject.UploadMessage = "";
_BackOrderObject.TicketId = "";
_BackOrderObject.OrgTradeNo = _OrderObject.TradeNo;
//整单优惠
foreach (PromotionOrder promotion in _BackOrderObject.Promotions)
{
promotion.Id = IdWorkerUtils.Instance.NextId();
promotion.OrderId = _BackOrderObject.Id;
promotion.TradeNo = _BackOrderObject.TradeNo;
promotion.Amount = 0 - promotion.Amount;
promotion.DiscountAmount = 0 - promotion.DiscountAmount;
promotion.ReceivableAmount = 0 - promotion.ReceivableAmount;
promotion.FinishDate = finishDate;
}
//====== 更新明细内容
foreach (OrderItem item in _BackOrderObject.Items)
{
item.Id = IdWorkerUtils.Instance.NextId();
item.OrderId = _BackOrderObject.Id;
item.TradeNo = _BackOrderObject.TradeNo;
//单品优惠
foreach (PromotionItem promotion in item.Promotions)
{
promotion.Id = IdWorkerUtils.Instance.NextId();
promotion.OrderId = _BackOrderObject.Id;
promotion.ItemId = item.Id;
promotion.TradeNo = _BackOrderObject.TradeNo;
promotion.Amount = 0 - promotion.Amount;
promotion.DiscountAmount = 0 - promotion.DiscountAmount;
promotion.ReceivableAmount = 0 - promotion.ReceivableAmount;
promotion.FinishDate = finishDate;
}
//做法信息
foreach (FlavorItem flavor in item.Flavors)
{
flavor.Id = IdWorkerUtils.Instance.NextId();
flavor.OrderId = _BackOrderObject.Id;
flavor.ItemId = item.Id;
flavor.TradeNo = _BackOrderObject.TradeNo;
flavor.RefundQuantity = flavor.Quantity;
flavor.Amount = 0 - flavor.Amount;
flavor.Quantity = 0;
flavor.DiscountAmount = 0 - flavor.DiscountAmount;
flavor.FinishDate = finishDate;
flavor.isBackTicket = true;
flavor.isWaiMaiTicket = true;
}
item.RefundQuantity = item.Quantity;
item.Quantity = 0;
item.Amount = 0 - item.Amount;
item.FlavorAmount = 0 - item.FlavorAmount;
item.FlavorDiscountAmount = 0 - item.FlavorDiscountAmount;
item.FlavorReceivableAmount = 0 - item.FlavorReceivableAmount;
item.TotalAmonut = 0 - item.TotalAmonut;
item.SuitAddPrice = 0 - item.SuitAddPrice;
item.SuitAmount = 0 - item.SuitAmount;
item.SaleDate = finishDate;
item.ChudaQty = 0;
item.ChupinQty = 0;
item.ChuxianQty = 0;
item.KdsChupinQty = 0;
item.FinishDate = finishDate;
}
//支付方式遍历
foreach (PayItem pay in _BackOrderObject.Pays)
{
pay.Id = IdWorkerUtils.Instance.NextId();
pay.TradeNo = _BackOrderObject.TradeNo;
pay.PayNo = OrderUtils.Instance.GeneratePayNo();
pay.OrderId = _BackOrderObject.Id;
pay.Amount = 0 - pay.Amount;
pay.PaidAmount = 0 - pay.PaidAmount;
pay.ChangeAmount = 0 - pay.ChangeAmount;
pay.PayTime = finishDate;
pay.FinishDate = finishDate;
pay.OverAmount = 0 - pay.OverAmount;
pay.ShiftName = _BackOrderObject.ShiftName;
pay.ShiftNo = _BackOrderObject.ShiftNo;
}
var isException = OrderUtils.Instance.SaveOrderObject(_BackOrderObject);
if (!isException)
{
_OrderObject.OrgTradeNo = _BackOrderObject.TradeNo;
using (var db = Global.Instance.OpenDataBase)
{
using (var trans = db.GetTransaction())
{
db.Update(_OrderObject);
trans.Complete();
}
}
//LOGGER.Info("开始打印");
//this.ShowToastNotify(this, "正在打印退款单...");
//开始打印
//_BackOrderObject.PrintType = 1;
//_BackOrderObject.RPrint = false;
//this.PrintOrderObject(_BackOrderObject, true);
return new Tuple<bool, string>(true, "退单完成");
}
else
{
return new Tuple<bool, string>(false, "退单保存失败!");
}
}
else
{
return new Tuple<bool, string>(false, "获取订单信息异常");
}
}
catch (Exception ex)
{
LOGGER.Error(ex, "退单发生异常");
return new Tuple<bool, string>(false, "退单发生异常");
}
}
/// <summary>
/// 订单取消
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Item_OnCancel(object sender, EleMeOrderEventArgs e)
{
var button = sender as ButtonX;
try
{
button.Enabled = false;
string orderId = e.OrderId;
EleMeOrderCancelRequest request = new EleMeOrderCancelRequest();
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request.OrderId = orderId;
request.Type = 5;
request.Remark = "对不起,商品已经售完";
var response = OtherWaiMaiUtils.EleMeOrderCancel(request);
if (response != null)
{
LOGGER.Info("饿了么订单取消:" + response.Item2);
this.ShowToastNotify(this, response.Item2);
if (response.Item1)
{
switch (SelectType)
{
case 0:
DoHandQuery();
break;
case 1:
DoQuery(1, pagerControl2.RowsPerPage);
break;
}
}
}
}
finally
{
button.Enabled = true;
}
}
/// <summary>
/// 订单接单
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Item_OnConfirm(object sender, EleMeOrderEventArgs e)
{
var button = sender as ButtonX;
try
{
button.Enabled = false;
string orderId = e.OrderId;
LOGGER.Info("饿了么手动接单");
OrderOnConfirm(orderId);
}
finally
{
button.Enabled = true;
}
}
public void OrderOnConfirm(string orderId) {
EleMeOrderConfirmRequest request = new EleMeOrderConfirmRequest();
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request.OrderId = orderId;
var response = OtherWaiMaiUtils.EleMeOrderConfirm(request);
if (response != null)
{
LOGGER.Info("饿了么订单接单:" + response.Item2);
this.ShowToastNotify(this, response.Item2);
if (response.Item1)
{
//接单成功打印订单
try
{
EleMeOrderRequest request1 = new EleMeOrderRequest();
string orderDate = this.dateInputPicker.Text;
request1.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request1.OrderId = orderId;
var response1 = OtherWaiMaiUtils.EleMeOrder(request1);
if (response1 != null && response1.Item1)
{
OrderObject _OrderObject = OrderUtils.getOrderObjectByTranNo("5" + orderId);
if (_OrderObject !=null) {
LOGGER.Info("饿了么订单已存在");
return;
}
//组装本地数据
OrderObject orderObject = OtherWaiMaiApi.getOrderLocalEleme(response1.Item3.Data);
LOGGER.Info("饿了么组装本地订单");
lock (Global.Instance.SyncLock)
{
using (var db = Global.Instance.OpenDataBase)
{
using (var trans = db.GetTransaction())
{
//遍历获取成本价
foreach (OrderItem item in orderObject.Items)
{
ProductSpec productSpec = Global.ProductSpec._productSpecList.Find(x => x.Id.Equals(item.SpecId) && x.ProductId.Equals(item.ProductId));
if (productSpec != null)
{
item.CostPrice = productSpec.CostPrice;
}
else
{
item.CostPrice = 0.00M;
}
}
//整单
db.Insert<OrderObject>(orderObject);
//单品明细
db.InsertBatch<OrderItem>(orderObject.Items);
if (orderObject.Items != null)
{
//单品优惠
foreach (var promotion in orderObject.Items)
{
if (promotion.Promotions != null && promotion.Promotions.Count > 0)
{
db.InsertBatch<PromotionItem>(promotion.Promotions);
}
}
}
//添加支付汇总的必填字段
foreach (PayItem payItem in orderObject.Pays)
{
var payMode = OrderUtils.GetPayMode(payItem.No);
if (payMode == null)
{
payItem.IncomeFlag = 1;
payItem.OtherRateType = 0;
payItem.OtherRateValue = 0.00M;
}
else
{
payItem.IncomeFlag = payMode.IncomeFlag;
payItem.OtherRateType = payMode.OtherRateType;
payItem.OtherRateValue = payMode.OtherRateValue;
}
}
//支付明细
db.InsertBatch<PayItem>(orderObject.Pays);
//做法明细
foreach (var flavor in orderObject.Items)
{
if (flavor.Flavors.Count > 0)
{
db.InsertBatch<FlavorItem>(flavor.Flavors);
}
}
//8、保存耗料信息
List<OrderProductBurden> orderBurdenList = new List<OrderProductBurden>();
//第一步组装耗料数量
foreach (var item in orderObject.Items)
{
//第一步先看看商品是否是管理库存的直销品
var lists = Global.Product._productList;
var selectProduct = new List<ProductExt>();
selectProduct = lists.FindAll(x => x.Id.Equals(item.ProductId));
if (selectProduct != null && selectProduct.Count > 0)
{
ProductExt productExt = selectProduct[0];
if (productExt.StockFlag == 1)
{
OrderProductBurden orderProductBurden = new OrderProductBurden();
orderProductBurden.OrderId = orderObject.Id;
orderProductBurden.TenantId = orderObject.TenantId;
orderProductBurden.TradeNo = orderObject.TradeNo;
orderProductBurden.BurdenProductId = item.ProductId;
orderProductBurden.BurdenSpecId = item.SpecId;
orderProductBurden.SalesUnitId = item.ProductUnitId;
orderProductBurden.SalesAmount = item.Quantity - item.RefundQuantity;
orderBurdenList.Add(orderProductBurden);
}
}
//第二步获取门店耗料
StringBuilder sqlBuf = new StringBuilder();
sqlBuf.Append("select burdenProductId,burdenSpecId,salesUnitId,salesAmount from pos_product_burden where productId='{0}' and specId='{1}'");
string productBurdenSql = string.Format(sqlBuf.ToString(), item.ProductId, item.SpecId);
List<ProductBurden> productBurdenList = db.Query<ProductBurden>(productBurdenSql).ToList();
if (productBurdenList != null && productBurdenList.Count > 0)
{
foreach (ProductBurden productBurden in productBurdenList)
{
OrderProductBurden orderProductBurden = new OrderProductBurden();
orderProductBurden.OrderId = orderObject.Id;
orderProductBurden.TenantId = orderObject.TenantId;
orderProductBurden.TradeNo = orderObject.TradeNo;
orderProductBurden.BurdenProductId = productBurden.BurdenProductId;
orderProductBurden.BurdenSpecId = productBurden.BurdenSpecId;
orderProductBurden.SalesUnitId = productBurden.SalesUnitId;
orderProductBurden.SalesAmount = productBurden.SalesAmount * (item.Quantity - item.RefundQuantity);
orderBurdenList.Add(orderProductBurden);
}
}
//做法耗料
foreach (var flavorItem in item.Flavors)
{
StringBuilder sqlBuf1 = new StringBuilder();
sqlBuf1.Append("select burdenProductId,burdenSpecId,salesUnitId,salesAmount from pos_make_burden where makeId='{0}'");
string makeBurdenSql = string.Format(sqlBuf1.ToString(), flavorItem.MakeId);
List<MakeBurden> makeBurdenList = db.Query<MakeBurden>(makeBurdenSql).ToList();
if (makeBurdenList != null && makeBurdenList.Count > 0)
{
foreach (MakeBurden makeBurden in makeBurdenList)
{
OrderProductBurden orderProductBurden = new OrderProductBurden();
orderProductBurden.OrderId = orderObject.Id;
orderProductBurden.TenantId = orderObject.TenantId;
orderProductBurden.TradeNo = orderObject.TradeNo;
orderProductBurden.BurdenProductId = makeBurden.BurdenProductId;
orderProductBurden.BurdenSpecId = makeBurden.BurdenSpecId;
orderProductBurden.SalesUnitId = makeBurden.SalesUnitId;
orderProductBurden.SalesAmount = makeBurden.SalesAmount * (flavorItem.Quantity - flavorItem.RefundQuantity);
orderBurdenList.Add(orderProductBurden);
}
}
}
}
//第二部合并耗料数量
if (orderBurdenList != null && orderBurdenList.Count > 0)
{
List<OrderProductBurden> temList = orderBurdenList.OrderBy(x => x.BurdenSpecId).ToList();
Dictionary<string, Object> typeMap = new Dictionary<string, Object>();
string burdenProductId_temp = "";
string burdenSpecId_temp = "";
string salesUnitId_temp = "";
int i = 0;
List<Dictionary<string, Object>> result = new List<Dictionary<string, Object>>();
decimal salesAmount = 0.00M;
int listLength = temList.Count;
foreach (OrderProductBurden orderProductBurden in temList)
{
string burdenSpecId = orderProductBurden.BurdenSpecId;
if (!burdenSpecId_temp.Equals(burdenSpecId))
{
if (i != 0)
{
typeMap.Add("orderId", orderProductBurden.OrderId);
typeMap.Add("tenantId", orderProductBurden.TenantId);
typeMap.Add("tradeNo", orderProductBurden.TradeNo);
typeMap.Add("burdenProductId", burdenProductId_temp);
typeMap.Add("burdenSpecId", burdenSpecId_temp);
typeMap.Add("salesUnitId", salesUnitId_temp);
typeMap.Add("salesAmount", salesAmount);
result.Add(typeMap);
//分类改变时,清除缓存
typeMap = new Dictionary<string, Object>();
}
salesAmount = 0.00M;
burdenProductId_temp = orderProductBurden.BurdenProductId;
burdenSpecId_temp = orderProductBurden.BurdenSpecId;
salesUnitId_temp = orderProductBurden.SalesUnitId;
}
salesAmount = salesAmount + orderProductBurden.SalesAmount;
i = i + 1;
if (i == listLength)
{
typeMap.Add("orderId", orderProductBurden.OrderId);
typeMap.Add("tenantId", orderProductBurden.TenantId);
typeMap.Add("tradeNo", orderProductBurden.TradeNo);
typeMap.Add("burdenProductId", burdenProductId_temp);
typeMap.Add("burdenSpecId", burdenSpecId_temp);
typeMap.Add("salesUnitId", salesUnitId_temp);
typeMap.Add("salesAmount", salesAmount);
result.Add(typeMap);
//分类改变时,清除缓存
typeMap = new Dictionary<string, Object>();
}
}
List<OrderProductBurden> list = new List<OrderProductBurden>();
foreach (Dictionary<string, Object> map in result)
{
OrderProductBurden entity = new OrderProductBurden();
entity.Id = IdWorkerUtils.Instance.NextId();
entity.StoreId = orderObject.StoreId;
entity.OrderId = StringUtils.GetString(map["orderId"]);
entity.TenantId = StringUtils.GetString(map["tenantId"]);
entity.TradeNo = StringUtils.GetString(map["tradeNo"]);
entity.BurdenProductId = StringUtils.GetString(map["burdenProductId"]);
entity.BurdenSpecId = StringUtils.GetString(map["burdenSpecId"]);
entity.SalesUnitId = StringUtils.GetString(map["salesUnitId"]);
entity.SalesAmount = StringUtils.GetDecimal(map["salesAmount"]);
list.Add(entity);
}
db.InsertBatch<OrderProductBurden>(list);
}
//更新是否有订单需要上传的状态
LOGGER.Info("有需要上传的营业数据,isHaveUpLoadTicket = true");
Global.isHaveUpLoadTicket = true;
Global.isHaveBurdenTicket = true;
LOGGER.Info("有需要同步到服务中心的订单,isHaveCenterTicket = true");
Global.isHaveCenterTicket = true;
trans.Complete();
}
}
Thread.Sleep(100);
}
LOGGER.Info("饿了么存储本地订单");
Task.Factory.StartNew(() =>
{
this.ShowToastNotify(this, "开始打印");
LOGGER.Info("饿了么接单打印");
//构建收银小票模版参数打印
var vars = WaiMaiHelper.BuilderEleMeVariable(response1.Item3.Data.ShopName, response1.Item3.Data, false);
Tuple<bool, string> result = WaiMaiHelper.PrinterTicket("饿了么", vars);
this.ShowToastNotify(this, string.Format("{0}", result.Item2));
//打印标签
LOGGER.Info("饿了么标签打印");
LabelPrintHelper.PrintOrderLabel(orderObject);
//执行厨打标签
ChuDaHelper.KitchenLabelPrinter(orderObject);
LOGGER.Info("饿了么执行厨打标签");
//启用外卖商品绑定厨显方案
var planKds = Global.Instance.GlobalConfigBoolValue(ConfigConstant.CONFIG_CASHIER_OTHERWAIMAI_PLANKDS, true);
//启用外卖商品绑定厨打方案
var planKit = Global.Instance.GlobalConfigBoolValue(ConfigConstant.CONFIG_CASHIER_OTHERWAIMAI_PLANKIT, true);
if (planKit)
{
//执行厨打
ChuDaHelper.KitchenPrinter(orderObject);
logger.Info("饿了么厨打成功");
//执行出品
ChuDaHelper.MadePrinter(orderObject);
logger.Info("饿了么出品成功");
}
if (planKds)
{
//通知厨显
UploadSCNewOrder.UploadNewOrder2SC4KDS(orderObject);
logger.Info("饿了么厨显成功");
}
});
}
}
catch (Exception ex)
{
LOGGER.Error(ex, "饿了么接单异常");
}
switch (SelectType)
{
case 0:
DoHandQuery();
break;
case 1:
DoQuery(1, pagerControl2.RowsPerPage);
break;
}
}
}
}
/// <summary>
/// 门店开业
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_openStore(object sender, EventArgs e)
{
EleMePoiUpdateRequest request = new EleMePoiUpdateRequest();
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request.IsOpen = 1;
var response = OtherWaiMaiUtils.EleMePoiUpdate(request);
if (response != null)
{
this.ShowToastNotify(this, response.Item2);
if (response.Item1)
{
QueryMeiTuanPoiInfo();
}
}
}
/// <summary>
/// 门店歇业
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_closeStore(object sender, EventArgs e)
{
EleMePoiUpdateRequest request = new EleMePoiUpdateRequest();
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
request.IsOpen = 0;
var response = OtherWaiMaiUtils.EleMePoiUpdate(request);
if (response != null)
{
this.ShowToastNotify(this, response.Item2);
if (response.Item1)
{
QueryMeiTuanPoiInfo();
}
}
}
/// <summary>
/// 门店门店信息
/// </summary>
private void QueryMeiTuanPoiInfo()
{
Task.Factory.StartNew(() =>
{
EleMeShopInfoRequest request = new EleMeShopInfoRequest();
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
var response = OtherWaiMaiUtils.EleMeShopInfo(request);
if (response != null && response.Item1)
{
if (this.IsDisposed || !this.IsHandleCreated) return;
this.Invoke(new Action(() =>
{
var responseMessage = response.Item3;
if (responseMessage != null && responseMessage.Data != null)
{
EleMeShopInfoResponse PoiInfo = responseMessage.Data;
this.StoreNameLabelX.Text = PoiInfo.Name;//门店名称
switch (PoiInfo.IsOpen)
{
case 0:
this.isOpenLabelX.Text = "门店休息";
break;
case 1:
this.isOpenLabelX.Text = "正在营业";
break;
default:
this.isOpenLabelX.Text = "门店休息";
break;
}
this.openTimeLabelX.Text = StringUtils.GetString(PoiInfo.ServingTime).Replace("[","").Replace("]","").Replace("\"","").Trim() ;
}
}));
}
});
}
private void btn_getHandOrder(object sender, EventArgs e)
{
var obj = sender as ButtonX;
try
{
obj.Enabled = false;
DoHandQuery();
}
finally
{
obj.Enabled = true;
}
}
/// <summary>
/// 待处理订单和历史订单查询切换
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tab_onclick(object sender, EventArgs e)
{
var obj = sender as SuperTabItem;
var name = obj.Tag as string;
switch (name)
{
case "superTabItem1"://待处理订单
SelectType = 0;
break;
case "superTabItem2"://历史订单
SelectType = 1;
break;
}
}
/// <summary>
/// 获取待处理订单
/// </summary>
private void DoHandQuery()
{
if (handleQuerying)
{
this.ShowToastNotify(this, "查询中.....");
return;
}
handleQuerying = true;
this.tableLayoutPanel1.Controls.Clear();
Task.Factory.StartNew(() =>
{
EleMeOrderHandleRequest request = new EleMeOrderHandleRequest();
string orderDate = this.dateInputPicker.Text;
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
var response = OtherWaiMaiUtils.QueryEleMeOrderHandle(request);
if (response != null && response.Item1)
{
if (this.IsDisposed || !this.IsHandleCreated) return;
this.Invoke(new Action(() =>
{
List<EleMeItem> detailList = new List<EleMeItem>();
foreach (EleMeOrderHandleResponse order in response.Item3.List)
{
var item = new EleMeItem(order);
item.OnConfirm += Item_OnConfirm;
item.OnCancel += Item_OnCancel;
item.OnRefundAgree += Item_OnRefundAgree;
item.OnRefundReject += Item_OnRefundReject;
item.OnOrderPrint += Item_OnPrint;
item.OnOrderBuDan += Item_OnBuDan;
detailList.Add(item);
}
if (this.IsDisposed || !this.IsHandleCreated) return;
if (detailList.Count > 0)
{
this.tableLayoutPanel1.Controls.AddRange(detailList.ToArray());
//滚动至顶部
this.tableLayoutPanel1.AutoScrollPosition = new Point(0, 0);
}
//更新控件
sendNewView(response.Item3.List.Count);
}));
}
handleQuerying = false;
});
}
/// <summary>
/// 是否自动接单
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cb_change_click(object sender, EventArgs e)
{
var obj = sender as CheckBoxX;
var indexT = obj.Tag as string;
int type = 0;
if ("开启".Equals(indexT) && obj.Checked)
{
ConfirmType = 1;
}
if ("关闭".Equals(indexT) && obj.Checked)
{
ConfirmType = 0;
}
var config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.DEVICE_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = ConfigConstant.ELEME_CONFIRM_PARAMETER;
config.Values = string.Format("{0}", ConfirmType);
try
{
using (var db = Global.Instance.OpenDataBase)
{
using (var trans = db.GetTransaction())
{
db.Save(config);
trans.Complete();
}
}
Global.Instance.ReloadConfig(ConfigConstant.DEVICE_GROUP);
if (ConfirmType == 1)
{
this.ShowToastNotify(this, "开启自动接单");
}
else
{
this.ShowToastNotify(this, "关闭自动接单");
}
}
catch (Exception ex)
{
string message = "美团外卖参数更新异常";
LOGGER.Error(ex, message);
}
}
//根据待处理订单的数量刷新提示
public void sendNewView(int orderCount)
{
//有百度外卖订单
MsgEvent.Send(Constant.MSGCENTER_NOTIFY, new MsgEntity()
{
Subject = Constant.MENU_TITLE_CHANGED_NOTIFY,
SubSubject = ModuleKeyCode.饿.ToString(),
Operate = MsgEntityOperate.,
Data = new Tuple<ModuleKeyCode, MenuTileNotifyType, string>(ModuleKeyCode.饿, MenuTileNotifyType., string.Format("{0}", orderCount))
});
}
private void btn_time_Click(object sender, EventArgs e)
{
var obj = sender as ButtonX;
try
{
obj.Enabled = false;
var date = obj.Tag as string;
switch (date)
{
case "today":
this.dateInputPicker.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
break;
case "yesterday":
this.dateInputPicker.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"));
break;
}
DoQuery(1, pagerControl2.RowsPerPage);
}
finally
{
obj.Enabled = true;
}
}
private void cbstatus_change_click(object sender, EventArgs e)
{
var obj = sender as CheckBoxX;
var indexT = obj.Tag as string;
if ("全部".Equals(indexT))
{
orderType = 0;
}
if ("已取消".Equals(indexT))
{
orderType = 1;
}
if ("已退单".Equals(indexT))
{
orderType = 2;
}
DoQuery(1, pagerControl2.RowsPerPage);
}
private void OnQueryPageChangeWithObject(object obj)
{
//获得当前页
int cur = pagerControl2.CurrentPage;
//获得每页显示的记录数
int rows = pagerControl2.RowsPerPage;
PagerControl pager = obj as PagerControl;
if (pager != null)
{
DoQuery(cur, rows);
}
}
private void btn_bindStore(object sender, EventArgs e)
{
try
{
EleMeStoreSaveRequest request = new EleMeStoreSaveRequest();
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
var response = OtherWaiMaiUtils.EleMeStoreSave(request);
//成功
if (response.Item1)
{
EleMeAuthorizeUrlRequest request1 = new EleMeAuthorizeUrlRequest();
request1.AppSign = "cy2";
request1.No = response.Item3.Data.No;
var response1 = OtherWaiMaiUtils.EleMeAuthorizeUrl(request1);
//成功
if (response1.Item1)
{
this.ShowToastNotify(this, response1.Item2);
//打开二维码生成界面
var form = new WaiMaiBindForm(response1.Item3.Data.Url);
form.ShowDialog();
}
else
{
this.ShowToastNotify(this, response1.Item2);
}
}
else
{
this.ShowToastNotify(this, response.Item2);
}
}
catch (Exception ex)
{
this.ShowToastNotify(this, "饿了么绑定链接生成失败!");
LOGGER.Error(ex, "饿了么绑定链接生成失败");
}
}
private void btn_unbindStore(object sender, EventArgs e)
{
try
{
EleMeStoreUnbindRequest request = new EleMeStoreUnbindRequest();
request.StoreId = Global.Instance.BusinessPlanLog.StoreId;
var response = OtherWaiMaiUtils.EleMeStoreUnbind(request);
//成功
if (response.Item1)
{
this.ShowToastNotify(this, response.Item2);
}
else
{
this.ShowToastNotify(this, response.Item2);
}
}
catch (Exception ex)
{
this.ShowToastNotify(this, "饿了么解绑失败!");
LOGGER.Error(ex, "饿了么解绑失败");
}
}
}
}