using CommonUtil;
using CommonUtil.RabbitMQ;
using Operater.DTO.System;
using Operater.DTO.TopMessage;
using System;
using TradeInterflow.Handle;
using static CommonUtil.RabbitMQ.MQClientFullChannel;
namespace TradeInterflow
{
class Program
{
///
/// 订单互通处理工具
///
///
static void Main(string[] args)
{
if (false)
{
string sst = "{\"msg\":\"%7B%22delivery_order%22%3A%5B%5D%2C%22order_promotion%22%3A%7B%22item%22%3A%5B%7B%22promotions%22%3A%5B%7B%22promotion_type%22%3A%22timelimitedDiscount%22%2C%22promotion_title%22%3A%22%E9%99%90%E6%97%B6%E6%8A%98%E6%89%A3%22%2C%22promotion_type_name%22%3A%22%E9%99%90%E6%97%B6%E6%8A%98%E6%89%A3%22%2C%22promotion_type_id%22%3A11%2C%22discount_fee%22%3A%229.89%22%7D%5D%2C%22is_present%22%3Afalse%2C%22item_id%22%3A3015475187%2C%22sku_id%22%3A24161181568%2C%22oid%22%3A%222936465919130861649%22%7D%5D%2C%22adjust_fee%22%3A%220.00%22%2C%22item_discount_fee%22%3A%229.89%22%2C%22order%22%3A%5B%5D%7D%2C%22refund_order%22%3A%5B%5D%2C%22full_order_info%22%3A%7B%22address_info%22%3A%7B%22self_fetch_info%22%3A%22%22%2C%22delivery_address%22%3A%22%24L6%2BNEq6s5QUKFL92OeqAD8v%2FaPcWvmaQ8SBgffInTv0%3D%241%24%22%2C%22delivery_postal_code%22%3A%22%22%2C%22receiver_name%22%3A%22%24AWMg1jwMG06Hpy7FoyH8rA%3D%3D%241%24%22%2C%22delivery_province%22%3A%22%E6%B1%9F%E8%8B%8F%E7%9C%81%22%2C%22delivery_city%22%3A%22%E9%95%87%E6%B1%9F%E5%B8%82%22%2C%22address_extra%22%3A%22%7B%5C%22areaCode%5C%22%3A%5C%22321111%5C%22%2C%5C%22lon%5C%22%3A119.40711579922387%2C%5C%22lat%5C%22%3A32.195897170641395%7D%22%2C%22delivery_district%22%3A%22%E6%B6%A6%E5%B7%9E%E5%8C%BA%22%2C%22receiver_tel%22%3A%22%243H5C3vdwW2FfdNWjM%2B9jeQ%3D%3D%241%24%22%7D%2C%22remark_info%22%3A%7B%22buyer_message%22%3A%22%22%7D%2C%22pay_info%22%3A%7B%22outer_transactions%22%3A%5B%5D%2C%22deduction_real_pay%22%3A301%2C%22real_payment%22%3A%220.00%22%2C%22post_fee%22%3A%223.00%22%2C%22deduction_pay%22%3A0%2C%22deduct_value_card_pay%22%3A0%2C%22deduct_gift_card_pay%22%3A0%2C%22phase_payments%22%3A%5B%5D%2C%22total_fee%22%3A%229.90%22%2C%22payment%22%3A%223.01%22%2C%22transaction%22%3A%5B%5D%7D%2C%22buyer_info%22%3A%7B%22outer_user_id%22%3A%22oQgNU424dcYvHyJRqW53ZSbnpV1U%22%2C%22buyer_phone%22%3A%22%243H5C3vdwW2FfdNWjM%2B9jeQ%3D%3D%241%24%22%2C%22yz_open_id%22%3A%22LQ555v8C621428644950167552%22%2C%22fans_type%22%3A465354%2C%22buyer_id%22%3A701284506%2C%22fans_nickname%22%3A%22%24DqkYVPmWqh3CTC6muvNeWg%3D%3D%241%24%22%2C%22fans_id%22%3A18583823493%7D%2C%22orders%22%3A%5B%7B%22is_cross_border%22%3A%22%22%2C%22outer_item_id%22%3A%22705136426584%22%2C%22discount_price%22%3A%220.01%22%2C%22item_type%22%3A0%2C%22num%22%3A1%2C%22oid%22%3A%222936465919130861649%22%2C%22title%22%3A%22%E6%8A%96%E9%9F%B3%E7%BD%91%E7%BA%A2%E6%9C%A8%E6%B5%86%E6%A3%89%E6%B4%97%E7%A2%97%E5%B8%83%E5%8E%A8%E6%88%BF%E6%B5%B7%E7%BB%B5%E6%93%A6%E5%88%9B%E6%84%8F%E5%8D%A1%E9%80%9A%E8%8A%B1%E6%9C%B5%22%2C%22fenxiao_payment%22%3A%220.00%22%2C%22item_message%22%3A%22%22%2C%22item_no%22%3A%22705136426584%22%2C%22buyer_messages%22%3A%22%7B%7D%22%2C%22cross_border_trade_mode%22%3A%22%22%2C%22is_present%22%3Afalse%2C%22sub_order_no%22%3A%22%22%2C%22price%22%3A%229.90%22%2C%22fenxiao_price%22%3A%220.00%22%2C%22total_fee%22%3A%220.01%22%2C%22alias%22%3A%22365tdyijj25zucl%22%2C%22payment%22%3A%220.01%22%2C%22item_barcode%22%3A%22%22%2C%22outer_sku_id%22%3A%224988034085333%22%2C%22goods_url%22%3A%22https%3A%2F%2Fh5.youzan.com%2Fv2%2Fshowcase%2Fgoods%3Falias%3D365tdyijj25zucl%22%2C%22customs_code%22%3A%22%22%2C%22item_id%22%3A3015475187%2C%22sku_properties_name%22%3A%22%5B%7B%5C%22k%5C%22%3A%5C%22%E9%A2%9C%E8%89%B2%5C%22%2C%5C%22k_id%5C%22%3A1%2C%5C%22v%5C%22%3A%5C%227%E6%9C%B5%E5%B0%8F%E8%8A%B1%5C%22%2C%5C%22v_id%5C%22%3A53230436%7D%2C%7B%5C%22k%5C%22%3A%5C%22%E8%A7%84%E6%A0%BC%5C%22%2C%5C%22k_id%5C%22%3A14%2C%5C%22v%5C%22%3A%5C%22A%E5%93%818.5*8.5*1.6CM%5C%22%2C%5C%22v_id%5C%22%3A497642529%7D%5D%22%2C%22sku_id%22%3A24161181568%2C%22pic_path%22%3A%22https%3A%2F%2Fimg01.yzcdn.cn%2Fupload_files%2F2023%2F04%2F18%2FFtLN-tahKPLsurqoITlV_6257NCR.jpg%22%2C%22sku_no%22%3A%224988034085333%22%2C%22points_price%22%3A%220%22%2C%22sku_barcode%22%3A%22%22%7D%5D%2C%22source_info%22%3A%7B%22order_source_code%22%3A%22merchant_xcx%22%2C%22is_offline_order%22%3Afalse%2C%22book_key%22%3A%227300b45b-6952-4902-905d-4bfc629a7d9b%22%2C%22order_source%22%3A%22%E5%BE%AE%E4%BF%A1-%E5%95%86%E5%AE%B6%E5%B0%8F%E7%A8%8B%E5%BA%8F%22%2C%22biz_source%22%3A%22%22%2C%22source%22%3A%7B%22platform%22%3A%22other%22%2C%22wx_entrance%22%3A%22merchant_xcx%22%7D%2C%22order_mark%22%3A%22wx_shop%22%7D%2C%22order_info%22%3A%7B%22consign_time%22%3A%22%22%2C%22order_extra%22%3A%7B%22is_from_cart%22%3A%22true%22%2C%22is_points_order%22%3A%220%22%7D%2C%22created%22%3A%222023-04-22+19%3A18%3A42%22%2C%22status_str%22%3A%22%E5%BE%85%E6%94%AF%E4%BB%98%22%2C%22expired_time%22%3A%222023-04-22+20%3A18%3A42%22%2C%22success_time%22%3A%22%22%2C%22type%22%3A0%2C%22confirm_time%22%3A%22%22%2C%22tid%22%3A%22E20230422191842015406145%22%2C%22pay_time%22%3A%22%22%2C%22update_time%22%3A%222023-04-22+19%3A18%3A43%22%2C%22is_retail_order%22%3Afalse%2C%22team_type%22%3A0%2C%22pay_type%22%3A0%2C%22refund_state%22%3A0%2C%22close_type%22%3A0%2C%22order_tags%22%3A%7B%22is_member%22%3Atrue%2C%22is_secured_transactions%22%3Atrue%7D%2C%22express_type%22%3A0%2C%22status%22%3A%22WAIT_BUYER_PAY%22%7D%7D%7D\",\"kdt_name\":\"欧锦希\",\"sendCount\":\"1\",\"type\":\"trade_TradeCreate\",\"version\":\"1682162323\",\"client_id\":\"06329c132acaa015b7\",\"kdt_id\":\"119900058\",\"id\":\"E20230422191842015406145\",\"msg_id\":\"e178d2ed-7060-4569-9cae-61e0f244b80f\",\"root_kdt_id\":\"119900058\",\"status\":\"WAIT_BUYER_PAY\",\"mobile\":null,\"yz_open_id\":null}";
YzTradeHandle.HandleExecute(sst);
Console.ReadLine();
}
Console.Title = "订单/商品互通工具";
//string message = "{\"MsgType\":\"ali_trade\",\"MsgBody\":\"{\\\"bizKey\\\":\\\"3278940734474700503\\\",\\\"data\\\":{\\\"buyerMemberId\\\":\\\"b2b-22154157003054165e\\\",\\\"currentStatus\\\":\\\"refundsuccess\\\",\\\"orderId\\\":3278940734474700503,\\\"refundAction\\\":\\\"SELLER_AGREE_REFUND\\\",\\\"sellerMemberId\\\":\\\"b2b-2207442096248b0eb2\\\",\\\"msgSendTime\\\":\\\"2023-03-26 15:22:32\\\",\\\"operator\\\":\\\"seller\\\",\\\"refundId\\\":\\\"TQ210366145782700305\\\"},\\\"gmtBorn\\\":1679815352629,\\\"msgId\\\":47910004881,\\\"type\\\":\\\"ORDER_BUYER_VIEW_ORDER_BUYER_REFUND_IN_SALES\\\",\\\"userInfo\\\":\\\"b2b-22154157003054165e\\\"}\"}";
//HandleExecute(message);
MainMethod();
Console.ReadLine();
}
///
/// 消息分发处理
///
///
public static void HandleExecute(string message)
{
TradeMqMessage tradeMqMessage = JSONUtil.JsonToObject(message);
LogUtil.Info(message, "日志");
switch (tradeMqMessage.MsgType)
{
case "yz_trade"://有赞订单
YzTradeHandle.HandleExecute(tradeMqMessage.MsgBody);
break;
case "yz_butrade"://补有赞订单
YzTradeHandle.BuHandleExecute(tradeMqMessage.MsgBody);
break;
case "ali_trade"://1688订单
AliTradeHandle.HandleExecute(tradeMqMessage.MsgBody);
break;
case "ali_product"://1688商品
AliProductHandle.HandleExecute(tradeMqMessage.MsgBody);
break;
case "yz_auth_mobile"://有赞手机号授权
YzMemberHandle.AuthMobileExecute(tradeMqMessage.MsgBody);
break;
case "wxkf_msg"://微信客服消息
WxKfHandle.HandleExecute(tradeMqMessage.MsgBody);
break;
case "gzh_msg"://公众号消息
GzhHandle.HandleExecute(tradeMqMessage.MsgBody);
break;
default:
break;
}
}
#region 主方法
private static void MainMethod()
{
try
{
string mqSet = ConfigUtil.Configuration["mqset"].IsNull() ? "trade_interflow" : ConfigUtil.Configuration["mqset"].ToString();
switch(mqSet)
{
case "wxkf_message":
Console.Title = "微信客服消息";
break;
}
MQClientFullChannel mQClientFullChannel = new MQClientFullChannel(mqSet);
mQClientFullChannel.reConnectTime = 8000;
mQClientFullChannel.OnMessage += OnMessage;
mQClientFullChannel.OnConnected += OnConnected;
mQClientFullChannel.OnDisConnected += OnDisConnected;
mQClientFullChannel.Connect(0);
Console.ReadLine();
}
catch
{
}
}
public static void OnMessage(EventMessageResultCluster result)
{
HandleExecute(result.Content);
}
public static void OnConnected(MQClientParam param)
{
Console.WriteLine(JSONUtil.ObjectToJson(param) + " --> 链接成功");
}
public static void OnDisConnected(MQClientParam param)
{
Console.WriteLine(JSONUtil.ObjectToJson(param) + " --> 链接关闭");
}
#endregion
}
}