master
嘉祥 詹 2025-04-07 11:45:08 +08:00
parent 8bc11d6647
commit 1875b96124
17 changed files with 255 additions and 14 deletions

View File

@ -2,6 +2,9 @@
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content> </asp:Content>
<a href="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.cs</a>
<a href="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.cs</a>
<a href="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">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</a>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<!-- .page-inner --> <!-- .page-inner -->
<div class="page-inner"> <div class="page-inner">

View File

@ -98,20 +98,20 @@ namespace abbott_2024_event.BackEnd.api
if (type == "all") if (type == "all")
{ {
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' ");
conn.Execute("delete from babyData where babyData_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 lineUser where lineUser_createdate <= '2025/3/31 23:59:59' "); conn.Execute("delete from lineUser where lineUser_createdate <= '2025/4/1 23:59:59' ");
} }
if (type == "babyRec") 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") if (type == "babyData")
{ {
conn.Execute("delete from babyData where babyData_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/3/31 23:59:59' "); conn.Execute("delete from babyRec where babyRec_createdate <= '2025/4/1 23:59:59' ");
} }
objRet.ret = "yes"; objRet.ret = "yes";

View File

@ -0,0 +1 @@
<%@ WebHandler Language="C#" CodeBehind="clearLineUid.ashx.cs" Class="abbott_2024_event.BackEnd.api.clearLineUid" %>

View File

@ -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
{
/// <summary>
/// clearLineUid 的摘要描述
/// </summary>
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;
}
}
}
}

View File

@ -5,6 +5,12 @@ var oPos;
$(document).ready(function () { $(document).ready(function () {
var actualDate = new Date(); // convert to actual date var actualDate = new Date(); // convert to actual date
var prevDate = new Date(actualDate.getFullYear(), actualDate.getMonth() - 6, actualDate.getDate()); 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 startTxt = prevDate.getFullYear().toString() + "/" + padding(prevDate.getMonth() + 1, 2) + "/01";
var endTxt = actualDate.getFullYear().toString() + "/" + padding(actualDate.getMonth() + 1, 2) + "/" + padding(actualDate.getDate(), 2); var endTxt = actualDate.getFullYear().toString() + "/" + padding(actualDate.getMonth() + 1, 2) + "/" + padding(actualDate.getDate(), 2);

View File

@ -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 () { $("#ctl00_ContentPlaceHolder1_clearAll").click(function () {
if (confirm("確定要刪除2025/3/31(含)以前的所有資料?")) { if (confirm("確定要刪除2025/3/31(含)以前的所有資料?")) {
@ -197,16 +227,24 @@
</div> </div>
<br/> <br/>
<div class="form-row"> <div class="form-row">
<button type="button" class="btn btn-danger" id="clearAll" runat="server">清除2025/3/31以前的所有會員資料</button> <button type="button" class="btn btn-danger" id="clearAll" runat="server">清除2025/4/1(含)以前的所有會員資料</button>
</div> </div>
<br/> <br/>
<div class="form-row"> <div class="form-row">
<button type="button" class="btn btn-danger" id="clearData" runat="server">清除2025/3/31以前的寶寶資料(含紀錄)</button> <button type="button" class="btn btn-danger" id="clearData" runat="server">清除2025/4/1(含)以前的寶寶資料(含紀錄)</button>
</div> </div>
<br/> <br/>
<div class="form-row"> <div class="form-row">
<button type="button" class="btn btn-danger" id="clearRec" runat="server">清除2025/3/31以前的寶寶紀錄</button> <button type="button" class="btn btn-danger" id="clearRec" runat="server">清除2025/4/1(含)以前的寶寶紀錄</button>
</div> </div>
<br/>
<div class="form-row" style="vertical-align:middle;">
<div class="form-label-group">
<input type="text" id="line_uid" class="form-control" placeholder="Line Uid" autofocus="" runat="server"> <label for="line_uid">Line Uid</label>
</div>&nbsp;
<button type="button" class="btn btn-danger" id="clearLine" runat="server">清除此Line Uid的所有紀錄</button>
</div>
</div> </div>
</section> </section>
</div> </div>

View File

@ -39,11 +39,15 @@ namespace abbott_2024_event.BackEnd
clearAll.Visible = true; clearAll.Visible = true;
clearData.Visible = true; clearData.Visible = true;
clearRec.Visible = true; clearRec.Visible = true;
clearLine.Visible = true;
line_uid.Visible = true;
} }
else { else {
clearAll.Visible = false; clearAll.Visible = false;
clearData.Visible = false; clearData.Visible = false;
clearRec.Visible = false; clearRec.Visible = false;
clearLine.Visible = false;
line_uid.Visible = false;
} }
} }
} }

View File

@ -40,5 +40,23 @@ namespace abbott_2024_event.BackEnd
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。 /// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlButton clearRec; protected global::System.Web.UI.HtmlControls.HtmlButton clearRec;
/// <summary>
/// line_uid 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputText line_uid;
/// <summary>
/// clearLine 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlButton clearLine;
} }
} }

View File

@ -200,5 +200,5 @@
</form><!-- /.modal --> </form><!-- /.modal -->
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server"> <asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server">
<script src="assets/javascript/custom/userList.js?v=18"></script> <script src="assets/javascript/custom/userList.js?v=19"></script>
</asp:Content> </asp:Content>

View File

@ -35,6 +35,9 @@ namespace abbott_2024_event.Redirect
if (utm_medium == "prod") { 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://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); Response.Redirect(redirectUrl);
} }

View File

@ -26452,6 +26452,7 @@
<Content Include="Line\jquery\jquery.slim.min.js" /> <Content Include="Line\jquery\jquery.slim.min.js" />
<Content Include="Line\page1.html" /> <Content Include="Line\page1.html" />
<Content Include="BackEnd\api\clearAllData.ashx" /> <Content Include="BackEnd\api\clearAllData.ashx" />
<Content Include="BackEnd\api\clearLineUid.ashx" />
<None Include="Scripts\jquery-3.7.1.intellisense.js" /> <None Include="Scripts\jquery-3.7.1.intellisense.js" />
<Content Include="Redirect\Default.aspx" /> <Content Include="Redirect\Default.aspx" />
<Content Include="Scripts\jquery-3.7.1.js" /> <Content Include="Scripts\jquery-3.7.1.js" />
@ -26475,6 +26476,9 @@
<Compile Include="BackEnd\api\clearAllData.ashx.cs"> <Compile Include="BackEnd\api\clearAllData.ashx.cs">
<DependentUpon>clearAllData.ashx</DependentUpon> <DependentUpon>clearAllData.ashx</DependentUpon>
</Compile> </Compile>
<Compile Include="BackEnd\api\clearLineUid.ashx.cs">
<DependentUpon>clearLineUid.ashx</DependentUpon>
</Compile>
<Compile Include="BackEnd\api\exportBabyRec.ashx.cs"> <Compile Include="BackEnd\api\exportBabyRec.ashx.cs">
<DependentUpon>exportBabyRec.ashx</DependentUpon> <DependentUpon>exportBabyRec.ashx</DependentUpon>
</Compile> </Compile>

Binary file not shown.

View File

@ -2,6 +2,9 @@
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content> </asp:Content>
<a href="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.cs</a>
<a href="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.cs</a>
<a href="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">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</a>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<!-- .page-inner --> <!-- .page-inner -->
<div class="page-inner"> <div class="page-inner">

View File

@ -0,0 +1 @@
<%@ WebHandler Language="C#" CodeBehind="clearLineUid.ashx.cs" Class="abbott_2024_event.BackEnd.api.clearLineUid" %>

View File

@ -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 () { $("#ctl00_ContentPlaceHolder1_clearAll").click(function () {
if (confirm("確定要刪除2025/3/31(含)以前的所有資料?")) { if (confirm("確定要刪除2025/3/31(含)以前的所有資料?")) {
@ -197,16 +227,24 @@
</div> </div>
<br/> <br/>
<div class="form-row"> <div class="form-row">
<button type="button" class="btn btn-danger" id="clearAll" runat="server">清除2025/3/31以前的所有會員資料</button> <button type="button" class="btn btn-danger" id="clearAll" runat="server">清除2025/4/1(含)以前的所有會員資料</button>
</div> </div>
<br/> <br/>
<div class="form-row"> <div class="form-row">
<button type="button" class="btn btn-danger" id="clearData" runat="server">清除2025/3/31以前的寶寶資料(含紀錄)</button> <button type="button" class="btn btn-danger" id="clearData" runat="server">清除2025/4/1(含)以前的寶寶資料(含紀錄)</button>
</div> </div>
<br/> <br/>
<div class="form-row"> <div class="form-row">
<button type="button" class="btn btn-danger" id="clearRec" runat="server">清除2025/3/31以前的寶寶紀錄</button> <button type="button" class="btn btn-danger" id="clearRec" runat="server">清除2025/4/1(含)以前的寶寶紀錄</button>
</div> </div>
<br/>
<div class="form-row" style="vertical-align:middle;">
<div class="form-label-group">
<input type="text" id="line_uid" class="form-control" placeholder="Line Uid" autofocus="" runat="server"> <label for="line_uid">Line Uid</label>
</div>&nbsp;
<button type="button" class="btn btn-danger" id="clearLine" runat="server">清除此Line Uid的所有紀錄</button>
</div>
</div> </div>
</section> </section>
</div> </div>

View File

@ -200,5 +200,5 @@
</form><!-- /.modal --> </form><!-- /.modal -->
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server"> <asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server">
<script src="assets/javascript/custom/userList.js?v=18"></script> <script src="assets/javascript/custom/userList.js?v=19"></script>
</asp:Content> </asp:Content>