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#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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, "饿了么解绑失败");
}
}
}
}