using AlibabaSDK.Setting; using Api.MessageReceive.Service; using CommonUtil; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Operater.DTO.TopMessage; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Api.MessageReceive.Controllers { [Route(TopConstants.API_ROUTE)] public class AlibabaMsgController : ControllerBase { public async Task GetAlibabaTopMsg(string message, string _aop_signature) { try { LogUtil.Info($"message:{message}--sign:{_aop_signature}", "1688消息日志"); //验签 if (!AlibabaPlatHelper.MsgCheckSign(message, _aop_signature)) {//未通过 return Ok(false); } BaseAliMessage baseAliMessage = JSONUtil.JsonToObject(message); //不入库消息 string notRecoredMessage = "PRODUCT_PRODUCT_INVENTORY_CHANGE"; if(!notRecoredMessage.Contains(baseAliMessage.type)) {//入库 await AliMessageService.RecordMessage(baseAliMessage); } //消息处理 switch (baseAliMessage.type) { //case "PRODUCT_PFT_OFFER_QUIT"://精选货源商品下架消息 // await AliMessageService.OfferQuitHandle(baseAliMessage); // break; //case "PRODUCT_PFT_OFFER_PRICE_MODIFY"://精选货源商品价格变动消息 // await AliMessageService.OfferPriceModify(baseAliMessage); // break; //case "PRODUCT_PRODUCT_INVENTORY_CHANGE"://1688商品库存变更消息(关系用户视角) // await AliMessageService.InventoryChange(baseAliMessage); // break; //case "ORDER_BUYER_VIEW_BUYER_MAKE"://1688创建订单(买家视角) //case "ORDER_BATCH_PAY"://1688订单批量支付状态同步消息 //case "ORDER_BUYER_VIEW_ORDER_PAY"://1688交易付款(买家视角) //case "ORDER_BUYER_VIEW_ANNOUNCE_SENDGOODS"://1688订单发货(买家视角) //case "ORDER_BUYER_VIEW_ORDER_SELLER_CLOSE"://1688卖家关闭订单(买家视角) //case "ORDER_BUYER_VIEW_ORDER_PRICE_MODIFY"://1688修改订单价格(买家视角 //case "ORDER_BUYER_VIEW_ORDER_SELLER_MODIFY_ADRESS"://商家修改订单地址(买家视角) //case "LOGISTICS_MAIL_NO_CHANGE"://物流单号修改消息 //case "ORDER_BUYER_VIEW_PART_PART_SENDGOODS"://1688订单部分发货(买家视角 // await AliMessageService.TradeMessageSend(message); // break; default: await AliMessageService.TradeMessageSend(message, baseAliMessage); break; } } catch (Exception e) { LogUtil.Info($"【消息】{message}--【错误】{e.ToString()}", "1688消息处理失败"); } return Ok(true); } } }