From 04b28bcb4af6215d43ff970fbaa679a15366e1bc Mon Sep 17 00:00:00 2001 From: iyak Date: Tue, 26 Aug 2025 01:13:59 +0000 Subject: [PATCH] =?UTF-8?q?=EC=9D=BC=EA=B4=84=EC=BB=A4=EB=B0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BO/Views/user/ur.cshtml | 17 +- Base/Controller/AOCommon.cs | 2 +- Base/Controller/BasePartialController.cs | 284 ++++++++++++++--------- 3 files changed, 191 insertions(+), 112 deletions(-) diff --git a/BO/Views/user/ur.cshtml b/BO/Views/user/ur.cshtml index 6162bb8..6a2d622 100644 --- a/BO/Views/user/ur.cshtml +++ b/BO/Views/user/ur.cshtml @@ -242,17 +242,14 @@ @if (Model.User.userno > 0 && Model.viewname == "user") { - 탈퇴 + @*탈퇴*@ } else if (Model.User.userno > 0 && Model.viewname == "professor") { 삭제 } - @if (Model.viewname != "leavehistory") - { - 목록 - } + 목록 @Html.HiddenFor(m => m.intval) @Html.HiddenFor(m => m.User.userno) @@ -801,8 +798,14 @@ }, 500); } - function goLeaveHistory() { - window.location.href = '/user/LeaveHistory'; + function goLeaveHistory(pageType) { + + if (pageType == 'leavehistory') { + window.location.href = '/user/LeaveHistory'; + } + else { + golist(); + } } diff --git a/Base/Controller/AOCommon.cs b/Base/Controller/AOCommon.cs index 87d81d7..5f60633 100644 --- a/Base/Controller/AOCommon.cs +++ b/Base/Controller/AOCommon.cs @@ -171,7 +171,7 @@ namespace NP.Base.Controllers // @custom@ : 로컬&nptech 자동로그인처리 - List passIds = new List() { "cepik1", "cepik2", "cepik3", "jity7777" }; + List passIds = new List() { "cepik1", "cepik2", "cepik3" }; if (passIds.Contains(loginid)) { return JsonBack(new { code = 2 }); diff --git a/Base/Controller/BasePartialController.cs b/Base/Controller/BasePartialController.cs index f4f9065..3e87d51 100644 --- a/Base/Controller/BasePartialController.cs +++ b/Base/Controller/BasePartialController.cs @@ -1,22 +1,22 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -using System.Web.Mvc; -using System.Security.Principal; -using System.Security.Cryptography; -using System.IO; -using System.Web.Mail; -using System.Web.Compilation; +using MySql.Data.MySqlClient; using NP.Model; -using System.Net.Http; using OfficeOpenXml; +using System; using System.Collections; -using System.Net.Mail; +using System.Collections.Generic; +using System.IO; +using System.Linq; using System.Net; +using System.Net.Http; +using System.Net.Mail; +using System.Security.Cryptography; +using System.Security.Principal; +using System.Text; using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Web.Compilation; +using System.Web.Mail; +using System.Web.Mvc; namespace NP.Base { @@ -1485,13 +1485,90 @@ namespace NP.Base /// /// /// + //public void SaveTalk(IList Users, string tmplkey) + //{ + // var usersToSend = Users?.Where(w => w.isok == 1).ToList(); + + // if (usersToSend == null || !usersToSend.Any()) + // { + // return; + // } + + // var cbnum = GetConfig("mtssendnum"); + // var talkkey = GetConfig("mastersms"); + // var strConn = GetConfig("mtsdb"); + + // using (var conn = new MySqlConnection(strConn)) + // { + // conn.Open(); + + // try + // { + // foreach (var user in usersToSend) + // { + // string messageContent = user.mcontents; + // string title = user.title; + + // var userMemo = new Memo + // { + // Users = new List { user }, + // uno = SUserInfo.UserNo, + // uip = GetUserIP(), + // mcontents = messageContent + // }; + // Dao.Insert("common.sms.in", userMemo); + + // const string query = @" + // INSERT INTO mts_atalk_msg ( + // tran_sender_key, tran_tmpl_cd, tran_callback, tran_phone, + // tran_subject, tran_msg, tran_date, tran_type, tran_status, + // tran_replace_type, tran_replace_msg + // ) VALUES ( + // @sender_key, @tmpl_cd, @callback, @phone, + // @subject, @msg, NOW(), 5, '1', + // @replace_type, @replace_msg + // );"; + + // using (var cmd = new MySqlCommand(query, conn)) + // { + // bool ismms = Encoding.Default.GetBytes(messageContent).Length > 90; + + // cmd.Parameters.AddWithValue("@sender_key", talkkey); + // cmd.Parameters.AddWithValue("@tmpl_cd", tmplkey); + // cmd.Parameters.AddWithValue("@callback", cbnum); + // cmd.Parameters.AddWithValue("@phone", user.mobile.Replace(" ", "").Replace("-", "")); + // cmd.Parameters.AddWithValue("@subject", title); + // cmd.Parameters.AddWithValue("@msg", messageContent); + // cmd.Parameters.AddWithValue("@replace_type", ismms ? "L" : "S"); + // cmd.Parameters.AddWithValue("@replace_msg", messageContent); + + // cmd.ExecuteNonQuery(); + // } + + // // 사용자별 발송 기록 저장 + // user.mno = userMemo.mno; + // var finalUserMemo = new Memo + // { + // mno = userMemo.mno, + // Users = new List { user } + // }; + // Dao.Save("common.smsuser.in", finalUserMemo); + // } + // } + // catch (Exception ex) + // { + // throw; + // } + // } + //} + public void SaveTalk(IList Users, String tmplkey) { Memo m = new Memo(); /*{ Users = Users ,uno = SUserInfo.UserNo,uip = GetUserIP()};*/ m.Users = Users; m.uno = SUserInfo.UserNo; m.uip = GetUserIP(); - + var us = m.Users.Where(w => w.isok == 1).ToList(); if (us.Count() > 0) @@ -1532,52 +1609,97 @@ namespace NP.Base Dao.Save("common.smsuser.in", mTmp); } } - - #region 20220824 구버전 - //if (us.Count() > 0) - //{ - // m.mcontents = us.FirstOrDefault().mcontents; - // Dao.Insert("common.sms.in", m); - - // System.Text.StringBuilder sb = new System.Text.StringBuilder(""); - // for (var i = 0; i < us.Count(); i++) - // { - // var cbnum = GetConfig("mtssendnum"); - // var talkkey = GetConfig("mastersms"); - // var ismms = System.Text.Encoding.Default.GetBytes(us[i].mcontents).Length > 90; - - // for (var j = 0; j < us.Count(); j++) - // { - // sb.Append(string.Format(",('{0}','{1}','{2}','{3}','{4}','{5}',now(),5,'1','{6}','{7}')" - // , talkkey, tmplkey, cbnum, us[i].mobile.Replace(" ", "").Replace("-", ""), us[i].title - // , us[i].mcontents, (ismms ? "L" : "S"), us[i].mcontents)); - // } - // } - // var strConn = GetConfig("mtsdb"); - // using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn)) - // { - // conn.Open(); - // string strQeury = "insert into mts_atalk_msg" + - // " (tran_sender_key,tran_tmpl_cd,tran_callback,tran_phone,tran_subject,tran_msg,tran_date,tran_type,tran_status,tran_replace_type,tran_replace_msg)" + - // " values " + - // sb.ToString().Substring(1); - // var cmd = new MySql.Data.MySqlClient.MySqlCommand(strQeury, conn); - // cmd.ExecuteNonQuery(); - // } - // Dao.Save("common.smsuser.in", m); - //} - #endregion } + + /// /// sms,mms 발송 /// /// /// + //[HttpPost] + //public JsonResult SaveSmsMulti(IList Users) + //{ + // var usersToSend = Users?.Where(u => u.isok == 1).ToList(); + + // if (usersToSend == null || !usersToSend.Any()) + // { + // return JsonOK(0); + // } + + // var cbnum = GetConfig("mtssendnum"); + // var strConn = GetConfig("mtsdb"); + // string commonMessageContent = usersToSend.First().mcontents; + + // using (var conn = new MySqlConnection(strConn)) + // { + // try + // { + // conn.Open(); + + // var mainMemo = new Memo + // { + // Users = usersToSend, + // uno = SUserInfo.UserNo, + // uip = GetUserIP(), + // mcontents = commonMessageContent + // }; + + // Dao.Insert("common.sms.in", mainMemo); + + // // 필터링된 사용자 목록을 순회하며 DB에 INSERT + // foreach (var user in usersToSend) + // { + // bool ismms = Encoding.Default.GetBytes(commonMessageContent).Length > 90; + // string tableName = ismms ? "mts_mms_msg" : "mts_sms_msg"; + // int tranType = ismms ? 4 : 0; + // string phoneNumber = user.mobile.Replace("-", ""); + + // // SQL 인젝션을 원천 차단하는 파라미터 방식 쿼리 + // string query = $@" + // INSERT INTO {tableName} ( + // tran_phone, tran_callback, tran_msg, tran_date, + // tran_type, tran_etc1, tran_etc2 + // ) VALUES ( + // @phone, @callback, @msg, NOW(), + // @type, @etc1, @etc2 + // );"; + + // using (var cmd = new MySqlCommand(query, conn)) + // { + // cmd.Parameters.AddWithValue("@phone", phoneNumber); + // cmd.Parameters.AddWithValue("@callback", cbnum); + // cmd.Parameters.AddWithValue("@msg", commonMessageContent); + // cmd.Parameters.AddWithValue("@type", tranType); + // cmd.Parameters.AddWithValue("@etc1", mainMemo.mno); + // cmd.Parameters.AddWithValue("@etc2", user.userno); + + // cmd.ExecuteNonQuery(); + // } + + // var userMemo = new Memo + // { + // mno = mainMemo.mno, + // Users = new List { user } + // }; + + // Dao.Save("common.smsuser.in", userMemo); + // } + // } + // catch (Exception ex) + // { + // throw; + // } + // } + + // return JsonOK(0); + //} + [HttpPost] public JsonResult SaveSmsMulti(IList Users) { - Memo m = new Memo() {Users = Users }; - + Memo m = new Memo() { Users = Users }; + var us = m.Users.Where(w => w.isok == 1).ToList(); if (us.Count() > 0) { @@ -1601,7 +1723,7 @@ namespace NP.Base talkUserTmp[0].ismms = System.Text.Encoding.Default.GetBytes(talkUserTmp[0].mcontents).Length > 90; var phn = talkUserTmp[0].mobile.Replace("-", ""); - + string strQuery = ""; StringBuilder sb = new StringBuilder(); sb.Append(string.Format(",('{0}','{1}','{2}', now(),{5},'{3}','{4}')", phn, cbnum, talkUserTmp[0].mcontents, m.mno, talkUserTmp[0].userno, talkUserTmp[0].ismms ? 4 : 0)); @@ -1614,7 +1736,7 @@ namespace NP.Base using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn)) { conn.Open(); - + var cmd = new MySql.Data.MySqlClient.MySqlCommand(strQuery, conn); cmd.ExecuteNonQuery(); } @@ -1629,62 +1751,16 @@ namespace NP.Base cmd.ExecuteNonQuery(); } } - + Dao.Save("common.smsuser.in", mTmp); - } - - #region 20220824 건별발송 변경전 - //m.uno = SUserInfo.UserNo; - //m.uip = GetUserIP(); - //m.mcontents = us.FirstOrDefault().mcontents; - //Dao.Insert("common.sms.in", m); - //System.Text.StringBuilder sbm = new System.Text.StringBuilder(""); - //System.Text.StringBuilder sbs = new System.Text.StringBuilder(""); - //var cbnum = GetConfig("mtssendnum"); - //for (var i = 0; i < us.Count(); i++) - //{ - // us[i].ismms = System.Text.Encoding.Default.GetBytes(us[i].mcontents).Length > 90; - // var phn = us[i].mobile.Replace("-", ""); - - // if (us[i].ismms) - // { - // sbm.Append(string.Format(",('{0}','{1}','{2}', now(),{5},'{3}','{4}')", phn, cbnum, us[i].mcontents, m.mno, us[i].userno, us[i].ismms ? 4 : 0)); - // } - // else - // { - // sbs.Append(string.Format(",('{0}','{1}','{2}', now(),{5},'{3}','{4}')", phn, cbnum, us[i].mcontents, m.mno, us[i].userno, us[i].ismms ? 4 : 0)); - // } - //} - - //var strConn = GetConfig("mtsdb"); - ////sms일경우 - //if(us.Where(w=>!w.ismms).Count()> 0) - //{ - // using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn)) - // { - // conn.Open(); - // var cmd = new MySql.Data.MySqlClient.MySqlCommand("insert into mts_sms_msg(tran_phone,tran_callback,tran_msg,tran_date,tran_type,tran_etc1,tran_etc2) values" + sbs.ToString().Substring(1), conn); - // cmd.ExecuteNonQuery(); - // } - //} - ////mms일경우 - //if(us.Where(w=>w.ismms).Count() > 0) - //{ - // using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn)) - // { - // conn.Open(); - // var cmd = new MySql.Data.MySqlClient.MySqlCommand("insert into mts_mms_msg(tran_phone,tran_callback,tran_msg,tran_date,tran_type,tran_etc1,tran_etc2) values" + sbm.ToString().Substring(1), conn); - // cmd.ExecuteNonQuery(); - // } - //} - //return JsonOK(Dao.Save("common.smsuser.in", m)); - #endregion - + } } return JsonOK(0); } + + /// /// ///