coupon.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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, string clickId, UnionCouponDTO result, CancellationToken cancellationToken = default)
  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 = GetDefaultStyleDeeplink(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. return result;
  68. }
  69. }
  70. }