<기능개선>

1. PMS NO :
2. (주요)작업내용 : 학습독려 알림톡 발송 오류 처리
    Base/Controller/BasePartialController.cs
    BO/Controllers/AccountController.cs
This commit is contained in:
shjang 2022-08-24 07:56:17 +00:00
parent 1b31ac3228
commit c03fc2ff3f
2 changed files with 175 additions and 55 deletions

View File

@ -319,7 +319,12 @@ namespace NP.BO.Controllers
if ("nptech1234".Equals(sss))
{
//시간불규칙 대비해야 함
var lects = Dao.Get<SCDLect>("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<SCDLect>("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());

View File

@ -1391,33 +1391,86 @@ namespace NP.Base
/// <param name="tmplkey"></param>
public void SaveTalk(IList<NP.Model.MemoUser> 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<MemoUser> talkUserTmp = new List<MemoUser>();
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
}
/// <summary>
/// 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<MemoUser> talkUserTmp = new List<MemoUser>();
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));
}
}
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();
{ //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();
}
}
Dao.Save("common.smsuser.in", mTmp);
}
return JsonOK(Dao.Save("common.smsuser.in", m));
#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);
}
/// <summary>