1. 수강생 리스트 (p4)
- 탈퇴처리시 생년월일/ip정보도 같이삭제 휴면테이블에 있는 데이터컬럼 삭제처리 ‘탈퇴회원’ → ‘삭제됨’ 으로 변경 - Like검색 삭제 - 휴면처리시 탈퇴처리와 동일한 방식으로 데이터관리(이름은 ‘삭제됨’ 으로 변경하며 나머지 데이터는 삭제) 비밀번호데이터 유지 단, 변경/삭제되는 데이터는 별도테이블에 분리보관 2. 수강생 상세페이지 휴면, 정상 상태 변경 (p6) - 휴면 테이블 userdormant 개발 및 운영에 추가 # 커밋 파일 Base\Controller\ACommonUser.cs BO\Views\user\ur.cshtml BO\Views\user\us.cshtml Dao\MyBatis\Maps\User.xml # 테스트 결과 - 이상없음 # 특이사항 및 이슈사항 - 이상없음
This commit is contained in:
parent
fe6c2cbdd1
commit
9efebaffdb
|
|
@ -211,7 +211,14 @@
|
||||||
</section>
|
</section>
|
||||||
<div class="botfixempty"> </div>
|
<div class="botfixempty"> </div>
|
||||||
<div class="form-group botfix">
|
<div class="form-group botfix">
|
||||||
<a href="#" class="btn btn-primary" onclick="save();">저장</a>
|
@if (Model.User.userno > 0 && Model.viewname == "user" && Model.User.status == 8)
|
||||||
|
{
|
||||||
|
<a href="#" class="btn btn-info" onclick="cancel();">휴면해제</a>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<a href="#" class="btn btn-primary" onclick="save();">저장</a>
|
||||||
|
}
|
||||||
@if (Model.User.userno > 0 && Model.viewname == "user")
|
@if (Model.User.userno > 0 && Model.viewname == "user")
|
||||||
{
|
{
|
||||||
<a href="#" class="btn btn-danger" onclick="del();">탈퇴</a>
|
<a href="#" class="btn btn-danger" onclick="del();">탈퇴</a>
|
||||||
|
|
@ -454,18 +461,18 @@
|
||||||
$("#User_ccpositionetc").show().focus();
|
$("#User_ccpositionetc").show().focus();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$("#userpno1, #userpno2").on("keyup", function () {
|
$("#userpno1, #userpno2").on("keyup", function () {
|
||||||
var birthday = makebirthday(val("userpno1") + val("userpno2"));
|
var birthday = makebirthday(val("userpno1") + val("userpno2"));
|
||||||
if (birthday != "") {
|
if (birthday != "") {
|
||||||
setv("User_birthday", birthday);
|
setv("User_birthday", birthday);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
function makebirthday(userpno) {
|
function makebirthday(userpno) {
|
||||||
var birthday = "";
|
var birthday = "";
|
||||||
|
|
||||||
if (userpno.length == 13 && moment(userpno.substr(0, 6), 'YYMMDD', true).isValid() && userpno.substr(6, 1) > 0)
|
if (userpno.length == 13 && moment(userpno.substr(0, 6), 'YYMMDD', true).isValid() && userpno.substr(6, 1) > 0)
|
||||||
{
|
{
|
||||||
switch (userpno.substr(6, 1))
|
switch (userpno.substr(6, 1))
|
||||||
{
|
{
|
||||||
case "1":
|
case "1":
|
||||||
|
|
@ -496,12 +503,18 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
birthday += userpno.substr(0, 2) + "-" + userpno.substr(2, 2) + "-" + userpno.substr(4, 2);
|
birthday += userpno.substr(0, 2) + "-" + userpno.substr(2, 2) + "-" + userpno.substr(4, 2);
|
||||||
}
|
}
|
||||||
return birthday
|
return birthday
|
||||||
}
|
}
|
||||||
|
|
||||||
function save() {
|
function save() {
|
||||||
|
|
||||||
|
var txt = "저장하시겠습니까?";
|
||||||
|
if (getrv("User.status") == 8) {
|
||||||
|
txt = "휴면상태로 전환할 경우\n개인정보가 조회되지 않습니다.\n그래도 진행하시겠습니까?";
|
||||||
|
}
|
||||||
|
|
||||||
setv("User_userpno", val("userpno1")+val("userpno2"));
|
setv("User_userpno", val("userpno1")+val("userpno2"));
|
||||||
setv("User_mobile", formatmobile(val("User_mobile")));
|
setv("User_mobile", formatmobile(val("User_mobile")));
|
||||||
setv("User_telno", formatphone(val("User_telno")));
|
setv("User_telno", formatphone(val("User_telno")));
|
||||||
|
|
@ -517,10 +530,10 @@
|
||||||
else if (check("User_username", null, "이름을 입력해주세요.")) { }
|
else if (check("User_username", null, "이름을 입력해주세요.")) { }
|
||||||
else if (('@Model.viewname' == 'user') && check("User_email",null,"이메일을 입력해주세요")) { }
|
else if (('@Model.viewname' == 'user') && check("User_email",null,"이메일을 입력해주세요")) { }
|
||||||
//else if (('@Model.viewname' == 'user') && check("User_mobile", null, "핸드폰 번호를 입력해주세요")) { }
|
//else if (('@Model.viewname' == 'user') && check("User_mobile", null, "핸드폰 번호를 입력해주세요")) { }
|
||||||
else if (!isnulloremt(val("User_email")) && !isemail(val("User_email"))) { focus("User_email"); msg("이메일주소를 올바르게 입력해주세요."); }
|
else if (!isnulloremt(val("User_email")) && !isemail(val("User_email"))) { focus("User_email"); msg("이메일주소를 올바르게 입력해주세요."); }
|
||||||
//else if (!isnulloremt(val("User_mobile")) && (!ismobile(val("User_mobile")) )) { focus("User_mobile"); msg("핸드폰번호를 올바르게 입력해주세요."); }
|
//else if (!isnulloremt(val("User_mobile")) && (!ismobile(val("User_mobile")) )) { focus("User_mobile"); msg("핸드폰번호를 올바르게 입력해주세요."); }
|
||||||
//else if ((val("User_usertype") == "1" || val("User_usertype") == "81") && val("User_asno") == "") { msg("소속을 등록해주세요.");}
|
//else if ((val("User_usertype") == "1" || val("User_usertype") == "81") && val("User_asno") == "") { msg("소속을 등록해주세요.");}
|
||||||
else if (confirm("저장하시겠습니까?")) {
|
else if (confirm(txt)) {
|
||||||
if (val("User_usertype") >= "92") {
|
if (val("User_usertype") >= "92") {
|
||||||
setv("User_asno", "");
|
setv("User_asno", "");
|
||||||
}
|
}
|
||||||
|
|
@ -529,6 +542,7 @@
|
||||||
cdata = cdata == "<p><br></p>" ? "" : cdata;
|
cdata = cdata == "<p><br></p>" ? "" : cdata;
|
||||||
setv("User_introhtml", cdata);
|
setv("User_introhtml", cdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
capfileform("/acommon/usersave", "mform", "cbsave");
|
capfileform("/acommon/usersave", "mform", "cbsave");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -548,6 +562,7 @@
|
||||||
}
|
}
|
||||||
else { msgdev(); }
|
else { msgdev(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
function del() {
|
function del() {
|
||||||
if (confirm(('@Model.viewname' == "user"?"탈퇴":"삭제")+"처리하시겠습니까?")) {
|
if (confirm(('@Model.viewname' == "user"?"탈퇴":"삭제")+"처리하시겠습니까?")) {
|
||||||
capp("/acommon/userexitjoin", { userno: @Model.User.userno}, "cbdel");
|
capp("/acommon/userexitjoin", { userno: @Model.User.userno}, "cbdel");
|
||||||
|
|
@ -647,5 +662,22 @@
|
||||||
msgdev();
|
msgdev();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 휴면 해제
|
||||||
|
function cancel() {
|
||||||
|
if (confirm("휴면을 해제하시겠습니까?")) {
|
||||||
|
capp("/acommon/dormantcancel", { userno: @Model.User.userno}, "cbcancel");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function cbcancel() {
|
||||||
|
if (capResult.code == 1000) {
|
||||||
|
msg("휴면이 해제되었습니다.", 0, null, null, true);
|
||||||
|
golist(500, true);
|
||||||
|
} else if (capResult.code == 1) {
|
||||||
|
msg("휴면데이터가 없어 휴면해제가 불가합니다.");
|
||||||
|
} else {
|
||||||
|
msgdev();
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -186,9 +186,9 @@ else if (Model.viewname == "admin")
|
||||||
}
|
}
|
||||||
else if (confirm("선택한 수강생을 " + str + "하시겠습니까?")) {
|
else if (confirm("선택한 수강생을 " + str + "하시겠습니까?")) {
|
||||||
if (no == 0) {
|
if (no == 0) {
|
||||||
capp("/acommon/usersdormant", { usernos: unos.substr(1) }, "cbusersdormant");
|
capp("/acommon/usersdormant", { usernos: unos.substr(1) }, "cbusersdormant");
|
||||||
} else {
|
} else {
|
||||||
capp("/acommon/usersdel", { usernos: unos.substr(1) }, "cbusersdel");
|
capp("/acommon/usersdel", { usernos: unos.substr(1) }, "cbusersdel");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ namespace NP.Base.Controllers
|
||||||
public JsonResult UserSave(VMUser vm)
|
public JsonResult UserSave(VMUser vm)
|
||||||
{
|
{
|
||||||
vm.User.uno = SUserInfo.UserNo; vm.User.uip = GetUserIP();
|
vm.User.uno = SUserInfo.UserNo; vm.User.uip = GetUserIP();
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(vm.User.userpass)) { vm.User.userpass = NP.Base.Lib.KISA_SHA256.SHA256Hash(vm.User.userpass.Trim()); }
|
if (!string.IsNullOrEmpty(vm.User.userpass)) { vm.User.userpass = NP.Base.Lib.KISA_SHA256.SHA256Hash(vm.User.userpass.Trim()); }
|
||||||
vm.User.userid = vm.User.userid.Replace(" ","");
|
vm.User.userid = vm.User.userid.Replace(" ","");
|
||||||
if (!string.IsNullOrEmpty(vm.User.email)) { vm.User.email = vm.User.email.Trim(); }
|
if (!string.IsNullOrEmpty(vm.User.email)) { vm.User.email = vm.User.email.Trim(); }
|
||||||
|
|
@ -60,6 +61,13 @@ namespace NP.Base.Controllers
|
||||||
if (vm.User.userno < 1)
|
if (vm.User.userno < 1)
|
||||||
{
|
{
|
||||||
Dao.Insert("users.in", vm.User);
|
Dao.Insert("users.in", vm.User);
|
||||||
|
|
||||||
|
// 상태값 휴면 선택시
|
||||||
|
if (vm.User.usertype == 1 && vm.User.status == 8)
|
||||||
|
{
|
||||||
|
Dao.Save("users.dormant", new Hashtable() { { "usernos", vm.User.userno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
|
||||||
|
}
|
||||||
|
|
||||||
if (vm.User.usertype > 1)
|
if (vm.User.usertype > 1)
|
||||||
{
|
{
|
||||||
AuthSet(new AuthLog() { uno = SUserInfo.UserNo, uip = GetUserIP(),userno = vm.User.userno, logtype = 2, usertypeorg = vm.User.usertype, usertypenew = vm.User.usertype });
|
AuthSet(new AuthLog() { uno = SUserInfo.UserNo, uip = GetUserIP(),userno = vm.User.userno, logtype = 2, usertypeorg = vm.User.usertype, usertypenew = vm.User.usertype });
|
||||||
|
|
@ -73,8 +81,17 @@ namespace NP.Base.Controllers
|
||||||
{
|
{
|
||||||
AuthSet(new AuthLog() { uno = SUserInfo.UserNo, uip = GetUserIP(), logtype = 1, usertypenew = vm.User.usertype, userno = vm.User.userno });
|
AuthSet(new AuthLog() { uno = SUserInfo.UserNo, uip = GetUserIP(), logtype = 1, usertypenew = vm.User.usertype, userno = vm.User.userno });
|
||||||
}
|
}
|
||||||
|
var result = Dao.Save("users.up", vm.User);
|
||||||
|
|
||||||
|
// 상태값 휴면 선택시
|
||||||
|
if (vm.User.usertype == 1 && vm.User.status == 8)
|
||||||
|
{
|
||||||
|
Dao.Save("users.dormant", new Hashtable() { { "usernos", vm.User.userno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
|
||||||
|
}
|
||||||
|
|
||||||
|
return JsonOK(result);
|
||||||
}
|
}
|
||||||
return JsonOK(Dao.Save("users.up", vm.User));
|
|
||||||
}
|
}
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public JsonResult UserExitJoin(int userno)
|
public JsonResult UserExitJoin(int userno)
|
||||||
|
|
@ -83,6 +100,8 @@ namespace NP.Base.Controllers
|
||||||
}
|
}
|
||||||
public JsonResult UsersDel(String usernos)
|
public JsonResult UsersDel(String usernos)
|
||||||
{
|
{
|
||||||
|
Dao.Save("users.dormant.delete", new Hashtable() { { "usernos", usernos }});
|
||||||
|
|
||||||
return JsonOK(Dao.Save("users.exitjoin", new Hashtable() { { "usernos", usernos }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
return JsonOK(Dao.Save("users.exitjoin", new Hashtable() { { "usernos", usernos }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
||||||
}
|
}
|
||||||
public JsonResult UsersDormant(String usernos)
|
public JsonResult UsersDormant(String usernos)
|
||||||
|
|
@ -90,6 +109,15 @@ namespace NP.Base.Controllers
|
||||||
return JsonOK(Dao.Save("users.dormant", new Hashtable() { { "usernos", usernos }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
return JsonOK(Dao.Save("users.dormant", new Hashtable() { { "usernos", usernos }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
||||||
}
|
}
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
|
public JsonResult DormantCancel(int userno)
|
||||||
|
{
|
||||||
|
if (Dao.Get<Users>("users.dormants", new Hashtable() { { "userno", userno } }).Count() < 1)
|
||||||
|
{
|
||||||
|
return JsonBack(new JsonRtn() { code = 1 });
|
||||||
|
}
|
||||||
|
return JsonOK(Dao.Save("users.dormant.cancel", new Hashtable() { { "usernos", userno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
public JsonResult UserEE(int userno)
|
public JsonResult UserEE(int userno)
|
||||||
{
|
{
|
||||||
var user = Dao.Get<Users>("users.ee", userno).FirstOrDefault();
|
var user = Dao.Get<Users>("users.ee", userno).FirstOrDefault();
|
||||||
|
|
|
||||||
|
|
@ -262,22 +262,26 @@
|
||||||
</isNotNull>
|
</isNotNull>
|
||||||
<isNotEmpty property="usertypes">and a.usertype in ($usertypes$)</isNotEmpty>
|
<isNotEmpty property="usertypes">and a.usertype in ($usertypes$)</isNotEmpty>
|
||||||
<isNotNull property="usertype">and a.usertype =#usertype#</isNotNull>
|
<isNotNull property="usertype">and a.usertype =#usertype#</isNotNull>
|
||||||
<isNotNull property="userid">and a.userid like concat('%',#userid#,'%')</isNotNull>
|
<isNotNull property="userid">and a.userid=#userid#</isNotNull>
|
||||||
<isNotEmpty property="username" prepend="and">a.username like concat('%',#username#,'%')</isNotEmpty>
|
<isNotEmpty property="username" prepend="and">(a.username = #username#)</isNotEmpty>
|
||||||
<isNotEmpty property="usernameid" prepend="and">(a.username like concat('%',#usernameid#,'%') or a.userid like concat('%',#usernameid#,'%'))</isNotEmpty>
|
<isNotEmpty property="usernameid" prepend="and">(a.username like concat('%',#usernameid#,'%') or a.userid like concat('%',#usernameid#,'%'))</isNotEmpty>
|
||||||
<isNotNull property="status" prepend="and">a.status=#status#</isNotNull>
|
<isNotNull property="status" prepend="and">a.status=#status#</isNotNull>
|
||||||
<isNotNull property="asno" prepend="and">a.asno=#asno#</isNotNull>
|
<isNotNull property="asno" prepend="and">a.asno=#asno#</isNotNull>
|
||||||
<isNotNull property="profandmainadmin" prepend="and">(a.usertype=11 or (a.usertype > 80 and b.ismain=1))</isNotNull>
|
<isNotNull property="profandmainadmin" prepend="and">(a.usertype=11 or (a.usertype > 80 and b.ismain=1))</isNotNull>
|
||||||
<isNotNull property="asname" prepend="and">b.asname like concat('%',#asname#,'%')</isNotNull>
|
<isNotNull property="asname" prepend="and">b.asname like concat('%',#asname#,'%')</isNotNull>
|
||||||
|
<!--<isNotNull property="asname" prepend="and">b.asname = #asname#</isNotNull>-->
|
||||||
<isNotEmpty property="brno" prepend="and">b.brno=#brno#</isNotEmpty>
|
<isNotEmpty property="brno" prepend="and">b.brno=#brno#</isNotEmpty>
|
||||||
<isNotNull property="email" prepend="and">
|
<isNotNull property="email" prepend="and">
|
||||||
CAST(AES_DECRYPT(UNHEX(a.email), <include refid="sql.digest"></include>) AS char) like concat('%',#email#,'%')
|
<!--CAST(AES_DECRYPT(UNHEX(a.email), <include refid="sql.digest"></include>) AS char) like concat('%',#email#,'%')-->
|
||||||
|
a.email=HEX(AES_ENCRYPT(#email#, <include refid="sql.digest"></include>))
|
||||||
</isNotNull>
|
</isNotNull>
|
||||||
<isNotEmpty property="mobile" prepend="and">
|
<isNotEmpty property="mobile" prepend="and">
|
||||||
CAST(AES_DECRYPT(UNHEX(a.mobile), <include refid="sql.digest"></include>) AS char) like concat('%',#mobile#,'%')
|
<!--CAST(AES_DECRYPT(UNHEX(a.mobile), <include refid="sql.digest"></include>) AS char) like concat('%',#mobile#,'%')-->
|
||||||
|
a.mobile=HEX(AES_ENCRYPT(#mobile#, <include refid="sql.digest"></include>))
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
<isNotEmpty property="userpno" prepend="and">
|
<isNotEmpty property="userpno" prepend="and">
|
||||||
CAST(AES_DECRYPT(UNHEX(a.userpno), <include refid="sql.digest"></include>) AS char) like concat('%',#userpno#,'%')
|
<!--CAST(AES_DECRYPT(UNHEX(a.userpno), <include refid="sql.digest"></include>) AS char) like concat('%',#userpno#,'%')-->
|
||||||
|
a.userpno=HEX(AES_ENCRYPT(#userpno#, <include refid="sql.digest"></include>))
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
<isNotNull property="usertypeover" prepend="and">a.usertype > #usertypeover#</isNotNull>
|
<isNotNull property="usertypeover" prepend="and">a.usertype > #usertypeover#</isNotNull>
|
||||||
<isNotNull property="vssn" prepend="and">a.vssn = #vssn#</isNotNull>
|
<isNotNull property="vssn" prepend="and">a.vssn = #vssn#</isNotNull>
|
||||||
|
|
@ -379,15 +383,31 @@
|
||||||
</update>
|
</update>
|
||||||
<update id="users.exitjoin" parameterClass="hashtable">
|
<update id="users.exitjoin" parameterClass="hashtable">
|
||||||
update users set <include refid="sql.up"></include>
|
update users set <include refid="sql.up"></include>
|
||||||
,username='탈퇴회원',usernameeng=null,email=null,mobile=null,telno=null,userpno=null,bankno=null,post=null,address1=null,address2=null,birthday=null,di=null,ci=null,vssn=null,authplatform=0,status=99
|
,username='삭제됨',usernameeng=null,email=null,mobile=null,telno=null,userpno=null,bankno=null,post=null,address1=null,address2=null,birthday=null,di=null,ci=null,vssn=null,authplatform=0,status=99
|
||||||
where
|
where
|
||||||
<isNotNull property="userno">userno=#userno#</isNotNull>
|
<isNotNull property="userno">userno=#userno#</isNotNull>
|
||||||
<isNotNull property="usernos">userno in ($usernos$)</isNotNull>
|
<isNotNull property="usernos">userno in ($usernos$)</isNotNull>
|
||||||
</update>
|
</update>
|
||||||
<update id="users.dormant" parameterClass="hashtable">
|
<!--<update id="users.dormant" parameterClass="hashtable">
|
||||||
update users set <include refid="sql.up"></include>,status=8
|
update users set <include refid="sql.up"></include>,status=8
|
||||||
where userno in ($usernos$)
|
where userno in ($usernos$)
|
||||||
|
</update>-->
|
||||||
|
<update id="users.dormant" parameterClass="hashtable">
|
||||||
|
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,<include refid="sql.now"></include> cdt
|
||||||
|
from users a
|
||||||
|
left outer join userdormant b on b.userno = a.userno
|
||||||
|
where a.userno in ($usernos$)
|
||||||
|
and b.userno is null;
|
||||||
|
|
||||||
|
update users set <include refid="sql.up"></include>
|
||||||
|
,username='삭제됨',usernameeng=null,email=null,mobile=null,telno=null,userpno=null,bankno=null,post=null,address1=null,address2=null,birthday=null,status=8
|
||||||
|
where userno in ($usernos$);
|
||||||
|
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="users.ee" parameterClass="int" resultClass="users">
|
<select id="users.ee" parameterClass="int" resultClass="users">
|
||||||
update users set eastereggkey=FLOOR(10000000 + (RAND() * 99999999)),eetime=<include refid="sql.now"></include> where userno=#userno#;
|
update users set eastereggkey=FLOOR(10000000 + (RAND() * 99999999)),eetime=<include refid="sql.now"></include> where userno=#userno#;
|
||||||
select a.userno,a.eastereggkey,a.usertype,a.username
|
select a.userno,a.eastereggkey,a.usertype,a.username
|
||||||
|
|
@ -771,7 +791,68 @@
|
||||||
|
|
||||||
<update id="users.resetuserpass" parameterClass="hashtable">
|
<update id="users.resetuserpass" parameterClass="hashtable">
|
||||||
update users set <isNotEmpty property="userpass">userpass=#userpass#,</isNotEmpty>udt=<include refid="sql.now"></include> where userno=#userno#
|
update users set <isNotEmpty property="userpass">userpass=#userpass#,</isNotEmpty>udt=<include refid="sql.now"></include> where userno=#userno#
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="users.dormants" parameterClass="hashtable" resultClass="users">
|
||||||
|
select a.userno,username,usernameeng,a.email,a.isacceptemail
|
||||||
|
,a.mobile,a.telno,a.userpno,a.bankno,a.post,a.address1,a.address2
|
||||||
|
,a.birthday
|
||||||
|
from userdormant a where a.userno = #userno#
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<update id="users.dormant.cancel" parameterClass="hashtable">
|
||||||
|
update users a
|
||||||
|
left outer join userdormant b on b.userno = a.userno
|
||||||
|
set a.username = b.username
|
||||||
|
,a.usernameeng = b.usernameeng
|
||||||
|
,a.email = b.email
|
||||||
|
,a.isacceptemail = b.isacceptemail
|
||||||
|
,a.mobile = b.mobile
|
||||||
|
,a.telno = b.telno
|
||||||
|
,a.userpno = b.userpno
|
||||||
|
,a.bankno = b.bankno
|
||||||
|
,a.post = b.post
|
||||||
|
,a.address1 = b.address1
|
||||||
|
,a.address2 = b.address2
|
||||||
|
,a.birthday = b.birthday
|
||||||
|
,a.status =1
|
||||||
|
where a.userno in ($usernos$);
|
||||||
|
|
||||||
|
delete from userdormant where userno in ($usernos$);
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="users.dormant.delete" parameterClass="hashtable">
|
||||||
|
delete from userdormant where userno in ($usernos$);
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="users.dormant.del" parameterClass="hashtable">
|
||||||
|
update users a
|
||||||
|
left outer join userdormant b on b.userno = a.userno
|
||||||
|
set status = 99
|
||||||
|
where date_add(b.cdt,interval 1 year) < now();
|
||||||
|
|
||||||
|
delete from userdormant where date_add(cdt,interval 1 year) < now();
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<select id="users.dormants.del" parameterClass="hashtable" resultClass="data">
|
||||||
|
select regexp_replace(b.userid , '(?<=.{3}).','*') strval
|
||||||
|
,CAST(AES_DECRYPT(UNHEX(a.mobile),<include refid="sql.digest"></include>) AS char) strval2
|
||||||
|
,date_add(a.cdt, interval 335 day) time
|
||||||
|
,b.isacceptmobile intval
|
||||||
|
from userdormant a
|
||||||
|
inner join users b on b.userno = a.userno
|
||||||
|
where date_format(date_add(a.cdt, interval 335 day),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="users.dormants.save" parameterClass="hashtable" resultClass="data">
|
||||||
|
select regexp_replace(a.userid , '(?<=.{3}).' , '*') strval
|
||||||
|
,CAST(AES_DECRYPT(UNHEX(a.mobile),<include refid="sql.digest"></include>) AS char) strval2
|
||||||
|
,date_add(a.logintime, interval 366 day) time
|
||||||
|
,a.isacceptmobile intval
|
||||||
|
from users a
|
||||||
|
where a.usertype =1 and a.status=1
|
||||||
|
and date_format(date_add(a.logintime, interval 366 day),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
|
||||||
|
</select>
|
||||||
|
|
||||||
</statements>
|
</statements>
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue