<기능개선>
1. PMS NO :
2. (주요)작업내용 : 학습독려 알림톡 발송 오류 처리
Base/Controller/BasePartialController.cs
BO/Controllers/AccountController.cs
This commit is contained in:
parent
1b31ac3228
commit
c03fc2ff3f
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue