From c03fc2ff3f27cbe879ce1fa367c756478c99becc Mon Sep 17 00:00:00 2001 From: shjang Date: Wed, 24 Aug 2022 07:56:17 +0000 Subject: [PATCH] =?UTF-8?q?<=EA=B8=B0=EB=8A=A5=EA=B0=9C=EC=84=A0>=201.=20P?= =?UTF-8?q?MS=20NO=20:=202.=20(=EC=A3=BC=EC=9A=94)=EC=9E=91=EC=97=85?= =?UTF-8?q?=EB=82=B4=EC=9A=A9=20:=20=ED=95=99=EC=8A=B5=EB=8F=85=EB=A0=A4?= =?UTF-8?q?=20=EC=95=8C=EB=A6=BC=ED=86=A1=20=EB=B0=9C=EC=86=A1=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=B2=98=EB=A6=AC=20=20=20=20=20Base/Controller/Ba?= =?UTF-8?q?sePartialController.cs=20=20=20=20=20BO/Controllers/AccountCont?= =?UTF-8?q?roller.cs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BO/Controllers/AccountController.cs | 11 +- Base/Controller/BasePartialController.cs | 219 +++++++++++++++++------ 2 files changed, 175 insertions(+), 55 deletions(-) diff --git a/BO/Controllers/AccountController.cs b/BO/Controllers/AccountController.cs index 3edcac0..725358e 100644 --- a/BO/Controllers/AccountController.cs +++ b/BO/Controllers/AccountController.cs @@ -319,7 +319,12 @@ namespace NP.BO.Controllers if ("nptech1234".Equals(sss)) { //시간불규칙 대비해야 함 - var lects = Dao.Get("lect.encourages", new Hashtable() { { "dtime", DateTime.Now.Minute > 30 ? (DateTime.Now.Hour + 1) : DateTime.Now.Hour }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }); + Hashtable hsData = new Hashtable(); + hsData.Add("dtime", DateTime.Now.Minute > 30 ? (DateTime.Now.Hour + 1) : DateTime.Now.Hour); + hsData.Add("uno", SUserInfo.UserNo); + hsData.Add("uip", GetUserIP()); + + var lects = Dao.Get("lect.encourages", hsData); //1~7. 온라인/혼합 출석 80% 미만, 진행평가, 최종평가, 과제, 토론, 강의평가 미참여 { foreach (var u in lects.Where(w => w.scdno < 8 && w.istalk == 1)) @@ -338,6 +343,7 @@ namespace NP.BO.Controllers u.username, u.cname, u.dday) }); } + if (m.Users.Where(w => w.isok == 1).Count() > 0) { SaveTalk(m.Users.Where(w => w.isok == 1).ToList(), "encourage001"); @@ -358,6 +364,7 @@ namespace NP.BO.Controllers u.username, u.cname, u.dday) }); } + if (m.Users.Where(w => w.isok == 1).Count() > 0) { SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList()); @@ -377,6 +384,7 @@ namespace NP.BO.Controllers } } } + //8. 오프라인 출석 { foreach (var u in lects.Where(w => w.scdno == 8 && w.istalk == 1)) @@ -411,6 +419,7 @@ namespace NP.BO.Controllers u.username, u.cname, u.stime.ToString("yyyy-MM-dd"), u.studyplace) }); } + if (m.Users.Where(w => w.isok == 1).Count() > 0) { SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList()); diff --git a/Base/Controller/BasePartialController.cs b/Base/Controller/BasePartialController.cs index eabf381..7f3bd6e 100644 --- a/Base/Controller/BasePartialController.cs +++ b/Base/Controller/BasePartialController.cs @@ -1391,33 +1391,86 @@ namespace NP.Base /// public void SaveTalk(IList Users, String tmplkey) { - Memo m = new Memo() { Users = Users ,uno = SUserInfo.UserNo,uip = GetUserIP()}; + 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) { - 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++) + //20220824 건별로 등록한다. + foreach (MemoUser talkUser in us) { + Memo mTmp = m; + mTmp.Users.Clear(); + mTmp.Users.Add(talkUser); + mTmp.mcontents = us.FirstOrDefault().mcontents; + Dao.Insert("common.sms.in", mTmp); + + //common.smsuser.in 쿼리가 array형태이기에 List변수를 선언함 + List talkUserTmp = new List(); + talkUserTmp.Add(talkUser); + talkUserTmp[0].mno = m.mno; + System.Text.StringBuilder sb = new System.Text.StringBuilder(""); var cbnum = GetConfig("mtssendnum"); var talkkey = GetConfig("mastersms"); - var ismms = System.Text.Encoding.Default.GetBytes(us[i].mcontents).Length > 90; + var ismms = System.Text.Encoding.Default.GetBytes(talkUserTmp[0].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, talkUserTmp[0].mobile.Replace(" ", "").Replace("-", ""), talkUserTmp[0].title + , talkUserTmp[0].mcontents, (ismms ? "L" : "S"), talkUserTmp[0].mcontents)); + + var strConn = GetConfig("mtsdb"); + using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn)) { - 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)); + 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", mTmp); } - var strConn = GetConfig("mtsdb"); - using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn)) - { - conn.Open(); - var cmd = new MySql.Data.MySqlClient.MySqlCommand("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), conn); - cmd.ExecuteNonQuery(); - } - Dao.Save("common.smsuser.in", m); } + + #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 발송 @@ -1432,51 +1485,109 @@ namespace NP.Base var us = m.Users.Where(w => w.isok == 1).ToList(); if (us.Count() > 0) { - 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++) + //20220824 건별 발송 + foreach (MemoUser talkUser in us) { - us[i].ismms = System.Text.Encoding.Default.GetBytes(us[i].mcontents).Length > 90; - var phn = us[i].mobile.Replace("-", ""); + Memo mTmp = m; + mTmp.Users.Clear(); + mTmp.Users.Add(talkUser); - 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)); + mTmp.uno = SUserInfo.UserNo; + mTmp.uip = GetUserIP(); + mTmp.mcontents = us.FirstOrDefault().mcontents; + Dao.Insert("common.sms.in", m); + + List talkUserTmp = new List(); + talkUserTmp.Add(talkUser); + talkUserTmp[0].mno = m.mno; + + //System.Text.StringBuilder sbm = new System.Text.StringBuilder(""); + //System.Text.StringBuilder sbs = new System.Text.StringBuilder(""); + var cbnum = GetConfig("mtssendnum"); + + 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)); + + var strConn = GetConfig("mtsdb"); + + if (talkUserTmp[0].ismms == false) + {//sms일경우 + strQuery = "insert into mts_sms_msg(tran_phone,tran_callback,tran_msg,tran_date,tran_type,tran_etc1,tran_etc2) values" + sb.ToString().Substring(1); + using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn)) + { + conn.Open(); + + var cmd = new MySql.Data.MySqlClient.MySqlCommand(strQuery, conn); + cmd.ExecuteNonQuery(); + } } 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)); + { //mms일경우 + strQuery = "insert into mts_mms_msg(tran_phone,tran_callback,tran_msg,tran_date,tran_type,tran_etc1,tran_etc2) values" + sb.ToString().Substring(1); + using (var conn = new MySql.Data.MySqlClient.MySqlConnection(strConn)) + { + conn.Open(); + var cmd = new MySql.Data.MySqlClient.MySqlCommand(strQuery, conn); + cmd.ExecuteNonQuery(); + } } - } - 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(); - } - } + + 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(Dao.Save("common.smsuser.in", m)); } + return JsonOK(0); } ///