Răsfoiți Sursa

cps移动到优惠券接口合并;

dodo hold 2 ani în urmă
părinte
comite
629ccee103

+ 0 - 1
molilian.api/Controllers/admin/ConfigController.cs

@@ -39,7 +39,6 @@ namespace molilian.api.Controllers
             var clientIp = _accessor.HttpContext.GetUserIp();
             var token = provider.Get(_accessor.HttpContext);
 
-
             string content = "【3瓶】恩威万蓝莓叶黄素酯软糖儿童成人上班族如酸涩肿胀可服用,<z5TYWAblvTw >:// HU7709,打開/";
             try
             {

+ 0 - 2
molilian.api/Controllers/admin/ReportController.cs

@@ -81,8 +81,6 @@ namespace molilian.api.Controllers
             var accounts = JdPoolCore.List();
             var hide_ids = accounts.Where(e => e.is_hide).Select(e => e.id).ToList();
             result.List = result.List.Where(e => e.channel != 1 || !hide_ids.Contains(e.accountId));
-
-
             return new APIResult(new { data = result });
         }
 

+ 0 - 93
molilian.api/Controllers/public/CpsController.cs

@@ -1,93 +0,0 @@
-using molilian.core;
-using dodohold.core;
-using Microsoft.AspNetCore.Mvc;
-using Org.BouncyCastle.Ocsp;
-using System.Text.Json;
-using System.Runtime.InteropServices;
-using System.Net;
-using System.Security.Cryptography;
-using Microsoft.AspNetCore.Authentication;
-using TencentCloud.Ecm.V20190719.Models;
-using COSXML.Network;
-using System.Linq;
-using static dodohold.core.ZTOExpress.CreateOrderArgs;
-using MySqlX.XDevAPI;
-
-namespace molilian.api.Controllers
-{
-    [ApiController]
-    [Route("[controller]/[action]")]
-    public class CpsController : ControllerBase
-    {
-
-        protected IHttpContextAccessor _accessor;
-        public CpsController(IHttpContextAccessor accessor)
-        {
-            _accessor = accessor;
-        }
-
-        /// <summary>
-        /// oppo调用
-        /// </summary>
-        /// <param name="s">正文</param>
-        /// <param name="c">渠道。tb/jd</param>
-        /// <param name="a">分配的客户端账号</param>
-        /// <param name="t">11位时间戳</param>
-        /// <param name="sign">签名</param>
-        /// <param name="ip">客户的IP</param>
-        /// <param name="oaid">客户的唯一ID</param>
-        /// <returns></returns>
-        [HttpPost]
-        public async Task<ActionResult> getLink([FromBody] JsonElement form, [FromQuery] string a = "", [FromQuery] int t = 0, [FromQuery] string sign = "")
-        {
-            var channel = form.Read("c", string.Empty);
-            var ip = form.Read("ip", string.Empty);
-            var oaid = form.Read("oaid", string.Empty);
-
-#if DEBUG
-#else
-
-            //验证签名
-            if (string.IsNullOrEmpty(a) || string.IsNullOrEmpty(sign))
-            {
-                return new APIResult(new { success = false, message = "验证错误" }, APIResultCodeEnum.Unauthorized);
-            }
-
-            DateTime time1 = t.Convert2Datetime();
-            if (time1 < DateTime.Now.AddMinutes(-10))
-            {
-                return new APIResult(new { success = false, message = "验证错误2" }, APIResultCodeEnum.Unauthorized);
-            }
-
-            var account = ApiAccountCore.GetOne(a);
-            if (account == null)
-            {
-                return new APIResult(new { success = false, message = "验证错误3" }, APIResultCodeEnum.Unauthorized);
-            }
-            string app_sign = $"{account.api_secret}@{t}".MD5();
-            if (sign != app_sign)
-            {
-                return new APIResult(new { success = false, message = "验证错误4" }, APIResultCodeEnum.Unauthorized);
-            }
-
-
-#endif
-            return await UnionCPSCore.GetLinkAsync(channel, ip, oaid);
-        }
-
-        [HttpPost]
-        public async Task<ActionResult> unsafeGetLink([FromBody] JsonElement form)
-        {
-            var channel = form.Read("c", string.Empty);
-            var ip = form.Read("ip", string.Empty);
-            var oaid = form.Read("oaid", string.Empty);
-#if DEBUG
-            ip = "127.0.0.1";
-            oaid = "test-oaid";
-#endif
-            return await UnionCPSCore.GetLinkAsync(channel, ip, oaid);
-        }
-
-
-    }
-}

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
molilian.api/Properties/PublishProfiles/https___ccr.ccs.tencentyun.com_shaobin.pubxml.user


+ 2 - 0
molilian.core/Core/taoke/UnionCouponCore.cs

@@ -35,6 +35,8 @@ namespace molilian.core
             return channel switch
             {
                 "jd" => await JdCouponAsync(content, dplink, ip, oaid),
+                "eleme" => await UnionCpsPlus.EleAsync(ip, oaid),
+                "meituan" => await UnionCpsPlus.MeituanAsync(ip, oaid),
                 _ => await TaobaoCouponAsync(content, dplink, ip, oaid),
             };
         }

+ 61 - 93
molilian.core/Core/Cps/UnionCPSCore.cs → molilian.core/Plus/CPS/UnionCpsPlus.cs

@@ -6,114 +6,50 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using dodohold.core;
-using Spire.Pdf.Exporting.XPS.Schema;
-using System.Xml.Linq;
-using System.Net;
-using TencentCloud.Mrs.V20200910.Models;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Authentication;
-using Spire.Pdf.Graphics;
+using Dataoke;
+using System.Text.RegularExpressions;
+using Org.BouncyCastle.Ocsp;
+using System.Diagnostics;
+using TencentCloud.Fmu.V20191213.Models;
+using Microsoft.VisualBasic;
+using System.Text.Json;
+using static System.Runtime.InteropServices.JavaScript.JSType;
+using System.Security.Cryptography;
 using Google.Protobuf.WellKnownTypes;
 using System.Threading.Channels;
-using TencentCloud.Weilingwith.V20230427.Models;
-using System.Threading;
-using static dodohold.core.ZTOExpress.CreateOrderArgs;
+using TencentCloud.Tione.V20211111.Models;
 
 
 namespace molilian.core
 {
-    public partial class UnionCPSCore
+    public partial class UnionCpsPlus
     {
-
         private static string _end_point;
-        static UnionCPSCore()
+        static UnionCpsPlus()
         {
             _end_point = Environment.GetEnvironmentVariable("EndPoint");
         }
 
-        public static async Task<ActionResult> GetLinkAsync(string channel, string ip, string oaid)
+        public static UnionCpsDTO GetFormattedObject(CpsChannelEnum channel, string ip = "", string oaid = "")
         {
-            return channel switch
+            return new()
             {
-                "eleme" => await EleAsync(ip, oaid),
-                "meituan" => await MeituanAsync(ip, oaid),
-                _ => await InvalidChannelAsync(ip, oaid),
-            };
-        }
-
-        private static async Task<APIResult> InvalidChannelAsync(string ip, string oaid)
-        {
-            UnionCpsDTO result = new()
-            {
-                channel = CpsChannelEnum.invalid,
+                channel = channel,
                 end_point = _end_point,
                 ip = ip,
                 oaid = oaid
             };
-
-            result.success = false;
-            result.message = "无效渠道";
-            _ = TkLogCore.CpsLogAsync(result);
-            return new APIResult(new
-            {
-                result.success,
-                result.message,
-                channel = result.channel.ToString(),
-            });
         }
 
-        public static bool ShouldIgnoreRequest(TkConfigDTO config, CpsChannelEnum channel, string ip, string oaid, out string reason)
-        {
-            reason = string.Empty;
-            try
-            {
-                // IP和流量控制
-                string ignorePercentageCity = config.cpsIgnorePercentageCity;
-                string? ipInfo = IP2RegionPlus.Search(ip);
-                if (AlimamaPlus.IgnoreRegionIncluded(ignorePercentageCity, ipInfo, out string regionInfo))
-                {
-                    reason = $"地区控制:{regionInfo}";
-                    return true;
-                }
 
-                int limit_num = config.cps_limit_per_ip_24h;
-                if (limit_num > 0)
-                {
-                    int num = TkLogCore.getClientRequestTotalByIp(channel, ip);
-                    if (num > limit_num)
-                    {
-                        reason = "IP控制";
-                        return true;
-                    }
-                    num = TkLogCore.getClientRequestTotalByOAID(channel, oaid);
-                    if (num > limit_num)
-                    {
-                        reason = "OAID控制";
-                        return true;
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                reason = "配置异常";
-            }
-            return false;
-        }
+        #region CPS 相关
         public static async Task<APIResult> EleAsync(string ip, string oaid)
         {
-            UnionCpsDTO result = new()
-            {
-                channel = CpsChannelEnum.eleme,
-                end_point = _end_point,
-                ip = ip,
-                oaid = oaid
-            };
-
-
+            UnionCpsDTO result = GetFormattedObject(CpsChannelEnum.eleme, ip, oaid);
             var config = TkConfigCore.Get();
 
             //============================== 放弃转链-地区过滤 ==============================
-            if (ShouldIgnoreRequest(config, result.channel, ip, oaid, out string reason))
+            if (CpsShouldIgnoreRequest(config, result.channel, ip, oaid, out string reason))
             {
                 result.success = false;
                 result.message = "流量控制";
@@ -144,19 +80,11 @@ namespace molilian.core
 
         public static async Task<APIResult> MeituanAsync(string ip, string oaid)
         {
-            UnionCpsDTO result = new()
-            {
-                channel = CpsChannelEnum.meituan,
-                end_point = _end_point,
-                ip = ip,
-                oaid = oaid
-            };
-
-
+            UnionCpsDTO result = GetFormattedObject(CpsChannelEnum.meituan, ip, oaid);
             var config = TkConfigCore.Get();
 
             //============================== 放弃转链-地区过滤 ==============================
-            if (ShouldIgnoreRequest(config, result.channel, ip, oaid, out string reason))
+            if (CpsShouldIgnoreRequest(config, result.channel, ip, oaid, out string reason))
             {
                 result.success = false;
                 result.message = "流量控制";
@@ -185,6 +113,46 @@ namespace molilian.core
             });
         }
 
-    }
+        public static bool CpsShouldIgnoreRequest(TkConfigDTO config, CpsChannelEnum channel, string ip, string oaid, out string reason)
+        {
+            reason = string.Empty;
+            try
+            {
+                // IP和流量控制
+                string ignorePercentageCity = config.cpsIgnorePercentageCity;
+                string? ipInfo = IP2RegionPlus.Search(ip);
+                if (AlimamaPlus.IgnoreRegionIncluded(ignorePercentageCity, ipInfo, out string regionInfo))
+                {
+                    reason = $"地区控制:{regionInfo}";
+                    return true;
+                }
 
+                int limit_num = config.cps_limit_per_ip_24h;
+                if (limit_num > 0)
+                {
+                    int num = TkLogCore.getClientRequestTotalByIp(channel, ip);
+                    if (num > limit_num)
+                    {
+                        reason = "IP控制";
+                        return true;
+                    }
+                    num = TkLogCore.getClientRequestTotalByOAID(channel, oaid);
+                    if (num > limit_num)
+                    {
+                        reason = "OAID控制";
+                        return true;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                reason = "配置异常";
+            }
+            return false;
+        }
+        #endregion
+
+
+
+    }
 }

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff