Files
29WxOrder/29WxOrderWpf/Services/ShipGiftService.cs
T

88 lines
2.1 KiB
C#

using AllBase;
using AllBase.Helper;
using CefSharp.DevTools.FedCm;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using Work._29Tools.BLL;
namespace _29WxOrderWpf.Services;
/// <summary>
/// 礼物单服务
///
/// </summary>
public class ShipGiftService
{
public enum GiftType
{
_155 = 2,
_160 = 5
}
public async Task<bool> Send(string orderId, GiftType giftType)
{
var item = GlobalConfig.lstFilterOrder.FirstOrDefault(a => a.order_id == orderId);
if (item == null) return false;
decimal giftAmount = 1.6m;
if (giftType == GiftType._155)
{
giftAmount = 1.55m;
}
decimal amount = giftAmount + BaseClass.OemGiftAmount;
string province = item.province_name;
string city = item.city_name;
if (city == "深圳市")
{
amount += 0.60m;
}
else if (city == "北京市")
{
amount += 1.00m;
}
else if (city == "上海市")
{
amount += 0.60m;
}
else if (province.Contains("新疆") || province.Contains("西藏"))
{
amount += 12.15m;
}
string data = JsonConvert.SerializeObject(new
{
platformCode = "WEISHOP",
orderIds = new List<string> { orderId },
userId = BaseClass.UserId,
userName = BaseClass.UserName,
giftOrderType = (int)giftType,
amount = (int)(amount * 100),
oemAmount = (int)(BaseClass.OemGiftAmount * 100)
});
Debug.WriteLine($"礼品单:{data}");
string ret = await HttpResponseWXBLL.e57PostResponseAsync("https://po.e57.cn//prod-api/api/oms-api/gift/order/deliveryFor29Erp", data, "");
XmlDocument doc = new XmlDocument();
doc.LoadXml(ret);
//使用 Newtonsoft.Json 进行转换
string jsonText = JsonConvert.SerializeXmlNode(doc);
JObject jsonObject = JObject.Parse(jsonText);
int code = jsonObject["AjaxResult"]?["code"]?.Value<int>() ?? 0;
string msg = jsonObject["AjaxResult"]?["msg"]?.Value<string>() ?? "";
if (code == 200 && msg.ToUpper() == "SUCCESS")
{
return true;
}
return false;
}
}