From e380cb5fd8046084ba2d09a4b38aeefba62fa358 Mon Sep 17 00:00:00 2001 From: Janie <109517022+Janie06@users.noreply.github.com> Date: Fri, 3 Mar 2023 14:58:39 +0800 Subject: [PATCH] =?UTF-8?q?[WHAT]=20=E8=A8=82=E5=96=AE=E7=9B=B8=E9=97=9C?= =?UTF-8?q?=20-=20=E4=B8=8A=E5=82=B3=E6=B0=B4=E5=96=AEAPI=20[WHY]=20?= =?UTF-8?q?=E9=96=8B=E7=99=BC=20ShowEasy=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 上傳水單完成後。調整付款狀態欄位為"已付款待確認"、付款時間欄位 --- .../ShowEasy/BookingOnlineService.cs | 165 ++++++++++++++++-- .../Controllers/BookingOnlineController.cs | 21 +++ 2 files changed, 175 insertions(+), 11 deletions(-) diff --git a/EuroTran/EasyBL.WEBAPP/ShowEasy/BookingOnlineService.cs b/EuroTran/EasyBL.WEBAPP/ShowEasy/BookingOnlineService.cs index 53c32c1..bdc8e37 100644 --- a/EuroTran/EasyBL.WEBAPP/ShowEasy/BookingOnlineService.cs +++ b/EuroTran/EasyBL.WEBAPP/ShowEasy/BookingOnlineService.cs @@ -16,6 +16,7 @@ using System.IO; using System.Linq; using System.Net; using System.Net.Http; +using System.Text; using System.Web; namespace EasyBL.WEBAPP.SYS @@ -160,7 +161,6 @@ namespace EasyBL.WEBAPP.SYS #region Upload 上傳匯款單 - public HttpResponseMessage UploadRemittance(string OrgID, string Account, string BookingID) { SuccessResponseMessage srm = null; @@ -183,16 +183,26 @@ namespace EasyBL.WEBAPP.SYS string requestUrl = Common.ConfigGetValue("", "ida:RedirectUri"); - var sUser = db.Queryable() - .Where(x => x.BookingID == BookingID) + var sName = db.Queryable() //取會員資料 + .Where(x => x.Account == Account) .Single(); - var sBookingStatus = db.Updateable() - .UpdateColumns(x => new SETB_SAL_BookingOnline { BookingStatus = "02" }) + var sUploadTime = db.Updateable() //更新付款時間 + 付款狀態 + .UpdateColumns(x => new SETB_SAL_Payment { PaymentDate = DateTime.Now }) + .UpdateColumns(x => new SETB_SAL_Payment { PaymentStatus = "02" }) .Where(x => x.BookingID == BookingID) .ExecuteCommand(); - var sFilePath = db.Queryable() + //var sBookingStatus = db.Updateable() //更新訂單狀態 + // .UpdateColumns(x => new SETB_SAL_BookingOnline { BookingStatus = "02" }) + // .Where(x => x.BookingID == BookingID) + // .ExecuteCommand(); + + var sUser = db.Queryable() //取付款資料 + .Where(x => x.BookingID == BookingID) + .Single(); + + var sFilePath = db.Queryable() //從file表中取圖 .Where(x => x.ParentID == sUser.Remittance) .Single(); @@ -215,7 +225,7 @@ namespace EasyBL.WEBAPP.SYS toEmail.Add(oEmailTo); oEmail.FromUserName = "訂單匯款通知"; //取fonfig oEmail.Title = "訂單匯款通知"; //取fonfig - oEmail.EmailBody = "請您在系統中確認訂單付款狀態,訂單編號為:" + sbookingID.BookingNo; + oEmail.EmailBody = CheckPaymentStatus(sName.FirstName, sName.LastName, sbookingID.BookingNo, sbookingID.TotalPrice, sUser.PaymentDate); oEmail.IsCCSelf = false; oEmail.Attachments = null; oEmail.EmailTo = toEmail; @@ -237,9 +247,142 @@ namespace EasyBL.WEBAPP.SYS } return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm)); } + #endregion Upload 上傳匯款單 - #endregion Upload 上傳匯款單 + #region Redirect to Backend + public HttpResponseMessage RedirectToBackend(string BookingNo) + { + //string sMsg = null; + SuccessResponseMessage srm = SugarBase.ExecTran(db => + { + do + { + + var sUser = db.Queryable() //取付款資料 + .Where(x => x.BookingNo == BookingNo) + .Single(); + + + srm = new SuccessResponseMessage(null, null); + srm.DATA.Add("authtoken", sUser); + + } while (false); + + return srm; + }); + + return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm)); + } + #endregion Redirect to Backend + + //Booking Processing Mail Template + private string CheckPaymentStatus(string FirstName, string LastName, string BookingNo, string Amount, DateTime? date) + { + + StringBuilder sb = new StringBuilder(); + + EmailTemplate_CH mailTemplate = new EmailTemplate_CH(); + var Server = Common.ConfigGetValue("", "ida:RedirectUri"); + + sb.Append(mailTemplate.MailHeader()); + sb.Append(mailTemplate.MailCSS()); + sb.Append(mailTemplate.MailShowEasyLogo()); + //Email Body + sb.Append(""); + sb.Append(""); + sb.Append(""); + sb.Append(""); + sb.Append(""); + sb.Append(""); + sb.Append("
"); + sb.Append(" "); + //Text:您好,Janie, + sb.Append(""); + sb.Append(""); + sb.Append(""); + //Text:我們已經成功收到你的付款! + sb.Append(""); + sb.Append(""); + sb.Append(""); + //訂單編號 + sb.Append(""); + sb.Append(""); + //客戶名稱 + sb.Append(""); + sb.Append(""); + //訂單金額 + sb.Append(""); + sb.Append(""); + //上傳日期 + sb.Append(""); + sb.Append(""); + sb.Append(""); + sb.Append(""); + //查看訂單按鈕 + sb.Append(""); + sb.Append(""); + sb.Append(""); + //如果按鈕無法點擊 (連結記得改成要打的API) + sb.Append(""); + sb.Append(""); + sb.Append(""); + sb.Append("
"); + sb.Append("

"); + sb.Append("你好,Showeasy內部人員,"); + sb.Append("

"); + sb.Append("
"); + sb.Append("

"); + sb.Append("您的客戶已上傳匯款證明單,請至後台確認。"); + sb.Append("

"); + sb.Append("
"); + sb.Append("

"); + sb.Append("訂單編號: " + BookingNo); + sb.Append("

"); + sb.Append("
"); + sb.Append("

"); + sb.Append("客戶名稱: " + FirstName + " " + LastName); + sb.Append("

"); + sb.Append("
"); + sb.Append("

"); + sb.Append("訂單金額: " + Amount); + sb.Append("

"); + sb.Append("
"); + sb.Append("

"); + sb.Append("上傳日期: " + date); + sb.Append("

"); + sb.Append("
"); + sb.Append(""); + sb.Append(""); + sb.Append(""); + sb.Append(""); + sb.Append("
"); + sb.Append(""); + //sb.Append(""); + sb.Append("查看訂單"); + sb.Append(""); + sb.Append("
"); + sb.Append("
"); + sb.Append("

"); + sb.Append("如果按鈕無法點擊,你可以直接點擊"); + sb.Append(""); + sb.Append("這裡"); + sb.Append(""); + sb.Append("

"); + sb.Append("
"); + sb.Append("
"); + sb.Append(""); + sb.Append(""); + //sb.Append(mailTemplate.MailButtom()); + sb.Append(mailTemplate.MailFooter()); + + return sb.ToString(); + + } #region 取消訂單 @@ -330,7 +473,7 @@ namespace EasyBL.WEBAPP.SYS } - #endregion Upload 上傳匯款單 + #endregion My Booking Card //public static BookingDTO EntityToDTO(View_SAL_BookingOnline BookingOnline) //{ @@ -382,7 +525,7 @@ namespace EasyBL.WEBAPP.SYS // } - + // rsBooking.OnSiteService = Service; @@ -442,7 +585,7 @@ namespace EasyBL.WEBAPP.SYS // var rsSupplierDic = sm_qry.FindAllByIDsAsDictionary(sLanguageID); // FileMaintain_QryService fm_qry = new FileMaintain_QryService(); - + // foreach (var BookingOnline in BookingOnlineDic.Values) { diff --git a/EuroTran/WebApp/Controllers/BookingOnlineController.cs b/EuroTran/WebApp/Controllers/BookingOnlineController.cs index 5e4e052..89a26a7 100644 --- a/EuroTran/WebApp/Controllers/BookingOnlineController.cs +++ b/EuroTran/WebApp/Controllers/BookingOnlineController.cs @@ -90,6 +90,27 @@ namespace WebApp.Controllers return new BookingOnlineService().UploadRemittance(SEToken.OrgID, SEToken.Account, BookingID); } + /// + /// 導向後台 + /// + /// + /// + [HttpGet] + public HttpResponseMessage RedirectToBackend(string BookingNo) + { + + var result = new BookingOnlineService().RedirectToBackend(BookingNo); + var Server = Common.ConfigGetValue("", "ida:RedirectUri"); + + if (result.ReasonPhrase == "OK") + { + result = Request.CreateResponse(HttpStatusCode.Moved); + result.Headers.Location = new Uri(Server); + } + + return result; + } + /// /// 取消訂單 ///