Browse Source

✨ feat(联盟帐号管理): 点击节点可以重置公网

dodo hold 1 năm trước cách đây
mục cha
commit
78c5d5793f

+ 1 - 1
molilian.api/Controllers/admin/AliyunController.cs

@@ -101,7 +101,7 @@ namespace molilian.api.Controllers
                     decimal amout = 0;
                     try
                     {
-                        AliyunCore core = new AliyunCore(item);
+                        AliyunCore core = new AliyunCore(item.id);
                         var response = core.QueryAccountBalance();
                         var balance = response.Body.Data.AvailableAmount;
                         if (decimal.TryParse(balance, out amout))

+ 44 - 0
molilian.api/Controllers/admin/ProxyController.cs

@@ -56,5 +56,49 @@ namespace molilian.api.Controllers
         }
 
 
+        [HttpGet]
+        public async Task<ActionResult> ChangePublicIpByName(string nodeName)
+        {
+
+            var proxy_node = new DBContext.Table("proxy_nodes").Get<dynamic>("name=@nodeName", new { nodeName });
+            if (proxy_node == null) return new APIResult(new { success = false, msg = "没有匹配的 proxy_nodes 记录" });
+
+            int aliyun_id = proxy_node.aliyun_id;
+            string proxy_server = proxy_node.server;
+
+            var account = new DBContext.Table("aliyun_pool").Get<AliyunPoolDTO>(aliyun_id);
+            if (account == null) return new APIResult(new { success = false, msg = "没有匹配的 aliyun_pool 记录" });
+
+
+            var uri = new Uri(proxy_server);
+            string privateIp = uri.Host;
+            AliyunCore core = new AliyunCore(account);
+            var success = core.ChangePublicIp(privateIp);
+            return new APIResult(new { success = "ok" });
+        }
+
+        [HttpGet]
+        public async Task<ActionResult> ChangePublicIp(int id)
+        {
+            id = id >= 20000 ? id - 20000 : id;
+
+            var proxy_node = new DBContext.Table("proxy_nodes").Get<dynamic>(id);
+            if (proxy_node == null) return new APIResult(new { success = false, msg = "没有匹配的 proxy_nodes 记录" });
+
+            int aliyun_id = proxy_node.aliyun_id;
+            string proxy_server = proxy_node.server;
+
+            var account = new DBContext.Table("aliyun_pool").Get<AliyunPoolDTO>(aliyun_id);
+            if (account == null) return new APIResult(new { success = false, msg = "没有匹配的 aliyun_pool 记录" });
+
+
+
+            var uri = new Uri(proxy_server);
+            string privateIp = uri.Host;
+            AliyunCore core = new AliyunCore(account);
+            var success = core.ChangePublicIp(privateIp);
+            return new APIResult(new { success = "ok" });
+        }
+
     }
 }

+ 1 - 3
molilian.api/Controllers/public/TaskController.cs

@@ -49,8 +49,6 @@ namespace molilian.api.Controllers
             return new APIResult(new { success = true, count });
         }
 
-
-
         [HttpGet]
         public async Task<ActionResult> GetRawItemIdTask(int limit = 100)
         {
@@ -405,7 +403,7 @@ namespace molilian.api.Controllers
             try
             {
 #if DEBUG
-                await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, TkChannelEnum.pdd);
+                await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, TkChannelEnum.jd);
 #else
                 await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, TkChannelEnum.tb);
                 await AlimamaPlus.ApiCallStatisticsAsync(2, intervalDay, TkChannelEnum.tb);

+ 23 - 2
molilian.api/Controllers/public/TestController.cs

@@ -54,6 +54,27 @@ namespace molilian.api.Controllers
 
         }
 
+        [HttpGet]
+        public async Task<ActionResult> ChangePublicIpByName(string nodeName)
+        {
+
+            var proxy_node = new DBContext.Table("proxy_nodes").Get<dynamic>("nodeName=@nodeName", new { nodeName });
+            if (proxy_node == null) return new APIResult(new { success = false, msg = "没有匹配的 proxy_nodes 记录" });
+
+            int aliyun_id = proxy_node.aliyun_id;
+            string proxy_server = proxy_node.server;
+
+            var account = new DBContext.Table("aliyun_pool").Get<AliyunPoolDTO>(aliyun_id);
+            if (account == null) return new APIResult(new { success = false, msg = "没有匹配的 aliyun_pool 记录" });
+
+
+            var uri = new Uri(proxy_server);
+            string privateIp = uri.Host;
+            AliyunCore core = new AliyunCore(account);
+            var success = core.ChangePublicIp(privateIp);
+            return new APIResult(new { success = "ok" });
+        }
+
         [HttpGet]
         public async Task<ActionResult> ChangePublicIp(int id)
         {
@@ -93,11 +114,11 @@ namespace molilian.api.Controllers
 
         [HttpGet]
         //第二部 给网卡绑定很多个辅助ip
-        public async Task<ActionResult> EcsAssignPrivateIpAddresses(int id, string ecsid, int count)
+        public async Task<ActionResult> EcsAssignPrivateIpAddresses(int id, string ecsid, int count, bool isSecondary = true)
         {
             AliyunCore core = new AliyunCore(id);
             //创建弹性网卡并绑定公网IP
-            var success = core.EcsAssignPrivateIpAddresses("cn-beijing", ecsid, count);
+            var success = core.EcsAssignPrivateIpAddresses("cn-beijing", ecsid, count, !isSecondary);
             return new APIResult(new { success });
         }
 

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
molilian.api/Properties/PublishProfiles/latest.pubxml.user


+ 1 - 0
molilian.core/Core/PushDataReport/PushDataReportCore.cs

@@ -180,6 +180,7 @@ namespace molilian.core
                     var update = new DBContext.Table("push_data_report");
                     update.Add("req_count", req_count);
                     update.Add("update_time", DateTime.Now);
+                    update.Add("status", 3);
 
                     string filter = "report_date=@report_date AND platform=@platform AND type=@type AND sub_type=@sub_type";
 

+ 4 - 2
molilian.core/Core/aliyun/AliyunCore.cs

@@ -274,7 +274,8 @@ namespace molilian.core
             }
         }
 
-        public bool EcsAssignPrivateIpAddresses(string region, string instanceId, int count)
+
+        public bool EcsAssignPrivateIpAddresses(string region, string instanceId, int count, bool isPrimaryNetworkInterface = false)
         {
             try
             {
@@ -286,7 +287,8 @@ namespace molilian.core
                 var response = plus.DescribeNetworkInterfaces(region, instanceId);
                 foreach (var e in response.Body.NetworkInterfaceSets.NetworkInterfaceSet)
                 {
-                    if ("Secondary".Equals(e.Type))
+                    string type = isPrimaryNetworkInterface ? "Primary" : "Secondary";
+                    if (type.Equals(e.Type))
                     {
                         //var response2 = plus.DescribeNetworkInterfaceAttribute(region, e.NetworkInterfaceId);
                         //var PrivateIpAddressList = response2.Body.PrivateIpSets.PrivateIpSet;

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

@@ -740,6 +740,7 @@ namespace molilian.core
                     result.success = false;
                     result.message = "放弃转链";
                     result.reason = reason;
+                    result.deeplink_url = PddUnionPlus.GetDeeplink(result.rawContent);
                     _ = TkLogCore.ParseLogAsync(result);
                     return PddParseOutput(result);
                 }
@@ -749,6 +750,7 @@ namespace molilian.core
                     result.success = false;
                     result.message = "放弃转链";
                     result.reason = "没有匹配账号";
+                    result.deeplink_url = PddUnionPlus.GetDeeplink(result.rawContent);
                     _ = TkLogCore.ParseLogAsync(result);
                     return PddParseOutput(result);
                 }

+ 1 - 1
molilian.core/Plus/Alimama/parse_2.cs

@@ -82,7 +82,7 @@ namespace molilian.core
             }
             return null;
         }
-
+        
         /// <summary>
         /// 是否淘宝链接,如果是商品链接就格式化成https://item.taobao.com/item.htm?id=****
         /// </summary>

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác