public static void ZaloMoInsert(ZaloMoInfo entity) { SqlHelper.ExecuteNonQuery(AppEnv.ConnectionStringVClip, "Zalo_Mo_Insert" , entity.User_ID , entity.Request_ID , entity.Service_ID , entity.Command_Code , entity.Message , entity.Operator ); }
public string MoProcess(string User_ID, string Service_ID, string Command_Code, string Message, string Request_ID) { Command_Code = Command_Code.ToUpper(); if (Command_Code == "ZALOAG") { Command_Code = "ZALO"; } Message = Message.ToUpper(); string responseValue = "1"; //int returnValue = 0; Message = Message.ToUpper(); string subcode = ""; if (Message.Trim().Length > Command_Code.Trim().Length) { subcode = Message.ToUpper().Substring(Command_Code.Length).Replace(" ", ""); } else { subcode = Message.Replace("CAUZALO", "").Replace("ZALO", "").Replace(" ", ""); Command_Code = Command_Code.Replace(subcode, "").Replace(" ", ""); } //return responseValue; Log.Debug(" "); Log.Debug(" "); Log.Debug("-------------------- Zalo Mo Process -------------------------"); Log.Debug("User_ID: " + User_ID); Log.Debug("Service_ID: " + Service_ID); Log.Debug("Command_Code: " + Command_Code); Log.Debug("Message: " + Message); Log.Debug("Request_ID: " + Request_ID); Log.Debug(" "); Log.Debug(" "); #region LOG SMS MO var moInfo = new ZaloMoInfo(); moInfo.User_ID = User_ID; moInfo.Request_ID = Request_ID; moInfo.Service_ID = Service_ID; moInfo.Command_Code = Command_Code; moInfo.Message = Message; moInfo.Operator = GetTelco(User_ID); ZaloController.ZaloMoInsert(moInfo); #endregion try { string reMessage; DataTable dtService = ZaloController.ZaloGetServiceInfo(subcode); if (dtService != null && dtService.Rows.Count > 0) { //int typeId = ConvertUtility.ToInt32(dtService.Rows[0]["Type_Id"]); int companyId = ConvertUtility.ToInt32(dtService.Rows[0]["CompanyId"]); string companyName = UnicodeUtility.UnicodeToKoDau(dtService.Rows[0]["Name"].ToString()); const string zaloPartner = "ZALO"; //string vmgPartner = "VMG"; DateTime nowTime = DateTime.Now; string lotTime = DateTime.Now.Year + "-" + DateTime.Now.Month; string ngay = DateTime.Now.Day + "/" + DateTime.Now.Month; if (Command_Code == "ZALO") { #region KQ XS //if (Service_ID == "8179" || Service_ID == "8279") if (Service_ID == "8279") { #region 1. Nhận kết quả xổ số mới nhất theo MIỀN if (nowTime.Hour < 12) //TRA LUON KQ NGAY HOM TRUOC { lotTime = lotTime + "-" + DateTime.Now.AddDays(-1).Day; DataTable dtCon = ZaloController.ZaloGetLotteryContent(companyId, lotTime); if (dtCon != null && dtCon.Rows.Count > 0) { #region TRA MT WELCOME reMessage = "Cam on ban da su dung dich vu KQXS cua Zalo. Ket qua xo so " + companyName + " moi nhat se duoc gui den ban tren tin nhan cua Zalo. DTHT - HOTLINE: 19001255"; SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); #endregion #region TRA KQ QUA ZALO foreach (DataRow dr in dtCon.Rows) { reMessage = ZaloController.OptimizeContent(dr["lot_content"].ToString()); #region CALL Zalo_API int reVal = ApiZaloCallForSendZms(User_ID, reMessage); //SAVE LOG AFTER CALL API SaveMtLog(User_ID, Service_ID, Command_Code, reMessage, Request_ID, zaloPartner, reVal); #endregion } #endregion } } if (nowTime.Hour > 12) { #region KIEM TRA XEM KQ HNAY DA CO CHUA lotTime = lotTime + "-" + DateTime.Now.Day; DataTable dtCon = ZaloController.ZaloGetLotteryContent(companyId, lotTime); if (dtCon != null && dtCon.Rows.Count > 0) { #region TRA MT WELCOME reMessage = "Cam on ban da su dung dich vu KQXS cua Zalo. Ket qua xo so " + companyName + " moi nhat se duoc gui den ban tren tin nhan cua Zalo. DTHT - HOTLINE: 19001255"; SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); #endregion #region CO = TRA KQ LUON foreach (DataRow dr in dtCon.Rows) { reMessage = ZaloController.OptimizeContent(dr["lot_content"].ToString()); #region CALL Zalo_API int reVal = ApiZaloCallForSendZms(User_ID, reMessage); #endregion //SAVE LOG AFTER CALL API SaveMtLog(User_ID, Service_ID, Command_Code, reMessage, Request_ID, zaloPartner, reVal); } #endregion } else { #region KHONG = DUA VAO BANG Waiting reMessage = "Ket qua xo so " + companyName + " ngay " + ngay + " se duoc he thong gui den ban ngay khi co ket qua tren tin nhan ZALO. DTHT - HOTLINE: 19001255"; //GUI MT THONGBAO He Thong Da ghi Nhan SMS SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); //DUA VAO BANG DOI SaveLotteryDay(User_ID, Request_ID, Service_ID, Command_Code, subcode, companyId); //END DUA VAO BANG DOI #endregion } #endregion } #endregion } else if (Service_ID == "8179") { #region 1. Nhận kết quả xổ số mới nhất theo TỈNH #region TRA MT WELCOME reMessage = "Cam on ban da su dung dich vu KQXS cua Zalo. Ket qua xo so " + companyName + " moi nhat se duoc gui den ban tren tin nhan cua Zalo. DTHT - HOTLINE: 19001255"; SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); #endregion lotTime = lotTime + "-" + DateTime.Now.Day; DataTable dtCon = ZaloController.ZaloGetLotteryContentToDay(companyId, lotTime);//KIEM TRA KQXS HOMNAY DA CO CHUA ? if (dtCon != null && dtCon.Rows.Count > 0) { #region TRA KQXS Ngay Hom Nay reMessage = ZaloController.OptimizeContent(dtCon.Rows[0]["lot_content"].ToString()); #region CALL Zalo_API int reVal = ApiZaloCallForSendZms(User_ID, reMessage); #endregion //SAVE LOG AFTER CALL API SaveMtLog(User_ID, Service_ID, Command_Code, reMessage, Request_ID, zaloPartner, reVal); #endregion } else { #region TRA KQXS Ngay Gan Nhat lotTime = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.AddDays(-1).Day; DataTable dtConPre = ZaloController.ZaloGetLotteryContent(companyId, lotTime); if (dtConPre != null && dtConPre.Rows.Count > 0) { reMessage = ZaloController.OptimizeContent(dtConPre.Rows[0]["lot_content"].ToString()); //SEND MT KQXS Ngay Gan Nhat cho KH SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); } #endregion #region DUA VAO BANG Waiting ==> DE TRA KQXS Ngay HOMNAY reMessage = "Ket qua xo so " + companyName + " moi nhat se duoc he thong gui den ban ngay khi co ket qua tren tin nhan ZALO. DTHT - HOTLINE: 19001255"; //GUI MT THONGBAO He Thong Da ghi Nhan SMS SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); //DUA VAO BANG DOI SaveLotteryDay(User_ID, Request_ID, Service_ID, Command_Code, subcode, companyId); //END DUA VAO BANG DOI #endregion } #endregion } else if (Service_ID == "8379") { #region 2. Nhận kết quả xổ số mới nhất theo miền #region TRA MT WELCOME reMessage = "Cam on ban da su dung dich vu KQXS cua Zalo. Ket qua xo so ban yeu cau se duoc gui den ban tren tin nhan cua Zalo. DTHT - HOTLINE: 19001255"; SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); #endregion #region KIEM TRA XEM DA CO KQXS HOMNAY CHUA lotTime = DateTime.Now.Year + "-" + DateTime.Now.Month; lotTime = lotTime + "-" + DateTime.Now.Day; DataTable dtCon = ZaloController.ZaloGetLotteryContent(companyId, lotTime); //KIEM TRA KQXS HOMNAY DA CO CHUA ? if (dtCon != null && dtCon.Rows.Count > 0) //ĐÃ CÓ KẾT QUẢ ==> TRẢ LUÔN { #region TRA KQ HOMNAY foreach (DataRow dr in dtCon.Rows) { reMessage = ZaloController.OptimizeContent(dr["lot_content"].ToString()); int reVal = ApiZaloCallForSendZms(User_ID, reMessage); //SAVE LOG AFTER CALL API SaveMtLog(User_ID, Service_ID, Command_Code, reMessage, Request_ID, zaloPartner, reVal); } #endregion } else //CHƯA CÓ KẾT QUẢ ==> TRẢ TIN THÔNG BÁO { #region TRA MT THONGBAO qua ZMS reMessage = "Kết quả xổ số mới nhất sẽ được gửi đến bạn ngay sau khi có đầy đủ các giải. Điện thoại hỗ trợ - HOTLINE: 19001255."; int reVal = ApiZaloCallForSendZmsAlert(User_ID, reMessage); //SAVE LOG AFTER CALL API SaveMtLog(User_ID, Service_ID, Command_Code, reMessage, Request_ID, zaloPartner, reVal); #endregion #region LUU VAO BANG DOI SaveLotteryDay(User_ID, Request_ID, Service_ID, Command_Code, subcode, companyId); #endregion } #endregion #endregion } else if (Service_ID == "8779") { #region 3. Đăng ký nhận kết quả xổ số nhiều ngày #region TRA MT WELCOME reMessage = "Ban da dang ky su dung dich vu Xo so " + companyName + " trong 30 ngay lien tiep cua ZALO. Chuc ban may man! DTHT - HOTLINE: 19001255"; SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); #endregion #region LUU VAO BANG DOI SaveLotteryDay(User_ID, Request_ID, Service_ID, Command_Code, subcode, companyId); #endregion #endregion } else if (Service_ID == "8579") { #region 4. Tường thuật trực tiếp kết quả xổ số #region TRA MT WELCOME reMessage = "Tuong thuat truc tiep KQXS " + companyName + " ngay " + ngay + " se duoc gui den ban tren tin nhan ZALO ngay khi co ket qua. Xin vui long doi! DTHT:19001255"; SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); #endregion #region LUU VAO BANG DOI SaveLotteryDay(User_ID, Request_ID, Service_ID, Command_Code, subcode, companyId); #endregion #endregion } #endregion } else if (Command_Code == "CAUZALO") { #region SOI CAU #region TRA MT WELCOME reMessage = "Cam on ban da su dung dich vu Cap so may man cua Zalo. Cap so may man " + companyName + " ky toi se duoc gui den ban tren tin nhan cua Zalo. DTHT - HOTLINE: 19001255"; //GUI SMS THONGBAO He Thong Da Ghi Nhan SMS Cua KH SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); #endregion #region CALL ZALO API DataTable dtCon = ZaloController.ZaloGetSoiCauContent(companyId); if (dtCon != null && dtCon.Rows.Count > 0) { foreach (DataRow dr in dtCon.Rows) { reMessage = dr["Content"].ToString(); int reVal = ApiZaloCallForSendZms(User_ID, reMessage); //SAVE LOG AFTER CALL API SaveMtLog(User_ID, Service_ID, Command_Code, reMessage, Request_ID, zaloPartner, reVal); } } #endregion #endregion } } else { reMessage = "Tin nhan sai cu phap !"; SendMt(User_ID, Service_ID, Command_Code, reMessage, Request_ID); } } catch (Exception ex) { Log.Debug(" "); Log.Debug(" "); Log.Debug("--------------- Zalo WS Process MO Error ----------------------"); Log.Debug("Zalo Exception : " + ex.Message); Log.Debug(" "); Log.Debug(" "); throw; } return(responseValue); }