coupon.cs 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using Microsoft.AspNetCore.Http;
  2. using Microsoft.AspNetCore.Mvc.Controllers;
  3. using Microsoft.AspNetCore.Mvc.Filters;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using dodohold.core;
  9. using Dataoke;
  10. using System.Text.RegularExpressions;
  11. using Org.BouncyCastle.Ocsp;
  12. using System.Diagnostics;
  13. using TencentCloud.Fmu.V20191213.Models;
  14. using Microsoft.VisualBasic;
  15. using System.Text.Json;
  16. using static System.Runtime.InteropServices.JavaScript.JSType;
  17. using System.Security.Cryptography;
  18. using Google.Protobuf.WellKnownTypes;
  19. using Microsoft.Extensions.FileSystemGlobbing.Internal;
  20. namespace molilian.core
  21. {
  22. public partial class JdUnionPlus
  23. {
  24. internal static async Task<UnionCouponDTO> JdCouponAsync(JdPoolDTO account, DataokeDTO api, string content, UnionCouponDTO result)
  25. {
  26. //result.channel = data.channel;
  27. //result.success = data.success;
  28. //result.reason = data.reason;
  29. //result.message = data.message;
  30. //result.deeplink_url = data.deeplink_url;
  31. //result.couponAmount = data.couponAmount;
  32. //result.itemId = data.itemId;
  33. //result.pic = data.pic;
  34. string url = GetLink(content);
  35. string itemId = GetItemId(url);
  36. var dtkResult = DataokeCore.GetCoupon(api, account, url, itemId);
  37. if (dtkResult == null)
  38. {
  39. result.success = false;
  40. result.message = "放弃转链";
  41. result.reason = "转链失败";
  42. return result;
  43. }
  44. if (dtkResult.couponAmount == 0)
  45. {
  46. result.success = false;
  47. result.message = "放弃转链";
  48. result.reason = "没有优惠券";
  49. return result;
  50. }
  51. result.channel = TkChannelEnum.jd;
  52. result.success = true;
  53. result.message = "success";
  54. result.couponAmount = dtkResult.couponAmount;
  55. result.deeplink_url = GetDeeplink(dtkResult.couponLink);
  56. result.couponAmount = dtkResult.couponAmount;
  57. result.itemId = dtkResult.skuId.ToString();
  58. if (DateTime.TryParse(dtkResult.couponStartTime, out DateTime couponStartTime))
  59. {
  60. result.couponEffectiveStartTime = couponStartTime.Convert2UnixTimestamp(true).ToString();
  61. }
  62. if (DateTime.TryParse(dtkResult.couponEndTime, out DateTime couponEndTime))
  63. {
  64. result.couponEffectiveEndTime =couponEndTime.Convert2UnixTimestamp(true).ToString();
  65. }
  66. result.pic = dtkResult.picMain;
  67. //2202076
  68. //https://item.jd.com/2202076.html
  69. //https://coupon.m.jd.com/coupons/show.action?linkKey=AAROH_xIpeffAs_-naABEFoenWURVae-88AobuUWD3IOE8_N_oOkCsUv63B3gneyzoFQPJsQBfdvIG52TqcOEuYv1tVKLg",
  70. //result.channel = data.channel;
  71. //result.success = data.success;
  72. //result.reason = data.reason;
  73. //result.message = data.message;
  74. //result.deeplink_url = data.deeplink_url;
  75. //result.couponAmount = data.couponAmount;
  76. //result.itemId = data.itemId;
  77. //result.pic = data.pic;
  78. return result;
  79. }
  80. }
  81. }