diff --git a/BO/Controllers/AccountController.cs b/BO/Controllers/AccountController.cs
index 2bf4b43..0fe86c6 100644
--- a/BO/Controllers/AccountController.cs
+++ b/BO/Controllers/AccountController.cs
@@ -477,6 +477,140 @@ namespace NP.BO.Controllers
}
return null;
}
+
+ ///
+ /// 윈도우스케쥴러 매일 새벽 4 시
+ /// 휴면, 탈퇴처리전 메시지
+ ///
+ ///
+ ///
+ ///
+ ///
+ public ActionResult Dormant(String sss, String time, int test = 0)
+ {
+ if (test == 1)
+ {
+ SetError("encouragetest: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+ }
+ else {
+ if ("nptech1234".Equals(sss))
+ {
+ // 조회시점 => (휴면테이블.cdt + 1년) 인 컬럼
+ if (time == "0400")
+ {
+ Dao.Save("users.dormant.del", new Hashtable() { { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
+ }
+ // 조회시점 => (최근로그인일시 + 1년) 인 컬럼 (휴먼 테이블에 저장)
+ else if (time == "0430")
+ {
+ Dao.Save("users.dormant.insert", new Hashtable() { { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
+ }
+
+ // 조회시점 = (휴면테이블.cdt + 335일)<년월일> 인 컬럼
+ else if (time == "1000")
+ {
+ var m = new Memo() { Users = new List() { } };
+
+ var select_del = Dao.Get("users.dormants.del", new Hashtable() { { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
+ foreach (var u in select_del.Where(w => w.intval == 1))
+ {
+ if (!string.IsNullOrEmpty(u.strval2))
+ {
+ /*
+ * SaveSmsMulti 함수 사용 -> 메시지 정보 sms 테이블에 저장, 모니터링 테이블 mts_sms_msg 에 저장
+ */
+ m.Users.Add(new MemoUser()
+ {
+ userno = u.longval,
+ smstype = "S",
+ isok = string.IsNullOrEmpty(u.strval2) ? -1 : 1,
+ mcontents = string.Format("[영남건설기술교육원] 장기미접속 회원ID 삭제안내\n\n " +
+ "안녕하세요 회원님, 영남건설기술교육원은 소중한 회원님의 개인정보 보호를 위해 회원이 2년간 로그인하지 않는 경우," +
+ "회원탈퇴 처리 및 개인정보가 파기됨을 안내해드립니다.\n\n" +
+ "회원계정 : {0}\n" +
+ "적용일 : {1}\n\n" +
+ "서비스를 계속 이용하시려면, 위 적용일 이전에 로그인을 진행해주세요!",
+ u.strval, u.time.ToString("yyyy년 MM월 dd일"))
+
+ });
+
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList());
+ m.Users.Clear();
+ }
+
+ /*
+ SendSms(u.strval2, null, null, string.Format("[영남건설기술교육원] 장기미접속 회원ID 삭제안내\n\n " +
+ "안녕하세요 회원님, 영남건설기술교육원은 소중한 회원님의 개인정보 보호를 위해 회원이 2년간 로그인하지 않는 경우," +
+ "회원탈퇴 처리 및 개인정보가 파기됨을 안내해드립니다.\n\n" +
+ "회원계정 : {0}\n" +
+ "적용일 : {1}\n\n" +
+ "서비스를 계속 이용하시려면, 위 적용일 이전에 로그인을 진행해주세요!",
+ u.strval, u.time.ToString("yyyy년 MM월 dd일")), null
+ );
+ */
+ }
+ }
+ }
+ // 조회시점 = (최근로그인일시 + 335일)<년월일> 인 컬럼
+ else if (time == "1030")
+ {
+ var m = new Memo() { Users = new List() { } };
+
+ var select_save = Dao.Get("users.dormants.save", new Hashtable() { { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
+
+ foreach (var u in select_save.Where(w => w.intval == 1))
+ {
+ if (!string.IsNullOrEmpty(u.strval2))
+ {
+ /*
+ * SaveSmsMulti 함수 사용 -> 메시지 정보 sms 테이블에 저장, 모니터링 테이블 mts_sms_msg 에 저장
+ */
+ m.Users.Add(new MemoUser()
+ {
+ userno = u.longval,
+ smstype = "S",
+ isok = string.IsNullOrEmpty(u.strval2) ? -1 : 1,
+ mcontents = string.Format("[영남건설기술교육원] 휴면계정 전환 예정 안내\n\n " +
+ "안녕하세요 회원님, 영남건설기술교육원은 소중한 회원님의 개인정보 보호를 위해 " +
+ "개인정보보호법 제 39조의6(개인정보의 파기에 대한 특례)에 의거하여 " +
+ "고객님의 계정을 휴면상태로 변경하고 소중한 개인정보를 안전한 공간에 분리하여 보관할 예정입니다.\n\n" +
+ "회원계정 : {0}\n" +
+ "휴면계정 전환예정일 : {1}\n\n" +
+ "서비스를 계속 이용하시려면, 위 전환예정일 이전에 로그인을 진행해주세요!",
+ u.strval, u.time.ToString("yyyy년 MM월 dd일"))
+
+ });
+
+ if (m.Users.Where(w => w.isok == 1).Count() > 0)
+ {
+ SaveSmsMulti(m.Users.Where(w => w.isok == 1).ToList());
+ m.Users.Clear();
+ }
+
+ /*
+ SendSms(u.strval2, null, null, string.Format("[영남건설기술교육원] 휴면계정 전환 예정 안내\n\n " +
+ "안녕하세요 회원님, 영남건설기술교육원은 소중한 회원님의 개인정보 보호를 위해 " +
+ "개인정보보호법 제 39조의6(개인정보의 파기에 대한 특례)에 의거하여 " +
+ "고객님의 계정을 휴면상태로 변경하고 소중한 개인정보를 안전한 공간에 분리하여 보관할 예정입니다.\n\n" +
+ "회원계정 : {0}\n" +
+ "휴면계정 전환예정일 : {1}\n\n" +
+ "서비스를 계속 이용하시려면, 위 전환예정일 이전에 로그인을 진행해주세요!",
+ u.strval, u.time.ToString("yyyy년 MM월 dd일")), null
+ );
+ */
+ }
+ }
+ }
+
+ }
+
+ }
+
+ return null;
+ }
+
public String KFCFLOGINAUTH(String userid)
{
if (string.IsNullOrEmpty(userid))
diff --git a/Base/Controller/BasePartialController.cs b/Base/Controller/BasePartialController.cs
index deb8894..f880716 100644
--- a/Base/Controller/BasePartialController.cs
+++ b/Base/Controller/BasePartialController.cs
@@ -13,6 +13,7 @@ using System.Web.Compilation;
using NP.Model;
using System.Net.Http;
using OfficeOpenXml;
+using System.Collections;
namespace NP.Base
{
@@ -1138,8 +1139,35 @@ namespace NP.Base
protected int SendSms(String SendNo, String RcvNo, String Subject, String Msg, String time, bool IsMMS = false, String mmstype = "0")
{
SendNo = string.IsNullOrEmpty(SendNo) ? "02-551-2097" : SendNo;
+
+ /* SMS 메시지 작업1 */
+ var mtype = (int?)null;
+ var CMID = "";
+
+ if (!string.IsNullOrEmpty(Msg))
+ {
+ SendNo = SendNo.Replace("-", "");
+ Msg = (Msg.Length > 1000 ? Msg.Substring(0, 1000) : Msg).Replace("\"", "'");
+ mtype = System.Text.Encoding.Default.GetBytes(Msg).Length <= 90 ? 0 : System.Text.Encoding.Default.GetBytes(Msg).Length <= 2000 ? 5 : (int?)null;
+ }
+
try
{
+ /* SMS 메시지 작업2 */
+ if(!string.IsNullOrEmpty(Msg) && mtype != null)
+ {
+ var uno = SUserInfo.UserNo;
+ var uip = GetUserIP();
+
+ // sms 테이블에 저장 to-do !!!!!!!!!!!!!!!!!
+ //Dao.Insert("common.sms.in", new Hashtable() { { } });
+
+ var title = "[영남건설기술교육원 LMS]";
+ CMID = DateTime.Now.ToString("yyMMddHHmmss0000");
+ string strConn = GetConfig("smsserver");
+ }
+
+
//return Sms.Save(IsMMS?"mms":"sms", new System.Collections.Hashtable() { {"SendNo", SendNo}, { "RcvNo", RcvNo.Replace("-", "") }, { "Subject", Subject }, { "Msg", Msg }, { "SendTime", time }, {"MType", mmstype } });
return 1;
}
@@ -1288,6 +1316,11 @@ namespace NP.Base
}
}
}
+ ///
+ /// 알림톡발송
+ ///
+ ///
+ ///
public void SaveTalk(IList Users, String tmplkey)
{
Memo m = new Memo() { Users = Users ,uno = SUserInfo.UserNo,uip = GetUserIP()};
@@ -1318,6 +1351,11 @@ namespace NP.Base
Dao.Save("common.smsuser.in", m);
}
}
+ ///
+ /// sms,mms 발송
+ ///
+ ///
+ ///
[HttpPost]
public JsonResult SaveSmsMulti(IList Users)
{
diff --git a/Dao/MyBatis/Maps/User.xml b/Dao/MyBatis/Maps/User.xml
index 64cb95a..6575e56 100644
--- a/Dao/MyBatis/Maps/User.xml
+++ b/Dao/MyBatis/Maps/User.xml
@@ -408,6 +408,23 @@
+
+ insert into userdormant(userno,username,usernameeng,email,isacceptemail,mobile
+ ,telno,userpno,bankno,post,address1,address2,birthday,cdt)
+ select a.userno,a.username,a.usernameeng,a.email,a.isacceptemail,a.mobile
+ ,a.telno,a.userpno,a.bankno,a.post,a.address1,a.address2, a.birthday, cdt
+ from users a
+ left outer join userdormant b on b.userno = a.userno
+ where date_add(a.logintime,interval 1 year) < now();
+ and a.status != 99
+
+ update users set
+ ,username='삭제됨',usernameeng=null,email=null,mobile=null,telno=null,userpno=null,bankno=null,post=null,address1=null,address2=null,birthday=null,status=8
+ where date_add(a.logintime,interval 1 year) < now();
+ and a.status != 99
+
+
+