From 1875b961245ae52b2c26c9419280dcc6de4fb978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=98=89=E7=A5=A5=20=E8=A9=B9?= Date: Mon, 7 Apr 2025 11:45:08 +0800 Subject: [PATCH] updates --- BackEnd/Index.aspx | 3 + BackEnd/api/clearAllData.ashx.cs | 12 +- BackEnd/api/clearLineUid.ashx | 1 + BackEnd/api/clearLineUid.ashx.cs | 122 ++++++++++++++++++ BackEnd/assets/javascript/custom/userList.js | 6 + BackEnd/ip-management.aspx | 44 ++++++- BackEnd/ip-management.aspx.cs | 4 + BackEnd/ip-management.aspx.designer.cs | 18 +++ BackEnd/userList.aspx | 2 +- Redirect/Default.aspx.cs | 3 + abbott_2024_event.csproj | 4 + bin/abbott_2024_event.dll | Bin 89600 -> 91136 bytes bin/app.publish/BackEnd/Index.aspx | 3 + bin/app.publish/BackEnd/api/clearLineUid.ashx | 1 + bin/app.publish/BackEnd/ip-management.aspx | 44 ++++++- bin/app.publish/BackEnd/userList.aspx | 2 +- bin/app.publish/bin/abbott_2024_event.dll | Bin 89600 -> 91136 bytes 17 files changed, 255 insertions(+), 14 deletions(-) create mode 100644 BackEnd/api/clearLineUid.ashx create mode 100644 BackEnd/api/clearLineUid.ashx.cs create mode 100644 bin/app.publish/BackEnd/api/clearLineUid.ashx diff --git a/BackEnd/Index.aspx b/BackEnd/Index.aspx index ac8e38d..14a6098 100644 --- a/BackEnd/Index.aspx +++ b/BackEnd/Index.aspx @@ -2,6 +2,9 @@ +file:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.designer.cs +file:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.designer.csfile:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.cs +file:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.designer.csfile:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.csfile:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx
diff --git a/BackEnd/api/clearAllData.ashx.cs b/BackEnd/api/clearAllData.ashx.cs index 57ce2cc..a29c524 100644 --- a/BackEnd/api/clearAllData.ashx.cs +++ b/BackEnd/api/clearAllData.ashx.cs @@ -98,20 +98,20 @@ namespace abbott_2024_event.BackEnd.api if (type == "all") { - conn.Execute("delete from babyRec where babyRec_createdate <= '2025/3/31 23:59:59' "); - conn.Execute("delete from babyData where babyData_createdate <= '2025/3/31 23:59:59' "); - conn.Execute("delete from lineUser where lineUser_createdate <= '2025/3/31 23:59:59' "); + conn.Execute("delete from babyRec where babyRec_createdate <= '2025/4/1 23:59:59' "); + conn.Execute("delete from babyData where babyData_createdate <= '2025/4/1 23:59:59' "); + conn.Execute("delete from lineUser where lineUser_createdate <= '2025/4/1 23:59:59' "); } if (type == "babyRec") { - conn.Execute("delete from babyRec where babyRec_createdate <= '2025/3/31 23:59:59' "); + conn.Execute("delete from babyRec where babyRec_createdate <= '2025/4/1 23:59:59' "); } if (type == "babyData") { - conn.Execute("delete from babyData where babyData_createdate <= '2025/3/31 23:59:59' "); - conn.Execute("delete from babyRec where babyRec_createdate <= '2025/3/31 23:59:59' "); + conn.Execute("delete from babyData where babyData_createdate <= '2025/4/1 23:59:59' "); + conn.Execute("delete from babyRec where babyRec_createdate <= '2025/4/1 23:59:59' "); } objRet.ret = "yes"; diff --git a/BackEnd/api/clearLineUid.ashx b/BackEnd/api/clearLineUid.ashx new file mode 100644 index 0000000..7701d92 --- /dev/null +++ b/BackEnd/api/clearLineUid.ashx @@ -0,0 +1 @@ +<%@ WebHandler Language="C#" CodeBehind="clearLineUid.ashx.cs" Class="abbott_2024_event.BackEnd.api.clearLineUid" %> diff --git a/BackEnd/api/clearLineUid.ashx.cs b/BackEnd/api/clearLineUid.ashx.cs new file mode 100644 index 0000000..d8953ab --- /dev/null +++ b/BackEnd/api/clearLineUid.ashx.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Runtime.Serialization.Json; +using System.Web.SessionState; +using Dapper; +using Dapper.Contrib.Extensions; +using System.Data.SqlClient; +using System.IO.Compression; + +namespace abbott_2024_event.BackEnd.api +{ + /// + /// clearLineUid 的摘要描述 + /// + public class clearLineUid : IHttpHandler + { + SqlConnection conn = new SqlConnection(globalClass.appsettings("DBConnectionString")); + public authToken authToken; + public void ProcessRequest(HttpContext context) + { + result objRet = new result(); + DataContractJsonSerializer json = new DataContractJsonSerializer(objRet.GetType()); + context.Response.ContentType = "application/json;charset=utf-8"; + context.Response.AddHeader("Access-Control-Allow-Origin", "*"); + + string acceptEncoding = context.Request.Headers["Accept-Encoding"].ToString().ToUpperInvariant(); + if (!String.IsNullOrEmpty(acceptEncoding)) + { + if (acceptEncoding.Contains("GZIP")) + { + //输出流头部GZIP压缩 + context.Response.AppendHeader("Content-encoding", "gzip"); + context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress); + } + else if (acceptEncoding.Contains("DEFLATE")) + { + //输出流头部DEFLATE压缩 + context.Response.AppendHeader("Content-encoding", "deflate"); + context.Response.Filter = new DeflateStream(context.Response.Filter, CompressionMode.Compress); + } + } + + authToken objAuth = new authToken(); + + if (!objAuth.user_isLogin) + { + objRet.ret = "no"; + objRet.err_code = "0001"; + objRet.message = "尚未登入,請登入後使用"; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + + string line_uid = (context.Request["line_uid"] == null) ? "" : context.Request["line_uid"].ToString(); + + if (line_uid == "") + { + objRet.ret = "no"; + objRet.err_code = "2001"; + objRet.message = "line_uid為空字串!"; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + + string myIP = globalClass.GetIPAddress(); + + if (myIP == "::1") + { + myIP = "127.0.0.1"; + } + + Boolean isAllow = false; + + if (myIP == "127.0.0.1") + { + isAllow = true; + } + + string myIP_2 = myIP.Substring(0, myIP.LastIndexOf('.')); + + if (myIP_2 == "60.251.161") + { + isAllow = true; + } + + //isAllow = false; + + if (isAllow == false) + { + objRet.ret = "no"; + objRet.err_code = "0002"; + objRet.message = "IP錯誤無法操作!"; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + + conn.Execute("delete from babyRec where line_uid = @line_uid ", new { line_uid = line_uid }); + conn.Execute("delete from babyData where line_uid = @line_uid ", new { line_uid = line_uid }); + conn.Execute("delete from lineUser where line_uid = @line_uid ", new { line_uid = line_uid }); + + objRet.ret = "yes"; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + + public class result + { + public string ret = "no"; + public string err_code = "0000"; + public string message = ""; + } + public bool IsReusable + { + get + { + return false; + } + } + } +} \ No newline at end of file diff --git a/BackEnd/assets/javascript/custom/userList.js b/BackEnd/assets/javascript/custom/userList.js index f16f750..ad08016 100644 --- a/BackEnd/assets/javascript/custom/userList.js +++ b/BackEnd/assets/javascript/custom/userList.js @@ -5,6 +5,12 @@ var oPos; $(document).ready(function () { var actualDate = new Date(); // convert to actual date var prevDate = new Date(actualDate.getFullYear(), actualDate.getMonth() - 6, actualDate.getDate()); + var startDate = new Date("2025/4/1"); + + if (prevDate < startDate) { + prevDate = startDate; + } + var startTxt = prevDate.getFullYear().toString() + "/" + padding(prevDate.getMonth() + 1, 2) + "/01"; var endTxt = actualDate.getFullYear().toString() + "/" + padding(actualDate.getMonth() + 1, 2) + "/" + padding(actualDate.getDate(), 2); diff --git a/BackEnd/ip-management.aspx b/BackEnd/ip-management.aspx index 112971b..f107a43 100644 --- a/BackEnd/ip-management.aspx +++ b/BackEnd/ip-management.aspx @@ -28,6 +28,36 @@ } }); + $("#ctl00_ContentPlaceHolder1_clearLine").click(function () { + + var line_uid = $("#ctl00_ContentPlaceHolder1_line_uid").val(); + + if (confirm("確定要刪除此Line Uid的所有資料?")) { + if (confirm("再次確定要刪除?")) { + var formData = { + line_uid: line_uid + } + + $.ajax({ + url: "api/clearLineUid.ashx", + type: "POST", + data: formData, + success: function (data, textStatus, jqXHR) { + if (data.ret == "yes") { + alert("刪除完成!"); + + } else { + alert(data.message); + } + }, + error: function (jqXHR, textStatus, errorThrown) { + alert('網路或伺服器發生錯誤或!'); + } + }); + } + + } + }); $("#ctl00_ContentPlaceHolder1_clearAll").click(function () { if (confirm("確定要刪除2025/3/31(含)以前的所有資料?")) { @@ -197,16 +227,24 @@

- +

- +

- +
+
+
+
+ +
  + +
+ diff --git a/BackEnd/ip-management.aspx.cs b/BackEnd/ip-management.aspx.cs index 853b8d4..177a531 100644 --- a/BackEnd/ip-management.aspx.cs +++ b/BackEnd/ip-management.aspx.cs @@ -39,11 +39,15 @@ namespace abbott_2024_event.BackEnd clearAll.Visible = true; clearData.Visible = true; clearRec.Visible = true; + clearLine.Visible = true; + line_uid.Visible = true; } else { clearAll.Visible = false; clearData.Visible = false; clearRec.Visible = false; + clearLine.Visible = false; + line_uid.Visible = false; } } } diff --git a/BackEnd/ip-management.aspx.designer.cs b/BackEnd/ip-management.aspx.designer.cs index 92d5481..2f9a739 100644 --- a/BackEnd/ip-management.aspx.designer.cs +++ b/BackEnd/ip-management.aspx.designer.cs @@ -40,5 +40,23 @@ namespace abbott_2024_event.BackEnd /// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。 /// protected global::System.Web.UI.HtmlControls.HtmlButton clearRec; + + /// + /// line_uid 控制項。 + /// + /// + /// 自動產生的欄位。 + /// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。 + /// + protected global::System.Web.UI.HtmlControls.HtmlInputText line_uid; + + /// + /// clearLine 控制項。 + /// + /// + /// 自動產生的欄位。 + /// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。 + /// + protected global::System.Web.UI.HtmlControls.HtmlButton clearLine; } } diff --git a/BackEnd/userList.aspx b/BackEnd/userList.aspx index 791abdb..28b4832 100644 --- a/BackEnd/userList.aspx +++ b/BackEnd/userList.aspx @@ -200,5 +200,5 @@
- + diff --git a/Redirect/Default.aspx.cs b/Redirect/Default.aspx.cs index 3e8a96a..60586bf 100644 --- a/Redirect/Default.aspx.cs +++ b/Redirect/Default.aspx.cs @@ -35,6 +35,9 @@ namespace abbott_2024_event.Redirect if (utm_medium == "prod") { redirectUrl = "https://www.abbott-nutrition.com.tw/pediasure/2024_event/Redirect/?utm_source=" + utm_source + "&utm_medium=do_" + utm_medium + "&uid=" + uid + "&phone=" + phone + "&username=" + username; + //redirectUrl = "https://liff.line.me/1560329335-jrEGzkNM?traceId=168&utm_source=" + utm_source + "&utm_medium=do_" + utm_medium + "&uid=" + uid + "&phone=" + phone + "&username=" + username; + + Response.Redirect(redirectUrl); } diff --git a/abbott_2024_event.csproj b/abbott_2024_event.csproj index 10c93f3..32f399a 100644 --- a/abbott_2024_event.csproj +++ b/abbott_2024_event.csproj @@ -26452,6 +26452,7 @@ + @@ -26475,6 +26476,9 @@ clearAllData.ashx + + clearLineUid.ashx + exportBabyRec.ashx diff --git a/bin/abbott_2024_event.dll b/bin/abbott_2024_event.dll index 5a872207f04ed65480ce03c2449e51db7b85c79d..4807824da70f5824ef877befbb52052f6746c57f 100644 GIT binary patch delta 31687 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 I(!s9(2iixU_y7O^ diff --git a/bin/app.publish/BackEnd/Index.aspx b/bin/app.publish/BackEnd/Index.aspx index ac8e38d..14a6098 100644 --- a/bin/app.publish/BackEnd/Index.aspx +++ b/bin/app.publish/BackEnd/Index.aspx @@ -2,6 +2,9 @@ +file:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.designer.cs +file:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.designer.csfile:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.cs +file:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.designer.csfile:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx.csfile:///c:\users\dk96pccu\source\repos\abbott_2024_event\backend\Index.aspx
diff --git a/bin/app.publish/BackEnd/api/clearLineUid.ashx b/bin/app.publish/BackEnd/api/clearLineUid.ashx new file mode 100644 index 0000000..7701d92 --- /dev/null +++ b/bin/app.publish/BackEnd/api/clearLineUid.ashx @@ -0,0 +1 @@ +<%@ WebHandler Language="C#" CodeBehind="clearLineUid.ashx.cs" Class="abbott_2024_event.BackEnd.api.clearLineUid" %> diff --git a/bin/app.publish/BackEnd/ip-management.aspx b/bin/app.publish/BackEnd/ip-management.aspx index 112971b..f107a43 100644 --- a/bin/app.publish/BackEnd/ip-management.aspx +++ b/bin/app.publish/BackEnd/ip-management.aspx @@ -28,6 +28,36 @@ } }); + $("#ctl00_ContentPlaceHolder1_clearLine").click(function () { + + var line_uid = $("#ctl00_ContentPlaceHolder1_line_uid").val(); + + if (confirm("確定要刪除此Line Uid的所有資料?")) { + if (confirm("再次確定要刪除?")) { + var formData = { + line_uid: line_uid + } + + $.ajax({ + url: "api/clearLineUid.ashx", + type: "POST", + data: formData, + success: function (data, textStatus, jqXHR) { + if (data.ret == "yes") { + alert("刪除完成!"); + + } else { + alert(data.message); + } + }, + error: function (jqXHR, textStatus, errorThrown) { + alert('網路或伺服器發生錯誤或!'); + } + }); + } + + } + }); $("#ctl00_ContentPlaceHolder1_clearAll").click(function () { if (confirm("確定要刪除2025/3/31(含)以前的所有資料?")) { @@ -197,16 +227,24 @@

- +

- +

- +
+
+
+
+ +
  + +
+ diff --git a/bin/app.publish/BackEnd/userList.aspx b/bin/app.publish/BackEnd/userList.aspx index 791abdb..28b4832 100644 --- a/bin/app.publish/BackEnd/userList.aspx +++ b/bin/app.publish/BackEnd/userList.aspx @@ -200,5 +200,5 @@
- + diff --git a/bin/app.publish/bin/abbott_2024_event.dll b/bin/app.publish/bin/abbott_2024_event.dll index 5a872207f04ed65480ce03c2449e51db7b85c79d..4807824da70f5824ef877befbb52052f6746c57f 100644 GIT binary patch delta 31687 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 I(!s9(2iixU_y7O^